source: huonglan/ANA2011/InitHistos.h

Last change on this file was 8, checked in by huonglan, 13 years ago

22August : changing b-tagging & before mu in b-jet treat

File size: 30.0 KB
Line 
1  //ADD HISTOGRAM
2  TString name = "";
3
4  //FOR MATCHING
5  m_pTttpairMC = new TH1F("pTttpairMC", "", 100, 0, 600);
6  fOutput->Add(m_pTttpairMC);
7
8  m_mjetMax = new TH1F("mjetMax", "", 100, 0, 500);
9  fOutput->Add(m_mjetMax);
10
11  m_pTminmatch_pTmaxnotmatch = new TH1F("pTminmatch_pTmaxnotmatch", "", 100, -500, 500);
12  fOutput->Add(m_pTminmatch_pTmaxnotmatch);
13
14  TString checkPT[2] = {"_notOK","_OK"};
15
16  for (int i = 0; i < 2; i++){
17    name = "pTminmatch"; name += checkPT[i];
18    m_pTminmatch[i] = new TH1F(name, "", 100, 0, 500);
19    fOutput->Add(m_pTminmatch[i]);
20
21    name = "pTmaxnotmatch", name += checkPT[i];
22    m_pTmaxnotmatch[i] = new TH1F(name, "", 100, 0, 500);
23    fOutput->Add(m_pTmaxnotmatch[i]);
24  }
25
26  TString Match[2] = {"_match_allevents","_match_chi2"};
27  for (int i = 0; i < 2; i++) {
28    name = "category"; name += Match[i];
29    m_category[i] = new TH1F(name, "", 50, 0, 50);
30    fOutput->Add(m_category[i]);
31     
32    name = "NotMatch"; name += Match[i];
33    m_NotMatch[i] = new TH1F(name, "", 10, 0, 10);
34    fOutput->Add(m_NotMatch[i]);
35
36    name = "MergedJet"; name += Match[i];
37    m_MergedJet[i] = new TH1F(name, "", 100, 0, 100);
38    fOutput->Add(m_MergedJet[i]);
39  }
40
41  TString MatchCat[5] = {"_0jetFound","_1jetFound","_2jetFound","_3jetFound","_4jetFound"};
42  for (int i = 0; i < 5; i++){
43    name = "mtophadMatch"; name += MatchCat[i]; 
44    m_mtophadMatch[i] = new TH1F(name, "", 100, 0, 1000);
45    fOutput->Add(m_mtophadMatch[i]);
46
47    name = "chi2Match"; name += MatchCat[i];
48    m_chi2Match[i] = new TH1F(name, "", 100, 0, 300);
49    fOutput->Add(m_chi2Match[i]);
50  }
51
52  m_mtophadMatchGoodOrder = new TH1F("mtophadMatchGoodOrder", "", 100, 0, 1000);
53  fOutput->Add(m_mtophadMatchGoodOrder);
54
55  m_mtophadMatchWrongOrder = new TH1F("mtophadMatchWrongOrder", "", 100, 0, 1000);
56  fOutput->Add(m_mtophadMatchWrongOrder);
57
58  m_mtophadMatchWrongOrder1 = new TH1F("mtophadMatchWrongOrder1", "", 100, 0, 1000);
59  fOutput->Add(m_mtophadMatchWrongOrder1);
60
61  m_mtophadMatchWrongOrder2 = new TH1F("mtophadMatchWrongOrder2", "", 100, 0, 1000);
62  fOutput->Add(m_mtophadMatchWrongOrder2);
63
64  m_dRlep_MatchGoodOrder = new TH1F("dRlep_MatchGoodOrder", "", 100, 0, 0.1);
65  fOutput->Add(m_dRlep_MatchGoodOrder);
66
67  m_dRlep_MatchWrongOrder = new TH1F("dRlep_MatchWrongOrder", "", 100, 0, 0.1);
68  fOutput->Add(m_dRlep_MatchWrongOrder);
69
70  m_dRneu_MatchGoodOrder1 = new TH1F("dRneu_MatchGoodOrder1", "", 100, 0, 5);
71  fOutput->Add(m_dRneu_MatchGoodOrder1);
72
73  m_dRneu_MatchGoodOrder2 = new TH1F("dRneu_MatchGoodOrder2", "", 100, 0, 5);
74  fOutput->Add(m_dRneu_MatchGoodOrder2);
75
76  m_dRneu_MatchWrongOrder1 = new TH1F("dRneu_MatchWrongOrder1", "", 100, 0, 5);
77  fOutput->Add(m_dRneu_MatchWrongOrder1);
78
79  m_dRneu_MatchWrongOrder2 = new TH1F("dRneu_MatchWrongOrder2", "", 100, 0, 5);
80  fOutput->Add(m_dRneu_MatchWrongOrder2);
81
82  TString MatchChi2[3] = {"4JetsInChi2_all","4JetsInChi2_GoodOrder","4JetsInChi2_WrongOrder"};
83
84  for (int i = 0; i < 3; i++){
85    name = "dRWlepbenTruth"; name += MatchChi2[i];
86    m_dRWlepbenTruth[i] = new TH1F(name, "", 100, 0, 5);
87    fOutput->Add(m_dRWlepbenTruth[i]);
88
89    name = "dRWhadbqqTruth"; name += MatchChi2[i];
90    m_dRWhadbqqTruth[i] = new TH1F(name, "", 100, 0, 5);
91    fOutput->Add(m_dRWhadbqqTruth[i]);
92
93    name = "dRWlepben"; name += MatchChi2[i];
94    m_dRWlepben[i] = new TH1F(name, "", 100, 0, 5);
95    fOutput->Add(m_dRWlepben[i]);
96
97    name = "dRWhadbqq"; name += MatchChi2[i];
98    m_dRWhadbqq[i] = new TH1F(name, "", 100, 0, 5);
99    fOutput->Add(m_dRWhadbqq[i]);
100  }
101  m_evt_mixjets = new TH2F("evt_mixjets", "", 850, 0, 850, 35, 10, 35);
102  fOutput->Add(m_evt_mixjets);
103
104
105  //### On 14March
106  m_ptmuon_echannel = new TH1F("ptmuon_echannel", "", 100, 0, 100);
107  fOutput->Add(m_ptmuon_echannel);
108 
109  //with good jets
110  m_dRmu_goodjets_echannel = new TH1F("dRmu_goodjets_echannel", "", 100, 0, 5);
111  fOutput->Add(m_dRmu_goodjets_echannel);
112
113  m_ptmu_goodjets_echannel = new TH1F("ptmu_goodjets_echannel", "", 100, 0, 100);
114  fOutput->Add(m_ptmu_goodjets_echannel);
115
116  m_etamu_goodjets_echannel = new TH1F("etamu_goodjets_echannel", "", 100, -5, 5);
117  fOutput->Add(m_etamu_goodjets_echannel);
118
119  //with not good jets
120  m_dRmu_notgoodjets_echannel = new TH1F("dRmu_notgoodjets_echannel", "", 100, 0, 5);
121  fOutput->Add(m_dRmu_notgoodjets_echannel);
122
123  m_ptmu_notgoodjets_echannel = new TH1F("ptmu_notgoodjets_echannel", "", 100, 0, 100);
124  fOutput->Add(m_ptmu_notgoodjets_echannel);
125
126  m_etamu_notgoodjets_echannel = new TH1F("etamu_notgoodjets_echannel", "", 100, -5, 5);
127  fOutput->Add(m_etamu_notgoodjets_echannel);
128
129  //check the distance between the good jets
130  m_dR2goodjets = new TH1F("dR2goodjets", "", 100, 0, 5);
131  fOutput->Add(m_dR2goodjets);
132
133  //### 4Feb : Add some new plots for some variables
134  m_loose_2Dim = new TH2F("loose_2Dim", "", 11, 0, 11, 50, 0, 50);
135  fOutput->Add(m_loose_2Dim);
136     
137  m_loose_noGoodLepton = new TH1F("loose_noGoodLepton", "", 50, 0, 50);
138  fOutput->Add(m_loose_noGoodLepton);
139     
140  m_allpdg3 = new TH1F("allpdg3", "", 40, -20, 20);
141  fOutput->Add(m_allpdg3);
142     
143  m_allpdg = new TH1F("allpdg", "", 40, -20, 20);
144  fOutput->Add(m_allpdg);
145     
146  m_eta_aftercut_Ele = new TH1F("eta_aftercut_Ele", "", 100, -5, 5);
147  fOutput->Add(m_eta_aftercut_Ele);
148     
149  m_pt_aftercut_Ele  = new TH1F("pt_aftercut_Ele",  "", 100, 0, 300);
150  fOutput->Add(m_pt_aftercut_Ele);
151     
152  m_eta_aftercut_Muo = new TH1F("eta_aftercut_Muo", "", 100, -5, 5);
153  fOutput->Add(m_eta_aftercut_Muo);
154     
155  m_pt_aftercut_Muo  = new TH1F("pt_aftercut_Muo",  "", 100, 0, 300);
156  fOutput->Add(m_pt_aftercut_Muo);
157     
158  m_loose_category2 = new TH1F("loose_category2", "", 50, 0, 50);
159  fOutput->Add(m_loose_category2);
160
161
162  TString chanL[3] = {"_all","_Ele","_Mu"};
163  TString anaType[3] = {"_chi2bar","_chi2","_nasty"};
164  TString catWqq[3] = {"_catWqq1","_catWqq2","_catWqq3"};
165  //TString catWen[2] = {"_catWen1","_catWen2"};
166
167  for (int i = 0; i < 3; i++) {
168    //################  From chi2BAR analysis   #################
169    name = "dmtop"; name += chanL[i]; name += anaType[0];
170    m_dmt[i]   = new TH1F(name,    "",   100,  0., 500.); fOutput->Add(m_dmt[i]);
171
172    name = "dmmin"; name += chanL[i]; name += anaType[0];
173    m_dmmin[i] = new TH1F(name,   "",   100,  -100, 100); fOutput->Add(m_dmmin[i]); 
174    name = "weiSV0Max"; name += chanL[i]; name += anaType[0];
175    m_weiSV0Max[i] = new TH1F(name,   "",   100,  -100, 100); 
176    fOutput->Add(m_weiSV0Max[i]); 
177
178    name = "weiSV0SubMax"; name += chanL[i]; name += anaType[0];
179    m_weiSV0SubMax[i] = new TH1F(name,   "",   100,  -100, 100); 
180    fOutput->Add(m_weiSV0SubMax[i]); 
181    //End of chi2BAR analysis
182   
183    //################  From the chi2 analysis  #################
184    name = "mtophad_sWS_"; name += chanL[i]; name += anaType[1];
185    m_m2min_sWS[i] = new TH1F(name, "", 100, 0, 1000);
186    fOutput->Add(m_m2min_sWS[i]);
187   
188    name = "mtoplep_sWS_"; name += chanL[i]; name += anaType[1];
189    m_m3min_sWS[i] = new TH1F(name, "", 100, 0, 1000);
190    fOutput->Add(m_m3min_sWS[i]);
191   
192    name = "mtophad_sWB_"; name += chanL[i]; name += anaType[1];
193    m_m2min_sWB[i] = new TH1F(name, "", 100, 0, 1000);
194    fOutput->Add(m_m2min_sWB[i]);
195 
196    name = "mtoplep_sWB_"; name += chanL[i]; name += anaType[1];   
197    m_m3min_sWB[i] = new TH1F(name, "", 100, 0, 1000);
198    fOutput->Add(m_m3min_sWB[i]);
199   
200    name = "pTtttouschi2"; name += chanL[i]; name += anaType[1];
201    m_pTtttouschi2[i] = new TH1F(name, "", 100, 0, 600);
202    fOutput->Add(m_pTtttouschi2[i]);
203   
204    name = "twoDim_m2min_chi2min"; name += chanL[i]; name += anaType[1];
205    m_twoDim_m2min_chi2min[i] = new TH2F(name, "", 100, 0, 1000, 100, 0, 300);
206    fOutput->Add(m_twoDim_m2min_chi2min[i]);
207   
208    //Add histo for distribution of pT of top pair
209    name = "pTttpairchi2"; name += chanL[i]; name += anaType[1];
210    m_pTttpairchi2[i] = new TH1F(name, "", 100, 0, 600);
211    fOutput->Add(m_pTttpairchi2[i]);
212   
213    name = "twoDim_m2min_pTttpairchi2"; name += chanL[i]; name += anaType[1];
214    m_twoDim_m2min_pTttpairchi2[i] = new TH2F(name, "", 100, 0, 1000, 100, 0, 400);
215    fOutput->Add(m_twoDim_m2min_pTttpairchi2[i]);
216   
217    name = "twoDim_m2min_pTtophad"; name += chanL[i]; name += anaType[1];
218    m_twoDim_m2min_pTtophad[i] = new TH2F(name, "", 100, 0, 1000, 100, 0, 1000);
219    fOutput->Add(m_twoDim_m2min_pTtophad[i]);
220   
221    name = "dmtchi2"; name += chanL[i]; name += anaType[1];
222    m_dmtchi2[i] = new TH1F(name,  "",   100,  -100, 100); 
223    fOutput->Add(m_dmtchi2[i]);
224   
225    //check the large number of chi2
226    name = "mtophad_grandchi2"; name += chanL[i]; name += anaType[1];
227    mtophad_grandchi2[i] = new TH1F(name, "", 100, 0, 1000);
228    fOutput->Add(mtophad_grandchi2[i]);
229
230    name = "chi2histo"; name += chanL[i]; name += anaType[1];
231    chi2histo[i]  = new TH1F(name, "", 100, 0, 300);
232    fOutput->Add(chi2histo[i]);
233
234    name = "chi2_second"; name += chanL[i]; name += anaType[1];
235    chi2_second[i] =  new TH1F(name, "", 100, 0, 500);
236    fOutput->Add(chi2_second[i]);
237
238    //Check the domination of the terms in chi2
239    name = "dEqsurchi2"; name += chanL[i]; name += anaType[1];
240    m_dEqsurchi2[i]  = new TProfile(name,  "",   100,  0, 300, 0, 1); 
241    fOutput->Add(m_dEqsurchi2[i]);
242   
243    name = "dElsurchi2"; name += chanL[i]; name += anaType[1];
244    m_dElsurchi2[i]  = new TProfile(name,  "",   100,  0, 300, 0, 1); 
245    fOutput->Add(m_dElsurchi2[i]);
246   
247    name = "dmWsurchi2"; name += chanL[i]; name += anaType[1];
248    m_dmWsurchi2[i] = new TProfile(name, "",   100,  0, 300, 0, 1); 
249    fOutput->Add(m_dmWsurchi2[i]);
250   
251    name = "dmtsurchi2"; name += chanL[i]; name += anaType[1];
252    m_dmtsurchi2[i] = new TProfile(name, "",   100,  0, 300, 0, 1); 
253    fOutput->Add(m_dmtsurchi2[i]);
254   
255    name = "dEdmW"; name += chanL[i]; name += anaType[1];
256    m_dEdmW[i] = new TH2F(name, "", 100, 0, 1, 100, 0, 1); fOutput->Add(m_dEdmW[i]);
257   
258    name = "DeltaElep"; name += chanL[i]; name += anaType[1];
259    m_DeltaElep[i] = new TH1F(name,"",200,-10.,10.); fOutput->Add(m_DeltaElep[i]);
260
261    name = "DeltaEqrk"; name += chanL[i]; name += anaType[1];
262    m_DeltaEqrk[i] = new TH1F(name,"",200,-50.,50.); fOutput->Add(m_DeltaEqrk[i]);
263
264    name = "twoDim_mintmt_chi2"; name += chanL[i]; name += anaType[1];
265    m_twoDim_mintmt_chi2[i] = new TH2F(name,"", 100, 0, 500, 100, 0, 500);
266    fOutput->Add(m_twoDim_mintmt_chi2[i]);
267   
268    //###### AFTER FITTOP THEN COMES FREEFIT
269    name = "twoDim_mtophad_chi2"; name += chanL[i]; name += anaType[1];
270    m_twoDim_mtophad_chi2[i] = new TH2F(name, "", 100, 0, 500, 100, 0, 500);
271    fOutput->Add(m_twoDim_mtophad_chi2[i]);
272   
273    name = "twoDim_mtophad_chi2fittop"; name += chanL[i]; name += anaType[1];
274    m_twoDim_mtophad_chi2fittop[i] = new TH2F(name, "", 100, 0, 500, 100, 0, 500);
275    fOutput->Add(m_twoDim_mtophad_chi2fittop[i]);
276    //##################  End of chi2 analysis  ######################
277
278    for (int j = 0; j < 3; j++) {
279
280      int k = 3*i + j;
281
282      name = "mWhad"; name += chanL[i]; name += anaType[j];
283      m_mWhad[k] = new TH1F(name, "", 100, 0, 500);
284      fOutput->Add(m_mWhad[k]);
285     
286      name = "mWlep"; name += chanL[i]; name += anaType[j];
287      m_mWlep[k] = new TH1F(name, "", 100, 0, 500);
288      fOutput->Add(m_mWlep[k]);
289     
290      name = "mtophad"; name += chanL[i]; name += anaType[j];
291      m_mtophad[k] = new TH1F(name, "", 100, 0, 1000);
292      fOutput->Add(m_mtophad[k]);
293   
294      name = "mtoplep"; name += chanL[i]; name += anaType[j];
295      m_mtoplep[k] = new TH1F(name, "", 100, 0, 1000);
296      fOutput->Add(m_mtoplep[k]);
297   
298      //################ ADD HISTOS TO FIND CUTS ##############
299      name = "EWhad"; name += chanL[i]; name += anaType[j];     
300      m_EWhad[k] = new TH1F(name,"", 100, 0, 1000); 
301      fOutput->Add(m_EWhad[k]);
302   
303      name = "EWlep"; name += chanL[i]; name += anaType[j];
304      m_EWlep[k] = new TH1F(name,"", 100, 0, 1000);
305      fOutput->Add(m_EWlep[k]);
306     
307      name = "pTtophad"; name += chanL[i]; name += anaType[j];
308      m_pTtophad[k] = new TH1F(name,"", 100, 0, 1000);
309      fOutput->Add(m_pTtophad[k]);
310     
311      name = "pTtoplep"; name += chanL[i]; name += anaType[j];
312      m_pTtoplep[k] = new TH1F(name,"", 100, 0, 1000);
313      fOutput->Add(m_pTtoplep[k]);
314     
315      name = "pZtophad"; name += chanL[i]; name += anaType[j];
316      m_pZtophad[k] = new TH1F(name,"", 100, 0, 1000);
317      fOutput->Add(m_pZtophad[k]);
318     
319      name = "pZttbar"; name += chanL[i]; name += anaType[j];
320      m_pZttbar[k] = new TH1F(name,"", 100, 0, 1000);
321      fOutput->Add(m_pZttbar[k]);
322     
323      name = "pTtophad_all"; name += chanL[i]; name += anaType[j];
324      m_pTtophad_all[k] = new TH1F(name,"", 100, 0, 1000);
325      fOutput->Add(m_pTtophad_all[k]);
326     
327      name = "sWSdis"; name += chanL[i]; name += anaType[j];
328      m_sWSdis[k] = new TH1F(name, "", 100, -5, 5);
329      fOutput->Add(m_sWSdis[k]);
330
331      name = "sWBdis"; name += chanL[i]; name += anaType[j];
332      m_sWBdis[k] = new TH1F(name, "", 100, -5, 5);
333      fOutput->Add(m_sWBdis[k]);
334     
335      name = "sWBdis_sWSdis"; name += chanL[i]; name += anaType[j];
336      m_sWBdis_sWSdis[k] = new TH2F(name, "", 100, -5, 5, 100, -5, 5);
337      fOutput->Add(m_sWBdis_sWSdis[k]);
338     
339      //Add 29th Jan
340      name = "deltaM_pTtop_deltaMmin"; name += chanL[i]; name += anaType[j];
341      m_deltaM_pTtop_deltaMmin[k] = new TH2F(name, "", 100, 0, 500, 100, 0, 500);
342      fOutput->Add(m_deltaM_pTtop_deltaMmin[k]);
343     
344      //New histos for 23Feb
345      name = "PT_leadingjet"; name += chanL[i]; name += anaType[j];
346      m_PTleadingjet[k] = new TH1F(name, "", 200, 0, 1000);
347      fOutput->Add(m_PTleadingjet[k]);
348     
349      name = "PT_subleadingjet"; name += chanL[i]; name += anaType[j];
350      m_PTsubleadingjet[k] = new TH1F(name, "", 200, 0, 1000);
351      fOutput->Add(m_PTsubleadingjet[k]);
352     
353      name = "HT"; name += chanL[i]; name += anaType[j];
354      m_HT[k] = new TH1F(name, "", 200, 0, 2000);
355      fOutput->Add(m_HT[k]);
356
357      name = "sumptjets"; name += chanL[i]; name += anaType[j];
358      m_sumptjets[k] = new TH1F(name, "", 200, 0, 2000);
359      fOutput->Add(m_sumptjets[k]);
360
361      name = "sumptjetsmu"; name += chanL[i]; name += anaType[j];
362      m_sumptjetsmu[k] = new TH1F(name, "", 200, 0, 2000);
363      fOutput->Add(m_sumptjetsmu[k]);
364     
365      name = "ET"; name += chanL[i]; name += anaType[j];
366      m_ET[k] = new TH1F(name, "", 200, 0, 2000);
367      fOutput->Add(m_ET[k]);
368     
369      //Add new histos on 1st March
370      name = "etajbqq"; name += chanL[i]; name += anaType[j];
371      m_etajbqq[k] = new TH1F(name, "", 100, -5, 5);
372      fOutput->Add(m_etajbqq[k]);
373     
374      name = "etajq1W"; name += chanL[i]; name += anaType[j];
375      m_etajq1W[k] = new TH1F(name, "", 100, -5, 5);
376      fOutput->Add(m_etajq1W[k]);
377     
378      name = "etajq2W"; name += chanL[i]; name += anaType[j];
379      m_etajq2W[k] = new TH1F(name, "", 100, -5, 5);
380      fOutput->Add(m_etajq2W[k]);
381     
382      name = "etajben"; name += chanL[i]; name += anaType[j];
383      m_etajben[k] = new TH1F(name, "", 100, -5, 5);
384      fOutput->Add(m_etajben[k]);
385     
386      name = "etaLep"; name += chanL[i]; name += anaType[j];
387      m_etaLep[k] = new TH1F(name, "", 100, -5, 5);
388      fOutput->Add(m_etaLep[k]);
389     
390      name = "etaNeu"; name += chanL[i]; name += anaType[j];
391      m_etaNeu[k] = new TH1F(name, "", 100, -5, 5);
392      fOutput->Add(m_etaNeu[k]);
393 
394      name = "etaMin"; name += chanL[i]; name += anaType[j];
395      m_etaMin[k] = new TH1F(name, "", 100, -5, 5);
396      fOutput->Add(m_etaMin[k]);
397   
398      name = "etaMax"; name += chanL[i]; name += anaType[j];
399      m_etaMax[k] = new TH1F(name, "", 100, -5, 5);
400      fOutput->Add(m_etaMax[k]);
401       
402      name = "ptjbqq"; name += chanL[i]; name += anaType[j];
403      m_ptjbqq[k] = new TH1F(name, "", 100, 0, 500);
404      fOutput->Add(m_ptjbqq[k]);
405   
406      name = "ptjq1W"; name += chanL[i]; name += anaType[j];
407      m_ptjq1W[k] = new TH1F(name, "", 100, 0, 500);
408      fOutput->Add(m_ptjq1W[k]);
409   
410      name = "ptjq2W"; name += chanL[i]; name += anaType[j];
411      m_ptjq2W[k] = new TH1F(name, "", 100, 0, 500);
412      fOutput->Add(m_ptjq2W[k]);
413   
414      name = "ptjben"; name += chanL[i]; name += anaType[j];
415      m_ptjben[k] = new TH1F(name, "", 100, 0, 500);
416      fOutput->Add(m_ptjben[k]);
417 
418      name = "ptLep"; name += chanL[i]; name += anaType[j];
419      m_ptLep[k] = new TH1F(name, "", 100, 0, 500);
420      fOutput->Add(m_ptLep[k]);
421   
422      name = "ptNeu"; name += chanL[i]; name += anaType[j];
423      m_ptNeu[k] = new TH1F(name, "", 100, 0, 500);
424      fOutput->Add(m_ptNeu[k]);
425   
426      name = "dRqqW"; name += chanL[i]; name += anaType[j];
427      m_dRqqW[k] = new TH1F(name, "", 100, 0, 5);
428      fOutput->Add(m_dRqqW[k]);
429
430      name = "dRmin_eq "; name += chanL[i]; name += anaType[j];
431      m_dRmin_eq[k] = new TH1F(name, "", 100, 0, 5);
432      fOutput->Add(m_dRmin_eq[k]);
433   
434      //Histo on 10 March
435      name = "MET"; name += chanL[i]; name += anaType[j];
436      m_MET[k] = new TH1F(name, "", 100, 0, 1000);
437      fOutput->Add(m_MET[k]);
438
439      name = "phiMET"; name += chanL[i]; name += anaType[j];
440      m_phiMET[k] = new TH1F(name, "", 100, -M_PI, M_PI);
441      fOutput->Add(m_phiMET[k]);
442   
443      name = "MTlepneu"; name += chanL[i]; name += anaType[j];
444      m_MTlepneu[k] = new TH1F(name, "", 100, 30, 130);
445      fOutput->Add(m_MTlepneu[k]);
446   
447      name = "dphiminMETjet"; name += chanL[i]; name += anaType[j];
448      m_dphiminMETjet[k] = new TH1F(name, "", 100, -2*M_PI, 2*M_PI);
449      fOutput->Add(m_dphiminMETjet[k]);
450
451      name = "dRlepjet"; name += chanL[i]; name += anaType[j];
452      m_dRlepjet[k] = new TH1F(name, "", 100, 0, 5);
453      fOutput->Add(m_dRlepjet[k]);
454
455      name = "pTWlep"; name += chanL[i]; name += anaType[j];
456      m_pTWlep[k] = new TH1F(name, "", 100, 0, 200);
457      fOutput->Add(m_pTWlep[k]);
458
459      //event shape
460      name = "sphericity"; name += chanL[i]; name += anaType[j];
461      m_sphericity[k] = new TH1F(name, "", 100, 0, 1);
462      fOutput->Add(m_sphericity[k]);
463
464      name = "sphericityT"; name += chanL[i]; name += anaType[j];
465      m_sphericityT[k] = new TH1F(name, "", 100, 0, 1);
466      fOutput->Add(m_sphericityT[k]);
467   
468      name = "aplanarity"; name += chanL[i]; name += anaType[j];
469      m_aplanarity[k] = new TH1F(name, "", 100, 0, 0.5);
470      fOutput->Add(m_aplanarity[k]);
471   
472      name = "mjjj"; name += chanL[i]; name += anaType[j];
473      m_mjjj[k] = new TH1F(name, "", 100, 0, 1000);
474      fOutput->Add(m_mjjj[k]);
475
476      name = "dRWhadj"; name += chanL[i]; name += anaType[j];
477      m_dRWhadj[k] = new TH1F(name, "", 100, 0, 5);
478      fOutput->Add(m_dRWhadj[k]);
479   
480      name = "pTWhad"; name += chanL[i]; name += anaType[j];
481      m_pTWhad[k] = new TH1F(name, "", 100, 0, 300);
482      fOutput->Add(m_pTWhad[k]);
483   
484      name = "mlepjet"; name += chanL[i]; name += anaType[j];
485      m_mlepjet[k] = new TH1F(name, "", 100, 0, 300);
486      fOutput->Add(m_mlepjet[k]);
487
488      name = "twoDim_HT_mjjj"; name += chanL[i]; name += anaType[j];
489      m_twoDim_HT_mjjj[k] = new TH2F(name, "", 200, 0, 2000, 100, 0, 1000);
490      fOutput->Add(m_twoDim_HT_mjjj[k]);
491   
492      name = "nGoodJets"; name += chanL[i]; name += anaType[j];
493      m_nGoodJets[k] = new TH1F(name, "", 4, 1, 5);
494      fOutput->Add(m_nGoodJets[k]);
495
496      name = "dsigmaQQ"; name += chanL[i]; name += anaType[j];
497      m_dsigmaQQ[k] = new TH1F(name, "", 100, -20, 10);
498      fOutput->Add(m_dsigmaQQ[k]);
499     
500      name = "dsigmaGG"; name += chanL[i]; name += anaType[j];
501      m_dsigmaGG[k] = new TH1F(name, "", 100, -20, 10);
502      fOutput->Add(m_dsigmaGG[k]);
503     
504      name = "dsigmatot"; name += chanL[i]; name += anaType[j];
505      m_dsigmatot[k] = new TH1F(name, "", 100, -20, 10);
506      fOutput->Add(m_dsigmatot[k]);
507
508      name = "x1"; name += chanL[i]; name += anaType[j];
509      m_x1[k] = new TH1F(name, "", 100, 0, 0.2);
510      fOutput->Add(m_x1[k]);
511
512      name = "x2"; name += chanL[i]; name += anaType[j];
513      m_x2[k] = new TH1F(name, "", 100, 0, 0.2);
514      fOutput->Add(m_x2[k]);
515
516      //More variables
517      name = "yplus"; name += chanL[i]; name += anaType[j];
518      m_yplus[k] = new TH1F(name, "", 100, -10, 10);
519      fOutput->Add(m_yplus[k]);
520
521      name = "yminus"; name += chanL[i]; name += anaType[j];
522      m_yminus[k] = new TH1F(name, "", 100, -10, 10);
523      fOutput->Add(m_yminus[k]);
524
525      name = "yplus_yminus"; name += chanL[i]; name += anaType[j];
526      m_yplus_yminus[k] = new TH2F(name, "", 100, -10, 10, 100, -10, 10);
527      fOutput->Add(m_yplus_yminus[k]);
528
529      name = "pTtop"; name += chanL[i]; name += anaType[j];
530      m_pTtop[k] = new TH1F(name, "", 100, 0, 1000);
531      fOutput->Add(m_pTtop[k]);
532
533      name = "pTtop_dsigma"; name += chanL[i]; name += anaType[j];
534      m_pTtop_dsigma[k] = new TH2F(name, "", 100, -20, 10, 100, 0, 1000);
535      fOutput->Add(m_pTtop_dsigma[k]);
536
537      //Angular distrinution
538      name = "ctet_qtlep"; name += chanL[i]; name += anaType[j];
539      m_ctet_qtlep[k] = new TH1F(name, "", 100, -1, 1);
540      fOutput->Add(m_ctet_qtlep[k]); 
541     
542      name = "cos_lepCMw"; name += chanL[i]; name += anaType[j];
543      m_cos_lepCMw[k] = new TH1F(name, "", 100, -1, 1);
544      fOutput->Add(m_cos_lepCMw[k]); 
545
546      name = "cos_q1CMw_topboost"; name += chanL[i]; name += anaType[j];
547      m_cos_q1CMw_topboost[k] = new TH1F(name, "", 100, -1, 1);
548      fOutput->Add(m_cos_q1CMw_topboost[k]); 
549
550      name = "cos_q2CMw_topboost"; name += chanL[i]; name += anaType[j];
551      m_cos_q2CMw_topboost[k] = new TH1F(name, "", 100, -1, 1);
552      fOutput->Add(m_cos_q2CMw_topboost[k]); 
553
554      name = "cos_lepCMt"; name += chanL[i]; name += anaType[j];
555      m_cos_lepCMt[k] = new TH1F(name, "", 100, -1, 1);
556      fOutput->Add(m_cos_lepCMt[k]); 
557
558      name = "cos_bWenCMt"; name += chanL[i]; name += anaType[j];
559      m_cos_bWenCMt[k] = new TH1F(name, "", 100, -1, 1);
560      fOutput->Add(m_cos_bWenCMt[k]); 
561
562      name = "cos_bneuCMt"; name += chanL[i]; name += anaType[j];
563      m_cos_bneuCMt[k] = new TH1F(name, "", 100, -1, 1);
564      fOutput->Add(m_cos_bneuCMt[k]);
565     
566      name = "cosWqq"; name += chanL[i]; name += anaType[j];
567      m_cosWqq[k] = new TH1F(name, "", 100, -1, 1);
568      fOutput->Add(m_cosWqq[k]); 
569
570      name = "cosWen"; name += chanL[i]; name += anaType[j];
571      m_cosWen[k] = new TH1F(name, "", 100, -1, 1);
572      fOutput->Add(m_cosWen[k]); 
573     
574      name = "cosqW1"; name += chanL[i]; name += anaType[j];
575      m_cosqW1[k] = new TH1F(name, "", 100, -1, 1);
576      fOutput->Add(m_cosqW1[k]); 
577     
578      name = "cosqW2"; name += chanL[i]; name += anaType[j];
579      m_cosqW2[k] = new TH1F(name, "", 100, -1, 1);
580      fOutput->Add(m_cosqW2[k]); 
581
582      name = "PWqq"; name += chanL[i]; name += anaType[j];
583      m_PWqq[k] = new TH1F(name, "", 100, 0, 500);
584      fOutput->Add(m_PWqq[k]); 
585
586      name = "PWen"; name += chanL[i]; name += anaType[j];
587      m_PWen[k] = new TH1F(name, "", 100, 0, 500);
588      fOutput->Add(m_PWen[k]); 
589
590      name = "P_thad"; name += chanL[i]; name += anaType[j];
591      m_P_thad[k] = new TH1F(name, "", 100, 0, 1000);
592      fOutput->Add(m_P_thad[k]); 
593
594      name = "P_tlep"; name += chanL[i]; name += anaType[j];
595      m_P_tlep[k] = new TH1F(name, "", 100, 0, 1000);
596      fOutput->Add(m_P_tlep[k]); 
597     
598      name = "costpair_lab"; name += chanL[i]; name += anaType[j];
599      m_costpair_lab[k] = new TH1F(name, "", 100, -1, 1);
600      fOutput->Add(m_costpair_lab[k]);
601
602      name = "dRminbNeu"; name += chanL[i]; name += anaType[j];
603      m_dRminbNeu[k] = new TH1F(name, "", 100, 0, 5);
604      fOutput->Add(m_dRminbNeu[k]);
605
606      name = "dRminbhadWqq"; name += chanL[i]; name += anaType[j];
607      m_dRminbhadWqq[k] = new TH1F(name, "", 100, 0, 5);
608      fOutput->Add(m_dRminbhadWqq[k]);
609
610      name = "dRminblepWqq"; name += chanL[i]; name += anaType[j];
611      m_dRminblepWqq[k] = new TH1F(name, "", 100, 0, 5);
612      fOutput->Add(m_dRminblepWqq[k]);
613
614      name = "dRbb"; name += chanL[i]; name += anaType[j];
615      m_dRbb[k] = new TH1F(name, "", 100, 0, 5);
616      fOutput->Add(m_dRbb[k]);
617
618      name = "dRminNeuWqq"; name += chanL[i]; name += anaType[j];
619      m_dRminNeuWqq[k] = new TH1F(name, "", 100, 0, 5);
620      fOutput->Add(m_dRminNeuWqq[k]);
621
622      name = "cos_tlepCMtpair"; name += chanL[i]; name += anaType[j];
623      m_cos_tlepCMtpair[k] = new TH1F(name, "", 100, -1, 1);
624      fOutput->Add(m_cos_tlepCMtpair[k]);
625
626      name = "ptWqq"; name += chanL[i]; name += anaType[j];
627      m_ptWqq[k] = new TH1F(name, "", 100, 0, 300);
628      fOutput->Add(m_ptWqq[k]);
629
630      name = "ptWen"; name += chanL[i]; name += anaType[j];
631      m_ptWen[k] = new TH1F(name, "", 100, 0, 300);
632      fOutput->Add(m_ptWen[k]);
633
634      name = "CutCat"; name += chanL[i]; name += anaType[j];
635      m_CutCat[k] = new TH1F(name, "", 80, 0, 80);
636      fOutput->Add(m_CutCat[k]);
637
638      name = "Th1_Th2"; name += chanL[i]; name += anaType[j];
639      m_Th1_Th2[k] = new TH2F(name, "", 100, 0, 1, 100, 0, 1);
640      fOutput->Add(m_Th1_Th2[k]);
641     
642      for (int icatWqq = 0; icatWqq < 3; icatWqq++) {   
643        int kcatWqq = 3*k + icatWqq;
644
645        //for (int icatWen = 0; icatWen < 2; icatWen++) {
646        //int kcat = 2*kcatWqq + icatWen;
647
648        name = "cosWqqNEW"; 
649        name += chanL[i]; name += anaType[j]; name += catWqq[icatWqq];
650        m_cosWqqNEW[kcatWqq] = new TH1F(name, "", 100, -1, 1);
651        fOutput->Add(m_cosWqqNEW[kcatWqq]); 
652       
653        name = "mtophadNEW"; 
654        name += chanL[i]; name += anaType[j]; name += catWqq[icatWqq];
655        m_mtophadNEW[kcatWqq] = new TH1F(name, "", 100, 0, 1000);
656        fOutput->Add(m_mtophadNEW[kcatWqq]);
657        //}
658      }
659    }
660  }
661
662  m_dchi2New_chi2minmin = new TH1F("dchi2New_chi2minmin", "", 100, 0, 500);
663  fOutput->Add(m_dchi2New_chi2minmin);
664
665  m_dchi2New_chi2second = new TH1F("dchi2New_chi2second", "", 100, 0, 500);
666  fOutput->Add(m_dchi2New_chi2second);
667
668  m_ptMaxRest_3jetsfound = new TH1F("ptMaxRest_3jetsfound", "", 100, 0, 300);
669  fOutput->Add(m_ptMaxRest_3jetsfound);
670
671  m_ptMatchedJetNotInChi2 = new TH1F("ptMatchedJetNotInChi2", "", 100, 0, 300);
672  fOutput->Add(m_ptMatchedJetNotInChi2);
673
674  m_ptMinJetInChi2 = new TH1F("ptMinJetInChi2", "", 100, 0, 300);
675  fOutput->Add(m_ptMinJetInChi2);
676
677  m_etaMaxRest_3jetsfound = new TH1F("etaMaxRest_3jetsfound", "", 100, -3, 3);
678  fOutput->Add(m_etaMaxRest_3jetsfound);
679
680  m_ptMaxRest_pTttbar_3jetsfound = new TH2F("ptMaxRest_pTttbar_3jetsfound", "", 100, 0, 500, 100, 0, 600); 
681  fOutput->Add(m_ptMaxRest_pTttbar_3jetsfound);
682
683  m_chi2minmin_pTttbar_3jetsfound = new TH2F("chi2minmin_pTttbar_3jetsfound", "", 100, 0, 500, 100, 0, 600);
684  fOutput->Add(m_chi2minmin_pTttbar_3jetsfound);
685         
686  m_ptMaxRest_4jetsfound = new TH1F("ptMaxRest_4jetsfound", "", 100, 0, 300);
687  fOutput->Add(m_ptMaxRest_4jetsfound);
688
689  m_etaMaxRest_4jetsfound = new TH1F("etaMaxRest_4jetsfound", "", 100, -3, 3);
690  fOutput->Add(m_etaMaxRest_4jetsfound);
691
692  m_ptMaxRest_pTttbar_4jetsfound = new TH2F("ptMaxRest_pTttbar_4jetsfound", "", 100, 0, 500, 100, 0, 600); 
693  fOutput->Add(m_ptMaxRest_pTttbar_4jetsfound);
694
695  m_chi2minmin_pTttbar_4jetsfound = new TH2F("chi2minmin_pTttbar_4jetsfound", "", 100, 0, 500, 100, 0, 600);
696  fOutput->Add(m_chi2minmin_pTttbar_4jetsfound);
697
698  m_chi2_pTttbar = new TH2F("chi2_pTttbar", "", 100, 0, 500, 100, 0, 600);
699  fOutput->Add(m_chi2_pTttbar);
700
701  m_dchi2_pTttbar = new TH2F("dchi2_pTttbar", "", 100, 0, 500, 100, 0, 600);
702  fOutput->Add(m_dchi2_pTttbar);
703
704  m_mtophadMatchedPars = new TH1F("mtophadMatchedPars", "", 100, 0, 1000);
705  fOutput->Add(m_mtophadMatchedPars);
706
707  m_mtoplepMatchedPars = new TH1F("mtoplepMatchedPars", "", 100, 0, 1000);
708  fOutput->Add(m_mtoplepMatchedPars);
709 
710  m_dchi2Matched_chi2minmin = new TH1F("dchi2Matched_chi2minmin", "", 100, 0, 1000);
711  fOutput->Add(m_dchi2Matched_chi2minmin);
712
713  m_dchi2Matched_chi2second = new TH1F("dchi2Matched_chi2second", "", 100, 0, 1000);
714  fOutput->Add(m_dchi2Matched_chi2second);
715
716  hEpt = new TH1F("hEpt", "", 100, 0, 500); 
717  fOutput->Add(hEpt);
718
719  hMpt = new TH1F("hMpt", "", 100, 0, 500); 
720  fOutput->Add(hMpt);
721
722  hEeta = new TH1F("hEeta", "", 100, 0, 500); 
723  fOutput->Add(hEeta);
724
725  hMeta = new TH1F("hMeta", "", 100, 0, 500); 
726  fOutput->Add(hMeta);
727
728
729  //Francois' idea on 6 May 2011
730  for (int i = 0; i < 41; i++){
731    Nevt[i] = 0;
732  }
733
734  m_mjjBest   = new TH1F("mjjBest",   "", 100, 30, 130);
735  fOutput->Add(m_mjjBest);
736
737  m_mjj1      = new TH1F("mjj1",      "", 100, 30, 130);
738  fOutput->Add(m_mjj1);
739
740  m_mjj2      = new TH1F("mjj2",      "", 100, 30, 130);
741  fOutput->Add(m_mjj2);
742
743  m_mjj3      = new TH1F("mjj3",      "", 100, 30, 130);
744  fOutput->Add(m_mjj3);
745
746  m_mjjBest4leadingjets   = new TH1F("mjjBest4leadingjets",   "", 100, 30, 130);
747  fOutput->Add(m_mjjBest4leadingjets);
748
749  m_mjjSecond = new TH1F("mjjSecond", "", 100, 30, 130);
750  fOutput->Add(m_mjjSecond);
751
752  //End ### Francois' idea on 6 May 2011
753
754  m_mtophad_00 = new TH1F("mtophad_00", "", 100, 0, 1000);
755  fOutput->Add(m_mtophad_00);
756
757  m_mtophad_10 = new TH1F("mtophad_10", "", 100, 0, 1000);
758  fOutput->Add(m_mtophad_10);
759
760  m_mtophad_01 = new TH1F("mtophad_01", "", 100, 0, 1000);
761  fOutput->Add(m_mtophad_01);
762
763  m_mtophad_11 = new TH1F("mtophad_11", "", 100, 0, 1000);
764  fOutput->Add(m_mtophad_11);
765
766  m_twoDim_mjjj_HT_00 = new TH2F("twoDim_mjjj_HT_00", "", 100, 0, 1000, 100, 0, 1000);
767  fOutput->Add(m_twoDim_mjjj_HT_00);
768
769  m_twoDim_mjjj_HT_10 = new TH2F("twoDim_mjjj_HT_10", "", 100, 0, 1000, 100, 0, 1000);
770  fOutput->Add(m_twoDim_mjjj_HT_10);
771
772  m_twoDim_mjjj_HT_01 = new TH2F("twoDim_mjjj_HT_01", "", 100, 0, 1000, 100, 0, 1000);
773  fOutput->Add(m_twoDim_mjjj_HT_01);
774
775  m_twoDim_mjjj_HT_11 = new TH2F("twoDim_mjjj_HT_11", "", 100, 0, 1000, 100, 0, 1000);
776  fOutput->Add(m_twoDim_mjjj_HT_11);
777
778  m_mWfit = new TH1F("mWfit", "", 100, 30, 130);
779  fOutput->Add(m_mWfit);
780
781  //cout << "end of all declarations" << endl;
782
783  m_twoDim_Logdsigma_HT = new TH2F("twoDim_Logdsigma_HT", "", 100, -20, 10, 100, 0, 1000);
784  fOutput->Add(m_twoDim_Logdsigma_HT);
785
786  m_twoDim_Logdsigma_HT_nasty = new TH2F("twoDim_Logdsigma_HT_nasty", "", 100, -20, 10, 100, 0, 1000);
787  fOutput->Add(m_twoDim_Logdsigma_HT_nasty);
788
789  //Especially for W+jets and Wbb and Wcc and Wc
790  for (int i = 0; i < 2; i++){
791    name = "hfor";
792    name += i;
793    m_hfor[i] = new TH1F(name, "", 6, -1, 5);
794    fOutput->Add(m_hfor[i]);
795  }
796
797//test btag
798TString ty[4] = { "L", "T", "C", "B" };
799for (int i = 0; i < 4; i++){
800  name = "sv0"; name += ty[i];
801  m_sv0[i]     = new TH1F(name, "", 600, -20, 40);
802  fOutput->Add(m_sv0[i]);
803
804  name = "ip3dsv1"; name += ty[i];
805  m_ip3dsv1[i] = new TH1F(name, "", 600, -20, 40);
806  fOutput->Add(m_ip3dsv1[i]);
807 }
808
Note: See TracBrowser for help on using the repository browser.