15 m_fdcom =
new TFolder(
"mcommon",
"common" );
16 hlist->Add( m_fdcom );
18 m_effNtrk =
new TH1F(
"meffNtrk",
"", 43, -0.5, 42.5 );
19 m_fdcom->Add( m_effNtrk );
21 m_effNtrkRecHit =
new TH1F(
"meffNtrkRecHit",
"", 43, -0.5, 42.5 );
22 m_fdcom->Add( m_effNtrkRecHit );
24 m_hresAllInc =
new TH1F(
"mHResAllInc",
"", 200, -1.0, 1.0 );
25 m_fdcom->Add( m_hresAllInc );
27 m_hresAllExc =
new TH1F(
"mHResAllExc",
"", 200, -1.0, 1.0 );
28 m_fdcom->Add( m_hresAllExc );
30 m_hresAllAve =
new TH1F(
"mHResAllAve",
"", 200, -1.0, 1.0 );
31 m_fdcom->Add( m_hresAllAve );
33 m_hresInnInc =
new TH1F(
"mHResInnInc",
"", 200, -1.0, 1.0 );
34 m_fdcom->Add( m_hresInnInc );
36 m_hresInnExc =
new TH1F(
"mHResInnExc",
"", 200, -1.0, 1.0 );
37 m_fdcom->Add( m_hresInnExc );
39 m_hresStpInc =
new TH1F(
"mHResStpInc",
"", 200, -1.0, 1.0 );
40 m_fdcom->Add( m_hresStpInc );
42 m_hresStpExc =
new TH1F(
"mHResStpExc",
"", 200, -1.0, 1.0 );
43 m_fdcom->Add( m_hresStpExc );
45 m_hresOutInc =
new TH1F(
"mHResOutInc",
"", 200, -1.0, 1.0 );
46 m_fdcom->Add( m_hresOutInc );
48 m_hresOutExc =
new TH1F(
"mHResOutExc",
"", 200, -1.0, 1.0 );
49 m_fdcom->Add( m_hresOutExc );
51 m_fdResQ =
new TFolder(
"mResQ",
"ResQ" );
52 hlist->Add( m_fdResQ );
53 for (
int i = 0; i < 14; i++ )
55 sprintf( hname,
"mresoAll_qbin%02d", i );
56 m_hresAveAllQ[i] =
new TH1F( hname,
"", 200, -1, 1 );
57 m_fdResQ->Add( m_hresAveAllQ[i] );
59 sprintf( hname,
"mresoOut_qbin%02d", i );
60 m_hresAveOutQ[i] =
new TH1F( hname,
"", 200, -1, 1 );
61 m_fdResQ->Add( m_hresAveOutQ[i] );
63 for (
int lay = 0; lay < 43; lay++ )
65 for (
int i = 0; i < 14; i++ )
67 sprintf( hname,
"mresoLay%02d_qbin%02d", lay, i );
68 m_hresAveLayQ[lay][i] =
new TH1F( hname,
"", 200, -1, 1 );
69 m_fdResQ->Add( m_hresAveLayQ[lay][i] );
73 m_hbbTrkFlg =
new TH1F(
"mBbTrkFlg",
"", 100, 0, 6 );
74 m_fdcom->Add( m_hbbTrkFlg );
76 m_hTesAll =
new TH1F(
"mTesAll",
"", 1000, 0, 2000 );
77 m_fdcom->Add( m_hTesAll );
79 m_hTesGood =
new TH1F(
"mTesGood",
"", 1000, 0, 2000 );
80 m_fdcom->Add( m_hTesGood );
82 m_hTesAllFlag =
new TH1F(
"mTesAllFlag",
"", 300, -0.5, 299.5 );
83 m_fdcom->Add( m_hTesAllFlag );
85 m_hTesRec =
new TH1F(
"mTesRec",
"", 1000, 0, 2000 );
86 m_fdcom->Add( m_hTesRec );
88 m_hTesCalFlag =
new TH1F(
"mTesCalFlag",
"", 1000, 0, 2000 );
89 m_fdcom->Add( m_hTesCalFlag );
91 m_hTesCalUse =
new TH1F(
"mTesCalUse",
"", 1000, 0, 2000 );
92 m_fdcom->Add( m_hTesCalUse );
94 m_hnRawHit =
new TH1F(
"mNRawHit",
"", 6797, -0.5, 6796.5 );
95 m_fdcom->Add( m_hnRawHit );
97 m_hpt =
new TH1F(
"mHPt",
"", 800, 0, 3 );
98 m_fdcom->Add( m_hpt );
100 m_hptPos =
new TH1F(
"mHPtPos",
"", 800, 0, 3 );
101 m_fdcom->Add( m_hptPos );
103 m_hptNeg =
new TH1F(
"mHPtNeg",
"", 800, 0, 3 );
104 m_fdcom->Add( m_hptNeg );
106 m_hp =
new TH1F(
"mHP",
"", 800, 0, 3 );
107 m_fdcom->Add( m_hp );
109 m_hp_cms =
new TH1F(
"mHPCMS",
"", 800, 0, 3 );
110 m_fdcom->Add( m_hp_cms );
112 m_hpMax =
new TH1F(
"mHPMax",
"", 800, 0, 3 );
113 m_fdcom->Add( m_hpMax );
115 m_hpMaxCms =
new TH1F(
"mHPMax_Cms",
"", 800, 0, 3 );
116 m_fdcom->Add( m_hpMaxCms );
118 m_hpPos =
new TH1F(
"mHP_Pos",
"", 800, 0, 3 );
119 m_fdcom->Add( m_hpPos );
121 m_hpNeg =
new TH1F(
"mHP_Neg",
"", 800, 0, 3 );
122 m_fdcom->Add( m_hpNeg );
124 m_hpPoscms =
new TH1F(
"mHP_Pos_cms",
"", 800, 0, 3 );
125 m_fdcom->Add( m_hpPoscms );
127 m_hpNegcms =
new TH1F(
"mHP_Neg_cms",
"", 800, 0, 3 );
128 m_fdcom->Add( m_hpNegcms );
130 m_hp_cut =
new TH1F(
"mHPCut",
"", 800, 0, 3 );
131 m_fdcom->Add( m_hp_cut );
133 m_hchisq =
new TH1F(
"mChisq",
"", 10, 0, 100 );
134 m_fdcom->Add( m_hchisq );
136 m_hnTrk =
new TH1F(
"mHNtrack",
"HNtrack", 10, -0.5, 9.5 );
137 m_fdcom->Add( m_hnTrk );
139 m_hnTrkCal =
new TH1F(
"mHNtrackCal",
"HNtrackCal", 10, -0.5, 9.5 );
140 m_fdcom->Add( m_hnTrkCal );
142 m_hnhitsRec =
new TH1F(
"mHNhitsRec",
"", 100, -0.5, 99.5 );
143 m_fdcom->Add( m_hnhitsRec );
145 m_hnhitsRecInn =
new TH1F(
"mHNhitsInnRec",
"", 60, 0.5, 60.5 );
146 m_fdcom->Add( m_hnhitsRecInn );
148 m_hnhitsRecStp =
new TH1F(
"mHNhitsStpRec",
"", 60, 0.5, 60.5 );
149 m_fdcom->Add( m_hnhitsRecStp );
151 m_hnhitsRecOut =
new TH1F(
"mHNhitsOutRec",
"", 60, 0.5, 60.5 );
152 m_fdcom->Add( m_hnhitsRecOut );
154 m_hnhitsCal =
new TH1F(
"mHNhitsCal",
"", 100, -0.5, 99.5 );
155 m_fdcom->Add( m_hnhitsCal );
157 m_hnhitsCalInn =
new TH1F(
"mHNhitsCalInn",
"", 60, 0.5, 60.5 );
158 m_fdcom->Add( m_hnhitsCalInn );
160 m_hnhitsCalStp =
new TH1F(
"mHNhitsCalStp",
"", 60, 0.5, 60.5 );
161 m_fdcom->Add( m_hnhitsCalStp );
163 m_hnhitsCalOut =
new TH1F(
"mHNhitsCalOut",
"", 60, 0.5, 60.5 );
164 m_fdcom->Add( m_hnhitsCalOut );
166 m_wirehitmap =
new TH1F(
"mWire_HitMap",
"Wire_HitMap", 6796, -0.5, 6795.5 );
167 m_fdcom->Add( m_wirehitmap );
169 m_layerhitmap =
new TH1F(
"mLayer_HitMap",
"Layer_HitMap", 43, -0.5, 42.5 );
170 m_fdcom->Add( m_layerhitmap );
172 m_hnoisephi =
new TH1F(
"mphi_noise",
"", 100, 0, 6.284 );
173 m_fdcom->Add( m_hnoisephi );
175 m_hnoiselay =
new TH1F(
"mLayer_noise",
"Layer_noise", 43, -0.5, 42.5 );
176 m_fdcom->Add( m_hnoiselay );
178 m_hnoisenhits =
new TH1F(
"mnhits_noise",
"nhits_noise", 6796, -0.5, 6795.5 );
179 m_fdcom->Add( m_hnoisenhits );
181 m_hratio =
new TH1F(
"mratio",
"", 100, 0, 1 );
182 m_fdcom->Add( m_hratio );
184 m_hdr =
new TH1F(
"mdr",
"", 500, -500, 500 );
185 m_fdcom->Add( m_hdr );
187 m_hphi0 =
new TH1F(
"mphi0",
"", 100, 0, 6.284 );
188 m_fdcom->Add( m_hphi0 );
190 m_hkap =
new TH1F(
"mkappa",
"", 400, -50, 50 );
191 m_fdcom->Add( m_hkap );
193 m_hdz =
new TH1F(
"mdz",
"", 500, -1000, 1000 );
194 m_fdcom->Add( m_hdz );
196 m_htanl =
new TH1F(
"mtanl",
"", 200, -5, 5 );
197 m_fdcom->Add( m_htanl );
199 m_hcosthe =
new TH1F(
"mcostheta",
"", 200, -1, 1 );
200 m_fdcom->Add( m_hcosthe );
202 m_hcostheNeg =
new TH1F(
"mcosthetaNeg",
"", 200, -1, 1 );
203 m_fdcom->Add( m_hcostheNeg );
205 m_hcosthePos =
new TH1F(
"mcosthetaPos",
"", 200, -1, 1 );
206 m_fdcom->Add( m_hcosthePos );
208 m_hx0 =
new TH1F(
"mx0",
"", 100, -10, 10 );
209 m_fdcom->Add( m_hx0 );
211 m_hy0 =
new TH1F(
"my0",
"", 100, -10, 10 );
212 m_fdcom->Add( m_hy0 );
214 m_hdelZ0 =
new TH1F(
"mdelta_z0",
"", 100, -50, 50 );
215 m_fdcom->Add( m_hdelZ0 );
218 m_grX0Y0 =
new TGraph();
219 m_grX0Y0->SetName(
"mx0y0" );
220 m_fdcom->Add( m_grX0Y0 );
222 m_hitEffAll =
new TH1F(
"mhitEffAll",
"", 6800, -0.5, 6799.5 );
223 m_fdcom->Add( m_hitEffAll );
225 m_hitEffRaw =
new TH1F(
"mhitEffRaw",
"", 6800, -0.5, 6799.5 );
226 m_fdcom->Add( m_hitEffRaw );
228 m_hitEffRec =
new TH1F(
"mhitEffRec",
"", 6800, -0.5, 6799.5 );
229 m_fdcom->Add( m_hitEffRec );
232 m_fdTime =
new TFolder(
"mtime",
"time" );
233 hlist->Add( m_fdTime );
235 for (
int lay = 0; lay <
NLAYER; lay++ )
237 sprintf( hname,
"mTraw%02d", lay );
238 m_htraw[lay] =
new TH1F( hname,
"", 1000, 0, 2000 );
239 m_fdTime->Add( m_htraw[lay] );
241 sprintf( hname,
"mTdr%02d", lay );
242 m_htdr[lay] =
new TH1F( hname,
"", 510, -10, 500 );
243 m_fdTime->Add( m_htdr[lay] );
245 for (
int lr = 0; lr < 2; lr++ )
247 sprintf( hname,
"mTdr%02d_lr%01d", lay, lr );
248 m_htdrlr[lay][lr] =
new TH1F( hname,
"", 510, -10, 500 );
249 m_fdTime->Add( m_htdrlr[lay][lr] );
254 m_fdres =
new TFolder(
"mresolution",
"resolution" );
255 hlist->Add( m_fdres );
257 for (
int lay = 0; lay <
NLAYER; lay++ )
259 sprintf( hname,
"mReso%02dInc", lay );
260 m_hresInc[lay] =
new TH1F( hname,
"", 1000, -5, 5 );
261 m_fdres->Add( m_hresInc[lay] );
263 sprintf( hname,
"mReso%02dExc", lay );
264 m_hresExc[lay] =
new TH1F( hname,
"", 1000, -5, 5 );
265 m_fdres->Add( m_hresExc[lay] );
267 for (
int lr = 0; lr < 2; lr++ )
269 sprintf( hname,
"mReso%02dInc_lr%01d", lay, lr );
270 m_hreslrInc[lay][lr] =
new TH1F( hname,
"", 1000, -5, 5 );
271 m_fdres->Add( m_hreslrInc[lay][lr] );
273 sprintf( hname,
"mReso%02dExc_lr%01d", lay, lr );
274 m_hreslrExc[lay][lr] =
new TH1F( hname,
"", 1000, -5, 5 );
275 m_fdres->Add( m_hreslrExc[lay][lr] );
280 m_fdmomPhi =
new TFolder(
"mmomPhi",
"momPhi" );
281 hlist->Add( m_fdmomPhi );
284 for (
int bin = 0;
bin < NPhiBin;
bin++ )
287 m_ppPhi[
bin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
288 m_fdmomPhi->Add( m_ppPhi[
bin] );
291 m_pnPhi[
bin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
292 m_fdmomPhi->Add( m_pnPhi[
bin] );
295 m_ppPhiCms[
bin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
296 m_fdmomPhi->Add( m_ppPhiCms[
bin] );
299 m_pnPhiCms[
bin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
300 m_fdmomPhi->Add( m_pnPhiCms[
bin] );
302 for ( thbin = 0; thbin < NThetaBin; thbin++ )
304 sprintf( hname,
"mhPpos_theta%02d_phi%02d", thbin,
bin );
305 m_ppThePhi[thbin][
bin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
306 m_fdmomPhi->Add( m_ppThePhi[thbin][
bin] );
308 sprintf( hname,
"mhPneg_theta%02d_phi%02d", thbin,
bin );
309 m_pnThePhi[thbin][
bin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
310 m_fdmomPhi->Add( m_pnThePhi[thbin][
bin] );
312 sprintf( hname,
"mhPposCms_theta%02d_phi%02d", thbin,
bin );
313 m_ppThePhiCms[thbin][
bin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
314 m_fdmomPhi->Add( m_ppThePhiCms[thbin][
bin] );
316 sprintf( hname,
"mhPnegCms_theta%02d_phi%02d", thbin,
bin );
317 m_pnThePhiCms[thbin][
bin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
318 m_fdmomPhi->Add( m_pnThePhiCms[thbin][
bin] );
321 for ( thbin = 0; thbin < NThetaBin; thbin++ )
323 sprintf( hname,
"mhPpos_the%02d", thbin );
324 m_ppThe[thbin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
325 m_fdmomPhi->Add( m_ppThe[thbin] );
327 sprintf( hname,
"mhPneg_the%02d", thbin );
328 m_pnThe[thbin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
329 m_fdmomPhi->Add( m_pnThe[thbin] );
331 sprintf( hname,
"mhPposCms_the%02d", thbin );
332 m_ppTheCms[thbin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
333 m_fdmomPhi->Add( m_ppTheCms[thbin] );
335 sprintf( hname,
"mhPnegCms_the%02d", thbin );
336 m_pnTheCms[thbin] =
new TH1F( hname,
"", 400, 1.0, 2.5 );
337 m_fdmomPhi->Add( m_pnTheCms[thbin] );
340 m_fdr2d =
new TFolder(
"mres2d",
"res2d" );
341 hlist->Add( m_fdr2d );
342 for (
int lay = 0; lay < 43; lay++ )
344 for (
int iEntr = 0; iEntr <
gNEntr[lay]; iEntr++ )
346 for (
int lr = 0; lr < 2; lr++ )
350 sprintf( hname,
"mR2d%02d_%02d_%01d_%02dInc", lay, iEntr, lr,
bin );
351 m_hr2dInc[lay][iEntr][lr][
bin] =
new TH1F( hname,
"", 200, -1, 1 );
352 m_fdr2d->Add( m_hr2dInc[lay][iEntr][lr][
bin] );
354 sprintf( hname,
"mR2d%02d_%02d_%01d_%02dExc", lay, iEntr, lr,
bin );
355 m_hr2dExc[lay][iEntr][lr][
bin] =
new TH1F( hname,
"", 200, -1, 1 );
356 m_fdr2d->Add( m_hr2dExc[lay][iEntr][lr][
bin] );
380 TFolder* fdcom = (TFolder*)fhist->Get(
"common" );
381 TFolder* fdResQ = (TFolder*)fhist->Get(
"ResQ" );
382 TFolder* fdTime = (TFolder*)fhist->Get(
"time" );
383 TFolder* fdres = (TFolder*)fhist->Get(
"resolution" );
384 TFolder* fdmomPhi = (TFolder*)fhist->Get(
"momPhi" );
385 TFolder* fdres2d = (TFolder*)fhist->Get(
"res2d" );
387 hist = (TH1F*)fdcom->FindObjectAny(
"effNtrk" );
388 m_effNtrk->Add( hist );
390 hist = (TH1F*)fdcom->FindObjectAny(
"effNtrkRecHit" );
391 m_effNtrkRecHit->Add( hist );
393 hist = (TH1F*)fdcom->FindObjectAny(
"HResAllInc" );
394 m_hresAllInc->Add( hist );
396 hist = (TH1F*)fdcom->FindObjectAny(
"HResAllExc" );
397 m_hresAllExc->Add( hist );
399 hist = (TH1F*)fdcom->FindObjectAny(
"HResAllAve" );
400 m_hresAllAve->Add( hist );
402 hist = (TH1F*)fdcom->FindObjectAny(
"HResInnInc" );
403 m_hresInnInc->Add( hist );
405 hist = (TH1F*)fdcom->FindObjectAny(
"HResInnExc" );
406 m_hresInnExc->Add( hist );
408 hist = (TH1F*)fdcom->FindObjectAny(
"HResStpInc" );
409 m_hresStpInc->Add( hist );
411 hist = (TH1F*)fdcom->FindObjectAny(
"HResStpExc" );
412 m_hresStpExc->Add( hist );
414 hist = (TH1F*)fdcom->FindObjectAny(
"HResOutInc" );
415 m_hresOutInc->Add( hist );
417 hist = (TH1F*)fdcom->FindObjectAny(
"HResOutExc" );
418 m_hresOutExc->Add( hist );
420 hist = (TH1F*)fdcom->FindObjectAny(
"BbTrkFlg" );
421 m_hbbTrkFlg->Add( hist );
423 hist = (TH1F*)fdcom->FindObjectAny(
"TesAll" );
424 m_hTesAll->Add( hist );
426 hist = (TH1F*)fdcom->FindObjectAny(
"TesGood" );
427 m_hTesGood->Add( hist );
429 hist = (TH1F*)fdcom->FindObjectAny(
"TesAllFlag" );
430 m_hTesAllFlag->Add( hist );
432 hist = (TH1F*)fdcom->FindObjectAny(
"TesRec" );
433 m_hTesRec->Add( hist );
435 hist = (TH1F*)fdcom->FindObjectAny(
"TesCalFlag" );
436 m_hTesCalFlag->Add( hist );
438 hist = (TH1F*)fdcom->FindObjectAny(
"TesCalUse" );
439 m_hTesCalUse->Add( hist );
441 hist = (TH1F*)fdcom->FindObjectAny(
"nRawHit" );
442 m_hnRawHit->Add( hist );
444 hist = (TH1F*)fdcom->FindObjectAny(
"HPt" );
447 hist = (TH1F*)fdcom->FindObjectAny(
"HPtPos" );
448 m_hptPos->Add( hist );
450 hist = (TH1F*)fdcom->FindObjectAny(
"HPtNeg" );
451 m_hptNeg->Add( hist );
453 hist = (TH1F*)fdcom->FindObjectAny(
"HP" );
456 hist = (TH1F*)fdcom->FindObjectAny(
"HPCMS" );
457 m_hp_cms->Add( hist );
459 hist = (TH1F*)fdcom->FindObjectAny(
"HPMax" );
460 m_hpMax->Add( hist );
462 hist = (TH1F*)fdcom->FindObjectAny(
"HPMax_Cms" );
463 m_hpMaxCms->Add( hist );
465 hist = (TH1F*)fdcom->FindObjectAny(
"HP_Pos" );
466 m_hpPos->Add( hist );
468 hist = (TH1F*)fdcom->FindObjectAny(
"HP_Neg" );
469 m_hpNeg->Add( hist );
471 hist = (TH1F*)fdcom->FindObjectAny(
"HP_Pos_cms" );
472 m_hpPoscms->Add( hist );
474 hist = (TH1F*)fdcom->FindObjectAny(
"HP_Neg_cms" );
475 m_hpNegcms->Add( hist );
477 hist = (TH1F*)fdcom->FindObjectAny(
"HPCut" );
478 m_hp_cut->Add( hist );
480 hist = (TH1F*)fdcom->FindObjectAny(
"Chisq" );
481 m_hchisq->Add( hist );
483 hist = (TH1F*)fdcom->FindObjectAny(
"HNtrack" );
484 m_hnTrk->Add( hist );
486 hist = (TH1F*)fdcom->FindObjectAny(
"HNtrackCal" );
487 m_hnTrkCal->Add( hist );
489 hist = (TH1F*)fdcom->FindObjectAny(
"HNhitsRec" );
490 m_hnhitsRec->Add( hist );
492 hist = (TH1F*)fdcom->FindObjectAny(
"HNhitsInnRec" );
493 m_hnhitsRecInn->Add( hist );
495 hist = (TH1F*)fdcom->FindObjectAny(
"HNhitsStpRec" );
496 m_hnhitsRecStp->Add( hist );
498 hist = (TH1F*)fdcom->FindObjectAny(
"HNhitsOutRec" );
499 m_hnhitsRecOut->Add( hist );
501 hist = (TH1F*)fdcom->FindObjectAny(
"HNhitsCal" );
502 m_hnhitsCal->Add( hist );
504 hist = (TH1F*)fdcom->FindObjectAny(
"HNhitsCalInn" );
505 m_hnhitsCalInn->Add( hist );
507 hist = (TH1F*)fdcom->FindObjectAny(
"HNhitsCalStp" );
508 m_hnhitsCalStp->Add( hist );
510 hist = (TH1F*)fdcom->FindObjectAny(
"HNhitsCalOut" );
511 m_hnhitsCalOut->Add( hist );
513 hist = (TH1F*)fdcom->FindObjectAny(
"Wire_HitMap" );
514 m_wirehitmap->Add( hist );
516 hist = (TH1F*)fdcom->FindObjectAny(
"Layer_HitMap" );
517 m_layerhitmap->Add( hist );
519 hist = (TH1F*)fdcom->FindObjectAny(
"phi_noise" );
520 m_hnoisephi->Add( hist );
522 hist = (TH1F*)fdcom->FindObjectAny(
"Layer_noise" );
523 m_hnoiselay->Add( hist );
525 hist = (TH1F*)fdcom->FindObjectAny(
"nhits_noise" );
526 m_hnoisenhits->Add( hist );
528 hist = (TH1F*)fdcom->FindObjectAny(
"ratio" );
529 m_hratio->Add( hist );
531 hist = (TH1F*)fdcom->FindObjectAny(
"dr" );
534 hist = (TH1F*)fdcom->FindObjectAny(
"phi0" );
535 m_hphi0->Add( hist );
537 hist = (TH1F*)fdcom->FindObjectAny(
"kappa" );
540 hist = (TH1F*)fdcom->FindObjectAny(
"dz" );
543 hist = (TH1F*)fdcom->FindObjectAny(
"tanl" );
544 m_htanl->Add( hist );
546 hist = (TH1F*)fdcom->FindObjectAny(
"costheta" );
547 m_hcosthe->Add( hist );
549 hist = (TH1F*)fdcom->FindObjectAny(
"costhetaNeg" );
550 m_hcostheNeg->Add( hist );
552 hist = (TH1F*)fdcom->FindObjectAny(
"costhetaPos" );
553 m_hcosthePos->Add( hist );
555 hist = (TH1F*)fdcom->FindObjectAny(
"x0" );
558 hist = (TH1F*)fdcom->FindObjectAny(
"y0" );
561 hist = (TH1F*)fdcom->FindObjectAny(
"delta_z0" );
562 m_hdelZ0->Add( hist );
564 hist = (TH1F*)fdcom->FindObjectAny(
"hitEffAll" );
565 m_hitEffAll->Add( hist );
567 hist = (TH1F*)fdcom->FindObjectAny(
"hitEffRaw" );
568 m_hitEffRaw->Add( hist );
570 hist = (TH1F*)fdcom->FindObjectAny(
"hitEffRec" );
571 m_hitEffRec->Add( hist );
573 TGraph*
gr = (TGraph*)fdcom->FindObjectAny(
"x0y0" );
577 for (
int i = 0; i < np; i++ )
579 gr->GetPoint( i, xx, yy );
580 m_grX0Y0->SetPoint( m_nGrPoint, xx, yy );
584 for (
int i = 0; i < 14; i++ )
586 sprintf( hname,
"resoAll_qbin%02d", i );
587 hist = (TH1F*)fdResQ->FindObjectAny( hname );
588 m_hresAveAllQ[i]->Add( hist );
590 sprintf( hname,
"resoOut_qbin%02d", i );
591 hist = (TH1F*)fdResQ->FindObjectAny( hname );
592 m_hresAveOutQ[i]->Add( hist );
595 for (
int lay = 0; lay < 43; lay++ )
597 for (
int i = 0; i < 14; i++ )
599 sprintf( hname,
"resoLay%02d_qbin%02d", lay, i );
600 hist = (TH1F*)fdResQ->FindObjectAny( hname );
601 m_hresAveLayQ[lay][i]->Add( hist );
605 for (
int lay = 0; lay <
NLAYER; lay++ )
607 sprintf( hname,
"Traw%02d", lay );
608 hist = (TH1F*)fdTime->FindObjectAny( hname );
609 m_htraw[lay]->Add( hist );
611 sprintf( hname,
"Tdr%02d", lay );
612 hist = (TH1F*)fdTime->FindObjectAny( hname );
613 m_htdr[lay]->Add( hist );
615 for (
int lr = 0; lr < 2; lr++ )
617 sprintf( hname,
"Tdr%02d_lr%01d", lay, lr );
618 hist = (TH1F*)fdTime->FindObjectAny( hname );
619 m_htdrlr[lay][lr]->Add( hist );
623 for (
int lay = 0; lay <
NLAYER; lay++ )
625 sprintf( hname,
"Reso%02dInc", lay );
626 hist = (TH1F*)fdres->FindObjectAny( hname );
627 m_hresInc[lay]->Add( hist );
629 sprintf( hname,
"Reso%02dExc", lay );
630 hist = (TH1F*)fdres->FindObjectAny( hname );
631 m_hresExc[lay]->Add( hist );
633 for (
int lr = 0; lr < 2; lr++ )
635 sprintf( hname,
"Reso%02dInc_lr%01d", lay, lr );
636 hist = (TH1F*)fdres->FindObjectAny( hname );
637 m_hreslrInc[lay][lr]->Add( hist );
639 sprintf( hname,
"Reso%02dExc_lr%01d", lay, lr );
640 hist = (TH1F*)fdres->FindObjectAny( hname );
641 m_hreslrExc[lay][lr]->Add( hist );
646 for (
int bin = 0;
bin < NPhiBin;
bin++ )
649 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
650 m_ppPhi[
bin]->Add( hist );
653 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
654 m_pnPhi[
bin]->Add( hist );
657 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
658 m_ppPhiCms[
bin]->Add( hist );
661 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
662 m_pnPhiCms[
bin]->Add( hist );
664 for ( thbin = 0; thbin < NThetaBin; thbin++ )
666 sprintf( hname,
"hPpos_theta%02d_phi%02d", thbin,
bin );
667 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
668 m_ppThePhi[thbin][
bin]->Add( hist );
670 sprintf( hname,
"hPneg_theta%02d_phi%02d", thbin,
bin );
671 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
672 m_pnThePhi[thbin][
bin]->Add( hist );
674 sprintf( hname,
"hPposCms_theta%02d_phi%02d", thbin,
bin );
675 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
676 m_ppThePhiCms[thbin][
bin]->Add( hist );
678 sprintf( hname,
"hPnegCms_theta%02d_phi%02d", thbin,
bin );
679 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
680 m_pnThePhiCms[thbin][
bin]->Add( hist );
684 for ( thbin = 0; thbin < NThetaBin; thbin++ )
686 sprintf( hname,
"hPpos_the%02d", thbin );
687 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
688 m_ppThe[thbin]->Add( hist );
690 sprintf( hname,
"hPneg_the%02d", thbin );
691 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
692 m_ppThe[thbin]->Add( hist );
694 sprintf( hname,
"hPposCms_the%02d", thbin );
695 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
696 m_ppTheCms[thbin]->Add( hist );
698 sprintf( hname,
"hPnegCms_the%02d", thbin );
699 hist = (TH1F*)fdmomPhi->FindObjectAny( hname );
700 m_pnTheCms[thbin]->Add( hist );
703 for (
int lay = 0; lay < 43; lay++ )
705 for (
int iEntr = 0; iEntr <
gNEntr[lay]; iEntr++ )
707 for (
int lr = 0; lr < 2; lr++ )
711 sprintf( hname,
"r2d%02d_%02d_%01d_%02dInc", lay, iEntr, lr,
bin );
712 hist = (TH1F*)fdres2d->FindObjectAny( hname );
713 m_hr2dInc[lay][iEntr][lr][
bin]->Add( hist );
715 sprintf( hname,
"r2d%02d_%02d_%01d_%02dExc", lay, iEntr, lr,
bin );
716 hist = (TH1F*)fdres2d->FindObjectAny( hname );
717 m_hr2dExc[lay][iEntr][lr][
bin]->Add( hist );
746 ofstream feffi(
"MdcLayerEffi.dat" );
747 for (
int lay = 0; lay <
NLAYER; lay++ )
749 double effNtrk = m_effNtrk->GetBinContent( lay + 1 );
750 double effGoodHit = m_effNtrkRecHit->GetBinContent( lay + 1 );
751 nGoodAll += effGoodHit;
752 if ( lay < 8 ) nGoodInn += effGoodHit;
753 else if ( lay < 20 ) nGoodStp += effGoodHit;
754 else nGoodOut += effGoodHit;
757 if ( lay < 8 ) nTotInn += effNtrk;
758 else if ( lay < 20 ) nTotStp += effNtrk;
759 else nTotOut += effNtrk;
761 double effi = (double)effGoodHit / (
double)effNtrk;
762 double effErr = sqrt( effi * ( 1 - effi ) / (
double)effNtrk );
763 feffi << setw( 5 ) << lay << setw( 15 ) << effi << setw( 15 ) << effErr << setw( 15 )
764 << effGoodHit << setw( 15 ) << effNtrk << endl;
766 double effiAll = (double)nGoodAll / (
double)( nTotAll );
767 double errAll = sqrt( effiAll * ( 1 - effiAll ) / (
double)( nTotAll ) );
768 double effiInn = (double)nGoodInn / (
double)( nTotInn );
769 double errInn = sqrt( effiInn * ( 1 - effiInn ) / (
double)( nTotInn ) );
770 double effiStp = (double)nGoodStp / (
double)( nTotStp );
771 double errStp = sqrt( effiStp * ( 1 - effiStp ) / (
double)( nTotStp ) );
772 double effiOut = (double)nGoodOut / (
double)( nTotOut );
773 double errOut = sqrt( effiOut * ( 1 - effiOut ) / (
double)( nTotOut ) );
775 <<
"EffiAll: " << setw( 15 ) << effiAll << setw( 15 ) << errAll << setw( 15 )
776 << nGoodAll << setw( 15 ) << nTotAll << endl;
778 <<
"EffiInn: " << setw( 15 ) << effiInn << setw( 15 ) << errInn << setw( 15 )
779 << nGoodInn << setw( 15 ) << nTotInn << endl;
781 <<
"EffiStp: " << setw( 15 ) << effiStp << setw( 15 ) << errStp << setw( 15 )
782 << nGoodStp << setw( 15 ) << nTotStp << endl;
784 <<
"EffiOut: " << setw( 15 ) << effiOut << setw( 15 ) << errOut << setw( 15 )
785 << nGoodOut << setw( 15 ) << nTotOut << endl;
791 for (
int lay = 0; lay < 8; lay++ ) nSdBin[lay] = 12;
792 for (
int lay = 8; lay < 43; lay++ ) nSdBin[lay] = 16;
796 ofstream fr2d(
"logr2d.dat" );
797 for (
int lay = 0; lay < 43; lay++ )
800 if ( lay < 8 ) nbinLim = 9;
802 for (
int iEntr = 0; iEntr <
gNEntr[lay]; iEntr++ )
804 for (
int lr = 0; lr < 2; lr++ )
806 fr2d << setw( 3 ) << lay << setw( 3 ) << iEntr << setw( 3 ) << lr << endl;
807 for (
int bin = 0;
bin < nSdBin[lay];
bin++ )
811 histEntry = m_hr2dExc[lay][iEntr][lr][
bin]->GetEntries();
812 double rms = m_hr2dExc[lay][iEntr][lr][
bin]->GetRMS();
813 m_hr2dExc[lay][iEntr][lr][
bin]->Fit(
"gaus",
"Q" );
815 m_hr2dExc[lay][iEntr][lr][
bin]->GetFunction(
"gaus" )->GetParameter( 2 );
822 if ( histEntry > 500 ) { sigm[
bin] = gausSigm; }
823 else if ( histEntry > 100 ) { sigm[
bin] = rms; }
825 if (
bin >= nbinLim )
827 if ( sigm[
bin] < sigm[
bin - 1] ) sigm[
bin] = sigm[
bin - 1];
832 histEntry = m_hr2dInc[lay][iEntr][lr][
bin]->GetEntries();
833 double rms = m_hr2dInc[lay][iEntr][lr][
bin]->GetRMS();
834 m_hr2dInc[lay][iEntr][lr][
bin]->Fit(
"gaus",
"Q" );
836 m_hr2dInc[lay][iEntr][lr][
bin]->GetFunction(
"gaus" )->GetParameter( 2 );
837 if ( histEntry < 50 ) { sigm[
bin] = calconst->
getSdpar( lay, iEntr, lr,
bin ); }
838 else if ( ( lay > 2 ) && ( histEntry > 500 ) &&
839 ( fabs( rms - gausSigm ) < 0.02 ) )
840 { sigm[
bin] = gausSigm; }
841 else { sigm[
bin] = rms; }
842 if (
bin >= nbinLim )
844 if ( sigm[
bin] < sigm[
bin - 1] ) sigm[
bin] = sigm[
bin - 1];
854 if ( sigm[
bin] < 0.05 ) sigm[
bin] = 0.05;
862 for (
int i = 0; i < 6; i++ ) calconst->
resetSdpar( lay, i, lr,
bin, sigm[
bin] );
864 else if ( 2 ==
gNEntr[lay] )
868 for (
int i = 0; i < 3; i++ )
875 for (
int i = 3; i < 6; i++ )
881 fr2d << setw( 5 ) <<
bin << setw( 15 ) << sigm[
bin] << endl;
894 for (
int lay = 0; lay <
NLAYER; lay++ )
896 sprintf( hname,
"r2t%02d", lay );
897 r2ttr[lay] =
new TTree( hname, hname );
898 r2ttr[lay]->Branch(
"iEntr", &entrId,
"iEntr/I" );
899 r2ttr[lay]->Branch(
"lr", &lrId,
"lr/I" );
900 r2ttr[lay]->Branch(
"t", &tdr,
"t/D" );
901 r2ttr[lay]->Branch(
"s", &sigma,
"s/D" );
902 for (
int iEntr = 0; iEntr <
NENTRXT; iEntr++ )
904 for (
int lr = 0; lr < 2; lr++ )
910 tdr = (double)
bin * 10.0 + 5.0;
916 r2tList->Add( r2ttr[lay] );