StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
St2009W_histo.cxx
1 // $Id: St2009W_histo.cxx,v 1.20 2011/09/14 14:23:21 stevens4 Exp $
2 //
3 //*-- Author : Jan Balewski, MIT
4 
5 #include <TH2.h>
6 #include <TList.h>
7 #include <TLine.h>
8 #include <TMath.h>
9 
10 #include "St2009WMaker.h"
11 
12 //________________________________________________
13 //________________________________________________
14 void
15 St2009WMaker::initHistos(){
16  const float PI=TMath::Pi();
17 
18  //...... data histograms
19  memset(hA,0,sizeof(hA));
20  TList *Lx; TLine *ln;TH1 *h;
21  char txt[1000], txt0[100];
22  int nCase=18;
23  hA[0]=h=new TH1F("muStatEve","W-algo: event count",nCase,0,nCase);
24  h->GetXaxis()->SetTitleOffset(0.4); h->GetXaxis()->SetLabelSize(0.06); h->GetXaxis()->SetTitleSize(0.05); h->SetMinimum(0.8);
25  h->SetLineColor(kBlue);h->SetLineWidth(2);
26  h->SetMarkerSize(2);//<-- large text
27 
28  char key[][200]={"inp","BHT3Id","L2wId","L2wBits","L2wET","L2wRnd","tpcOn","primVert","vertZ","Pt10",
29  "B-in","B200","TrB","Tr2Cl","eta1","goldW"};
30  for(int i=0;i<16;i++) h->Fill(key[i],0.); // preset the order of keys
31 
32  hA[1]=h=new TH1F("muInTrg","muW input triggers, WARN: scrambled if manyruns are combined by hadd.C; trigID (random order)",nCase,0,nCase);
33  h->GetXaxis()->SetLabelSize(0.06);
34 
35  hA[2]=h=new TH1F("mubX48","L2W-ET events vs. bXing; bXing= raw bx48",128,-0.5,127.5);
36  h->SetFillColor(kGreen);
37 
38  hA[3]=h=new TH1F("mubX7","L2W-ET events vs. bXing; bXing= raw bx7",128,-0.5,127.5);
39  h->SetFillColor(kBlue);
40 
41  hA[4]=new TH1F("mubX48v","L2W-ET & primVertex vs. bXing; bXing= raw bx48",128,-0.5,127.5);
42  hA[5]=h=new TH1F("mubX7v","L2W-ET & primVertex; bXing= raw bx7",128,-0.5,127.5);
43  h->SetFillColor(kBlue);
44 
45  //... DMS data
46  hA[6]=h=new TH1F("muDsm1","L2W-ET events DMS spectrum; DSM value",64,-0.5,63.5);
47  h->SetMinimum(0.8);
48  hA[7]=h=new TH1F("muDsm2","L2W-Rnd events DMS spectrum; DSM value",64,-0.5,63.5);
49  h->SetMinimum(0.8);
50  sprintf(txt,"L2W-ET events w/ DMS>%d vs.BTOW TP ID bXing; Hanks' TP ID",par_DsmThres);
51  hA[8]=new TH1F("muDsm3",txt,300,-0.5,299.5);
52  sprintf(txt,"L2W-ET events w/ DMS>%d & primVertexvs.BTOW TP ID bXing; Hanks' TP ID",par_DsmThres);
53  hA[9]=h=new TH1F("muDsm4",txt,300,-0.5,299.5);
54  h->SetFillColor(kBlue); h->SetLineColor(kBlue);
55 
56 
57  //.... vertex histograms .....
58  hA[10]=h=new TH1F("muVRf","PPV Vertex rank, funny X-axis; X=Log10(rank)+offset", 150, -9,25);
59  Lx=h->GetListOfFunctions();
60  ln=new TLine(0,0,0,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
61 
62 
63  hA[11]=h=new TH1F("muZv","Z of any vertex w/ rank>0;Z-vertex (cm)",100,-200,200);
64  Lx=h->GetListOfFunctions();
65  ln=new TLine(par_vertexZ,0,par_vertexZ,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
66  ln=new TLine(-par_vertexZ,0,-par_vertexZ,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
67 
68  hA[12]=new TH1F("muNV","# vertices per event, rank>0 & Z in range; # of vertices",10,0,10);
69 
70  //..... Tracks....
71  hA[20]=h=new TH1F("muStatTrk","W-algo: track count; cases",nCase,0,nCase);
72  h->GetXaxis()->SetTitleOffset(0.4); h->GetXaxis()->SetLabelSize(0.06); h->GetXaxis()->SetTitleSize(0.05); h->SetMinimum(0.8);
73  h->SetLineColor(kGreen); h->SetLineWidth(2);
74  char keyT[][200]={"101","pt1","nHit","Hfrac","Rin","Rout","ptOK","@B","CL","#Delta R","fr24",
75  "noNear","noAway","goldW"};
76 
77  for(int i=0;i<14;i++) h->Fill(keyT[i],0.); // preset the order of keys
78 
79 
80  hA[21]=h=new TH1F("muTrNfit","primary track in-selection & vertexZ; nFitPoints",50,0,50);
81  Lx=h->GetListOfFunctions();
82  ln=new TLine(par_nFitPts,0,par_nFitPts,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
83 
84  hA[22]=h=new TH1F("muTrFitFrac","primary track in-selection & vertexZ; nFit/nPoss ",50,0,1.1);
85  Lx=h->GetListOfFunctions();
86  ln=new TLine(par_nHitFrac,0,par_nHitFrac,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
87 
88  hA[23]=h=new TH1F("muTrRxyIn","primary track first hit in-selection & vertexZ; Rxy (cm)",60,50,170.);
89  Lx=h->GetListOfFunctions();
90  ln=new TLine(par_trackRin,0,par_trackRin,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
91 
92  hA[24]=h=new TH1F("muTrRxyOut","primary track last hit in-selection & vertexZ; Rxy (cm)",60,100,220.);
93  Lx=h->GetListOfFunctions();
94  ln=new TLine(par_trackRout,0,par_trackRout,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
95 
96  hA[25]=h=new TH1F("muTrPt1","global track PT ; track PT (GeV/c)",160,0,80);
97  Lx=h->GetListOfFunctions();
98  ln=new TLine(par_trackPt,0,par_trackPt,1.e6); ln->SetLineColor(kRed); Lx->Add(ln); h->SetFillColor(kYellow);
99 
100 
101  hA[26]=h=new TH2F("muTr2D1","lastHit on track; detector eta ; detector phi (rad)",100,-1.1,1.1,200,-3.2,3.2);
102 
103  hA[27]=h=new TH1F("muTrPt1N","global NEGATIVE track PT; track PT (GeV/c)",160,0,80);
104  h->SetFillColor(7);
105 
106  hA[28]=h=new TH2F("muTrdEdX"," dEdX vs. momentum; track P (GeV); dE/dx (keV)",20,0,10,100,0,10);
107 
108 
109  hA[29]=h=new TH1F("muTrPt1Pr","primary track PT; track PT (GeV/c)",160,0,80);
110  hA[30]=h=new TH1F("muTrPt1NPr","primary NEGATIVE track PT; track PT (GeV/c)",160,0,80);
111 
112 
113  //..... BTOW .....
114 
115  hA[31]=h=new TH1F("muBmaxAdc","BTOW maxADC in event, in-selection; max tower ADC",200,0,5500);
116  hA[32]=h=new TH1F("muBtotAdc","BTOW sum of ADC>thres , in-selection;ADC sum/event", 120,0,12000.);
117 
118  hA[33]=h=new TH1F("muBclET","matched BTOW 2x2 cluster ET ;cluster ET (GeV)",100,0,100);
119  Lx=h->GetListOfFunctions();
120  ln=new TLine(par_clustET,0,par_clustET,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
121 
122  hA[34]=h=new TH2F("muBclAdcPt"," matched TPC PT vs. 2x2 cluster ADC sum ; cluster (ADC sum);TPC PT (GeV)",50,0,5000,75,0,150);
123 
124  hA[35]=new TH1F("muTrch2","track glob chi2/dof X-Y",100,0,5);
125  hA[36]=new TH2F("muTrch2b","track glob chi2/dof; chi2/dof X-Y; last hit eta",30,0,5.,30,-1,1);
126 
127 
128  //.... 4x4 cluster
129  hA[37]=h=new TH1F("muBclET24","matched BTOW 4x4 cluster ET ;cluster 4x4 ET (GeV)",100,0,100);
130  hA[38]=h=new TH2F("muBclE242D","Excess energy in 4x4 cluster vs. 2x2 E;2x2 cluster E (GeV); E(4x4)-E(2x2) E (GeV)",50,0,80,50,0,60);
131 
132  hA[39]=h=new TH1F("muBclET24R"," ratio (2x2/4x4) cluster ET ; fraction: cluster ET 2x2/ 4x4 ET",100,0,1.2);
133  Lx=h->GetListOfFunctions();
134  ln=new TLine(par_clustFrac24,0,par_clustFrac24,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
135 
136  //..... jet energy , fraction
137 
138  hA[40]=h=new TH1F("muBjetET"," near 'EM jet' ET ; 'EM jet' ET (GeV)",100,0,100);
139 
140  hA[41]=h=new TH2F("muBclEjetE2D","Excess nearCone ET vs. 2x2 E;2x2 cluster ET (GeV); ET(cone-2x2) (GeV)",50,0,80,50,0,60);
141 
142  hA[42]=h=new TH1F("muBjetETR"," ratio (2x2/nearCone) ET ; cluster ET/ near cone ET",100,0,1.2);
143  Lx=h->GetListOfFunctions();
144  ln=new TLine(par_nearTotEtFrac,0,par_nearTotEtFrac,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
145 
146 
147  // .... track-EMC distance cuts
148  hA[43]=h=new TH2F("muBdist1","3D Distance(track-cluster) vs. 2x2 E;2x2 cluster E (GeV); | distance | (cm)",50,0,80,50,0,25);
149  Lx=h->GetListOfFunctions();
150  ln=new TLine(0,par_delR3D,1.e6,par_delR3D); ln->SetLineColor(kRed); Lx->Add(ln);
151  hA[44]=h=new TH2F("muBdist2","#Delta Z (track-cluster) vs.Z-clust; Z-cluster (cm); #Delta Z (cm)",100,-300,300,40,-20,20);
152  hA[45]=h=new TH2F("muBdist3","R#Delta #phi (track-cluster) vs. 2x2 E;2x2 cluster E (GeV); R#Delta #phi (cm)",50,0,80,80,-20,20);
153  hA[46]=h=new TH1F("muBdist4","3D Distance(track-cluster) vs. 2x2 E;| 3D distance | (cm)",100,0,50);
154  Lx=h->GetListOfFunctions();
155  ln=new TLine(par_delR3D,0,par_delR3D,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
156 
157  //.. continue same side jet veto
158  hA[47]=h=new TH1F("muTjetET"," quenched near 'TPC jet' PT ; 'TPC jet' PT (GeV)",100,0,100);
159  hA[48]=h=new TH2F("muTjetBjet2D","quenched near 'TPC jet' vs. near 'EMC jet' ; EMC jet ET (GeV); TPC PT (GeV/c)",50,0,80,50,0,60);
160  hA[49]=h=new TH1F("muTBjetET"," near 'TPC+EMC jet' ET ; jet ET (GeV), no double counting",100,0,100);
161 
162  //.. away-side jet veto
163  hA[50]=h=new TH1F("muTwayET"," TPC away-cone PT sum; PT (GeV)",100,0,100);
164  hA[51]=h=new TH1F("muBwayET"," BTOW away-cone ET sum; ET (GeV)",100,0,100);
165  hA[52]=h=new TH2F("muTotwayET2D"," away TPC+EMC ET sum vs. 2x2 cluster ET; 2x2 ET (GeV); away ET (GeV)",50,0,100,150,0,100);
166 
167 
168  hA[53]=h=new TH2F("muAwayET2Db"," away EMC ET sum vs. 2x2 cluster ET; 2x2 ET (GeV); away EMC ET (GeV)",50,0,100,80,0,80);
169 
170 
171  hA[54]=h=new TH1F("muAwayTotEt"," away-cone TPC+EMC ET sum ; away ET (GeV)",200,0,100);
172 
173  hA[55]=h=new TH1F("muEwayET"," ETOW away-cone ET sum; ET (GeV)",100,0,100); // away side energy
174 
175  hA[56]=h=new TH1F("muSmallNearTpcPT",Form("TPC PT in #Delta R =%.1f from lepton candidate; PT (GeV)",par_smallNearDeltaR),100,0,100);
176  hA[57]=h=new TH2F("muTr2D1pt5","lastHit on track (pt > 5); detector eta ; detector phi (rad)",100,-1.1,1.1,240,-PI,PI);
177 
178 
179  hA[58]=new TH1F("muTrch2West","track glob chi2/dof West TPC ; chi2/dof",100,0,5);
180  hA[59]=new TH1F("muTrch2East","track glob chi2/dof East TPC ; chi2/dof",100,0,5);
181 
182  //... final golden plots ....
183 
184  hA[60]=h=new TH2F("muBclETPt"," TPC PT vs. isolated cluster 2x2 ET, matched;2x2 cluster ET (GeV) ; TPC PT (GeV)",50,0,100,75,0,150);
185 
186  hA[61]=new TH1F("mubX7bht3","L2W-BHT3-rnd events vs. bXing; bXing= raw bx7",128,-0.5,127.5); // filled on input
187  hA[62]=h=new TH2F("muEne_Deta","final W: cluster energy vs. detector eta; barrel eta bin; 2x2 Energy (GeV)",40,0,40,50,0,100);
188 
189  // free 63-69
190 
191  //..... BSMD ......reserve 2x10= [70:e.... 80:p.... 89]
192  const char cPlane[ mxBSmd]={'E','P'};
193  for(int iep=0;iep<mxBSmd;iep++){
194  sprintf(txt0,"muS%cadc1",cPlane[iep]);
195  sprintf(txt,"BSMD-%c whole plane ADC; ADC",cPlane[iep]);
196  hA[70+10*iep]=h=new TH1F(txt0,txt,275,0,1100);
197  }// end of E-,P-planes
198 
199  //.... final Ws
200  hA[90]=h=new TH1F("muWET"," Final selection; 2x2 cluster ET (GeV)", 100,0,100);
201  Lx=h->GetListOfFunctions();
202  ln=new TLine(par_highET,0,par_highET,1.e6); ln->SetLineColor(kRed); Lx->Add(ln);
203 
204  sprintf(txt," Final W selection, ET>%.0f GeV 'goldenW'; detector eta ; detector phi (rad)",par_highET);
205  hA[91]=new TH2F("muW2D1",txt,10,-1.0,1.0,24,-PI,PI);
206 
207  hA[92]=new TH2F("muWdedx","Track dEdx, final W selection; 2x2 ET (GeV); dEdx (keV)",100,0,100,100,0,10);
208  hA[93]=new TH2F("muWglDca","Track glob vertex abs(DCA), final W ; 2x2 ET (GeV); |DCA| (cm)",100,0,100,100,0,5);
209  hA[94]=new TH2F("muWglDcaSP","Track prim POSITIVE glob signed DCA, final W; 2x2 ET (GeV); sDCA (cm)",100,0,100,100,-5,5);
210  hA[95]=new TH2F("muWglDcaSN","Track prim NEGATIVE glob signed DCA, final W ; 2x2 ET (GeV); sDCA (cm)",100,0,100,100,-5,5);
211 
212  sprintf(txt,"Vertex ID, final W selection, 2x2 ET>%.0f GeV; vertex ID",par_highET);
213  hA[96]=h=new TH1F("muWcar1",txt,10,-0.5,9.5);
214  h->SetLineColor(kBlue);h->SetLineWidth(3);
215 
216  sprintf(txt,"Vertex 'funny' rank, final W selection, 2x2 ET>%.0f GeV; X=Log10(rank)+offset",par_highET);
217  hA[97]=new TH1F("muWcar2",txt, 150, -9,25);
218 
219  sprintf(txt,"Vertex Z , final W selection, 2x2 ET>%.0f GeV; Z(cm)",par_highET);
220  hA[98]=new TH1F("muWcar3",txt, 100, -200,200);
221  hA[99]=h=new TH1F("muWeta","final Ws ; lepton eta",100, -1.5,1.5);
222 
223  // free 100-109
224 
225  //..... series of electron ET plots after succesive cuts
226  char tt2[][200]={"max 2x2","track matched","2x2 / 4x4","no near ET","no away ET"};
227  for(int i=0;i<5;i++){
228  sprintf(txt,"electron candidate, cut=%s; 2x2 ET (GeV)",tt2[i]);
229  sprintf(txt0,"muETlive%d",i);
230  hA[110+i]=h=new TH1F(txt0,txt, 100,0,100);
231  }
232 
233  //free 115-131
234 
235  hA[117]=h=new TH2F("mujetQAeta_phi","Input Jet phi vs eta ; eta ; phi ",50,-3,3,63,-PI,PI);
236  hA[118]=h=new TH1F("mujetQApt","Input Jet pt; pt;",100,0,100);
237 
238  hA[132]=h=new TH2F("muptBalance_clust","ptBalance vs cluster ET; 2x2 Cluster ET; ptBalance",100,0,100,100,0,100);
239  hA[133]=h=new TH2F("muptBalance_awayTot","ptBalance vs awayside PT; awayside PT; ptBalance",100,0,100,100,0,100);
240 
241  hA[134]=h=new TH2F("musPtBalance_clust","sPtBalance vs cluster ET; 2x2 Cluster ET (GeV); signed Pt balance (GeV)",100,0,100,100,-100,100);
242  Lx=h->GetListOfFunctions();
243  ln=new TLine(0,par_ptBalance,100,par_ptBalance); ln->SetLineColor(kRed); Lx->Add(ln);
244 
245  hA[135]=h=new TH2F("musPtBalance_awayTot","sPtBalance vs awayside PT; awayside PT; sPtBalance",100,0,100,100,-100,100);
246  Lx=h->GetListOfFunctions();
247  ln=new TLine(0,par_ptBalance,100,par_ptBalance); ln->SetLineColor(kRed); Lx->Add(ln);
248 
249 
250  hA[136]=h=new TH1F("muclustPtBal",Form("PT Balance > %.1f ; 2x2 Cluster ET",par_ptBalance),100,0,100);
251  hA[137]=h=new TH1F("muclustPtBal_bckgrd",Form("PT Balance < %.1f ; 2x2 Cluster ET",par_ptBalance),100,0,100);
252  hA[138]=h=new TH1F("muclustAwayPt","AwaySide PT < 8 ; 2x2 Cluster ET",100,0,100);
253  hA[139]=h=new TH1F("muclustAwayPt_bckgrd","AwaySide PT > 8 ; 2x2 Cluster ET",100,0,100);
254  hA[140]=h=new TH1F("muclustPtBalnoE",Form("sPT Balance > %.1f (EEMC not included); 2x2 Cluster ET",par_ptBalance),100,0,100);
255  hA[141]=h=new TH1F("muclustAwayPtnoE","AwaySide PT < 8 (EEMC not included); 2x2 Cluster ET",100,0,100);
256 
257  // Histograms added for background subtraction and systematic
258  char str[200];
259  for (int i=0; i<=20; i++) {
260  sprintf(str,"neg_failAwaySide_Awayside_pt_bin_%d",i);
261  hA[142+i] = new TH2F(str,str,100,0,100,21,0,21);
262  }
263 
264  for (int i=0; i<=20; i++) {
265  sprintf(str,"pos_failAwaySide_Awayside_pt_bin_%d",i);
266  hA[163+i] = new TH2F(str,str,100,0,100,21,0,21);
267  }
268 
269  hA[184+2] = new TH1F("pos_muclustpTbal_wE","pos_muclustpTbal_wE",100,0,100);
270  hA[184+1] = new TH1F("neg_muclustpTbal_wE","neg_muclustpTbal_wE",100,0,100);
271  hA[184+4] = new TH1F("pos_muclustpTbal_noE","pos_muclustpTbal_noE",100,0,100);
272  hA[184+3] = new TH1F("neg_muclustpTbal_noE","neg_muclustpTbal_noE",100,0,100);
273  hA[184+6] = new TH1F("pos_muclustpTbal_back","pos_muclustpTbal_back",100,0,100);
274  hA[184+5] = new TH1F("neg_muclustpTbal_back","neg_muclustpTbal_back",100,0,100);
275 
276  hA[190] = new TH1F("muZvReweight","Reweight Z vertex to match data",100,-200,200);
277 
278  //algo efficiency ET dependence
279  hA[191]=h=new TH2F("muBclET24R_ET","ratio (2x2/4x4) cluster ET vs 2x2 cluster ET ; 2x2 cluster ET (GeV); fraction: cluster ET 2x2/ 4x4 ET",100,0,100,100,0,1.2);
280  Lx=h->GetListOfFunctions();
281  ln=new TLine(0,par_clustFrac24,1.e6,par_clustFrac24); ln->SetLineColor(kRed); Lx->Add(ln);
282  hA[192]=h=new TH2F("muBclEjetE2D_ET","ratio (2x2/nearCone) ET vs. 2x2 cluster ET; 2x2 cluster ET (GeV); ET(cone-2x2) (GeV)",100,0,100,100,0,1.2);
283  Lx=h->GetListOfFunctions();
284  ln=new TLine(0,par_nearTotEtFrac,1.e6,par_nearTotEtFrac); ln->SetLineColor(kRed); Lx->Add(ln);
285 
286  //eta dependent signal and background
287  hA[200+2] = new TH2F("pos_muclustpTbal_wE_etaBin","pos_muclustpTbal_wE_etaBin",100,-1,1,100,0,100);
288  hA[200+1] = new TH2F("neg_muclustpTbal_wE_etaBin","neg_muclustpTbal_wE_etaBin",100,-1,1,100,0,100);
289  hA[200+4] = new TH2F("pos_muclustpTbal_noE_etaBin","pos_muclustpTbal_noE_etaBin",100,-1,1,100,0,100);
290  hA[200+3] = new TH2F("neg_muclustpTbal_noE_etaBin","neg_muclustpTbal_noE_etaBin",100,-1,1,100,0,100);
291  hA[200+6] = new TH2F("pos_muclustpTbal_back_etaBin","pos_muclustpTbal_back_etaBin",100,-1,1,100,0,100);
292  hA[200+5] = new TH2F("neg_muclustpTbal_back_etaBin","neg_muclustpTbal_back_etaBin",100,-1,1,100,0,100);
293 
294  //eta dependent histos for background subtraction systematic
295  for (int i=0; i<=20; i++) {
296  sprintf(str,"neg_failsPtBal_sPtBal_bin_%d",i);
297  hA[210+i] = new TH2F(str,str,100,-1,1,100,0,100);
298  }
299  for (int i=0; i<=20; i++) {
300  sprintf(str,"pos_failsPtBal_sPtBal_bin_%d",i);
301  hA[231+i] = new TH2F(str,str,100,-1,1,100,0,100);
302  }
303 
304  //some golden W plots for comparison to embedding
305  hA[260]=h=new TH2F("muWbX7","L2W-ET events vs. bXing; bXing= raw bx7",100,0,200000,128,-0.5,127.5);
306  hA[261]=h=new TH2F("muWNV","# vertices per event, rank>0 & Z in range; # of vertices",100,0,200000,10,0,10);
307 
308  hA[262]=h=new TH2F("muWTrNfit","prim tr nFitP; nFitPoints",100,0,200000,50,0,50);
309  hA[263]=h=new TH2F("muWTrFitFrac","prim tr nFitFrac; nFit/nPoss ",100,0,200000,50,0,1.1);
310 
311  hA[264]=h=new TH2F("muWTrRxyOut","prim tr last hit filter; Rxy (cm)",100,0,200000,60,100,220.);
312  hA[265]=h=new TH2F("muWTrRxyIn","prim tr 1st hit filter; Rxy (cm)",100,0,200000,60,50,170.);
313  hA[266]=h=new TH2F("muWTrPt1","primary track PT ; track PT (GeV/c)",100,0,200000,160,0,80);
314  hA[267]=h=new TH2F("muWTrch2","track glob chi2/dof X-Y",100,0,200000,100,0,5);
315  hA[268]=h=new TH2F("muWTrInvPt","primary track 1/PT",100,0,200000,100,0,0.1);
316  hA[269]=h=new TH2F("muWglDcaGold","Track glob vertex abs(DCA), final W; |DCA| (cm)",100,0,200000,100,0,5);
317  hA[270]=h=new TH2F("muWglsDcaGold","Track glob signed DCA, final W; sDCA (cm)",100,0,200000,100,-5,5);
318  hA[271]=h=new TH2F("muWglDcaZGold","Track glob Z DCA, final W; DCAZ (cm)",100,0,200000,100,-5,5);
319  hA[272]=h=new TH2F("muWglPt1TrVert","Track global Pt, final W from one track vertices",100,0,200000,160,0,80);
320  hA[273]=h=new TH2F("muWglInvPt1TrVert","Track global 1/Pt, final W from one track vertices",100,0,200000,100,0,0.1);
321 
322  //2 eta bins for x-section ratio
323  hA[280+2] = new TH2F("pos_muclustpTbal_wE_etaBin2","pos_muclustpTbal_wE_etaBin2",100,0,1,100,0,100);
324  hA[280+1] = new TH2F("neg_muclustpTbal_wE_etaBin2","neg_muclustpTbal_wE_etaBin2",100,0,1,100,0,100);
325  hA[280+4] = new TH2F("pos_muclustpTbal_noE_etaBin2","pos_muclustpTbal_noE_etaBin2",100,0,1,100,0,100);
326  hA[280+3] = new TH2F("neg_muclustpTbal_noE_etaBin2","neg_muclustpTbal_noE_etaBin2",100,0,1,100,0,100);
327  hA[280+6] = new TH2F("pos_muclustpTbal_back_etaBin2","pos_muclustpTbal_back_etaBin2",100,0,1,100,0,100);
328  hA[280+5] = new TH2F("neg_muclustpTbal_back_etaBin2","neg_muclustpTbal_back_etaBin2",100,0,1,100,0,100);
329  //eta dependent histos for background subtraction systematic
330  for (int i=0; i<=20; i++) {
331  sprintf(str,"neg_failsPtBal_sPtBal_bin_%d_etaBin2",i);
332  hA[290+i] = new TH2F(str,str,100,0,1,100,0,100);
333  }
334  for (int i=0; i<=20; i++) {
335  sprintf(str,"pos_failsPtBal_sPtBal_bin_%d_etaBin2",i);
336  hA[311+i] = new TH2F(str,str,100,0,1,100,0,100);
337  }
338 
339  // add histos to the list (if provided)
340  for(int i=0;i<mxHA;i++) {
341  if( hA[i]==0) continue;
342  HList->Add( hA[i]);
343  }
344 
345  // HList->ls();
346  LOG_INFO<<Form("%s::initHistos done",GetName())<<endm;
347 
348 }
349 
350 // $Log: St2009W_histo.cxx,v $
351 // Revision 1.20 2011/09/14 14:23:21 stevens4
352 // update used for cross section PRD paper
353 //
354 // Revision 1.19 2010/11/09 23:00:50 balewski
355 // added chi2/dof for East & West TPC separately
356 //
357 // Revision 1.18 2010/05/01 01:31:44 balewski
358 // added W->JJ code & JES calibration
359 //
360 // Revision 1.17 2010/04/27 16:53:45 stevens4
361 // add code to remove events tagged as Zs from W candidates
362 //
363 // Revision 1.16 2010/03/23 01:31:40 seelej
364 // Fix to the filling of the histograms for the background systematic.
365 //
366 // Revision 1.15 2010/03/20 18:38:34 balewski
367 // *** empty log message ***
368 //
369 // Revision 1.14 2010/03/18 16:52:17 balewski
370 // corrected sPtBalance for no-endcap
371 //
372 // Revision 1.13 2010/03/14 22:50:31 balewski
373 // *** empty log message ***
374 //
375 // Revision 1.12 2010/02/22 15:49:34 seelej
376 // Joe : Changes to code for inclusion of background subtraction and systematic studies
377 //
378 // Revision 1.11 2010/01/29 01:56:01 stevens4
379 // disable lepton track reco in TPC sector 20
380 //
381 // Revision 1.10 2010/01/28 20:10:05 balewski
382 // added eta dependent spin sorting
383 //
384 // Revision 1.9 2010/01/27 22:12:24 balewski
385 // spin code matched to x-section code
386 //
387 // Revision 1.8 2010/01/18 03:26:15 balewski
388 // expanded TPC track filtering, not finished
389 //
390 // Revision 1.7 2010/01/10 01:45:10 stevens4
391 // fix plots w/o EEMC in veto
392 //
393 // Revision 1.6 2010/01/09 02:29:19 stevens4
394 // fix histo names
395 //
396 // Revision 1.5 2010/01/09 00:07:16 stevens4
397 // add jet finder
398 //
399 // Revision 1.4 2010/01/06 19:16:48 stevens4
400 // track cuts now on primary component, cleanup
401 //
402 // Revision 1.3 2010/01/06 14:11:13 balewski
403 // one Z-plot added
404 //
405 // Revision 1.2 2009/12/08 04:48:35 balewski
406 // *** empty log message ***
407 //
408 // Revision 1.1 2009/11/23 23:00:18 balewski
409 // code moved spin-pool
410 //
virtual const char * GetName() const
special overload
Definition: StMaker.cxx:237