72 : FairTask(
"TofHitFinderQa")
85 , fMCEventHeader(NULL)
86 , fTofPointsColl(NULL)
89 , fTofDigiMatchPointsColl(NULL)
91 , fTofDigiMatchColl(NULL)
92 , fTofHitMatchColl(NULL)
93 , fbHitProducerSource(kFALSE)
94 , fRealTofPointsColl(NULL)
95 , fRealTofMatchColl(NULL)
96 , fbRealPointAvail(kFALSE)
97 , fbNormHistGenMode(kFALSE)
98 , fsHistoInNormCartFilename(
"")
99 , fsHistoInNormAngFilename(
"")
100 , fsHistoInNormSphFilename(
"")
101 , fsHistoOutFilename(
"./tofQa.hst.root")
103 , fuNbEventsForHitsNbPlots(30000)
104 , fhNbHitsPerEvent(NULL)
105 , fhNbHitsSingPntPerEvent(NULL)
106 , fhNbHitsMultPntPerEvent(NULL)
107 , fhNbHitsSingTrkPerEvent(NULL)
108 , fhNbHitsMultTrkPerEvent(NULL)
109 , fhNbDigisInHit(NULL)
110 , fhNbDigisInHitMapXY(NULL)
111 , fvhTrackAllStartZCent()
113 fvhTrackSecStartZCent()
115 fvhTrackAllStartXZCent()
121 fvhTofPntAllAngCent()
136 , fhPointMapAng(NULL)
137 , fhPointMapSph(NULL)
138 , fhRealPointMapXY(NULL)
139 , fhRealPointMapXZ(NULL)
140 , fhRealPointMapYZ(NULL)
141 , fhRealPointMapAng(NULL)
142 , fhRealPointMapSph(NULL)
153 , fhLeftRightDigiMatch(NULL)
154 , fhNbPointsInHit(NULL)
155 , fhNbTracksInHit(NULL)
156 , fhHitMapSingPntXY(NULL)
157 , fhHitMapSingPntXZ(NULL)
158 , fhHitMapSingPntYZ(NULL)
159 , fhHitMapSingPntAng(NULL)
160 , fhHitMapSingPntSph(NULL)
161 , fhHitMapMultPntXY(NULL)
162 , fhHitMapMultPntXZ(NULL)
163 , fhHitMapMultPntYZ(NULL)
164 , fhHitMapMultPntAng(NULL)
165 , fhHitMapMultPntSph(NULL)
166 , fhHitMapSingTrkXY(NULL)
167 , fhHitMapSingTrkXZ(NULL)
168 , fhHitMapSingTrkYZ(NULL)
169 , fhHitMapSingTrkAng(NULL)
170 , fhHitMapSingTrkSph(NULL)
171 , fhHitMapMultTrkXY(NULL)
172 , fhHitMapMultTrkXZ(NULL)
173 , fhHitMapMultTrkYZ(NULL)
174 , fhHitMapMultTrkAng(NULL)
175 , fhHitMapMultTrkSph(NULL)
176 , fhSinglePointHitDeltaX(NULL)
177 , fhSinglePointHitDeltaY(NULL)
178 , fhSinglePointHitDeltaZ(NULL)
179 , fhSinglePointHitDeltaR(NULL)
180 , fhSinglePointHitDeltaT(NULL)
181 , fhSinglePointHitPullX(NULL)
182 , fhSinglePointHitPullY(NULL)
183 , fhSinglePointHitPullZ(NULL)
184 , fhSinglePointHitPullR(NULL)
185 , fhSinglePointHitPullT(NULL)
186 , fhCltSzSinglePointHitPullX(NULL)
187 , fhCltSzSinglePointHitPullY(NULL)
188 , fhCltSzSinglePointHitPullZ(NULL)
189 , fhCltSzSinglePointHitPullR(NULL)
190 , fhCltSzSinglePointHitPullT(NULL)
191 , fhMultiPntHitClosestDeltaX(NULL)
192 , fhMultiPntHitClosestDeltaY(NULL)
193 , fhMultiPntHitClosestDeltaZ(NULL)
194 , fhMultiPntHitClosestDeltaR(NULL)
195 , fhMultiPntHitClosestDeltaT(NULL)
196 , fhMultiPntHitClosestPullX(NULL)
197 , fhMultiPntHitClosestPullY(NULL)
198 , fhMultiPntHitClosestPullZ(NULL)
199 , fhMultiPntHitClosestPullR(NULL)
200 , fhMultiPntHitClosestPullT(NULL)
201 , fhMultiPntHitFurthestDeltaX(NULL)
202 , fhMultiPntHitFurthestDeltaY(NULL)
203 , fhMultiPntHitFurthestDeltaZ(NULL)
204 , fhMultiPntHitFurthestDeltaR(NULL)
205 , fhMultiPntHitFurthestDeltaT(NULL)
206 , fhMultiPntHitFurthestPullX(NULL)
207 , fhMultiPntHitFurthestPullY(NULL)
208 , fhMultiPntHitFurthestPullZ(NULL)
209 , fhMultiPntHitFurthestPullR(NULL)
210 , fhMultiPntHitFurthestPullT(NULL)
211 , fhMultiPntHitMeanDeltaX(NULL)
212 , fhMultiPntHitMeanDeltaY(NULL)
213 , fhMultiPntHitMeanDeltaZ(NULL)
214 , fhMultiPntHitMeanDeltaR(NULL)
215 , fhMultiPntHitMeanDeltaT(NULL)
216 , fhMultiPntHitMeanPullX(NULL)
217 , fhMultiPntHitMeanPullY(NULL)
218 , fhMultiPntHitMeanPullZ(NULL)
219 , fhMultiPntHitMeanPullR(NULL)
220 , fhMultiPntHitMeanPullT(NULL)
221 , fhMultiPntHitBestDeltaX(NULL)
222 , fhMultiPntHitBestDeltaY(NULL)
223 , fhMultiPntHitBestDeltaZ(NULL)
224 , fhMultiPntHitBestDeltaR(NULL)
225 , fhMultiPntHitBestDeltaT(NULL)
226 , fhMultiPntHitBestPullX(NULL)
227 , fhMultiPntHitBestPullY(NULL)
228 , fhMultiPntHitBestPullZ(NULL)
229 , fhMultiPntHitBestPullR(NULL)
230 , fhMultiPntHitBestPullT(NULL)
231 , fhSingleTrackHitDeltaX(NULL)
232 , fhSingleTrackHitDeltaY(NULL)
233 , fhSingleTrackHitDeltaZ(NULL)
234 , fhSingleTrackHitDeltaR(NULL)
235 , fhSingleTrackHitDeltaT(NULL)
236 , fhSingleTrackHitPullX(NULL)
237 , fhSingleTrackHitPullY(NULL)
238 , fhSingleTrackHitPullZ(NULL)
239 , fhSingleTrackHitPullR(NULL)
240 , fhSingleTrackHitPullT(NULL)
241 , fhSingTrkMultiPntHitDeltaX(NULL)
242 , fhSingTrkMultiPntHitDeltaY(NULL)
243 , fhSingTrkMultiPntHitDeltaZ(NULL)
244 , fhSingTrkMultiPntHitDeltaR(NULL)
245 , fhSingTrkMultiPntHitDeltaT(NULL)
246 , fhSingTrkMultiPntHitPullX(NULL)
247 , fhSingTrkMultiPntHitPullY(NULL)
248 , fhSingTrkMultiPntHitPullZ(NULL)
249 , fhSingTrkMultiPntHitPullR(NULL)
250 , fhSingTrkMultiPntHitPullT(NULL)
251 , fhMultiTrkHitClosestDeltaX(NULL)
252 , fhMultiTrkHitClosestDeltaY(NULL)
253 , fhMultiTrkHitClosestDeltaZ(NULL)
254 , fhMultiTrkHitClosestDeltaR(NULL)
255 , fhMultiTrkHitClosestDeltaT(NULL)
256 , fhMultiTrkHitClosestPullX(NULL)
257 , fhMultiTrkHitClosestPullY(NULL)
258 , fhMultiTrkHitClosestPullZ(NULL)
259 , fhMultiTrkHitClosestPullR(NULL)
260 , fhMultiTrkHitClosestPullT(NULL)
261 , fhMultiTrkHitFurthestDeltaX(NULL)
262 , fhMultiTrkHitFurthestDeltaY(NULL)
263 , fhMultiTrkHitFurthestDeltaZ(NULL)
264 , fhMultiTrkHitFurthestDeltaR(NULL)
265 , fhMultiTrkHitFurthestDeltaT(NULL)
266 , fhMultiTrkHitFurthestPullX(NULL)
267 , fhMultiTrkHitFurthestPullY(NULL)
268 , fhMultiTrkHitFurthestPullZ(NULL)
269 , fhMultiTrkHitFurthestPullR(NULL)
270 , fhMultiTrkHitFurthestPullT(NULL)
271 , fhMultiTrkHitMeanDeltaX(NULL)
272 , fhMultiTrkHitMeanDeltaY(NULL)
273 , fhMultiTrkHitMeanDeltaZ(NULL)
274 , fhMultiTrkHitMeanDeltaR(NULL)
275 , fhMultiTrkHitMeanDeltaT(NULL)
276 , fhMultiTrkHitMeanPullX(NULL)
277 , fhMultiTrkHitMeanPullY(NULL)
278 , fhMultiTrkHitMeanPullZ(NULL)
279 , fhMultiTrkHitMeanPullR(NULL)
280 , fhMultiTrkHitMeanPullT(NULL)
281 , fhMultiTrkHitBestDeltaX(NULL)
282 , fhMultiTrkHitBestDeltaY(NULL)
283 , fhMultiTrkHitBestDeltaZ(NULL)
284 , fhMultiTrkHitBestDeltaR(NULL)
285 , fhMultiTrkHitBestDeltaT(NULL)
286 , fhMultiTrkHitBestPullX(NULL)
287 , fhMultiTrkHitBestPullY(NULL)
288 , fhMultiTrkHitBestPullZ(NULL)
289 , fhMultiTrkHitBestPullR(NULL)
290 , fhMultiTrkHitBestPullT(NULL)
295 , fvhPtmRapTofHitSinglePnt()
296 , fvhPtmRapTofHitSingleTrk()
297 , fvhPtmRapSecGenTrk()
298 , fvhPtmRapSecStsPnt()
299 , fvhPtmRapSecTofPnt()
300 , fvhPtmRapSecTofHit()
301 , fvhPtmRapSecTofHitSinglePnt()
302 , fvhPtmRapSecTofHitSingleTrk()
307 , fvhPlabTofHitSinglePnt()
308 , fvhPlabTofHitSingleTrk()
313 , fvhPlabSecTofHitSinglePnt()
314 , fvhPlabSecTofHitSingleTrk()
315 , fvhPtmRapGenTrkTofPnt()
316 , fvhPtmRapGenTrkTofHit()
317 , fvhPlabGenTrkTofPnt()
318 , fvhPlabGenTrkTofHit()
319 , fvhPlabStsTrkTofPnt()
320 , fvhPlabStsTrkTofHit()
321 , fvhPtmRapSecGenTrkTofPnt()
322 , fvhPtmRapSecGenTrkTofHit()
323 , fvhPlabSecGenTrkTofPnt()
324 , fvhPlabSecGenTrkTofHit()
325 , fvhPlabSecStsTrkTofPnt()
326 , fvhPlabSecStsTrkTofHit()
327 , fvulIdxTracksWithPnt()
328 , fvulIdxTracksWithHit()
329 , fhIntegratedHitPntEff(NULL)
330 , fvulIdxPrimTracksWithPnt()
331 , fvulIdxPrimTracksWithHit()
332 , fhIntegratedHitPntEffPrim(NULL)
333 , fvulIdxSecTracksWithPnt()
334 , fvulIdxSecTracksWithHit()
335 , fhIntegratedHitPntEffSec(NULL)
336 , fvulIdxHiddenTracksWithHit()
337 , fhIntegratedHiddenHitPntLoss(NULL)
338 , fvulIdxHiddenPrimTracksWithHit()
339 , fhIntegratedHiddenHitPntLossPrim(NULL)
340 , fvulIdxHiddenSecTracksWithHit()
341 , fhIntegratedHiddenHitPntLossSec(NULL)
342 , fvulIdxTracksWithPntGaps()
343 , fvulIdxTracksWithHitGaps()
344 , fhIntegratedHitPntEffGaps(NULL)
345 , fvulIdxPrimTracksWithPntGaps()
346 , fvulIdxPrimTracksWithHitGaps()
347 , fhIntegratedHitPntEffPrimGaps(NULL)
348 , fvulIdxSecTracksWithPntGaps()
349 , fvulIdxSecTracksWithHitGaps()
350 , fhIntegratedHitPntEffSecGaps(NULL)
351 , fhMcTrkStartPrimSingTrk(NULL)
352 , fhMcTrkStartSecSingTrk(NULL)
353 , fhMcTrkStartPrimMultiTrk(NULL)
354 , fhMcTrkStartSecMultiTrk(NULL)
355 , fhPointMatchWeight(NULL)
357 cout <<
"CbmTofHitFinderQa: Task started " << endl;
363 : FairTask(name, verbose)
376 , fMCEventHeader(NULL)
377 , fTofPointsColl(NULL)
378 , fMcTracksColl(NULL)
379 , fTofDigisColl(NULL)
380 , fTofDigiMatchPointsColl(NULL)
382 , fTofDigiMatchColl(NULL)
383 , fTofHitMatchColl(NULL)
384 , fbHitProducerSource(kFALSE)
385 , fRealTofPointsColl(NULL)
386 , fRealTofMatchColl(NULL)
387 , fbRealPointAvail(kFALSE)
388 , fbNormHistGenMode(kFALSE)
389 , fsHistoInNormCartFilename(
"")
390 , fsHistoInNormAngFilename(
"")
391 , fsHistoInNormSphFilename(
"")
392 , fsHistoOutFilename(
"./tofQa.hst.root")
394 , fuNbEventsForHitsNbPlots(30000)
395 , fhNbHitsPerEvent(NULL)
396 , fhNbHitsSingPntPerEvent(NULL)
397 , fhNbHitsMultPntPerEvent(NULL)
398 , fhNbHitsSingTrkPerEvent(NULL)
399 , fhNbHitsMultTrkPerEvent(NULL)
400 , fhNbDigisInHit(NULL)
401 , fhNbDigisInHitMapXY(NULL)
402 , fvhTrackAllStartZCent()
404 fvhTrackSecStartZCent()
406 fvhTrackAllStartXZCent()
412 fvhTofPntAllAngCent()
427 , fhPointMapAng(NULL)
428 , fhPointMapSph(NULL)
429 , fhRealPointMapXY(NULL)
430 , fhRealPointMapXZ(NULL)
431 , fhRealPointMapYZ(NULL)
432 , fhRealPointMapAng(NULL)
433 , fhRealPointMapSph(NULL)
444 , fhLeftRightDigiMatch(NULL)
445 , fhNbPointsInHit(NULL)
446 , fhNbTracksInHit(NULL)
447 , fhHitMapSingPntXY(NULL)
448 , fhHitMapSingPntXZ(NULL)
449 , fhHitMapSingPntYZ(NULL)
450 , fhHitMapSingPntAng(NULL)
451 , fhHitMapSingPntSph(NULL)
452 , fhHitMapMultPntXY(NULL)
453 , fhHitMapMultPntXZ(NULL)
454 , fhHitMapMultPntYZ(NULL)
455 , fhHitMapMultPntAng(NULL)
456 , fhHitMapMultPntSph(NULL)
457 , fhHitMapSingTrkXY(NULL)
458 , fhHitMapSingTrkXZ(NULL)
459 , fhHitMapSingTrkYZ(NULL)
460 , fhHitMapSingTrkAng(NULL)
461 , fhHitMapSingTrkSph(NULL)
462 , fhHitMapMultTrkXY(NULL)
463 , fhHitMapMultTrkXZ(NULL)
464 , fhHitMapMultTrkYZ(NULL)
465 , fhHitMapMultTrkAng(NULL)
466 , fhHitMapMultTrkSph(NULL)
467 , fhSinglePointHitDeltaX(NULL)
468 , fhSinglePointHitDeltaY(NULL)
469 , fhSinglePointHitDeltaZ(NULL)
470 , fhSinglePointHitDeltaR(NULL)
471 , fhSinglePointHitDeltaT(NULL)
472 , fhSinglePointHitPullX(NULL)
473 , fhSinglePointHitPullY(NULL)
474 , fhSinglePointHitPullZ(NULL)
475 , fhSinglePointHitPullR(NULL)
476 , fhSinglePointHitPullT(NULL)
477 , fhCltSzSinglePointHitPullX(NULL)
478 , fhCltSzSinglePointHitPullY(NULL)
479 , fhCltSzSinglePointHitPullZ(NULL)
480 , fhCltSzSinglePointHitPullR(NULL)
481 , fhCltSzSinglePointHitPullT(NULL)
482 , fhMultiPntHitClosestDeltaX(NULL)
483 , fhMultiPntHitClosestDeltaY(NULL)
484 , fhMultiPntHitClosestDeltaZ(NULL)
485 , fhMultiPntHitClosestDeltaR(NULL)
486 , fhMultiPntHitClosestDeltaT(NULL)
487 , fhMultiPntHitClosestPullX(NULL)
488 , fhMultiPntHitClosestPullY(NULL)
489 , fhMultiPntHitClosestPullZ(NULL)
490 , fhMultiPntHitClosestPullR(NULL)
491 , fhMultiPntHitClosestPullT(NULL)
492 , fhMultiPntHitFurthestDeltaX(NULL)
493 , fhMultiPntHitFurthestDeltaY(NULL)
494 , fhMultiPntHitFurthestDeltaZ(NULL)
495 , fhMultiPntHitFurthestDeltaR(NULL)
496 , fhMultiPntHitFurthestDeltaT(NULL)
497 , fhMultiPntHitFurthestPullX(NULL)
498 , fhMultiPntHitFurthestPullY(NULL)
499 , fhMultiPntHitFurthestPullZ(NULL)
500 , fhMultiPntHitFurthestPullR(NULL)
501 , fhMultiPntHitFurthestPullT(NULL)
502 , fhMultiPntHitMeanDeltaX(NULL)
503 , fhMultiPntHitMeanDeltaY(NULL)
504 , fhMultiPntHitMeanDeltaZ(NULL)
505 , fhMultiPntHitMeanDeltaR(NULL)
506 , fhMultiPntHitMeanDeltaT(NULL)
507 , fhMultiPntHitMeanPullX(NULL)
508 , fhMultiPntHitMeanPullY(NULL)
509 , fhMultiPntHitMeanPullZ(NULL)
510 , fhMultiPntHitMeanPullR(NULL)
511 , fhMultiPntHitMeanPullT(NULL)
512 , fhMultiPntHitBestDeltaX(NULL)
513 , fhMultiPntHitBestDeltaY(NULL)
514 , fhMultiPntHitBestDeltaZ(NULL)
515 , fhMultiPntHitBestDeltaR(NULL)
516 , fhMultiPntHitBestDeltaT(NULL)
517 , fhMultiPntHitBestPullX(NULL)
518 , fhMultiPntHitBestPullY(NULL)
519 , fhMultiPntHitBestPullZ(NULL)
520 , fhMultiPntHitBestPullR(NULL)
521 , fhMultiPntHitBestPullT(NULL)
522 , fhSingleTrackHitDeltaX(NULL)
523 , fhSingleTrackHitDeltaY(NULL)
524 , fhSingleTrackHitDeltaZ(NULL)
525 , fhSingleTrackHitDeltaR(NULL)
526 , fhSingleTrackHitDeltaT(NULL)
527 , fhSingleTrackHitPullX(NULL)
528 , fhSingleTrackHitPullY(NULL)
529 , fhSingleTrackHitPullZ(NULL)
530 , fhSingleTrackHitPullR(NULL)
531 , fhSingleTrackHitPullT(NULL)
532 , fhSingTrkMultiPntHitDeltaX(NULL)
533 , fhSingTrkMultiPntHitDeltaY(NULL)
534 , fhSingTrkMultiPntHitDeltaZ(NULL)
535 , fhSingTrkMultiPntHitDeltaR(NULL)
536 , fhSingTrkMultiPntHitDeltaT(NULL)
537 , fhSingTrkMultiPntHitPullX(NULL)
538 , fhSingTrkMultiPntHitPullY(NULL)
539 , fhSingTrkMultiPntHitPullZ(NULL)
540 , fhSingTrkMultiPntHitPullR(NULL)
541 , fhSingTrkMultiPntHitPullT(NULL)
542 , fhMultiTrkHitClosestDeltaX(NULL)
543 , fhMultiTrkHitClosestDeltaY(NULL)
544 , fhMultiTrkHitClosestDeltaZ(NULL)
545 , fhMultiTrkHitClosestDeltaR(NULL)
546 , fhMultiTrkHitClosestDeltaT(NULL)
547 , fhMultiTrkHitClosestPullX(NULL)
548 , fhMultiTrkHitClosestPullY(NULL)
549 , fhMultiTrkHitClosestPullZ(NULL)
550 , fhMultiTrkHitClosestPullR(NULL)
551 , fhMultiTrkHitClosestPullT(NULL)
552 , fhMultiTrkHitFurthestDeltaX(NULL)
553 , fhMultiTrkHitFurthestDeltaY(NULL)
554 , fhMultiTrkHitFurthestDeltaZ(NULL)
555 , fhMultiTrkHitFurthestDeltaR(NULL)
556 , fhMultiTrkHitFurthestDeltaT(NULL)
557 , fhMultiTrkHitFurthestPullX(NULL)
558 , fhMultiTrkHitFurthestPullY(NULL)
559 , fhMultiTrkHitFurthestPullZ(NULL)
560 , fhMultiTrkHitFurthestPullR(NULL)
561 , fhMultiTrkHitFurthestPullT(NULL)
562 , fhMultiTrkHitMeanDeltaX(NULL)
563 , fhMultiTrkHitMeanDeltaY(NULL)
564 , fhMultiTrkHitMeanDeltaZ(NULL)
565 , fhMultiTrkHitMeanDeltaR(NULL)
566 , fhMultiTrkHitMeanDeltaT(NULL)
567 , fhMultiTrkHitMeanPullX(NULL)
568 , fhMultiTrkHitMeanPullY(NULL)
569 , fhMultiTrkHitMeanPullZ(NULL)
570 , fhMultiTrkHitMeanPullR(NULL)
571 , fhMultiTrkHitMeanPullT(NULL)
572 , fhMultiTrkHitBestDeltaX(NULL)
573 , fhMultiTrkHitBestDeltaY(NULL)
574 , fhMultiTrkHitBestDeltaZ(NULL)
575 , fhMultiTrkHitBestDeltaR(NULL)
576 , fhMultiTrkHitBestDeltaT(NULL)
577 , fhMultiTrkHitBestPullX(NULL)
578 , fhMultiTrkHitBestPullY(NULL)
579 , fhMultiTrkHitBestPullZ(NULL)
580 , fhMultiTrkHitBestPullR(NULL)
581 , fhMultiTrkHitBestPullT(NULL)
586 , fvhPtmRapTofHitSinglePnt()
587 , fvhPtmRapTofHitSingleTrk()
588 , fvhPtmRapSecGenTrk()
589 , fvhPtmRapSecStsPnt()
590 , fvhPtmRapSecTofPnt()
591 , fvhPtmRapSecTofHit()
592 , fvhPtmRapSecTofHitSinglePnt()
593 , fvhPtmRapSecTofHitSingleTrk()
598 , fvhPlabTofHitSinglePnt()
599 , fvhPlabTofHitSingleTrk()
604 , fvhPlabSecTofHitSinglePnt()
605 , fvhPlabSecTofHitSingleTrk()
606 , fvhPtmRapGenTrkTofPnt()
607 , fvhPtmRapGenTrkTofHit()
608 , fvhPlabGenTrkTofPnt()
609 , fvhPlabGenTrkTofHit()
610 , fvhPlabStsTrkTofPnt()
611 , fvhPlabStsTrkTofHit()
612 , fvhPtmRapSecGenTrkTofPnt()
613 , fvhPtmRapSecGenTrkTofHit()
614 , fvhPlabSecGenTrkTofPnt()
615 , fvhPlabSecGenTrkTofHit()
616 , fvhPlabSecStsTrkTofPnt()
617 , fvhPlabSecStsTrkTofHit()
618 , fvulIdxTracksWithPnt()
619 , fvulIdxTracksWithHit()
620 , fhIntegratedHitPntEff(NULL)
621 , fvulIdxPrimTracksWithPnt()
622 , fvulIdxPrimTracksWithHit()
623 , fhIntegratedHitPntEffPrim(NULL)
624 , fvulIdxSecTracksWithPnt()
625 , fvulIdxSecTracksWithHit()
626 , fhIntegratedHitPntEffSec(NULL)
627 , fvulIdxHiddenTracksWithHit()
628 , fhIntegratedHiddenHitPntLoss(NULL)
629 , fvulIdxHiddenPrimTracksWithHit()
630 , fhIntegratedHiddenHitPntLossPrim(NULL)
631 , fvulIdxHiddenSecTracksWithHit()
632 , fhIntegratedHiddenHitPntLossSec(NULL)
633 , fvulIdxTracksWithPntGaps()
634 , fvulIdxTracksWithHitGaps()
635 , fhIntegratedHitPntEffGaps(NULL)
636 , fvulIdxPrimTracksWithPntGaps()
637 , fvulIdxPrimTracksWithHitGaps()
638 , fhIntegratedHitPntEffPrimGaps(NULL)
639 , fvulIdxSecTracksWithPntGaps()
640 , fvulIdxSecTracksWithHitGaps()
641 , fhIntegratedHitPntEffSecGaps(NULL)
642 , fhMcTrkStartPrimSingTrk(NULL)
643 , fhMcTrkStartSecSingTrk(NULL)
644 , fhMcTrkStartPrimMultiTrk(NULL)
645 , fhMcTrkStartSecMultiTrk(NULL)
646 , fhPointMatchWeight(NULL)
880 TDirectory* oldir = gDirectory;
897 Double_t xrange = 750.;
898 Double_t yrange = 500.;
903 Int_t iNbBinThetaX = 1200;
904 Double_t dThetaXMin = -60.0;
905 Double_t dThetaXMax = 60.0;
906 Int_t iNbBinThetaY = 900;
907 Double_t dThetaYMin = -45.0;
908 Double_t dThetaYMax = 45.0;
910 Int_t iNbBinTheta = 180;
911 Double_t dThetaMin = 0;
912 Double_t dThetaMax = TMath::Pi() * 90 / 180;
913 Int_t iNbBinPhi = 180;
914 Double_t dPhiMin = -TMath::Pi();
915 Double_t dPhiMax = TMath::Pi();
918 Int_t iNbBinsDeltaPos = 600;
919 Double_t dDeltaPosRange = 30;
920 Int_t iNbBinsDeltaTime = 1000;
921 Double_t dDeltaTimeRange = 1000;
922 Int_t iNbBinsMulti = 18;
923 Double_t iMinMulti = 2 - 0.5;
924 Double_t iMaxMulti = 19 + 0.5;
926 Int_t iNbBinsPullPos = 500;
927 Double_t dPullPosRange = 5;
930 Int_t iNbBinsStartZ = 1250;
931 Double_t dMinStartZ = -50.0;
932 Double_t dMaxStartZ = 1200.0;
933 Int_t iNbBinsStartXY = 1200;
934 Double_t dMinStartXY = -600.0;
935 Double_t dMaxStartXY = 600.0;
936 Int_t iNbBinsCentr = 16;
937 Double_t dNbMinCentr = 0.0;
938 Double_t dNbMaxCentr = 16.0;
941 fhNbHitsPerEvent =
new TH1I(
"TofTests_NbHitsPerEvent",
"Number of Hits per event; EventsIdx []; # [Hits]",
944 new TH1I(
"TofTests_NbHitsSingPntPerEvent",
"Number of Single Point Hits per event; EventsIdx []; # [Hits]",
947 new TH1I(
"TofTests_NbHitsMultPntPerEvent",
"Number of Multi Point Hits per event; EventsIdx []; # [Hits]",
950 new TH1I(
"TofTests_NbHitsSingTrkPerEvent",
"Number of Single Track Hits per event; EventsIdx []; # [Hits]",
953 new TH1I(
"TofTests_NbHitsMultTrkPerEvent",
"Number of Multi Track Hits per event; EventsIdx []; # [Hits]",
956 fhNbDigisInHit =
new TH1I(
"TofTests_NbDigisInHit",
"Number of Digis per Hit; # [Digis]", 100, -0.5, 100 - 0.5);
958 new TProfile2D(
"TofTests_NbDigisInHitMapXY",
"Number of Digis per Hit vs Position; X[cm]; Y[cm]; Mean [Digis/Hit]",
959 nbinx, -xrange, xrange, nbiny, -yrange, yrange);
969 for (Int_t iPartIdx = 0; iPartIdx <
kiNbPart; iPartIdx++) {
972 new TH2D(Form(
"TofTests_TrackAllStartZCent_%s",
ksPartTag[iPartIdx].Data()),
973 Form(
"Centrality vs Start Z distribution for MC tracks w/ TOF Pnt, %s, "
974 "all tracks; Start Z [cm]; B [fm]; # []",
976 iNbBinsStartZ, dMinStartZ, dMaxStartZ, iNbBinsCentr, dNbMinCentr, dNbMaxCentr);
978 new TH2D(Form(
"TofTests_TrackSecStartZCent_%s",
ksPartTag[iPartIdx].Data()),
979 Form(
"Centrality vs Start Z distribution for MC tracks w/ TOF Pnt, %s, "
980 "secondary tracks; Start Z [cm]; B [fm]; # []",
982 iNbBinsStartZ, dMinStartZ, dMaxStartZ, iNbBinsCentr, dNbMinCentr, dNbMaxCentr);
985 new TH3D(Form(
"TofTests_TrackAllStartXZCent_%s",
ksPartTag[iPartIdx].Data()),
986 Form(
"Centrality vs Start Z distribution for MC tracks w/ TOF Pnt, %s, "
987 "all tracks; Start X [cm]; Start Z [cm]; B [fm];",
989 iNbBinsStartXY / 2, dMinStartXY, dMaxStartXY, iNbBinsStartZ / 2, dMinStartZ, dMaxStartZ, iNbBinsCentr,
990 dNbMinCentr, dNbMaxCentr);
992 new TH2D(Form(
"TofTests_TrackAllStartXZ_%s",
ksPartTag[iPartIdx].Data()),
993 Form(
"Start X vs Z distribution for MC tracks w/ TOF Pnt, %s, "
994 "all tracks; Start Z [cm]; Start X [cm]; # []",
996 iNbBinsStartZ / 2, dMinStartZ, dMaxStartZ, iNbBinsStartXY, dMinStartXY, dMaxStartXY);
998 new TH2D(Form(
"TofTests_TrackAllStartYZ_%s",
ksPartTag[iPartIdx].Data()),
999 Form(
"Start Y vs Z distribution for MC tracks w/ TOF Pnt, %s, "
1000 "all tracks; Start Z [cm]; Start Y [cm]; # []",
1002 iNbBinsStartZ / 2, dMinStartZ, dMaxStartZ, iNbBinsStartXY, dMinStartXY, dMaxStartXY);
1004 Form(
"Centrality vs Angular position of TOF Pnt, %s, all "
1005 "tracks; #theta_{x}[Deg.]; #theta_{y}[Deg.]; B [fm];",
1007 iNbBinThetaX / 2, dThetaXMin, dThetaXMax, iNbBinThetaY / 2, dThetaYMin,
1008 dThetaYMax, iNbBinsCentr, dNbMinCentr, dNbMaxCentr);
1013 "Position of the MC Tracks assuming along Z axis; "
1014 "X[cm]; Y[cm]; # [Tracks]",
1015 nbinx, -xrange, xrange, nbiny, -yrange, yrange);
1017 "Position of the MC Tracks assuming along Z axis; "
1018 "X[cm]; Z[cm]; # [Tracks]",
1019 nbinx, -xrange, xrange, nbinz, zmin, zmax);
1021 "Position of the MC Tracks assuming along Z axis; "
1022 "Y[cm]; Z[cm]; # [Tracks]",
1023 nbiny, -yrange, yrange, nbinz, zmin, zmax);
1025 "Position of the MC Tracks assuming from origin; "
1026 "#theta_{x}[Deg.]; #theta_{y}[Deg.]; # [Tracks]",
1027 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1029 "Position of the MC Tracks assuming from origin; "
1030 "#theta[rad.]; #phi[rad.]; # [Tracks]",
1031 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1034 fhPointMapXY =
new TH2D(
"TofTests_PointsMapXY",
"Position of the Tof Points; X[cm]; Y[cm]; # [Points]", nbinx,
1035 -xrange, xrange, nbiny, -yrange, yrange);
1036 fhPointMapXZ =
new TH2D(
"TofTests_PointsMapXZ",
"Position of the Tof Points; X[cm]; Z[cm]; # [Points]", nbinx,
1037 -xrange, xrange, nbinz, zmin, zmax);
1038 fhPointMapYZ =
new TH2D(
"TofTests_PointsMapYZ",
"Position of the Tof Points; Y[cm]; Z[cm]; # [Points]", nbiny,
1039 -yrange, yrange, nbinz, zmin, zmax);
1041 "Position of the Tof Points; #theta_{x}[Deg.]; "
1042 "#theta_{y}[Deg.]; # [Points]",
1043 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1044 fhPointMapSph =
new TH2D(
"TofTests_PointsMapSph",
"Position of the Tof Points; #theta[rad.]; #phi[rad.]; # [Points]",
1045 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1048 new TH2D(
"TofTests_RealPointsMapXY",
"Position of the Tof Points (mean o/ gaps); X[cm]; Y[cm]; # [Points]", nbinx,
1049 -xrange, xrange, nbiny, -yrange, yrange);
1051 new TH2D(
"TofTests_RealPointsMapXZ",
"Position of the Tof Points (mean o/ gaps); X[cm]; Z[cm]; # [Points]", nbinx,
1052 -xrange, xrange, nbinz, zmin, zmax);
1054 new TH2D(
"TofTests_RealPointsMapYZ",
"Position of the Tof Points (mean o/ gaps); Y[cm]; Z[cm]; # [Points]", nbiny,
1055 -yrange, yrange, nbinz, zmin, zmax);
1057 "Position of the Tof Points (mean o/ gaps); "
1058 "#theta_{x}[Deg.]; #theta_{y}[Deg.]; # [Points]",
1059 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1061 "Position of the Tof Points (mean o/ gaps); "
1062 "#theta[rad.]; #phi[rad.]; # [Points]",
1063 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1065 fhDigiMapXY =
new TH2D(
"TofTests_DigisMapXY",
"Position of the Tof Digis; X[cm]; Y[cm]; # [Digi]", nbinx, -xrange,
1066 xrange, nbiny, -yrange, yrange);
1067 fhDigiMapXZ =
new TH2D(
"TofTests_DigisMapXZ",
"Position of the Tof Digis; X[cm]; Z[cm]; # [Digi]", nbinx, -xrange,
1068 xrange, nbinz, zmin, zmax);
1069 fhDigiMapYZ =
new TH2D(
"TofTests_DigisMapYZ",
"Position of the Tof Digis; Y[cm]; Z[cm]; # [Digi]", nbiny, -yrange,
1070 yrange, nbinz, zmin, zmax);
1072 new TH2D(
"TofTests_DigisMapAng",
"Position of the Tof Digis; #theta_{x}[Deg.]; #theta_{y}[Deg.]; # [Digi]",
1073 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1074 fhDigiMapSph =
new TH2D(
"TofTests_DigisMapSph",
"Position of the Tof Digis; #theta[rad.]; #phi[rad.]; # [Points]",
1075 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1078 fhHitMapXY =
new TH2D(
"TofTests_HitsMapXY",
"Position of the Tof Hits; X[cm]; Y[cm]; # [Hits]", nbinx, -xrange,
1079 xrange, nbiny, -yrange, yrange);
1080 fhHitMapXZ =
new TH2D(
"TofTests_HitsMapXZ",
"Position of the Tof Hits; X[cm]; Z[cm]; # [Hits]", nbinx, -xrange,
1081 xrange, nbinz, zmin, zmax);
1082 fhHitMapYZ =
new TH2D(
"TofTests_HitsMapYZ",
"Position of the Tof Hits; Y[cm]; Z[cm]; # [Hits]", nbiny, -yrange,
1083 yrange, nbinz, zmin, zmax);
1085 new TH2D(
"TofTests_HitsMapAng",
"Position of the Tof Hits; #theta_{x}[Deg.]; #theta_{y}[Deg.]; # [Hits]",
1086 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1087 fhHitMapSph =
new TH2D(
"TofTests_HitsMapSph",
"Position of the Tof Hits; #theta[rad.]; #phi[rad.]; # [Points]",
1088 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1095 "Matching between the left an right digi for "
1096 "strips added to hit; Global Strip Index []",
1104 new TH1D(
"TofTests_NbPointsInHit",
"Number of different MC Points in Hit; # [MC Points]", 100, -0.5, 99.5);
1106 new TH1D(
"TofTests_NbTracksInHit",
"Number of different MC Tracks in Hit; # [MC Tracks]", 100, -0.5, 99.5);
1110 new TH2D(
"TofTests_HitsMapSingPntXY",
"Position of the Tof Hits from a single MC Point; X[cm]; Y[cm]; # [Hits]",
1111 nbinx, -xrange, xrange, nbiny, -yrange, yrange);
1113 new TH2D(
"TofTests_HitsMapSingPntXZ",
"Position of the Tof Hits from a single MC Point; X[cm]; Z[cm]; # [Hits]",
1114 nbinx, -xrange, xrange, nbinz, zmin, zmax);
1116 new TH2D(
"TofTests_HitsMapSingPntYZ",
"Position of the Tof Hits from a single MC Point; Y[cm]; Z[cm]; # [Hits]",
1117 nbiny, -yrange, yrange, nbinz, zmin, zmax);
1119 "Position of the Tof Hits from a single MC Point; "
1120 "#theta_{x}[Deg.]; #theta_{y}[Deg.]; # [Hits]",
1121 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1123 "Position of the Tof Hits from a single MC "
1124 "Point; #theta[rad.]; #phi[rad.]; # [Points]",
1125 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1128 new TH2D(
"TofTests_HitsMapMultPntXY",
"Position of the Tof Hits from multiple MC Points; X[cm]; Y[cm]; # [Hits]",
1129 nbinx, -xrange, xrange, nbiny, -yrange, yrange);
1131 new TH2D(
"TofTests_HitsMapMultPntXZ",
"Position of the Tof Hits from multiple MC Points; X[cm]; Z[cm]; # [Hits]",
1132 nbinx, -xrange, xrange, nbinz, zmin, zmax);
1134 new TH2D(
"TofTests_HitsMapMultPntYZ",
"Position of the Tof Hits from multiple MC Points; Y[cm]; Z[cm]; # [Hits]",
1135 nbiny, -yrange, yrange, nbinz, zmin, zmax);
1137 "Position of the Tof Hits from multiple MC Points; "
1138 "#theta_{x}[Deg.]; #theta_{y}[Deg.]; # [Hits]",
1139 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1141 "Position of the Tof Hits from multiple MC "
1142 "Points; #theta[rad.]; #phi[rad.]; # [Points]",
1143 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1146 new TH2D(
"TofTests_HitsMapSingTrkXY",
"Position of the Tof Hits from a single MC Track; X[cm]; Y[cm]; # [Hits]",
1147 nbinx, -xrange, xrange, nbiny, -yrange, yrange);
1149 new TH2D(
"TofTests_HitsMapSingTrkXZ",
"Position of the Tof Hits from a single MC Track; X[cm]; Z[cm]; # [Hits]",
1150 nbinx, -xrange, xrange, nbinz, zmin, zmax);
1152 new TH2D(
"TofTests_HitsMapSingTrkYZ",
"Position of the Tof Hits from a single MC Track; Y[cm]; Z[cm]; # [Hits]",
1153 nbiny, -yrange, yrange, nbinz, zmin, zmax);
1155 "Position of the Tof Hits from a single MC Track; "
1156 "#theta_{x}[Deg.]; #theta_{y}[Deg.]; # [Hits]",
1157 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1159 "Position of the Tof Hits from a single MC "
1160 "Track; #theta[rad.]; #phi[rad.]; # [Points]",
1161 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1164 new TH2D(
"TofTests_HitsMapMultTrkXY",
"Position of the Tof Hits from multiple MC Tracks; X[cm]; Y[cm]; # [Hits]",
1165 nbinx, -xrange, xrange, nbiny, -yrange, yrange);
1167 new TH2D(
"TofTests_HitsMapMultTrkXZ",
"Position of the Tof Hits from multiple MC Tracks; X[cm]; Z[cm]; # [Hits]",
1168 nbinx, -xrange, xrange, nbinz, zmin, zmax);
1170 new TH2D(
"TofTests_HitsMapMultTrkYZ",
"Position of the Tof Hits from multiple MC Tracks; Y[cm]; Z[cm]; # [Hits]",
1171 nbiny, -yrange, yrange, nbinz, zmin, zmax);
1173 "Position of the Tof Hits from multiple MC Tracks; "
1174 "#theta_{x}[Deg.]; #theta_{y}[Deg.]; # [Hits]",
1175 iNbBinThetaX, dThetaXMin, dThetaXMax, iNbBinThetaY, dThetaYMin, dThetaYMax);
1177 "Position of the Tof Hits from multiple MC "
1178 "Tracks; #theta[rad.]; #phi[rad.]; # [Points]",
1179 iNbBinTheta, dThetaMin, dThetaMax, iNbBinPhi, dPhiMin, dPhiMax);
1184 "Quality of the Tof Hits position on X axis, for hit coming from "
1185 "a single MC Point; X(Hit) - X(Point) [cm]; # [Hits]",
1186 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1188 "Quality of the Tof Hits position on Y axis, for hit coming from "
1189 "a single MC Point; Y(Hit) - Y(Point) [cm]; # [Hits]",
1190 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1192 "Quality of the Tof Hits position on Z axis, for hit coming from "
1193 "a single MC Point; Z(Hit) - Z(Point) [cm]; # [Hits]",
1194 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1196 "Quality of the Tof Hits position, for hit coming from a single "
1197 "MC Point; R(Hit -> Point) [cm]; # [Hits]",
1198 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1200 "Quality of the Tof Hits Time, for hit coming from a single MC "
1201 "Point; T(hit) - T(Point) [ps]; # [Hits]",
1202 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange);
1204 "Quality of the Tof Hits position error on X axis, for hit coming "
1205 "from a single MC Point; Pull X(Hit -> Point) []; # [Hits]",
1206 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1208 "Quality of the Tof Hits position error on Y axis, for hit coming "
1209 "from a single MC Point; Pull Y(Hit -> Point) []; # [Hits]",
1210 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1212 "Quality of the Tof Hits position error on Z axis, for hit coming "
1213 "from a single MC Point; Pull Z(Hit -> Point) []; # [Hits]",
1214 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1216 "Quality of the Tof Hits position error, for hit coming from a "
1217 "single MC Point; Pull R(Hit -> Point) []; # [Hits]",
1218 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1220 "Quality of the Tof Hits time error, for hit coming from a single "
1221 "MC Point; Pull T(Hit -> Point) []; # [Hits]",
1222 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1224 "Quality of the Tof Hits position error on X axis, for hit coming "
1225 "from a single MC Point; Pull X(Hit -> Point) []; # [Hits]",
1226 iNbBinsPullPos, -dPullPosRange, dPullPosRange, 32, 1, 33);
1228 "Quality of the Tof Hits position error on Y axis, for hit coming "
1229 "from a single MC Point; Pull Y(Hit -> Point) []; # [Hits]",
1230 iNbBinsPullPos, -dPullPosRange, dPullPosRange, 32, 1, 33);
1232 "Quality of the Tof Hits position error on Z axis, for hit coming "
1233 "from a single MC Point; Pull Z(Hit -> Point) []; # [Hits]",
1234 iNbBinsPullPos, -dPullPosRange, dPullPosRange, 32, 1, 33);
1236 "Quality of the Tof Hits position error, for hit coming from a "
1237 "single MC Point; Pull R(Hit -> Point) []; # [Hits]",
1238 iNbBinsPullPos, -dPullPosRange, dPullPosRange, 32, 1, 33);
1240 "Quality of the Tof Hits time error, for hit coming from a single "
1241 "MC Point; Pull T(Hit -> Point) []; # [Hits]",
1242 iNbBinsPullPos, -dPullPosRange, dPullPosRange, 32, 1, 33);
1247 new TH2D(
"TofTests_MultiPntHitClosestDeltaX",
1248 "Quality of the Tof Hits position on X axis relative to closest "
1249 "Point, for hit coming from multiple MC Point; X(Hit) - X(Point) "
1250 "[cm]; # [Hits]; Multi [Pnt]",
1251 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1253 new TH2D(
"TofTests_MultiPntHitClosestDeltaY",
1254 "Quality of the Tof Hits position on Y axis relative to closest "
1255 "Point, for hit coming from multiple MC Point; Y(Hit) - Y(Point) "
1256 "[cm]; # [Hits]; Multi [Pnt]",
1257 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1259 new TH2D(
"TofTests_MultiPntHitClosestDeltaZ",
1260 "Quality of the Tof Hits position on Z axis relative to closest "
1261 "Point, for hit coming from multiple MC Point; Z(Hit) - Z(Point) "
1262 "[cm]; # [Hits]; Multi [Pnt]",
1263 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1265 new TH2D(
"TofTests_MultiPntHitClosestDeltaR",
1266 "Quality of the Tof Hits position relative to closest Point, for "
1267 "hit coming from multiple MC Point; R(Hit -> Point) [cm]; # "
1268 "[Hits]; Multi [Pnt]",
1269 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1271 new TH2D(
"TofTests_MultiPntHitClosestDeltaT",
1272 "Quality of the Tof Hits Time relative to closest Point, for hit coming "
1273 "from multiple MC Point; T(hit) - T(Point) [ps]; # [Hits]; Multi [Pnt]",
1274 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1276 new TH2D(
"TofTests_MultiPntHitClosestPullX",
1277 "Quality of the Tof Hits position error on X axis relative to "
1278 "closest Point, for hit coming from multiple MC Point; Pull X(Hit "
1279 "-> Point) []; # [Hits]; Multi [Pnt]",
1280 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1282 new TH2D(
"TofTests_MultiPntHitClosestPullY",
1283 "Quality of the Tof Hits position error on Y axis relative to "
1284 "closest Point, for hit coming from multiple MC Point; Pull Y(Hit "
1285 "-> Point) []; # [Hits]; Multi [Pnt]",
1286 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1288 new TH2D(
"TofTests_MultiPntHitClosestPullZ",
1289 "Quality of the Tof Hits position error on Z axis relative to "
1290 "closest Point, for hit coming from multiple MC Point; Pull Z(Hit "
1291 "-> Point) []; # [Hits]; Multi [Pnt]",
1292 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1294 new TH2D(
"TofTests_MultiPntHitClosestPullR",
1295 "Quality of the Tof Hits position error relative to closest "
1296 "Point, for hit coming from multiple MC Point; Pull R(Hit -> "
1297 "Point) []; # [Hits]; Multi [Pnt]",
1298 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1300 new TH2D(
"TofTests_MultiPntHitClosestPullT",
1301 "Quality of the Tof Hits time error relative to closest Point, "
1302 "for hit coming from multiple MC Point; Pull T(Hit -> Point) []; "
1303 "# [Hits]; Multi [Pnt]",
1304 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1307 new TH2D(
"TofTests_MultiPntHitFurthestDeltaX",
1308 "Quality of the Tof Hits position on X axis relative to furthest "
1309 "Point, for hit coming from multiple MC Point; X(Hit) - X(Point) "
1310 "[cm]; # [Hits]; Multi [Pnt]",
1311 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1313 new TH2D(
"TofTests_MultiPntHitFurthestDeltaY",
1314 "Quality of the Tof Hits position on Y axis relative to furthest "
1315 "Point, for hit coming from multiple MC Point; Y(Hit) - Y(Point) "
1316 "[cm]; # [Hits]; Multi [Pnt]",
1317 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1319 new TH2D(
"TofTests_MultiPntHitFurthestDeltaZ",
1320 "Quality of the Tof Hits position on Z axis relative to furthest "
1321 "Point, for hit coming from multiple MC Point; Z(Hit) - Z(Point) "
1322 "[cm]; # [Hits]; Multi [Pnt]",
1323 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1325 new TH2D(
"TofTests_MultiPntHitFurthestDeltaR",
1326 "Quality of the Tof Hits position relative to furthest Point, for "
1327 "hit coming from multiple MC Point; R(Hit -> Point) [cm]; # "
1328 "[Hits]; Multi [Pnt]",
1329 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1331 new TH2D(
"TofTests_MultiPntHitFurthestDeltaT",
1332 "Quality of the Tof Hits Time relative to furthest Point, for hit coming "
1333 "from multiple MC Point; T(hit) - T(Point) [ps]; # [Hits]; Multi [Pnt]",
1334 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1336 new TH2D(
"TofTests_MultiPntHitFurthestPullX",
1337 "Quality of the Tof Hits position error on X axis relative to "
1338 "furthest Point, for hit coming from multiple MC Point; Pull "
1339 "X(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1340 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1342 new TH2D(
"TofTests_MultiPntHitFurthestPullY",
1343 "Quality of the Tof Hits position error on Y axis relative to "
1344 "furthest Point, for hit coming from multiple MC Point; Pull "
1345 "Y(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1346 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1348 new TH2D(
"TofTests_MultiPntHitFurthestPullZ",
1349 "Quality of the Tof Hits position error on Z axis relative to "
1350 "furthest Point, for hit coming from multiple MC Point; Pull "
1351 "Z(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1352 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1354 new TH2D(
"TofTests_MultiPntHitFurthestPullR",
1355 "Quality of the Tof Hits position error relative to furthest "
1356 "Point, for hit coming from multiple MC Point; Pull R(Hit -> "
1357 "Point) []; # [Hits]; Multi [Pnt]",
1358 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1360 new TH2D(
"TofTests_MultiPntHitFurthestPullT",
1361 "Quality of the Tof Hits time error relative to furthest Point, "
1362 "for hit coming from multiple MC Point; Pull T(Hit -> Point) []; "
1363 "# [Hits]; Multi [Pnt]",
1364 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1367 new TH2D(
"TofTests_MultiPntHitMeanDeltaX",
1368 "Quality of the Tof Hits position on X axis relative to mean "
1369 "Point position, for hit coming from multiple MC Point; X(Hit) - "
1370 "X(Point) [cm]; # [Hits]; Multi [Pnt]",
1371 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1373 new TH2D(
"TofTests_MultiPntHitMeanDeltaY",
1374 "Quality of the Tof Hits position on Y axis relative to mean "
1375 "Point position, for hit coming from multiple MC Point; Y(Hit) - "
1376 "Y(Point) [cm]; # [Hits]; Multi [Pnt]",
1377 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1379 new TH2D(
"TofTests_MultiPntHitMeanDeltaZ",
1380 "Quality of the Tof Hits position on Z axis relative to mean "
1381 "Point position, for hit coming from multiple MC Point; Z(Hit) - "
1382 "Z(Point) [cm]; # [Hits]; Multi [Pnt]",
1383 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1385 new TH2D(
"TofTests_MultiPntHitMeanDeltaR",
1386 "Quality of the Tof Hits position relative to mean Point "
1387 "position, for hit coming from multiple MC Point; R(Hit -> Point) "
1388 "[cm]; # [Hits]; Multi [Pnt]",
1389 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1391 new TH2D(
"TofTests_MultiPntHitMeanDeltaT",
1392 "Quality of the Tof Hits Time relative to mean Point time, for hit coming "
1393 "from multiple MC Point; T(hit) - T(Point) [ps]; # [Hits]; Multi [Pnt]",
1394 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1396 "Quality of the Tof Hits position error on X axis relative to "
1397 "mean Point position, for hit coming from multiple MC Point; Pull "
1398 "X(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1399 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1401 "Quality of the Tof Hits position error on Y axis relative to "
1402 "mean Point position, for hit coming from multiple MC Point; Pull "
1403 "Y(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1404 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1406 "Quality of the Tof Hits position error on Z axis relative to "
1407 "mean Point position, for hit coming from multiple MC Point; Pull "
1408 "Z(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1409 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1411 "Quality of the Tof Hits position error relative to mean Point "
1412 "position, for hit coming from multiple MC Point; Pull R(Hit -> "
1413 "Point) []; # [Hits]; Multi [Pnt]",
1414 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1416 "Quality of the Tof Hits time error relative to mean Point time, "
1417 "for hit coming from multiple MC Point; Pull T(Hit -> Point) []; "
1418 "# [Hits]; Multi [Pnt]",
1419 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1422 new TH2D(
"TofTests_MultiPntHitBestDeltaX",
1423 "Quality of the Tof Hits position on X axis relative to best "
1424 "Point position, for hit coming from multiple MC Point; X(Hit) - "
1425 "X(Point) [cm]; # [Hits]; Multi [Pnt]",
1426 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1428 new TH2D(
"TofTests_MultiPntHitBestDeltaY",
1429 "Quality of the Tof Hits position on Y axis relative to best "
1430 "Point position, for hit coming from multiple MC Point; Y(Hit) - "
1431 "Y(Point) [cm]; # [Hits]; Multi [Pnt]",
1432 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1434 new TH2D(
"TofTests_MultiPntHitBestDeltaZ",
1435 "Quality of the Tof Hits position on Z axis relative to best "
1436 "Point position, for hit coming from multiple MC Point; Z(Hit) - "
1437 "Z(Point) [cm]; # [Hits]; Multi [Pnt]",
1438 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1440 new TH2D(
"TofTests_MultiPntHitBestDeltaR",
1441 "Quality of the Tof Hits position relative to best Point "
1442 "position, for hit coming from multiple MC Point; R(Hit -> Point) "
1443 "[cm]; # [Hits]; Multi [Pnt]",
1444 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1446 new TH2D(
"TofTests_MultiPntHitBestDeltaT",
1447 "Quality of the Tof Hits Time relative to best Point time, for hit coming "
1448 "from multiple MC Point; T(hit) - T(Point) [ps]; # [Hits]; Multi [Pnt]",
1449 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1451 "Quality of the Tof Hits position error on X axis relative to "
1452 "best Point position, for hit coming from multiple MC Point; Pull "
1453 "X(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1454 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1456 "Quality of the Tof Hits position error on Y axis relative to "
1457 "best Point position, for hit coming from multiple MC Point; Pull "
1458 "Y(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1459 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1461 "Quality of the Tof Hits position error on Z axis relative to "
1462 "best Point position, for hit coming from multiple MC Point; Pull "
1463 "Z(Hit -> Point) []; # [Hits]; Multi [Pnt]",
1464 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1466 "Quality of the Tof Hits position error relative to best Point "
1467 "position, for hit coming from multiple MC Point; Pull R(Hit -> "
1468 "Point) []; # [Hits]; Multi [Pnt]",
1469 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1471 "Quality of the Tof Hits time error relative to best Point time, "
1472 "for hit coming from multiple MC Point; Pull T(Hit -> Point) []; "
1473 "# [Hits]; Multi [Pnt]",
1474 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1478 "Quality of the Tof Hits position on X axis, for hit coming from "
1479 "a single MC Track; X(Hit) - X(Track) [cm]; # [Hits]",
1480 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1482 "Quality of the Tof Hits position on Y axis, for hit coming from "
1483 "a single MC Track; Y(Hit) - X(Track) [cm]; # [Hits]",
1484 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1486 "Quality of the Tof Hits position on Z axis, for hit coming from "
1487 "a single MC Track; Z(Hit) - X(Track) [cm]; # [Hits]",
1488 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1490 "Quality of the Tof Hits position, for hit coming from a single "
1491 "MC Track; R(Hit -> Track) [cm]; # [Hits]",
1492 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1494 "Quality of the Tof Hits Time, for hit coming from a single MC "
1495 "Track; T(hit) - T(Track) [ps]; # [Hits]",
1496 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange);
1498 "Quality of the Tof Hits position error on X axis, for hit coming "
1499 "from a single MC Track; Pull X(Hit -> Track) []; # [Hits]",
1500 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1502 "Quality of the Tof Hits position error on Y axis, for hit coming "
1503 "from a single MC Track; Y(Hit) - X(Track) []; # [Hits]",
1504 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1506 "Quality of the Tof Hits position error on Z axis, for hit coming "
1507 "from a single MC Track; Z(Hit) - X(Track) []; # [Hits]",
1508 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1510 "Quality of the Tof Hits position error, for hit coming from a "
1511 "single MC Track; Pull R(Hit -> Track) []; # [Hits]",
1512 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1514 "Quality of the Tof Hits time error, for hit coming from a single "
1515 "MC Track; Pull T(Hit -> Track) []; # [Hits]",
1516 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1520 "Quality of the Tof Hits position on X axis, for hit coming from "
1521 "a single MC Track; X(Hit) - X(Track) [cm]; # [Hits]",
1522 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1524 "Quality of the Tof Hits position on Y axis, for hit coming from "
1525 "a single MC Track; Y(Hit) - X(Track) [cm]; # [Hits]",
1526 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1528 "Quality of the Tof Hits position on Z axis, for hit coming from "
1529 "a single MC Track; Z(Hit) - X(Track) [cm]; # [Hits]",
1530 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1532 "Quality of the Tof Hits position, for hit coming from a single "
1533 "MC Track; R(Hit -> Track) [cm]; # [Hits]",
1534 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange);
1536 "Quality of the Tof Hits Time, for hit coming from a single MC "
1537 "Track; T(hit) - T(Track) [ps]; # [Hits]",
1538 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange);
1540 "Quality of the Tof Hits position error on X axis, for hit coming "
1541 "from a single MC Track; Pull X(Hit -> Track) []; # [Hits]",
1542 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1544 "Quality of the Tof Hits position error on Y axis, for hit coming "
1545 "from a single MC Track; Y(Hit) - X(Track) []; # [Hits]",
1546 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1548 "Quality of the Tof Hits position error on Z axis, for hit coming "
1549 "from a single MC Track; Z(Hit) - X(Track) []; # [Hits]",
1550 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1552 "Quality of the Tof Hits position error, for hit coming from a "
1553 "single MC Track; Pull R(Hit -> Track) []; # [Hits]",
1554 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1556 "Quality of the Tof Hits time error, for hit coming from a single "
1557 "MC Track; Pull T(Hit -> Track) []; # [Hits]",
1558 iNbBinsPullPos, -dPullPosRange, dPullPosRange);
1563 new TH2D(
"TofTests_MultiTrkHitClosestDeltaX",
1564 "Quality of the Tof Hits position on X axis relative to closest "
1565 "Track, for hit coming from multiple MC Track; X(Hit) - X(Track) "
1566 "[cm]; # [Hits]; Multi [Trk]",
1567 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1569 new TH2D(
"TofTests_MultiTrkHitClosestDeltaY",
1570 "Quality of the Tof Hits position on Y axis relative to closest "
1571 "Track, for hit coming from multiple MC Track; Y(Hit) - Y(Track) "
1572 "[cm]; # [Hits]; Multi [Trk]",
1573 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1575 new TH2D(
"TofTests_MultiTrkHitClosestDeltaZ",
1576 "Quality of the Tof Hits position on Z axis relative to closest "
1577 "Track, for hit coming from multiple MC Track; Z(Hit) - Z(Track) "
1578 "[cm]; # [Hits]; Multi [Trk]",
1579 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1581 new TH2D(
"TofTests_MultiTrkHitClosestDeltaR",
1582 "Quality of the Tof Hits position relative to closest Track, for "
1583 "hit coming from multiple MC Track; R(Hit -> Track) [cm]; # "
1584 "[Hits]; Multi [Trk]",
1585 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1587 new TH2D(
"TofTests_MultiTrkHitClosestDeltaT",
1588 "Quality of the Tof Hits Time relative to closest Track, for hit coming "
1589 "from multiple MC Track; T(hit) - T(Track) [ps]; # [Hits]; Multi [Trk]",
1590 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1592 new TH2D(
"TofTests_MultiTrkHitClosestPullX",
1593 "Quality of the Tof Hits position error on X axis relative to "
1594 "closest Track, for hit coming from multiple MC Track; Pull X(Hit "
1595 "-> Track) []; # [Hits]; Multi [Trk]",
1596 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1598 new TH2D(
"TofTests_MultiTrkHitClosestPullY",
1599 "Quality of the Tof Hits position error on Y axis relative to "
1600 "closest Track, for hit coming from multiple MC Track; Pull Y(Hit "
1601 "-> Track) []; # [Hits]; Multi [Trk]",
1602 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1604 new TH2D(
"TofTests_MultiTrkHitClosestPullZ",
1605 "Quality of the Tof Hits position error on Z axis relative to "
1606 "closest Track, for hit coming from multiple MC Track; Pull Z(Hit "
1607 "-> Track) []; # [Hits]; Multi [Trk]",
1608 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1610 new TH2D(
"TofTests_MultiTrkHitClosestPullR",
1611 "Quality of the Tof Hits position error relative to closest "
1612 "Track, for hit coming from multiple MC Track; Pull R(Hit -> "
1613 "Track) []; # [Hits]; Multi [Trk]",
1614 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1616 new TH2D(
"TofTests_MultiTrkHitClosestPullT",
1617 "Quality of the Tof Hits time error relative to closest Track, "
1618 "for hit coming from multiple MC Track; Pull T(Hit -> Track) []; "
1619 "# [Hits]; Multi [Trk]",
1620 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1623 new TH2D(
"TofTests_MultiTrkHitFurthestDeltaX",
1624 "Quality of the Tof Hits position on X axis relative to furthest "
1625 "Track, for hit coming from multiple MC Track; X(Hit) - X(Track) "
1626 "[cm]; # [Hits]; Multi [Trk]",
1627 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1629 new TH2D(
"TofTests_MultiTrkHitFurthestDeltaY",
1630 "Quality of the Tof Hits position on Y axis relative to furthest "
1631 "Track, for hit coming from multiple MC Track; Y(Hit) - Y(Track) "
1632 "[cm]; # [Hits]; Multi [Trk]",
1633 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1635 new TH2D(
"TofTests_MultiTrkHitFurthestDeltaZ",
1636 "Quality of the Tof Hits position on Z axis relative to furthest "
1637 "Track, for hit coming from multiple MC Track; Z(Hit) - Z(Track) "
1638 "[cm]; # [Hits]; Multi [Trk]",
1639 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1641 new TH2D(
"TofTests_MultiTrkHitFurthestDeltaR",
1642 "Quality of the Tof Hits position relative to furthest Track, for "
1643 "hit coming from multiple MC Track; R(Hit -> Track) [cm]; # "
1644 "[Hits]; Multi [Trk]",
1645 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1647 new TH2D(
"TofTests_MultiTrkHitFurthestDeltaT",
1648 "Quality of the Tof Hits Time relative to furthest Track, for hit coming "
1649 "from multiple MC Track; T(hit) - T(Track) [ps]; # [Hits]; Multi [Trk]",
1650 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1652 new TH2D(
"TofTests_MultiTrkHitFurthestPullX",
1653 "Quality of the Tof Hits position error on X axis relative to "
1654 "furthest Track, for hit coming from multiple MC Track; Pull "
1655 "X(Hit -> Track) []; # [Hits]; Multi [Trk]",
1656 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1658 new TH2D(
"TofTests_MultiTrkHitFurthestPullY",
1659 "Quality of the Tof Hits position error on Y axis relative to "
1660 "furthest Track, for hit coming from multiple MC Track; Pull "
1661 "Y(Hit -> Track) []; # [Hits]; Multi [Trk]",
1662 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1664 new TH2D(
"TofTests_MultiTrkHitFurthestPullZ",
1665 "Quality of the Tof Hits position error on Z axis relative to "
1666 "furthest Track, for hit coming from multiple MC Track; Pull "
1667 "Z(Hit -> Track) []; # [Hits]; Multi [Trk]",
1668 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1670 new TH2D(
"TofTests_MultiTrkHitFurthestPullR",
1671 "Quality of the Tof Hits position error relative to furthest "
1672 "Track, for hit coming from multiple MC Track; Pull R(Hit -> "
1673 "Track) []; # [Hits]; Multi [Trk]",
1674 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1676 new TH2D(
"TofTests_MultiTrkHitFurthestPullT",
1677 "Quality of the Tof Hits time error relative to furthest Track, "
1678 "for hit coming from multiple MC Track; Pull T(Hit -> Track) []; "
1679 "# [Hits]; Multi [Trk]",
1680 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1683 new TH2D(
"TofTests_MultiTrkHitMeanDeltaX",
1684 "Quality of the Tof Hits position on X axis relative to mean "
1685 "Track position, for hit coming from multiple MC Track; X(Hit) - "
1686 "X(Track) [cm]; # [Hits]; Multi [Trk]",
1687 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1689 new TH2D(
"TofTests_MultiTrkHitMeanDeltaY",
1690 "Quality of the Tof Hits position on Y axis relative to mean "
1691 "Track position, for hit coming from multiple MC Track; Y(Hit) - "
1692 "Y(Track) [cm]; # [Hits]; Multi [Trk]",
1693 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1695 new TH2D(
"TofTests_MultiTrkHitMeanDeltaZ",
1696 "Quality of the Tof Hits position on Z axis relative to mean "
1697 "Track position, for hit coming from multiple MC Track; Z(Hit) - "
1698 "Z(Track) [cm]; # [Hits]; Multi [Trk]",
1699 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1701 new TH2D(
"TofTests_MultiTrkHitMeanDeltaR",
1702 "Quality of the Tof Hits position relative to mean Track "
1703 "position, for hit coming from multiple MC Track; R(Hit -> Track) "
1704 "[cm]; # [Hits]; Multi [Trk]",
1705 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1707 new TH2D(
"TofTests_MultiTrkHitMeanDeltaT",
1708 "Quality of the Tof Hits Time relative to mean Track time, for hit coming "
1709 "from multiple MC Track; T(hit) - T(Track) [ps]; # [Hits]; Multi [Trk]",
1710 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1712 "Quality of the Tof Hits position error on X axis relative to "
1713 "mean Track position, for hit coming from multiple MC Track; Pull "
1714 "X(Hit -> Track) []; # [Hits]; Multi [Trk]",
1715 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1717 "Quality of the Tof Hits position error on Y axis relative to "
1718 "mean Track position, for hit coming from multiple MC Track; Pull "
1719 "Y(Hit -> Track) []; # [Hits]; Multi [Trk]",
1720 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1722 "Quality of the Tof Hits position error on Z axis relative to "
1723 "mean Track position, for hit coming from multiple MC Track; Pull "
1724 "Z(Hit -> Track) []; # [Hits]; Multi [Trk]",
1725 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1727 "Quality of the Tof Hits position error relative to mean Track "
1728 "position, for hit coming from multiple MC Track; Pull R(Hit -> "
1729 "Track) []; # [Hits]; Multi [Trk]",
1730 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1732 "Quality of the Tof Hits time error relative to mean Track "
1733 "position, for hit coming from multiple MC Track; Pull T(Hit -> "
1734 "Track) []; # [Hits]; Multi [Trk]",
1735 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1738 new TH2D(
"TofTests_MultiTrkHitBestDeltaX",
1739 "Quality of the Tof Hits position on X axis relative to best "
1740 "Track position, for hit coming from multiple MC Track; X(Hit) - "
1741 "X(Track) [cm]; # [Hits]; Multi [Trk]",
1742 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1744 new TH2D(
"TofTests_MultiTrkHitBestDeltaY",
1745 "Quality of the Tof Hits position on Y axis relative to best "
1746 "Track position, for hit coming from multiple MC Track; Y(Hit) - "
1747 "Y(Track) [cm]; # [Hits]; Multi [Trk]",
1748 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1750 new TH2D(
"TofTests_MultiTrkHitBestDeltaZ",
1751 "Quality of the Tof Hits position on Z axis relative to best "
1752 "Track position, for hit coming from multiple MC Track; Z(Hit) - "
1753 "Z(Track) [cm]; # [Hits]; Multi [Trk]",
1754 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1756 new TH2D(
"TofTests_MultiTrkHitBestDeltaR",
1757 "Quality of the Tof Hits position relative to best Track "
1758 "position, for hit coming from multiple MC Track; R(Hit -> Track) "
1759 "[cm]; # [Hits]; Multi [Trk]",
1760 iNbBinsDeltaPos, -dDeltaPosRange, dDeltaPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1762 new TH2D(
"TofTests_MultiTrkHitBestDeltaT",
1763 "Quality of the Tof Hits Time relative to best Track time, for hit coming "
1764 "from multiple MC Track; T(hit) - T(Track) [ps]; # [Hits]; Multi [Trk]",
1765 iNbBinsDeltaTime, -dDeltaTimeRange, dDeltaTimeRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1767 "Quality of the Tof Hits position error on X axis relative to "
1768 "best Track position, for hit coming from multiple MC Track; Pull "
1769 "X(Hit -> Track) []; # [Hits]; Multi [Trk]",
1770 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1772 "Quality of the Tof Hits position error on Y axis relative to "
1773 "best Track position, for hit coming from multiple MC Track; Pull "
1774 "Y(Hit -> Track) []; # [Hits]; Multi [Trk]",
1775 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1777 "Quality of the Tof Hits position error on Z axis relative to "
1778 "best Track position, for hit coming from multiple MC Track; Pull "
1779 "Z(Hit -> Track) []; # [Hits]; Multi [Trk]",
1780 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1782 "Quality of the Tof Hits position error relative to best Track "
1783 "position, for hit coming from multiple MC Track; Pull R(Hit -> "
1784 "Track) []; # [Hits]; Multi [Trk]",
1785 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1787 "Quality of the Tof Hits time error relative to best Track "
1788 "position, for hit coming from multiple MC Track; Pull T(Hit -> "
1789 "Track) []; # [Hits]; Multi [Trk]",
1790 iNbBinsPullPos, -dPullPosRange, dPullPosRange, iNbBinsMulti, iMinMulti, iMaxMulti);
1794 Int_t iNbBinsY = 30;
1795 Double_t dMinY = -1.;
1796 Double_t dMaxY = 4.;
1797 Int_t iNbBNinsPtm = 30;
1798 Double_t dMinPtm = 0.0;
1799 Double_t dMaxPtm = 2.5;
1813 Int_t iNbBinsPlab = 100;
1814 Double_t dMinPlab = 0.0;
1815 Double_t dMaxPlab = 10.0;
1841 for (Int_t iPartIdx = 0; iPartIdx <
kiNbPart; iPartIdx++) {
1844 Form(
"P_{t}/M vs y distribution for MC tracks, %s, primary "
1845 "tracks; y; P_{t}/M; # []",
1847 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1849 Form(
"P_{t}/M vs y distribution from MC Track with STS points, "
1850 "%s, primary tracks; y; P_{t}/M; # []",
1852 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1854 Form(
"P_{t}/M vs y distribution from MC Track for TOF points, "
1855 "%s, primary tracks; y; P_{t}/M; # []",
1857 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1859 Form(
"P_{t}/M vs y distribution from MC Track for TOF Hits, %s, "
1860 "primary tracks; y; P_{t}/M; # []",
1862 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1864 new TH2D(Form(
"TofTests_PtmRapTofHitSinglePnt_%s",
ksPartTag[iPartIdx].Data()),
1865 Form(
"P_{t}/M vs y distribution from MC Track for TOF Hits from a single "
1866 "TOF Point, %s, primary tracks; y; P_{t}/M; # []",
1868 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1870 new TH2D(Form(
"TofTests_PtmRapTofHitSingleTrk_%s",
ksPartTag[iPartIdx].Data()),
1871 Form(
"P_{t}/M vs y distribution from MC Track for TOF Hits from a single "
1872 "MC track, %s, primary tracks; y; P_{t}/M; # []",
1874 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1877 Form(
"P_{lab} distribution for MC tracks, %s, primary tracks; "
1878 "P_{lab} [GeV/c]; # []",
1880 iNbBinsPlab, dMinPlab, dMaxPlab);
1882 Form(
"P_{lab} distribution from MC Track with STS points, %s, "
1883 "primary tracks; P_{lab} [GeV/c]; # []",
1885 iNbBinsPlab, dMinPlab, dMaxPlab);
1887 Form(
"P_{lab} distribution from MC Track for TOF points, %s, "
1888 "primary tracks; P_{lab} [GeV/c]; # []",
1890 iNbBinsPlab, dMinPlab, dMaxPlab);
1892 Form(
"P_{lab} distribution from MC Track for TOF Hits, %s, "
1893 "primary tracks; P_{lab} [GeV/c]; # []",
1895 iNbBinsPlab, dMinPlab, dMaxPlab);
1897 new TH1D(Form(
"TofTests_PlabTofHitSinglePnt_%s",
ksPartTag[iPartIdx].Data()),
1898 Form(
"P_{lab} distribution from MC Track for TOF Hits from a single TOF "
1899 "Point, %s, primary tracks; P_{lab} [GeV/c]; # []",
1901 iNbBinsPlab, dMinPlab, dMaxPlab);
1903 Form(
"P_{lab} distribution from MC Track for TOF Hits from a single MC "
1904 "tracks, %s, primary tracks; P_{lab} [GeV/c]; # []",
1906 iNbBinsPlab, dMinPlab, dMaxPlab);
1911 Form(
"P_{t}/M vs y distribution for MC tracks with TOF Point(s), %s, "
1912 "primary tracks; y; P_{t}/M; # []",
1914 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1916 Form(
"P_{t}/M vs y distribution for MC tracks with TOF Hit(s), %s, "
1917 "primary tracks; y; P_{t}/M; # []",
1919 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1922 Form(
"P_{lab} distribution for MC tracks with TOF Point(s), %s, "
1923 "primary tracks; P_{lab} [GeV/c]; # []",
1925 iNbBinsPlab, dMinPlab, dMaxPlab);
1927 Form(
"P_{lab} distribution from MC Track with TOF Hit(s), %s, "
1928 "primary tracks; P_{lab} [GeV/c]; # []",
1930 iNbBinsPlab, dMinPlab, dMaxPlab);
1932 Form(
"P_{lab} distribution for MC tracks with STS and TOF "
1933 "Point(s), %s, primary tracks; P_{lab} [GeV/c]; # []",
1935 iNbBinsPlab, dMinPlab, dMaxPlab);
1937 Form(
"P_{lab} distribution from MC Track with STS points and "
1938 "TOF Hit(s), %s, primary tracks; P_{lab} [GeV/c]; # []",
1940 iNbBinsPlab, dMinPlab, dMaxPlab);
1945 Form(
"P_{t}/M vs y distribution for MC tracks, %s, secondary "
1946 "tracks; y; P_{t}/M; # []",
1948 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1950 Form(
"P_{t}/M vs y distribution from MC Track with STS points, "
1951 "%s, secondary tracks; y; P_{t}/M; # []",
1953 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1955 Form(
"P_{t}/M vs y distribution from MC Track for TOF points, "
1956 "%s, secondary tracks; y; P_{t}/M; # []",
1958 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1960 Form(
"P_{t}/M vs y distribution from MC Track for TOF Hits, %s, "
1961 "secondary tracks; y; P_{t}/M; # []",
1963 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1965 new TH2D(Form(
"TofTests_PtmRapSecTofHitSinglePnt_%s",
ksPartTag[iPartIdx].Data()),
1966 Form(
"P_{t}/M vs y distribution from MC Track for TOF Hits from a single "
1967 "TOF Point, %s, secondary tracks; y; P_{t}/M; # []",
1969 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1971 new TH2D(Form(
"TofTests_PtmRapSecTofHitSingleTrk_%s",
ksPartTag[iPartIdx].Data()),
1972 Form(
"P_{t}/M vs y distribution from MC Track for TOF Hits from a single "
1973 "MC track, %s, secondary tracks; y; P_{t}/M; # []",
1975 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
1978 Form(
"P_{lab} distribution for MC tracks, %s, secondary tracks; "
1979 "P_{lab} [GeV/c]; # []",
1981 iNbBinsPlab, dMinPlab, dMaxPlab);
1983 Form(
"P_{lab} distribution from MC Track with STS points, %s, "
1984 "secondary tracks; P_{lab} [GeV/c]; # []",
1986 iNbBinsPlab, dMinPlab, dMaxPlab);
1988 Form(
"P_{lab} distribution from MC Track for TOF points, %s, "
1989 "secondary tracks; P_{lab} [GeV/c]; # []",
1991 iNbBinsPlab, dMinPlab, dMaxPlab);
1993 Form(
"P_{lab} distribution from MC Track for TOF Hits, %s, "
1994 "secondary tracks; P_{lab} [GeV/c]; # []",
1996 iNbBinsPlab, dMinPlab, dMaxPlab);
1998 new TH1D(Form(
"TofTests_PlabSecTofHitSinglePnt_%s",
ksPartTag[iPartIdx].Data()),
1999 Form(
"P_{lab} distribution from MC Track for TOF Hits from a single TOF "
2000 "Point, %s, secondary tracks; P_{lab} [GeV/c]; # []",
2002 iNbBinsPlab, dMinPlab, dMaxPlab);
2004 new TH1D(Form(
"TofTests_PlabSecTofHitSingleTrk_%s",
ksPartTag[iPartIdx].Data()),
2005 Form(
"P_{lab} distribution from MC Track for TOF Hits from a single MC "
2006 "tracks, %s, secondary tracks; P_{lab} [GeV/c]; # []",
2008 iNbBinsPlab, dMinPlab, dMaxPlab);
2013 Form(
"P_{t}/M vs y distribution for MC tracks with TOF Point(s), %s, "
2014 "secondary tracks; y; P_{t}/M; # []",
2016 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
2018 Form(
"P_{t}/M vs y distribution for MC tracks with TOF Hit(s), %s, "
2019 "secondary tracks; y; P_{t}/M; # []",
2021 iNbBinsY, dMinY, dMaxY, iNbBNinsPtm, dMinPtm, dMaxPtm);
2024 Form(
"P_{lab} distribution for MC tracks with TOF Point(s), %s, "
2025 "secondary tracks; P_{lab} [GeV/c]; # []",
2027 iNbBinsPlab, dMinPlab, dMaxPlab);
2029 new TH1D(Form(
"TofTests_PlabSecGenTrkTofHit_%s",
ksPartTag[iPartIdx].Data()),
2030 Form(
"P_{lab} distribution from MC Track with TOF Hit(s), %s, secondary "
2031 "tracks; P_{lab} [GeV/c]; # []",
2033 iNbBinsPlab, dMinPlab, dMaxPlab);
2036 new TH1D(Form(
"TofTests_PlabSecStsTrkTofPnt_%s",
ksPartTag[iPartIdx].Data()),
2037 Form(
"P_{lab} distribution for MC tracks with STS and TOF Point(s), %s, "
2038 "secondary tracks; P_{lab} [GeV/c]; # []",
2040 iNbBinsPlab, dMinPlab, dMaxPlab);
2042 new TH1D(Form(
"TofTests_PlabSecStsTrkTofHit_%s",
ksPartTag[iPartIdx].Data()),
2043 Form(
"P_{lab} distribution from MC Track with STS points and TOF Hit(s), "
2044 "%s, secondary tracks; P_{lab} [GeV/c]; # []",
2046 iNbBinsPlab, dMinPlab, dMaxPlab);
2051 "Efficiency of TOF hit generation, all tracks; Eff = Nb_{Trk w/ "
2052 "Hit}/Nb_{Trk w/ Pnt} [\%]; # [Events]",
2055 "Efficiency of TOF hit generation, primary tracks; Eff = Nb_{Trk "
2056 "w/ Hit}/Nb_{Trk w/ Pnt} [\%]; # [Events]",
2059 "Efficiency of TOF hit generation, secondary tracks; Eff = "
2060 "Nb_{Trk w/ Hit}/Nb_{Trk w/ Pnt} [\%]; # [Events]",
2066 "Losses of TOF hit generation due to multiplicity, all tracks; "
2067 "Loss = Nb_{Trk w/ Hidden Hit}/Nb_{Trk w/ Pnt} [\%]; # [Events]",
2070 "Efficiency of TOF hit generation due to multiplicity, primary tracks; "
2071 "Loss = Nb_{Trk w/ Hidden Hit}/Nb_{Trk w/ Pnt} [\%]; # [Events]",
2074 "Efficiency of TOF hit generation due to multiplicity, secondary tracks; "
2075 "Loss = Nb_{Trk w/ Hidden Hit}/Nb_{Trk w/ Pnt} [\%]; # [Events]",
2086 "Efficiency of TOF hit generation VS gaps crossed, all tracks; Eff = "
2087 "Nb_{Trk w/ Hit}/Nb_{Trk w/ Pnt} [\%]; Nb TofPoint (gaps) []; # [Events]",
2090 "Efficiency of TOF hit generation VS gaps crossed, primary tracks; Eff = "
2091 "Nb_{Trk w/ Hit}/Nb_{Trk w/ Pnt} [\%]; Nb TofPoint (gaps) []; # [Events]",
2094 "Efficiency of TOF hit generation VS gaps crossed, secondary tracks; Eff = "
2095 "Nb_{Trk w/ Hit}/Nb_{Trk w/ Pnt} [\%]; Nb TofPoint (gaps) []; # [Events]",
2098 Float_t fMaxCbmLen = 1500;
2100 "Origin in Z of the MC primary tracks in hits with a single "
2101 "track; MC trk Start Z [cm]; ; # [Events]",
2104 "Origin in Z of the MC secondary tracks in hits with a single "
2105 "track; MC trk Start Z [cm]; ; # [Events]",
2108 "Origin in Z of the MC primary tracks in hits with multiple "
2109 "tracks; MC trk Start Z [cm]; ; # [Events]",
2112 "Origin in Z of the MC secondary tracks in hits with multiple "
2113 "tracks; MC trk Start Z [cm]; ; # [Events]",
2115 for (Int_t iPartIdx = 0; iPartIdx <
kiNbPart; iPartIdx++) {
2123 new TH1I(
"TofTests_PointMatchWeight",
"Weigth of TofPoints contributing to Hits; w [Prop. or ps]; #", 1000, -0.05,
2126 gDirectory->cd(oldir->GetPath());
2143 Int_t iNbTracks, iNbTofPts, iNbTofRealPts, iNbTofDigisMatch, iNbTofHits, iNbTofHitsMatch;
2144 Int_t iNbTofDigis = 0;
2156 if (iNbTofDigis != iNbTofDigisMatch)
2157 LOG(fatal) <<
"CbmTofHitFinderQa::FillHistos => Nb entries in TofDigiMatchPoints "
2158 "TClonesArray doe not match nb entries in TofDigi!!!";
2159 if (iNbTofHits != iNbTofHitsMatch)
2160 LOG(fatal) <<
"CbmTofHitFinderQa::FillHistos => Nb entries in TofDigiMatch "
2161 "TClonesArray doe not match nb entries in TofHit!!! "
2162 << iNbTofHits <<
" VS " << iNbTofHitsMatch <<
" (Prev step: " << iNbTofDigis <<
" VS "
2163 << iNbTofDigisMatch <<
" )";
2185 Int_t iNbTofTracks = 0;
2186 Int_t iNbTofTracksPrim = 0;
2187 std::vector<Bool_t> vbTrackHasHit(iNbTracks, kFALSE);
2190 for (Int_t iTrkInd = 0; iTrkInd < iNbTracks; iTrkInd++) {
2240 if (pMcTrk->
GetPz() == pMcTrk->
GetP()) {
2247 if (0 != pMcTrk->
GetPz() && ((0 != pMcTrk->
GetPx()) || (0 != pMcTrk->
GetPy())))
2249 TMath::ATan2(pMcTrk->
GetPy(), pMcTrk->
GetPz()) * 180.0 / TMath::Pi());
2252 if (0 != pMcTrk->
GetPz() && 0 != pMcTrk->
GetPx())
2254 TMath::ATan2(pMcTrk->
GetPy(), pMcTrk->
GetPx()));
2259 Int_t iPartIdx = -1;
2260 for (Int_t iPart = 0; iPart <
kiNbPart; iPart++)
2265 if (-1 == iPartIdx) iPartIdx = 0;
2323 for (Int_t iPntInd = 0; iPntInd < iNbTofPts; iPntInd++) {
2331 pTofPoint->Position(vPntPos);
2333 Double_t dX = vPntPos.X();
2334 Double_t dY = vPntPos.Y();
2335 Double_t dZ = vPntPos.Z();
2352 Double_t dThetaX = TMath::ATan2(dX, dZ) * 180.0 / TMath::Pi();
2353 Double_t dThetaY = TMath::ATan2(dY, dZ) * 180.0 / TMath::Pi();
2356 Double_t dTheta = TMath::ATan2(TMath::Sqrt(dX * dX + dY * dY), dZ);
2357 Double_t dPhi = TMath::ATan2(dY, dX);
2362 Int_t iPartIdx = -1;
2363 for (Int_t iPart = 0; iPart <
kiNbPart; iPart++)
2368 if (-1 == iPartIdx) iPartIdx = 0;
2391 for (Int_t iPntInd = 0; iPntInd < iNbTofRealPts; iPntInd++) {
2403 pTofPoint->Position(vPntPos);
2405 Double_t dX = vPntPos.X();
2406 Double_t dY = vPntPos.Y();
2407 Double_t dZ = vPntPos.Z();
2413 Double_t dThetaX = TMath::ATan2(dX, dZ) * 180.0 / TMath::Pi();
2414 Double_t dThetaY = TMath::ATan2(dY, dZ) * 180.0 / TMath::Pi();
2417 Double_t dTheta = TMath::ATan2(TMath::Sqrt(dX * dX + dY * dY),
2419 Double_t dPhi = TMath::ATan2(dY, dX);
2428 for (Int_t iDigInd = 0; iDigInd < iNbTofDigis; iDigInd++) {
2431 Int_t iSmType = pTofDigi->
GetType();
2432 Int_t iSm = pTofDigi->
GetSm();
2433 Int_t iRpc = pTofDigi->
GetRpc();
2449 Double_t dThetaX = TMath::ATan2(dX, dZ) * 180.0 / TMath::Pi();
2450 Double_t dThetaY = TMath::ATan2(dY, dZ) * 180.0 / TMath::Pi();
2453 Double_t dTheta = TMath::ATan2(TMath::Sqrt(dX * dX + dY * dY),
2455 Double_t dPhi = TMath::ATan2(dY, dX);
2462 Int_t iNbTofHitsSingPnt = 0;
2463 Int_t iNbTofHitsMultPnt = 0;
2464 Int_t iNbTofHitsSingTrk = 0;
2465 Int_t iNbTofHitsMultTrk = 0;
2466 for (Int_t iHitInd = 0; iHitInd < iNbTofHits; iHitInd++) {
2467 std::vector<Int_t> vTofPointsId;
2468 std::vector<Int_t> vTofTracksId;
2469 std::vector<Double_t> vTofTracksWeight;
2470 std::vector<Int_t> vTofTracksFirstPntId;
2471 Double_t dPntMeanPosX = 0;
2472 Double_t dPntMeanPosY = 0;
2473 Double_t dPntMeanPosZ = 0;
2474 Double_t dPntMeanTime = 0;
2475 Double_t dTrkMeanPosX = 0;
2476 Double_t dTrkMeanPosY = 0;
2477 Double_t dTrkMeanPosZ = 0;
2478 Double_t dTrkMeanTime = 0;
2479 Int_t iClosestPntIdx = -1;
2480 Double_t dClosestPntDr = 1e18;
2481 Int_t iFurthestPntIdx = -1;
2482 Double_t dFurthestPntDr = -1;
2483 Int_t iClosestTrkIdx = -1;
2484 Double_t dClosestTrkDr = 1e18;
2485 Int_t iFurthestTrkIdx = -1;
2486 Double_t dFurthestTrkDr = -1;
2492 Double_t dX = pTofHit->
GetX();
2493 Double_t dY = pTofHit->
GetY();
2494 Double_t dZ = pTofHit->
GetZ();
2495 Double_t dErrX = pTofHit->
GetDx();
2496 Double_t dErrY = pTofHit->
GetDy();
2497 Double_t dErrZ = pTofHit->
GetDz();
2500 Double_t dErrR = TMath::Sqrt(dErrX * dErrX + dErrY * dErrY);
2514 Double_t dThetaX = TMath::ATan2(dX, dZ) * 180.0 / TMath::Pi();
2515 Double_t dThetaY = TMath::ATan2(dY, dZ) * 180.0 / TMath::Pi();
2518 Double_t dTheta = TMath::ATan2(TMath::Sqrt(dX * dX + dY * dY), dZ);
2519 Double_t dPhi = TMath::ATan2(dY, dX);
2527 if (0 != iNbDigisHit % 2)
2528 LOG(fatal) <<
"CbmTofHitFinderQa::FillHistos => Nb of digis matching Hit #" << iHitInd <<
" in event #"
2530 <<
" is not a multiple of 2 => should not happen as both ends of "
2540 for (Int_t iDigi = 0; iDigi < iNbDigisHit; iDigi++) {
2544 if (iNbTofDigis <= iDigiIdx) {
2545 LOG(error) <<
"CbmTofHitFinderQa::FillHistos => Digi index from Hit #" << iHitInd <<
" in event #"
2546 <<
fEvents <<
" is bigger than nb entries in Digis arrays => ignore it!!!";
2557 Int_t iSmType = pTofDigi->
GetType();
2558 Int_t iSm = pTofDigi->
GetSm();
2559 Int_t iRpc = pTofDigi->
GetRpc();
2561 Int_t iGlobalChan = iCh +
fvRpcChOffs[iSmType][iSm][iRpc];
2564 if (0 == iDigi % 2) {
2572 if (iPtIdx != iPtIdxB) {
2589 for (Int_t iPnt = 0; iPnt < iNbPntHit; iPnt++) {
2593 if (iNbTofPts <= iPtIdx) {
2594 LOG(error) <<
"CbmTofHitFinderQa::FillHistos => Pnt index from Hit #" << iHitInd <<
" in event #" <<
fEvents
2595 <<
" is bigger than nb entries in TofPoints arrays => ignore it!!!";
2607 iPtIdx = iRealPntIdx;
2610 Int_t iTrkId = pTofPoint->GetTrackID();
2613 if (kFALSE == vbTrackHasHit[iTrkId]) vbTrackHasHit[iTrkId] = kTRUE;
2616 Bool_t bPointFound = kFALSE;
2617 for (UInt_t uPrevPtIdx = 0; uPrevPtIdx < vTofPointsId.size(); uPrevPtIdx++)
2618 if (iPtIdx == vTofPointsId[uPrevPtIdx]) {
2619 bPointFound = kTRUE;
2622 if (kFALSE == bPointFound) {
2623 vTofPointsId.push_back(iPtIdx);
2628 pTofPoint->Position(vPntPos);
2631 dPntMeanPosX += vPntPos.X();
2632 dPntMeanPosY += vPntPos.Y();
2633 dPntMeanPosZ += vPntPos.Z();
2634 dPntMeanTime += pTofPoint->GetTime();
2637 Double_t dPntDeltaR =
2638 TMath::Sqrt((dX - vPntPos.X()) * (dX - vPntPos.X()) + (dY - vPntPos.Y()) * (dY - vPntPos.Y()));
2640 if (dPntDeltaR < dClosestPntDr) {
2641 iClosestPntIdx = iPtIdx;
2642 dClosestPntDr = dPntDeltaR;
2645 if (dFurthestPntDr < dPntDeltaR) {
2646 iFurthestPntIdx = iPtIdx;
2647 dFurthestPntDr = dPntDeltaR;
2653 Bool_t bTrackFound = kFALSE;
2654 for (UInt_t uPrevTrkIdx = 0; uPrevTrkIdx < vTofTracksId.size(); uPrevTrkIdx++)
2655 if (iTrkId == vTofTracksId[uPrevTrkIdx]) {
2656 bTrackFound = kTRUE;
2657 vTofTracksWeight[uPrevTrkIdx] += lPnt.
GetWeight();
2660 if (kFALSE == bTrackFound) {
2661 vTofTracksId.push_back(iTrkId);
2662 vTofTracksWeight.push_back(lPnt.
GetWeight());
2663 vTofTracksFirstPntId.push_back(iPtIdx);
2668 pTofPoint->Position(vPntPos);
2671 dTrkMeanPosX += vPntPos.X();
2672 dTrkMeanPosY += vPntPos.Y();
2673 dTrkMeanPosZ += vPntPos.Z();
2674 dTrkMeanTime += pTofPoint->GetTime();
2677 Double_t dTrkDeltaR =
2678 TMath::Sqrt((dX - vPntPos.X()) * (dX - vPntPos.X()) + (dY - vPntPos.Y()) * (dY - vPntPos.Y()));
2680 if (dTrkDeltaR < dClosestTrkDr) {
2681 iClosestTrkIdx = iPtIdx;
2682 dClosestTrkDr = dTrkDeltaR;
2685 if (dFurthestTrkDr < dTrkDeltaR) {
2686 iFurthestTrkIdx = iPtIdx;
2687 dFurthestTrkDr = dTrkDeltaR;
2693 UInt_t uNbPointsInHit = vTofPointsId.size();
2696 UInt_t uNbTracksInHit = vTofTracksId.size();
2701 for (UInt_t uTrkInHit = 0; uTrkInHit < vTofTracksId.size(); uTrkInHit++) {
2744 if (0 == vTofTracksWeight[uTrkInHit]) {
2771 if (1 == uNbPointsInHit) {
2772 iNbTofHitsSingPnt++;
2787 pTofPoint->Position(vPntPos);
2789 Double_t dDeltaX = dX - vPntPos.X();
2790 Double_t dDeltaY = dY - vPntPos.Y();
2791 Double_t dDeltaZ = dZ - vPntPos.Z();
2792 Double_t dDeltaR = TMath::Sqrt(dDeltaX * dDeltaX + dDeltaY * dDeltaY);
2793 Double_t dDeltaT = 1000.0 * (pTofHit->
GetTime() - pTofPoint->GetTime());
2815 iNbTofHitsMultPnt++;
2824 dPntMeanPosX /= vTofPointsId.size();
2825 dPntMeanPosY /= vTofPointsId.size();
2826 dPntMeanPosZ /= vTofPointsId.size();
2827 dPntMeanTime /= vTofPointsId.size();
2829 Double_t dDeltaMeanX = dX - dPntMeanPosX;
2830 Double_t dDeltaMeanY = dY - dPntMeanPosY;
2831 Double_t dDeltaMeanZ = dZ - dPntMeanPosZ;
2832 Double_t dDeltaMeanR = TMath::Sqrt(dDeltaMeanX * dDeltaMeanX + dDeltaMeanY * dDeltaMeanY);
2833 Double_t dDeltaMeanT = 1000.0 * (pTofHit->
GetTime() - dPntMeanTime);
2854 TVector3 vPntPosClo;
2855 pTofPoint->Position(vPntPosClo);
2857 Double_t dDeltaCloX = dX - vPntPosClo.X();
2858 Double_t dDeltaCloY = dY - vPntPosClo.Y();
2859 Double_t dDeltaCloZ = dZ - vPntPosClo.Z();
2860 Double_t dDeltaCloR = TMath::Sqrt(dDeltaCloX * dDeltaCloX + dDeltaCloY * dDeltaCloY);
2861 Double_t dDeltaCloT = 1000.0 * (pTofHit->
GetTime() - pTofPoint->GetTime());
2882 TVector3 vPntPosFar;
2883 pTofPoint->Position(vPntPosFar);
2885 Double_t dDeltaFarX = dX - vPntPosFar.X();
2886 Double_t dDeltaFarY = dY - vPntPosFar.Y();
2887 Double_t dDeltaFarZ = dZ - vPntPosFar.Z();
2888 Double_t dDeltaFarR = TMath::Sqrt(dDeltaFarX * dDeltaFarX + dDeltaFarY * dDeltaFarY);
2889 Double_t dDeltaFarT = 1000.0 * (pTofHit->
GetTime() - pTofPoint->GetTime());
2914 iPtIdx = iRealPntIdx;
2918 TVector3 vPntPosBest;
2919 pTofPoint->Position(vPntPosBest);
2921 Double_t dDeltaBestX = dX - vPntPosBest.X();
2922 Double_t dDeltaBestY = dY - vPntPosBest.Y();
2923 Double_t dDeltaBestZ = dZ - vPntPosBest.Z();
2924 Double_t dDeltaBestR = TMath::Sqrt(dDeltaBestX * dDeltaBestX + dDeltaBestY * dDeltaBestY);
2925 Double_t dDeltaBestT = 1000.0 * (pTofHit->
GetTime() - pTofPoint->GetTime());
2942 if (1 == uNbTracksInHit) {
2943 iNbTofHitsSingTrk++;
2960 pTofPoint->Position(vPntPos);
2962 Double_t dDeltaX = dX - vPntPos.X();
2963 Double_t dDeltaY = dY - vPntPos.Y();
2964 Double_t dDeltaZ = dZ - vPntPos.Z();
2965 Double_t dDeltaR = TMath::Sqrt(dDeltaX * dDeltaX + dDeltaY * dDeltaY);
2966 Double_t dDeltaT = 1000.0 * (pTofHit->
GetTime() - pTofPoint->GetTime());
2979 if (1 < uNbPointsInHit) {
2996 Int_t iPartIdx = -1;
2997 for (Int_t iPart = 0; iPart <
kiNbPart; iPart++)
3002 if (-1 == iPartIdx) iPartIdx = 0;
3009 iNbTofHitsMultTrk++;
3018 dTrkMeanPosX /= vTofTracksId.size();
3019 dTrkMeanPosY /= vTofTracksId.size();
3020 dTrkMeanPosZ /= vTofTracksId.size();
3021 dTrkMeanTime /= vTofTracksId.size();
3023 Double_t dDeltaMeanX = dX - dTrkMeanPosX;
3024 Double_t dDeltaMeanY = dY - dTrkMeanPosY;
3025 Double_t dDeltaMeanZ = dZ - dTrkMeanPosZ;
3026 Double_t dDeltaMeanR = TMath::Sqrt(dDeltaMeanX * dDeltaMeanX + dDeltaMeanY * dDeltaMeanY);
3027 Double_t dDeltaMeanT = 1000.0 * (pTofHit->
GetTime() - dTrkMeanTime);
3048 TVector3 vPntPosClo;
3049 pTofPoint->Position(vPntPosClo);
3051 Double_t dDeltaCloX = dX - vPntPosClo.X();
3052 Double_t dDeltaCloY = dY - vPntPosClo.Y();
3053 Double_t dDeltaCloZ = dZ - vPntPosClo.Z();
3054 Double_t dDeltaCloR = TMath::Sqrt(dDeltaCloX * dDeltaCloX + dDeltaCloY * dDeltaCloY);
3055 Double_t dDeltaCloT = 1000.0 * (pTofHit->
GetTime() - pTofPoint->GetTime());
3076 TVector3 vPntPosFar;
3077 pTofPoint->Position(vPntPosFar);
3079 Double_t dDeltaFarX = dX - vPntPosFar.X();
3080 Double_t dDeltaFarY = dY - vPntPosFar.Y();
3081 Double_t dDeltaFarZ = dZ - vPntPosFar.Z();
3082 Double_t dDeltaFarR = TMath::Sqrt(dDeltaFarX * dDeltaFarX + dDeltaFarY * dDeltaFarY);
3083 Double_t dDeltaFarT = 1000.0 * (pTofHit->
GetTime() - pTofPoint->GetTime());
3101 UInt_t uBestTrackIdx = 0;
3102 Double_t dBestTrackWeight = -1.0;
3103 for (UInt_t uTrkIdx = 0; uTrkIdx < vTofTracksId.size(); uTrkIdx++)
3104 if (dBestTrackWeight < vTofTracksWeight[uTrkIdx]) {
3105 uBestTrackIdx = uTrkIdx;
3106 dBestTrackWeight = vTofTracksWeight[uTrkIdx];
3116 TVector3 vPntPosBest;
3117 pTofPoint->Position(vPntPosBest);
3119 Double_t dDeltaBestX = dX - vPntPosBest.X();
3120 Double_t dDeltaBestY = dY - vPntPosBest.Y();
3121 Double_t dDeltaBestZ = dZ - vPntPosBest.Z();
3122 Double_t dDeltaBestR = TMath::Sqrt(dDeltaBestX * dDeltaBestX + dDeltaBestY * dDeltaBestY);
3123 Double_t dDeltaBestT = 1000.0 * (pTofHit->
GetTime() - pTofPoint->GetTime());
3139 for (UInt_t uTrkIdx = 0; uTrkIdx < vTofTracksId.size(); uTrkIdx++) {
3149 Int_t iPartIdx = -1;
3150 for (Int_t iPart = 0; iPart <
kiNbPart; iPart++)
3155 if (-1 == iPartIdx) iPartIdx = 0;
3191 iPtIdx = iRealPntIdx;
3198 Int_t iPartIdx = -1;
3199 for (Int_t iPart = 0; iPart <
kiNbPart; iPart++)
3204 if (-1 == iPartIdx) iPartIdx = 0;
3211 if (1 == vTofPointsId.size()) {
3215 if (1 == vTofTracksId.size()) {
3226 if (1 == vTofPointsId.size()) {
3230 if (1 == vTofTracksId.size()) {
3236 vTofPointsId.clear();
3237 vTofTracksId.clear();
3249 for (Int_t iTrkInd = 0; iTrkInd < iNbTracks; iTrkInd++) {
3252 if (kTRUE == vbTrackHasHit[iTrkInd]) {
3255 Int_t iPartIdx = -1;
3256 for (Int_t iPart = 0; iPart <
kiNbPart; iPart++)
3261 if (-1 == iPartIdx) iPartIdx = 0;
3280 vbTrackHasHit.clear();
3307 TString sHead =
"CbmTofHitFinderQa::FillHistos => N pnt: ";
3308 TString sPnt =
"CbmTofHitFinderQa::FillHistos => nb prim trk w/ N pnt: ";
3309 TString sHit =
"CbmTofHitFinderQa::FillHistos => nb prim trk w/ N pnt & hit: ";
3311 sHead += Form(
"%4u ", uNbGaps);
3328 LOG(debug2) << sHead;
3329 LOG(debug2) << sPnt;
3330 LOG(debug2) << sHit;