3
bool plot_tree(char* quantity,char* plotdim="(100,0.,3.)",bool log=true)
8
sprintf(tmp2,"pythia.root");
13
cout << "No file "<<tmp2<<endl;
18
gROOT->SetStyle("Plain");
19
const int maxjets=1+4;
21
sprintf(tmp3,"%s",quantity);
22
TCanvas* c1=new TCanvas(tmp3,tmp3);
24
TLegend* leg=new TLegend(0.99,0.7,0.7,0.95);
25
sprintf(tmp3,"l%s",quantity);
27
int color[5]={2,4,3,5,6};
28
int style[5]={2,3,4,3,4};
31
TLeaf *leaf_Xsec = xsecs->FindLeaf("Xsecfact");
33
leaf_Xsec->SetAddress(&Xsecfact);
36
for(int i=0;i<maxjets && events->GetEntries()>0;i++){
37
events->SetLineWidth(2);
38
events->SetLineColor(color[i]);
39
events->SetLineStyle(style[i]);
42
sprintf(tmp1,"log10(%s)>>%s%i%s",quantity,quantity,i,plotdim);
44
sprintf(tmp1,"%s>>%s%i%s",quantity,quantity,i,plotdim);
45
sprintf(tmp2,"%e*(Npart==%i)",Xsecfact,i);
47
cout << "events->Draw("<<tmp1<<","<<tmp2<<");"<<endl;
48
events->Draw(tmp1,tmp2);
50
sprintf(tmp3,"%s%i",quantity,i);
51
hists[i]=(TH1F*)gROOT->FindObject(tmp3);
53
cout << "Failed to get object "<<tmp3<<endl;
59
TH1F *hsum = (TH1F*)hists[0]->Clone();
60
sprintf(tmp3,"%ssum",quantity);
62
for(int i=1;i<maxjets;i++)
64
cout << "Integral of "<<quantity<<": "<<hsum->Integral()<<endl;
65
hsum->SetLineWidth(2);
66
hsum->SetLineColor(1);
67
hsum->SetLineStyle(1);
68
// hsum->SetMinimum(hsum->GetMaximum()*1e-3);
69
hsum->SetStats(kFALSE);
70
sprintf(tmp3,"%s",quantity);
72
sprintf(tmp3,"log10(%s)",quantity);
73
hsum->GetXaxis()->SetTitle(tmp3);
74
hsum->GetYaxis()->SetTitle("Cross section (pb/bin)");
76
leg->AddEntry(hsum->GetName(),"Sum of contributions");
78
for(int i=0;i<maxjets;i++){
79
hists[i]->Draw("same");
80
sprintf(tmp3,"%i-jet sample",i);
81
leg->AddEntry(hists[i]->GetName(),tmp3);
86
sprintf(tmp2,"%s.eps",quantity);
87
cout << "Saving plot as " << tmp2 << endl;