ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
plot.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file plot.C
1 // *********************************************************************
2 // To execute this macro under ROOT,
3 // 1 - launch ROOT (usually type 'root' at your machine's prompt)
4 // 2 - type '.X plot.C' at the ROOT session prompt
5 // This macro needs the output ROOT file
6 // *********************************************************************
7 
8 void SetLeafAddress(TNtuple* ntuple, const char* name, void* address);
9 
10 void plot()
11 {
12  gROOT->Reset();
13  gStyle->SetPalette(1);
14  gROOT->SetStyle("Plain");
15 
16  TCanvas* c1 = new TCanvas ("c1","",20,20,1000,500);
17 
18  TFile* f = new TFile("ICSD.root");
19  f->ls();
20 
21  TH1D* hist1 = new TH1D("histo","ICSD", 30, 0.0, 30);
22 
23  Double_t ion = 0.0;
24 
25  TNtuple* ntuple1 = (TNtuple*)f->Get("ntuple_1");
26  bool rowWise = true;
27  TBranch* eventBranch = ntuple1->FindBranch("row_wise_branch");
28  if ( ! eventBranch ) rowWise = false;
29  std::cout << "rowWise: " << rowWise << std::endl;
30 
31  if ( ! rowWise ) {
32  ntuple1->SetBranchAddress("ionisations", &ion);
33  } else {
34  SetLeafAddress(ntuple1, "ionisations",&ion);
35  }
36 
37  Int_t nentries = ntuple1->GetEntries();
38 
39  for (Int_t i=0; i<nentries; i++)
40  {
41  ntuple1->GetEntry(i);
42  hist1->Fill(ion);
43  }
44 
45  hist1->Draw();
46  hist1->GetXaxis()->SetLabelSize(0.025);
47  hist1->GetYaxis()->SetLabelSize(0.025);
48 
49  hist1->GetXaxis()->SetTitleSize(0.035);
50  hist1->GetYaxis()->SetTitleSize(0.035);
51 
52 // hist1->GetXaxis()->SetTittleOffset(1.4);
53 // hist1->GetYaxis()->SetTittleOffset(1.4);
54 
55  hist1->GetXaxis()->SetTitle("ionisation number");
56  hist1->GetYaxis()->SetTitle("frequency");
57 
58  c1->SaveAs("ICSD.tiff");
59 }
60 
61 void SetLeafAddress(TNtuple* ntuple, const char* name, void* address) {
62  TLeaf* leaf = ntuple->FindLeaf(name);
63  if ( ! leaf ) {
64  std::cerr << "Error in <SetLeafAddress>: unknown leaf --> " << name << std::endl;
65  return;
66  }
67  leaf->SetAddress(address);
68 }