ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/TReis/tools/treeComparer.C
Revision: 1.1
Committed: Fri Jan 11 10:20:15 2013 UTC (12 years, 3 months ago) by treis
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
initial commit. compares two gsfCheckerTrees

File Contents

# User Rev Content
1 treis 1.1 #include <TFile.h>
2     #include <TTree.h>
3     #include <TH1.h>
4     #include <TF1.h>
5     #include <TLegend.h>
6     #include <TLine.h>
7     #include <TStyle.h>
8     #include <TCanvas.h>
9     #include <iostream>
10     #include <vector>
11     #include <string>
12     #include <sstream>
13     #include <utility>
14     #include <stdio.h>
15    
16     #include "TLorentzVector.h"
17     #include "TString.h"
18    
19     //void TreeComparer::Loop()
20     void treeComparer(void)
21     {
22     // parameters //////////////////////////////////////////////////////////////
23     const int nBins = 100;
24     const float massMin = 0.;
25     const float massMax = 1500.;
26     const float etMin = 0.;
27     const float etMax = 500.;
28     const float ptMin = 0.;
29     const float ptMax = 500.;
30    
31     const int font = 42;
32     ////////////////////////////////////////////////////////////////////////////
33    
34     TH1::SetDefaultSumw2(kTRUE);
35    
36     /////////////////////////////////////////////////////////////////////////
37     // input files
38     /////////////////////////////////////////////////////////////////////////
39     vector<pair<TFile *, double> > input;
40     vector<TString> inFileTag;
41     vector<TString> legendName;
42     //TFile *inRef = TFile::Open("dcap://maite.iihe.ac.be/pnfs/iihe/cms/store/user/treis/mcsamples2012/DYToEE_M-20_CT10_TuneZ2star_8TeV-powheg-pythia6_Summer12_DR53X-PU_S10_START53_V7A-v1_AODSIM_gct1_35_3297045ev.root");
43     //TFile *inRef = TFile::Open("file:////user/treis/mcsamples/ZprimePSIToEE_M-3000_TuneZ2star_8TeV-pythia6_Summer12_DR53X-PU_S10_START53_V7A-v1_AODSIM_gct1_45_25280ev.root");
44     TFile *inRef = TFile::Open("file:////user/treis/mcsamples/TT_CT10_TuneZ2star_8TeV-powheg-tauola_Summer12_DR53X-PU_S10_START53_V7A-v1+v2_AODSIM_gct1_46_28150723ev.root");
45     input.push_back(make_pair(inRef, 1.));
46     inFileTag.push_back("Ref");
47     legendName.push_back("t#bar{t} powheg");
48    
49     //TFile *inTest = TFile::Open("file:////user/treis/mcsamples/DYToEE_M-20_CT10_TuneZ2star_8TeV-powheg-pythia6_Summer12-PU_S7_START52_V9-v1_AODSIM_gct1_33_3297045ev.root");
50     //input.push_back(make_pair(inTest, 1.));
51     //TFile *inTest = TFile::Open("file:////user/treis/mcsamples/DYToEE_M-2000_CT10_TuneZ2star_8TeV-powheg-pythia6_Summer12_DR53X-PU_S10_START53_V7A-v1_AODSIM_gct1_45_99993ev.root");
52     TFile *inTest = TFile::Open("file:////user/treis/mcsamples/TTJets_FullLeptMGDecays_8TeV-madgraph_Summer12_DR53X-PU_S10_START53_V7A-v1+v2_AODSIM_gct1_46_16365457ev.root");
53     input.push_back(make_pair(inTest, 1.));
54     inFileTag.push_back("Test1");
55     legendName.push_back("t#bar{t}+Jets MadGraph");
56     ////////////////////////////////////////////////////////////////////////////
57    
58     /////////////////////////////////////////////////////////////////////////
59     // define test histograms
60     /////////////////////////////////////////////////////////////////////////
61     vector<TH1F *> hInvMass;
62     vector<TH1F *> hGsfGsfEt;
63     vector<TH1F *> hGsfPt;
64     vector<TH1F *> hGsfEta;
65     vector<TH1F *> hGsfPhi;
66     vector<TH1I *> hGsfSize;
67     vector<TH1I *> hGenMomPdgId;
68     vector<TH1F *> hGenMomMass;
69     vector<TH1F *> hGenMomPt;
70     vector<TH1F *> hGenMomEta;
71     vector<TH1F *> hGenMomPhi;
72     /////////////////////////////////////////////////////////////////////////
73    
74     TCanvas *c0 = new TCanvas("invMass", "Invariant Mass", 100, 100, 800, 600);
75     gStyle->SetFrameBorderMode(0);
76     gStyle->SetFillColor(0);
77     gStyle->SetFrameFillColor(0);
78     gStyle->SetOptStat(0);
79     gStyle->SetOptTitle(0);
80     gStyle->SetTitleFont(font);
81     gStyle->SetLabelFont(font);
82     gStyle->SetLegendFont(font);
83     gStyle->SetPadTickX(1);
84     gStyle->SetPadTickY(1);
85     gStyle->SetPadBorderMode(0);
86     gStyle->SetPadTopMargin(0.05);
87     gStyle->SetPadBottomMargin(0.);
88     gPad->SetTicks(1, 1);
89    
90     c0->Divide(1, 2);
91     c0->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
92     c0->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
93     c0->cd(1);
94     c0->SetBorderMode(0);
95     c0->SetBorderSize(2);
96    
97     /////////////////////////////////////////////////////////////////////////
98     // loop over files
99     /////////////////////////////////////////////////////////////////////////
100     for (unsigned int p = 0; p < input.size(); ++p) {
101     string infile(input[p].first->GetName());
102     cout << "file " << infile << endl;
103     input[p].first->Cd("");
104     TTree *thetree = (TTree*)input[p].first->Get("gsfcheckerjob/tree");
105    
106     // fill the histograms from the tree
107     hInvMass.push_back(new TH1F("hInvMass" + inFileTag[p], "hInvMass" + inFileTag[p], nBins, massMin, massMax));
108     cout << "Generating " << hInvMass.back()->GetName() << " Histogram.";
109     thetree->Draw("heepHeepMass>>hInvMass" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
110     cout << " Done" << endl;
111    
112     hGsfGsfEt.push_back(new TH1F("hGsfGsfEt" + inFileTag[p], "hGsfGsfEt" + inFileTag[p], nBins, etMin, etMax));
113     cout << "Generating " << hGsfGsfEt.back()->GetName() << " Histogram.";
114     thetree->Draw("gsf_gsfet>>hGsfGsfEt" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
115     cout << " Done" << endl;
116    
117     hGsfPt.push_back(new TH1F("hGsfPt" + inFileTag[p], "hGsfPt" + inFileTag[p], nBins, ptMin, ptMax));
118     cout << "Generating " << hGsfPt.back()->GetName() << " Histogram.";
119     thetree->Draw("gsf_pt>>hGsfPt" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
120     cout << " Done" << endl;
121    
122     hGsfEta.push_back(new TH1F("hGsfEta" + inFileTag[p], "hGsfEta" + inFileTag[p], nBins, -3, 3));
123     cout << "Generating " << hGsfEta.back()->GetName() << " Histogram.";
124     thetree->Draw("gsf_eta>>hGsfEta" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
125     cout << " Done" << endl;
126    
127     hGsfPhi.push_back(new TH1F("hGsfPhi" + inFileTag[p], "hGsfPhi" + inFileTag[p], nBins, -4., 4.));
128     cout << "Generating " << hGsfPhi.back()->GetName() << " Histogram.";
129     thetree->Draw("gsf_phi>>hGsfPhi" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
130     cout << " Done" << endl;
131    
132     hGsfSize.push_back(new TH1I("hGsfSize" + inFileTag[p], "hGsfSize" + inFileTag[p], 20, 0, 20));
133     cout << "Generating " << hGsfSize.back()->GetName() << " Histogram.";
134     thetree->Draw("gsf_size>>hGsfSize" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
135     cout << " Done" << endl;
136    
137     hGenMomPdgId.push_back(new TH1I("hGenMomPdgId" + inFileTag[p], "hGenMomPdgId" + inFileTag[p], 100, -50, 50));
138     cout << "Generating " << hGenMomPdgId.back()->GetName() << " Histogram.";
139     thetree->Draw("genelemom_pdgid>>hGenMomPdgId" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
140     cout << " Done" << endl;
141    
142     hGenMomMass.push_back(new TH1F("hGenMomMass" + inFileTag[p], "hGenMomMass" + inFileTag[p], nBins, massMin, massMax));
143     cout << "Generating " << hGenMomMass.back()->GetName() << " Histogram.";
144     thetree->Draw("genelemom_mass>>hGenMomMass" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
145     cout << " Done" << endl;
146    
147     hGenMomPt.push_back(new TH1F("hGenMomPt" + inFileTag[p], "hGenMomPt" + inFileTag[p], nBins, ptMin, ptMax));
148     cout << "Generating " << hGenMomPt.back()->GetName() << " Histogram.";
149     thetree->Draw("genelemom_pt>>hGenMomPt" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
150     cout << " Done" << endl;
151    
152     hGenMomEta.push_back(new TH1F("hGenMomEta" + inFileTag[p], "hGenMomEta" + inFileTag[p], nBins, -3., 3.));
153     cout << "Generating " << hGenMomEta.back()->GetName() << " Histogram.";
154     thetree->Draw("genelemom_eta>>hGenMomEta" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
155     cout << " Done" << endl;
156    
157     hGenMomPhi.push_back(new TH1F("hGenMomPhi" + inFileTag[p], "hGenMomPhi" + inFileTag[p], nBins, -4., 4.));
158     cout << "Generating " << hGenMomPhi.back()->GetName() << " Histogram.";
159     thetree->Draw("genelemom_phi>>hGenMomPhi" + inFileTag[p], "gsf_gsfet[0]>25. && gsf_gsfet[1]>25.");
160     cout << " Done" << endl;
161    
162     // scale the test histogram to the ref
163     if (p > 0) {
164     hInvMass.back()->Scale(hInvMass[0]->Integral() / hInvMass.back()->Integral());
165     hGsfGsfEt.back()->Scale(hGsfGsfEt[0]->Integral() / hGsfGsfEt.back()->Integral());
166     hGsfPt.back()->Scale(hGsfPt[0]->Integral() / hGsfPt.back()->Integral());
167     hGsfEta.back()->Scale(hGsfEta[0]->Integral() / hGsfEta.back()->Integral());
168     hGsfPhi.back()->Scale(hGsfPhi[0]->Integral() / hGsfPhi.back()->Integral());
169     hGsfSize.back()->Scale(hGsfSize[0]->Integral() / hGsfSize.back()->Integral());
170     hGenMomPdgId.back()->Scale(hGenMomPdgId[0]->Integral() / hGenMomPdgId.back()->Integral());
171     hGenMomMass.back()->Scale(hGenMomMass[0]->Integral() / hGenMomMass.back()->Integral());
172     hGenMomPt.back()->Scale(hGenMomPt[0]->Integral() / hGenMomPt.back()->Integral());
173     hGenMomEta.back()->Scale(hGenMomEta[0]->Integral() / hGenMomEta.back()->Integral());
174     hGenMomPhi.back()->Scale(hGenMomPhi[0]->Integral() / hGenMomPhi.back()->Integral());
175     }
176    
177     } // end of loop over input files
178    
179     TH1F * hInvMassDiff = (TH1F*)hInvMass[0]->Clone("hInvMassDiff");
180     TH1F * hGsfGsfEtDiff = (TH1F*)hGsfGsfEt[0]->Clone("hGsfGsfEtDiff");
181     TH1F * hGsfPtDiff = (TH1F*)hGsfPt[0]->Clone("hGsfPtDiff");
182     TH1F * hGsfEtaDiff = (TH1F*)hGsfEta[0]->Clone("hGsfEtaDiff");
183     TH1F * hGsfPhiDiff = (TH1F*)hGsfPhi[0]->Clone("hGsfPhiDiff");
184     TH1F * hGsfSizeDiff = (TH1F*)hGsfSize[0]->Clone("hGsfSizeDiff");
185     TH1F * hGenMomPdgIdDiff = (TH1F*)hGenMomPdgId[0]->Clone("hGenMomPdgIdDiff");
186     TH1F * hGenMomMassDiff = (TH1F*)hGenMomMass[0]->Clone("hGenMomMassDiff");
187     TH1F * hGenMomPtDiff = (TH1F*)hGenMomPt[0]->Clone("hGenMomPtDiff");
188     TH1F * hGenMomEtaDiff = (TH1F*)hGenMomEta[0]->Clone("hGenMomEtaDiff");
189     TH1F * hGenMomPhiDiff = (TH1F*)hGenMomPhi[0]->Clone("hGenMomPhiDiff");
190    
191     hInvMassDiff->Scale(-1.);
192     hInvMassDiff->Add(hInvMass[1]);
193     hInvMassDiff->Divide(hInvMass[0]);
194     hGsfGsfEtDiff->Scale(-1.);
195     hGsfGsfEtDiff->Add(hGsfGsfEt[1]);
196     hGsfGsfEtDiff->Divide(hGsfGsfEt[0]);
197     hGsfPtDiff->Scale(-1.);
198     hGsfPtDiff->Add(hGsfPt[1]);
199     hGsfPtDiff->Divide(hGsfPt[0]);
200     hGsfEtaDiff->Scale(-1.);
201     hGsfEtaDiff->Add(hGsfEta[1]);
202     hGsfEtaDiff->Divide(hGsfEta[0]);
203     hGsfPhiDiff->Scale(-1.);
204     hGsfPhiDiff->Add(hGsfPhi[1]);
205     hGsfPhiDiff->Divide(hGsfPhi[0]);
206     hGsfSizeDiff->Scale(-1.);
207     hGsfSizeDiff->Add(hGsfSize[1]);
208     hGsfSizeDiff->Divide(hGsfSize[0]);
209     hGenMomPdgIdDiff->Scale(-1.);
210     hGenMomPdgIdDiff->Add(hGenMomPdgId[1]);
211     hGenMomPdgIdDiff->Divide(hGenMomPdgId[0]);
212     hGenMomMassDiff->Scale(-1.);
213     hGenMomMassDiff->Add(hGenMomMass[1]);
214     hGenMomMassDiff->Divide(hGenMomMass[0]);
215     hGenMomPtDiff->Scale(-1.);
216     hGenMomPtDiff->Add(hGenMomPt[1]);
217     hGenMomPtDiff->Divide(hGenMomPt[0]);
218     hGenMomEtaDiff->Scale(-1.);
219     hGenMomEtaDiff->Add(hGenMomEta[1]);
220     hGenMomEtaDiff->Divide(hGenMomEta[0]);
221     hGenMomPhiDiff->Scale(-1.);
222     hGenMomPhiDiff->Add(hGenMomPhi[1]);
223     hGenMomPhiDiff->Divide(hGenMomPhi[0]);
224    
225     TCanvas *c1 = new TCanvas("gsfGsfEt", "gsfGsfEt", 100, 100, 800, 600);
226     c1->Divide(1, 2);
227     c1->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
228     c1->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
229     c1->cd(1);
230     c1->SetBorderMode(0);
231     c1->SetBorderSize(2);
232     TCanvas *c2 = new TCanvas("gsfPt", "gsfPt", 100, 100, 800, 600);
233     c2->Divide(1, 2);
234     c2->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
235     c2->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
236     c2->cd(1);
237     c2->SetBorderMode(0);
238     c2->SetBorderSize(2);
239     TCanvas *c3 = new TCanvas("gsfEta", "gsfEta", 100, 100, 800, 600);
240     c3->Divide(1, 2);
241     c3->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
242     c3->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
243     c3->cd(1);
244     c3->SetBorderMode(0);
245     c3->SetBorderSize(2);
246     TCanvas *c4 = new TCanvas("gsfPhi", "gsfPhi", 100, 100, 800, 600);
247     c4->Divide(1, 2);
248     c4->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
249     c4->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
250     c4->cd(1);
251     c4->SetBorderMode(0);
252     c4->SetBorderSize(2);
253     TCanvas *c5 = new TCanvas("gsfiSize", "gsfSize", 100, 100, 800, 600);
254     c5->Divide(1, 2);
255     c5->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
256     c5->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
257     c5->cd(1);
258     c5->SetBorderMode(0);
259     c5->SetBorderSize(2);
260     TCanvas *c6 = new TCanvas("genMomPdgId", "genMomPdgId", 100, 100, 800, 600);
261     c6->Divide(1, 2);
262     c6->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
263     c6->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
264     c6->cd(1);
265     c6->SetBorderMode(0);
266     c6->SetBorderSize(2);
267     TCanvas *c7 = new TCanvas("genMomMass", "genMomMass", 100, 100, 800, 600);
268     c7->Divide(1, 2);
269     c7->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
270     c7->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
271     c7->cd(1);
272     c7->SetBorderMode(0);
273     c7->SetBorderSize(2);
274     TCanvas *c8 = new TCanvas("genMomPt", "genMomPt", 100, 100, 800, 600);
275     c8->Divide(1, 2);
276     c8->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
277     c8->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
278     c8->cd(1);
279     c8->SetBorderMode(0);
280     c8->SetBorderSize(2);
281     TCanvas *c9 = new TCanvas("genMomEta", "genMomEta", 100, 100, 800, 600);
282     c9->Divide(1, 2);
283     c9->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
284     c9->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
285     c9->cd(1);
286     c9->SetBorderMode(0);
287     c9->SetBorderSize(2);
288     TCanvas *c10 = new TCanvas("genMomPhi", "genMomPhi", 100, 100, 800, 600);
289     c10->Divide(1, 2);
290     c10->GetPad(1)->SetPad(0.01, 0.2, 0.99, 0.99);
291     c10->GetPad(2)->SetPad(0.01, 0.01, 0.99, 0.2);
292     c10->cd(1);
293     c10->SetBorderMode(0);
294     c10->SetBorderSize(2);
295    
296     ////////////////////////////////////////////////////////////////////////////
297     c0->cd(1);
298     gPad->SetLogy();
299     hInvMass.front()->SetLineColor(kBlue);
300     hInvMass.front()->SetMarkerColor(kBlue);
301     hInvMass.front()->SetMarkerStyle(20);
302     hInvMass.front()->SetMarkerSize(0.8);
303     hInvMass.front()->GetXaxis()->SetTitle("m(ee) [GeV]");
304     //hInvMass.front()->GetYaxis()->SetTitle("Events");
305     hInvMass.front()->GetYaxis()->SetLabelFont(font);
306     hInvMass.front()->Draw();
307    
308     TLegend *legend1 = new TLegend(0.65, 0.68, 0.82, 0.82);
309     legend1->SetTextFont(font);
310     legend1->SetTextSize(0.03);
311     legend1->SetBorderSize(0);
312     legend1->AddEntry(hInvMass.front(), legendName[0].Data());
313     for (unsigned int p = 1; p < input.size(); ++p) {
314     hInvMass.at(p)->SetLineColor(kRed + p - 1);
315     hInvMass.at(p)->SetMarkerColor(kRed + p - 1);
316     hInvMass.at(p)->SetMarkerStyle(24);
317     hInvMass.at(p)->SetMarkerSize(0.8);
318     hInvMass.at(p)->Draw("sames");
319     legend1->AddEntry(hInvMass.at(p), legendName[p].Data());
320     }
321     legend1->Draw("sames");
322    
323     c0->cd(2);
324     gPad->SetTopMargin(0.);
325     gPad->SetBottomMargin(0.3);
326     gPad->SetBorderMode(0);
327     hInvMassDiff->Draw();
328     TLine *zero = new TLine(massMin, 0., massMax, 0.);
329     zero->Draw();
330     hInvMassDiff->SetLineColor(kBlue);
331     hInvMassDiff->SetMarkerColor(kBlue);
332     hInvMassDiff->SetMarkerStyle(24);
333     hInvMassDiff->SetMarkerSize(0.8);
334     hInvMassDiff->GetYaxis()->SetLabelFont(font);
335     hInvMassDiff->GetYaxis()->SetNdivisions(204);
336     hInvMassDiff->GetYaxis()->SetTitle("(test- ref)/ref");
337     hInvMassDiff->GetYaxis()->SetTitleFont(font);
338     hInvMassDiff->GetYaxis()->SetTitleSize(0.15);
339     hInvMassDiff->GetYaxis()->SetTitleOffset(0.2);
340     hInvMassDiff->GetYaxis()->SetLabelSize(0.15);
341     hInvMassDiff->GetXaxis()->SetTitle("m(ee) [GeV]");
342     hInvMassDiff->GetXaxis()->SetTitleSize(0.15);
343     hInvMassDiff->GetXaxis()->SetLabelSize(0.15);
344     hInvMassDiff->Draw("sameaxis");
345     ////////////////////////////////////////////////////////////////////////////
346    
347     ////////////////////////////////////////////////////////////////////////////
348     c1->cd(1);
349     gPad->SetLogy();
350     hGsfGsfEt.front()->SetLineColor(kBlue);
351     hGsfGsfEt.front()->SetMarkerColor(kBlue);
352     hGsfGsfEt.front()->SetMarkerStyle(20);
353     hGsfGsfEt.front()->SetMarkerSize(0.8);
354     hGsfGsfEt.front()->GetXaxis()->SetTitle("Et [GeV]");
355     hGsfGsfEt.front()->GetYaxis()->SetLabelFont(font);
356     hGsfGsfEt.front()->Draw();
357    
358     TLegend *legend = new TLegend(0.65, 0.68, 0.82, 0.82);
359     legend->SetTextFont(font);
360     legend->SetTextSize(0.03);
361     legend->SetBorderSize(0);
362     legend->AddEntry(hGsfGsfEt.front(), legendName[0].Data());
363     for (unsigned int p = 1; p < input.size(); ++p) {
364     hGsfGsfEt.at(p)->SetLineColor(kRed + p - 1);
365     hGsfGsfEt.at(p)->SetMarkerColor(kRed + p - 1);
366     hGsfGsfEt.at(p)->SetMarkerStyle(24);
367     hGsfGsfEt.at(p)->SetMarkerSize(0.8);
368     hGsfGsfEt.at(p)->Draw("sames");
369     legend->AddEntry(hGsfGsfEt.at(p), legendName[p].Data());
370     }
371     legend->Draw("sames");
372    
373     c1->cd(2);
374     gPad->SetTopMargin(0.);
375     gPad->SetBottomMargin(0.3);
376     gPad->SetBorderMode(0);
377     hGsfGsfEtDiff->GetYaxis()->SetLabelFont(font);
378     hGsfGsfEtDiff->Draw();
379     zero->DrawLine(etMin, 0., etMax, 0.);
380     hGsfGsfEtDiff->GetYaxis()->SetNdivisions(204);
381     hGsfGsfEtDiff->GetYaxis()->SetTitle("(test- ref)/ref");
382     hGsfGsfEtDiff->GetYaxis()->SetTitleFont(font);
383     hGsfGsfEtDiff->GetYaxis()->SetTitleSize(0.15);
384     hGsfGsfEtDiff->GetYaxis()->SetTitleOffset(0.2);
385     hGsfGsfEtDiff->GetYaxis()->SetLabelSize(0.15);
386     hGsfGsfEtDiff->GetXaxis()->SetTitle("E_{T}^{RECO} [GeV]");
387     hGsfGsfEtDiff->GetXaxis()->SetTitleSize(0.15);
388     hGsfGsfEtDiff->GetXaxis()->SetLabelSize(0.15);
389     hGsfGsfEtDiff->SetLineColor(kBlue);
390     hGsfGsfEtDiff->SetMarkerColor(kBlue);
391     hGsfGsfEtDiff->SetMarkerStyle(24);
392     hGsfGsfEtDiff->SetMarkerSize(0.8);
393     ////////////////////////////////////////////////////////////////////////////
394    
395     ////////////////////////////////////////////////////////////////////////////
396     c2->cd(1);
397     gPad->SetLogy();
398     hGsfPt.front()->SetLineColor(kBlue);
399     hGsfPt.front()->SetMarkerColor(kBlue);
400     hGsfPt.front()->SetMarkerStyle(20);
401     hGsfPt.front()->SetMarkerSize(0.8);
402     hGsfPt.front()->GetXaxis()->SetTitle("pt [GeV]");
403     hGsfPt.front()->GetYaxis()->SetLabelFont(font);
404     hGsfPt.front()->Draw();
405    
406     TLegend *legend2 = new TLegend(0.65, 0.68, 0.82, 0.82);
407     legend2->SetTextFont(font);
408     legend2->SetTextSize(0.03);
409     legend2->SetBorderSize(0);
410     legend2->AddEntry(hGsfPt.front(), legendName[0].Data());
411     for (unsigned int p = 1; p < input.size(); ++p) {
412     hGsfPt.at(p)->SetLineColor(kRed + p - 1);
413     hGsfPt.at(p)->SetMarkerColor(kRed + p - 1);
414     hGsfPt.at(p)->SetMarkerStyle(24);
415     hGsfPt.at(p)->SetMarkerSize(0.8);
416     hGsfPt.at(p)->Draw("sames");
417     legend2->AddEntry(hGsfPt.at(p), legendName[p].Data());
418     }
419     legend2->Draw("sames");
420    
421     c2->cd(2);
422     gPad->SetTopMargin(0.);
423     gPad->SetBottomMargin(0.3);
424     gPad->SetBorderMode(0);
425     hGsfPtDiff->GetYaxis()->SetLabelFont(font);
426     hGsfPtDiff->Draw();
427     zero->DrawLine(ptMin, 0., ptMax, 0.);
428     hGsfPtDiff->GetYaxis()->SetNdivisions(204);
429     hGsfPtDiff->GetYaxis()->SetTitle("(test- ref)/ref");
430     hGsfPtDiff->GetYaxis()->SetTitleFont(font);
431     hGsfPtDiff->GetYaxis()->SetTitleSize(0.15);
432     hGsfPtDiff->GetYaxis()->SetTitleOffset(0.2);
433     hGsfPtDiff->GetYaxis()->SetLabelSize(0.15);
434     hGsfPtDiff->GetXaxis()->SetTitle("p_{T}^{RECO} [GeV]");
435     hGsfPtDiff->GetXaxis()->SetTitleSize(0.15);
436     hGsfPtDiff->GetXaxis()->SetLabelSize(0.15);
437     hGsfPtDiff->SetLineColor(kBlue);
438     hGsfPtDiff->SetMarkerColor(kBlue);
439     hGsfPtDiff->SetMarkerStyle(24);
440     hGsfPtDiff->SetMarkerSize(0.8);
441     ////////////////////////////////////////////////////////////////////////////
442    
443     ////////////////////////////////////////////////////////////////////////////
444     c3->cd(1);
445     gPad->SetLogy();
446     hGsfEta.front()->SetLineColor(kBlue);
447     hGsfEta.front()->SetMarkerColor(kBlue);
448     hGsfEta.front()->SetMarkerStyle(20);
449     hGsfEta.front()->SetMarkerSize(0.8);
450     hGsfEta.front()->GetXaxis()->SetTitle("#eta_{RECO} [deg]");
451     hGsfEta.front()->GetYaxis()->SetLabelFont(font);
452     hGsfEta.front()->Draw();
453    
454     TLegend *legend3 = new TLegend(0.65, 0.68, 0.82, 0.82);
455     legend3->SetTextFont(font);
456     legend3->SetTextSize(0.03);
457     legend3->SetBorderSize(0);
458     legend3->AddEntry(hGsfEta.front(), legendName[0].Data());
459     for (unsigned int p = 1; p < input.size(); ++p) {
460     hGsfEta.at(p)->SetLineColor(kRed + p - 1);
461     hGsfEta.at(p)->SetMarkerColor(kRed + p - 1);
462     hGsfEta.at(p)->SetMarkerStyle(24);
463     hGsfEta.at(p)->SetMarkerSize(0.8);
464     hGsfEta.at(p)->Draw("sames");
465     legend3->AddEntry(hGsfEta.at(p), legendName[p].Data());
466     }
467     legend3->Draw("sames");
468    
469     c3->cd(2);
470     gPad->SetTopMargin(0.);
471     gPad->SetBottomMargin(0.3);
472     gPad->SetBorderMode(0);
473     hGsfEtaDiff->GetYaxis()->SetLabelFont(font);
474     hGsfEtaDiff->Draw();
475     zero->DrawLine(-3., 0., 3., 0.);
476     hGsfEtaDiff->GetYaxis()->SetNdivisions(204);
477     hGsfEtaDiff->GetYaxis()->SetTitle("(test- ref)/ref");
478     hGsfEtaDiff->GetYaxis()->SetTitleFont(font);
479     hGsfEtaDiff->GetYaxis()->SetTitleSize(0.15);
480     hGsfEtaDiff->GetYaxis()->SetTitleOffset(0.2);
481     hGsfEtaDiff->GetYaxis()->SetLabelSize(0.15);
482     hGsfEtaDiff->GetXaxis()->SetTitle("#eta_{RECO} [deg]");
483     hGsfEtaDiff->GetXaxis()->SetTitleSize(0.15);
484     hGsfEtaDiff->GetXaxis()->SetLabelSize(0.15);
485     hGsfEtaDiff->SetLineColor(kBlue);
486     hGsfEtaDiff->SetMarkerColor(kBlue);
487     hGsfEtaDiff->SetMarkerStyle(24);
488     hGsfEtaDiff->SetMarkerSize(0.8);
489     ////////////////////////////////////////////////////////////////////////////
490    
491     ////////////////////////////////////////////////////////////////////////////
492     c4->cd(1);
493     gPad->SetLogy();
494     hGsfPhi.front()->SetLineColor(kBlue);
495     hGsfPhi.front()->SetMarkerColor(kBlue);
496     hGsfPhi.front()->SetMarkerStyle(20);
497     hGsfPhi.front()->SetMarkerSize(0.8);
498     hGsfPhi.front()->GetXaxis()->SetTitle("#phi_{RECO} [deg]");
499     hGsfPhi.front()->GetYaxis()->SetLabelFont(font);
500     hGsfPhi.front()->Draw();
501    
502     TLegend *legend4 = new TLegend(0.65, 0.68, 0.82, 0.82);
503     legend4->SetTextFont(font);
504     legend4->SetTextSize(0.03);
505     legend4->SetBorderSize(0);
506     legend4->AddEntry(hGsfPhi.front(), legendName[0].Data());
507     for (unsigned int p = 1; p < input.size(); ++p) {
508     hGsfPhi.at(p)->SetLineColor(kRed + p - 1);
509     hGsfPhi.at(p)->SetMarkerColor(kRed + p - 1);
510     hGsfPhi.at(p)->SetMarkerStyle(24);
511     hGsfPhi.at(p)->SetMarkerSize(0.8);
512     hGsfPhi.at(p)->Draw("sames");
513     legend4->AddEntry(hGsfPhi.at(p), legendName[p].Data());
514     }
515     legend4->Draw("sames");
516    
517     c4->cd(2);
518     gPad->SetTopMargin(0.);
519     gPad->SetBottomMargin(0.3);
520     gPad->SetBorderMode(0);
521     hGsfPhiDiff->GetYaxis()->SetLabelFont(font);
522     hGsfPhiDiff->Draw();
523     zero->DrawLine(-4., 0., 4., 0.);
524     hGsfPhiDiff->GetYaxis()->SetNdivisions(204);
525     hGsfPhiDiff->GetYaxis()->SetTitle("(test- ref)/ref");
526     hGsfPhiDiff->GetYaxis()->SetTitleFont(font);
527     hGsfPhiDiff->GetYaxis()->SetTitleSize(0.15);
528     hGsfPhiDiff->GetYaxis()->SetTitleOffset(0.2);
529     hGsfPhiDiff->GetYaxis()->SetLabelSize(0.15);
530     hGsfPhiDiff->GetXaxis()->SetTitle("#phi_{RECO} [deg]");
531     hGsfPhiDiff->GetXaxis()->SetTitleSize(0.15);
532     hGsfPhiDiff->GetXaxis()->SetLabelSize(0.15);
533     hGsfPhiDiff->SetLineColor(kBlue);
534     hGsfPhiDiff->SetMarkerColor(kBlue);
535     hGsfPhiDiff->SetMarkerStyle(24);
536     hGsfPhiDiff->SetMarkerSize(0.8);
537     ////////////////////////////////////////////////////////////////////////////
538    
539     ////////////////////////////////////////////////////////////////////////////
540     c5->cd(1);
541     gPad->SetLogy();
542     hGsfSize.front()->SetLineColor(kBlue);
543     hGsfSize.front()->SetMarkerColor(kBlue);
544     hGsfSize.front()->SetMarkerStyle(20);
545     hGsfSize.front()->SetMarkerSize(0.8);
546     hGsfSize.front()->GetXaxis()->SetTitle("#");
547     hGsfSize.front()->GetYaxis()->SetLabelFont(font);
548     hGsfSize.front()->Draw();
549    
550     TLegend *legend5 = new TLegend(0.65, 0.68, 0.82, 0.82);
551     legend5->SetTextFont(font);
552     legend5->SetTextSize(0.03);
553     legend5->SetBorderSize(0);
554     legend5->AddEntry(hGsfSize.front(), legendName[0].Data());
555     for (unsigned int p = 1; p < input.size(); ++p) {
556     hGsfSize.at(p)->SetLineColor(kRed + p - 1);
557     hGsfSize.at(p)->SetMarkerColor(kRed + p - 1);
558     hGsfSize.at(p)->SetMarkerStyle(24);
559     hGsfSize.at(p)->SetMarkerSize(0.8);
560     hGsfSize.at(p)->Draw("sames");
561     legend5->AddEntry(hGsfSize.at(p), legendName[p].Data());
562     }
563     legend5->Draw("sames");
564    
565     c5->cd(2);
566     gPad->SetTopMargin(0.);
567     gPad->SetBottomMargin(0.3);
568     gPad->SetBorderMode(0);
569     hGsfSizeDiff->GetYaxis()->SetLabelFont(font);
570     hGsfSizeDiff->Draw();
571     zero->DrawLine(0., 0., 20., 0.);
572     hGsfSizeDiff->GetYaxis()->SetNdivisions(204);
573     hGsfSizeDiff->GetYaxis()->SetTitle("(test- ref)/ref");
574     hGsfSizeDiff->GetYaxis()->SetTitleFont(font);
575     hGsfSizeDiff->GetYaxis()->SetTitleSize(0.15);
576     hGsfSizeDiff->GetYaxis()->SetTitleOffset(0.2);
577     hGsfSizeDiff->GetYaxis()->SetLabelSize(0.15);
578     hGsfSizeDiff->GetXaxis()->SetTitle("#");
579     hGsfSizeDiff->GetXaxis()->SetTitleSize(0.15);
580     hGsfSizeDiff->GetXaxis()->SetLabelSize(0.15);
581     hGsfSizeDiff->SetLineColor(kBlue);
582     hGsfSizeDiff->SetMarkerColor(kBlue);
583     hGsfSizeDiff->SetMarkerStyle(24);
584     hGsfSizeDiff->SetMarkerSize(0.8);
585     ////////////////////////////////////////////////////////////////////////////
586    
587     ////////////////////////////////////////////////////////////////////////////
588     c6->cd(1);
589     gPad->SetLogy();
590     hGenMomPdgId.front()->SetLineColor(kBlue);
591     hGenMomPdgId.front()->SetMarkerColor(kBlue);
592     hGenMomPdgId.front()->SetMarkerStyle(20);
593     hGenMomPdgId.front()->SetMarkerSize(0.8);
594     hGenMomPdgId.front()->GetXaxis()->SetTitle("PDG id");
595     hGenMomPdgId.front()->GetYaxis()->SetLabelFont(font);
596     hGenMomPdgId.front()->Draw();
597    
598     TLegend *legend6 = new TLegend(0.65, 0.68, 0.82, 0.82);
599     legend6->SetTextFont(font);
600     legend6->SetTextSize(0.03);
601     legend6->SetBorderSize(0);
602     legend6->AddEntry(hGenMomPdgId.front(), legendName[0].Data());
603     for (unsigned int p = 1; p < input.size(); ++p) {
604     hGenMomPdgId.at(p)->SetLineColor(kRed + p - 1);
605     hGenMomPdgId.at(p)->SetMarkerColor(kRed + p - 1);
606     hGenMomPdgId.at(p)->SetMarkerStyle(24);
607     hGenMomPdgId.at(p)->SetMarkerSize(0.8);
608     hGenMomPdgId.at(p)->Draw("sames");
609     legend6->AddEntry(hGenMomPdgId.at(p), legendName[p].Data());
610     }
611     legend6->Draw("sames");
612    
613     c6->cd(2);
614     gPad->SetTopMargin(0.);
615     gPad->SetBottomMargin(0.3);
616     gPad->SetBorderMode(0);
617     hGenMomPdgIdDiff->GetYaxis()->SetLabelFont(font);
618     hGenMomPdgIdDiff->Draw();
619     zero->DrawLine(-50., 0., 50., 0.);
620     hGenMomPdgIdDiff->GetYaxis()->SetNdivisions(204);
621     hGenMomPdgIdDiff->GetYaxis()->SetTitle("(test- ref)/ref");
622     hGenMomPdgIdDiff->GetYaxis()->SetTitleFont(font);
623     hGenMomPdgIdDiff->GetYaxis()->SetTitleSize(0.15);
624     hGenMomPdgIdDiff->GetYaxis()->SetTitleOffset(0.2);
625     hGenMomPdgIdDiff->GetYaxis()->SetLabelSize(0.15);
626     hGenMomPdgIdDiff->GetXaxis()->SetTitle("PDG id");
627     hGenMomPdgIdDiff->GetXaxis()->SetTitleSize(0.15);
628     hGenMomPdgIdDiff->GetXaxis()->SetLabelSize(0.15);
629     hGenMomPdgIdDiff->SetLineColor(kBlue);
630     hGenMomPdgIdDiff->SetMarkerColor(kBlue);
631     hGenMomPdgIdDiff->SetMarkerStyle(24);
632     hGenMomPdgIdDiff->SetMarkerSize(0.8);
633     ////////////////////////////////////////////////////////////////////////////
634    
635     ////////////////////////////////////////////////////////////////////////////
636     c7->cd(1);
637     gPad->SetLogy();
638     hGenMomMass.front()->SetLineColor(kBlue);
639     hGenMomMass.front()->SetMarkerColor(kBlue);
640     hGenMomMass.front()->SetMarkerStyle(20);
641     hGenMomMass.front()->SetMarkerSize(0.8);
642     hGenMomMass.front()->GetXaxis()->SetTitle("m_{true} [GeV]");
643     hGenMomMass.front()->GetYaxis()->SetLabelFont(font);
644     hGenMomMass.front()->Draw();
645    
646     TLegend *legend7 = new TLegend(0.65, 0.68, 0.82, 0.82);
647     legend7->SetTextFont(font);
648     legend7->SetTextSize(0.03);
649     legend7->SetBorderSize(0);
650     legend7->AddEntry(hGenMomMass.front(), legendName[0].Data());
651     for (unsigned int p = 1; p < input.size(); ++p) {
652     hGenMomMass.at(p)->SetLineColor(kRed + p - 1);
653     hGenMomMass.at(p)->SetMarkerColor(kRed + p - 1);
654     hGenMomMass.at(p)->SetMarkerStyle(24);
655     hGenMomMass.at(p)->SetMarkerSize(0.8);
656     hGenMomMass.at(p)->Draw("sames");
657     legend7->AddEntry(hGenMomMass.at(p), legendName[p].Data());
658     }
659     legend7->Draw("sames");
660    
661     c7->cd(2);
662     gPad->SetTopMargin(0.);
663     gPad->SetBottomMargin(0.3);
664     gPad->SetBorderMode(0);
665     hGenMomMassDiff->GetYaxis()->SetLabelFont(font);
666     hGenMomMassDiff->Draw();
667     zero->DrawLine(massMin, 0., massMax, 0.);
668     hGenMomMassDiff->GetYaxis()->SetNdivisions(204);
669     hGenMomMassDiff->GetYaxis()->SetTitle("(test- ref)/ref");
670     hGenMomMassDiff->GetYaxis()->SetTitleFont(font);
671     hGenMomMassDiff->GetYaxis()->SetTitleSize(0.15);
672     hGenMomMassDiff->GetYaxis()->SetTitleOffset(0.2);
673     hGenMomMassDiff->GetYaxis()->SetLabelSize(0.15);
674     hGenMomMassDiff->GetXaxis()->SetTitle("m_{true} [GeV]");
675     hGenMomMassDiff->GetXaxis()->SetTitleSize(0.15);
676     hGenMomMassDiff->GetXaxis()->SetLabelSize(0.15);
677     hGenMomMassDiff->SetLineColor(kBlue);
678     hGenMomMassDiff->SetMarkerColor(kBlue);
679     hGenMomMassDiff->SetMarkerStyle(24);
680     hGenMomMassDiff->SetMarkerSize(0.8);
681     ////////////////////////////////////////////////////////////////////////////
682    
683     ////////////////////////////////////////////////////////////////////////////
684     c8->cd(1);
685     gPad->SetLogy();
686     hGenMomPt.front()->SetLineColor(kBlue);
687     hGenMomPt.front()->SetMarkerColor(kBlue);
688     hGenMomPt.front()->SetMarkerStyle(20);
689     hGenMomPt.front()->SetMarkerSize(0.8);
690     hGenMomPt.front()->GetXaxis()->SetTitle("p_{T}^{true} [GeV]");
691     hGenMomPt.front()->GetYaxis()->SetLabelFont(font);
692     hGenMomPt.front()->Draw();
693    
694     TLegend *legend8 = new TLegend(0.65, 0.68, 0.82, 0.82);
695     legend8->SetTextFont(font);
696     legend8->SetTextSize(0.03);
697     legend8->SetBorderSize(0);
698     legend8->AddEntry(hGenMomPt.front(), legendName[0].Data());
699     for (unsigned int p = 1; p < input.size(); ++p) {
700     hGenMomPt.at(p)->SetLineColor(kRed + p - 1);
701     hGenMomPt.at(p)->SetMarkerColor(kRed + p - 1);
702     hGenMomPt.at(p)->SetMarkerStyle(24);
703     hGenMomPt.at(p)->SetMarkerSize(0.8);
704     hGenMomPt.at(p)->Draw("sames");
705     legend8->AddEntry(hGenMomPt.at(p), legendName[p].Data());
706     }
707     legend8->Draw("sames");
708    
709     c8->cd(2);
710     gPad->SetTopMargin(0.);
711     gPad->SetBottomMargin(0.3);
712     gPad->SetBorderMode(0);
713     hGenMomPtDiff->GetYaxis()->SetLabelFont(font);
714     hGenMomPtDiff->Draw();
715     zero->DrawLine(ptMin, 0., ptMax, 0.);
716     hGenMomPtDiff->GetYaxis()->SetNdivisions(204);
717     hGenMomPtDiff->GetYaxis()->SetTitle("(test- ref)/ref");
718     hGenMomPtDiff->GetYaxis()->SetTitleFont(font);
719     hGenMomPtDiff->GetYaxis()->SetTitleSize(0.15);
720     hGenMomPtDiff->GetYaxis()->SetTitleOffset(0.2);
721     hGenMomPtDiff->GetYaxis()->SetLabelSize(0.15);
722     hGenMomPtDiff->GetXaxis()->SetTitle("p_{T}^{true} [GeV]");
723     hGenMomPtDiff->GetXaxis()->SetTitleSize(0.15);
724     hGenMomPtDiff->GetXaxis()->SetLabelSize(0.15);
725     hGenMomPtDiff->SetLineColor(kBlue);
726     hGenMomPtDiff->SetMarkerColor(kBlue);
727     hGenMomPtDiff->SetMarkerStyle(24);
728     hGenMomPtDiff->SetMarkerSize(0.8);
729     ////////////////////////////////////////////////////////////////////////////
730    
731     ////////////////////////////////////////////////////////////////////////////
732     c9->cd(1);
733     gPad->SetLogy();
734     hGenMomEta.front()->SetLineColor(kBlue);
735     hGenMomEta.front()->SetMarkerColor(kBlue);
736     hGenMomEta.front()->SetMarkerStyle(20);
737     hGenMomEta.front()->SetMarkerSize(0.8);
738     hGenMomEta.front()->GetXaxis()->SetTitle("#eta_{true} [deg]");
739     hGenMomEta.front()->GetYaxis()->SetLabelFont(font);
740     hGenMomEta.front()->Draw();
741    
742     TLegend *legend9 = new TLegend(0.65, 0.68, 0.82, 0.82);
743     legend9->SetTextFont(font);
744     legend9->SetTextSize(0.03);
745     legend9->SetBorderSize(0);
746     legend9->AddEntry(hGenMomEta.front(), legendName[0].Data());
747     for (unsigned int p = 1; p < input.size(); ++p) {
748     hGenMomEta.at(p)->SetLineColor(kRed + p - 1);
749     hGenMomEta.at(p)->SetMarkerColor(kRed + p - 1);
750     hGenMomEta.at(p)->SetMarkerStyle(24);
751     hGenMomEta.at(p)->SetMarkerSize(0.8);
752     hGenMomEta.at(p)->Draw("sames");
753     legend9->AddEntry(hGenMomEta.at(p), legendName[p].Data());
754     }
755     legend9->Draw("sames");
756    
757     c9->cd(2);
758     gPad->SetTopMargin(0.);
759     gPad->SetBottomMargin(0.3);
760     gPad->SetBorderMode(0);
761     hGenMomEtaDiff->GetYaxis()->SetLabelFont(font);
762     hGenMomEtaDiff->Draw();
763     zero->DrawLine(-3., 0., 3., 0.);
764     hGenMomEtaDiff->GetYaxis()->SetNdivisions(204);
765     hGenMomEtaDiff->GetYaxis()->SetTitle("(test- ref)/ref");
766     hGenMomEtaDiff->GetYaxis()->SetTitleFont(font);
767     hGenMomEtaDiff->GetYaxis()->SetTitleSize(0.15);
768     hGenMomEtaDiff->GetYaxis()->SetTitleOffset(0.2);
769     hGenMomEtaDiff->GetYaxis()->SetLabelSize(0.15);
770     hGenMomEtaDiff->GetXaxis()->SetTitle("#eta_{true} [deg]");
771     hGenMomEtaDiff->GetXaxis()->SetTitleSize(0.15);
772     hGenMomEtaDiff->GetXaxis()->SetLabelSize(0.15);
773     hGenMomEtaDiff->SetLineColor(kBlue);
774     hGenMomEtaDiff->SetMarkerColor(kBlue);
775     hGenMomEtaDiff->SetMarkerStyle(24);
776     hGenMomEtaDiff->SetMarkerSize(0.8);
777     ////////////////////////////////////////////////////////////////////////////
778    
779     ////////////////////////////////////////////////////////////////////////////
780     c10->cd(1);
781     gPad->SetLogy();
782     hGenMomPhi.front()->SetLineColor(kBlue);
783     hGenMomPhi.front()->SetMarkerColor(kBlue);
784     hGenMomPhi.front()->SetMarkerStyle(20);
785     hGenMomPhi.front()->SetMarkerSize(0.8);
786     hGenMomPhi.front()->GetXaxis()->SetTitle("#phi_{true} [deg]");
787     hGenMomPhi.front()->GetYaxis()->SetLabelFont(font);
788     hGenMomPhi.front()->Draw();
789    
790     TLegend *legend10 = new TLegend(0.65, 0.68, 0.82, 0.82);
791     legend10->SetTextFont(font);
792     legend10->SetTextSize(0.03);
793     legend10->SetBorderSize(0);
794     legend10->AddEntry(hGenMomPhi.front(), legendName[0].Data());
795     for (unsigned int p = 1; p < input.size(); ++p) {
796     hGenMomPhi.at(p)->SetLineColor(kRed + p - 1);
797     hGenMomPhi.at(p)->SetMarkerColor(kRed + p - 1);
798     hGenMomPhi.at(p)->SetMarkerStyle(24);
799     hGenMomPhi.at(p)->SetMarkerSize(0.8);
800     hGenMomPhi.at(p)->Draw("sames");
801     legend10->AddEntry(hGenMomPhi.at(p), legendName[p].Data());
802     }
803     legend10->Draw("sames");
804    
805     c10->cd(2);
806     gPad->SetTopMargin(0.);
807     gPad->SetBottomMargin(0.3);
808     gPad->SetBorderMode(0);
809     hGenMomPhiDiff->GetYaxis()->SetLabelFont(font);
810     hGenMomPhiDiff->Draw();
811     zero->DrawLine(-4., 0., 4., 0.);
812     hGenMomPhiDiff->GetYaxis()->SetNdivisions(204);
813     hGenMomPhiDiff->GetYaxis()->SetTitle("(test- ref)/ref");
814     hGenMomPhiDiff->GetYaxis()->SetTitleFont(font);
815     hGenMomPhiDiff->GetYaxis()->SetTitleSize(0.15);
816     hGenMomPhiDiff->GetYaxis()->SetTitleOffset(0.2);
817     hGenMomPhiDiff->GetYaxis()->SetLabelSize(0.15);
818     hGenMomPhiDiff->GetXaxis()->SetTitle("#phi_{true} [deg]");
819     hGenMomPhiDiff->GetXaxis()->SetTitleSize(0.15);
820     hGenMomPhiDiff->GetXaxis()->SetLabelSize(0.15);
821     hGenMomPhiDiff->SetLineColor(kBlue);
822     hGenMomPhiDiff->SetMarkerColor(kBlue);
823     hGenMomPhiDiff->SetMarkerStyle(24);
824     hGenMomPhiDiff->SetMarkerSize(0.8);
825     ////////////////////////////////////////////////////////////////////////////
826    
827    
828     } //end of method
829    
830    
831