@@ -115,6 +115,9 @@ struct CentralityStudy {
115115 Configurable<bool > doOccupancyStudyVsRawValues3d{" doOccupancyStudyVsRawValues3d" , false , " 0 - no, 1 - yes" };
116116 Configurable<bool > doTimeStudies{" doTimeStudies" , false , " 0 - no, 1 - yes" };
117117 Configurable<bool > doNGlobalTracksVsRawSignals{" doNGlobalTracksVsRawSignals" , true , " 0 - no, 1 - yes" };
118+ Configurable<bool > doNTracksPVeta05VsRawSignals{" doNTracksPVeta05VsRawSignals" , false , " 0 - no, 1 - yes" };
119+ Configurable<bool > doNTracksPVeta08VsRawSignals{" doNTracksPVeta08VsRawSignals" , false , " 0 - no, 1 - yes" };
120+ Configurable<bool > doNTracksPVeta10VsRawSignals{" doNTracksPVeta10VsRawSignals" , false , " 0 - no, 1 - yes" };
118121 } studies;
119122
120123 // _______________________________________
@@ -302,6 +305,39 @@ struct CentralityStudy {
302305 histos.add (" hFDDCVsFT0C" , " hFDDCVsFT0C" , kTH2F , {axisMultFT0C, axisMultFDDC});
303306 }
304307
308+ if (studies.doNTracksPVeta05VsRawSignals ) {
309+ histos.add (" hNTracksPVeta05VsFT0A" , " hNTracksPVeta05VsFT0A" , kTH2F , {axisMultFT0A, axisMultPVContributors});
310+ histos.add (" hNTracksPVeta05VsFT0C" , " hNTracksPVeta05VsFT0C" , kTH2F , {axisMultFT0C, axisMultPVContributors});
311+ histos.add (" hNTracksPVeta05VsFT0M" , " hNTracksPVeta05VsFT0M" , kTH2F , {axisMultFT0M, axisMultPVContributors});
312+ histos.add (" hNTracksPVeta05VsFV0A" , " hNTracksPVeta05VsFV0A" , kTH2F , {axisMultFV0A, axisMultPVContributors});
313+ histos.add (" hNTracksPVeta05VsFDDA" , " hNTracksPVeta05VsFDDA" , kTH2F , {axisMultFDDA, axisMultPVContributors});
314+ histos.add (" hNTracksPVeta05VsFDDC" , " hNTracksPVeta05VsFDDC" , kTH2F , {axisMultFDDC, axisMultPVContributors});
315+ histos.add (" hNTracksPVeta05VsNMFTTracks" , " hNTracksPVeta05VsNMFTTracks" , kTH2F , {axisMultMFTTracks, axisMultPVContributors});
316+ histos.add (" hNTracksPVeta05VsNTPV" , " hNTracksPVeta05VsNTPV" , kTH2F , {axisMultPVContributors, axisMultPVContributors});
317+ }
318+
319+ if (studies.doNTracksPVeta08VsRawSignals ) {
320+ histos.add (" hNTracksPVeta08VsFT0A" , " hNTracksPVeta08VsFT0A" , kTH2F , {axisMultFT0A, axisMultPVContributors});
321+ histos.add (" hNTracksPVeta08VsFT0C" , " hNTracksPVeta08VsFT0C" , kTH2F , {axisMultFT0C, axisMultPVContributors});
322+ histos.add (" hNTracksPVeta08VsFT0M" , " hNTracksPVeta08VsFT0M" , kTH2F , {axisMultFT0M, axisMultPVContributors});
323+ histos.add (" hNTracksPVeta08VsFV0A" , " hNTracksPVeta08VsFV0A" , kTH2F , {axisMultFV0A, axisMultPVContributors});
324+ histos.add (" hNTracksPVeta08VsFDDA" , " hNTracksPVeta08VsFDDA" , kTH2F , {axisMultFDDA, axisMultPVContributors});
325+ histos.add (" hNTracksPVeta08VsFDDC" , " hNTracksPVeta08VsFDDC" , kTH2F , {axisMultFDDC, axisMultPVContributors});
326+ histos.add (" hNTracksPVeta08VsNMFTTracks" , " hNTracksPVeta08VsNMFTTracks" , kTH2F , {axisMultMFTTracks, axisMultPVContributors});
327+ histos.add (" hNTracksPVeta08VsNTPV" , " hNTracksPVeta08VsNTPV" , kTH2F , {axisMultPVContributors, axisMultPVContributors});
328+ }
329+
330+ if (studies.doNTracksPVeta10VsRawSignals ) {
331+ histos.add (" hNTracksPVeta10VsFT0A" , " hNTracksPVeta10VsFT0A" , kTH2F , {axisMultFT0A, axisMultPVContributors});
332+ histos.add (" hNTracksPVeta10VsFT0C" , " hNTracksPVeta10VsFT0C" , kTH2F , {axisMultFT0C, axisMultPVContributors});
333+ histos.add (" hNTracksPVeta10VsFT0M" , " hNTracksPVeta10VsFT0M" , kTH2F , {axisMultFT0M, axisMultPVContributors});
334+ histos.add (" hNTracksPVeta10VsFV0A" , " hNTracksPVeta10VsFV0A" , kTH2F , {axisMultFV0A, axisMultPVContributors});
335+ histos.add (" hNTracksPVeta10VsFDDA" , " hNTracksPVeta10VsFDDA" , kTH2F , {axisMultFDDA, axisMultPVContributors});
336+ histos.add (" hNTracksPVeta10VsFDDC" , " hNTracksPVeta10VsFDDC" , kTH2F , {axisMultFDDC, axisMultPVContributors});
337+ histos.add (" hNTracksPVeta10VsNMFTTracks" , " hNTracksPVeta10VsNMFTTracks" , kTH2F , {axisMultMFTTracks, axisMultPVContributors});
338+ histos.add (" hNTracksPVeta10VsNTPV" , " hNTracksPVeta10VsNTPV" , kTH2F , {axisMultPVContributors, axisMultPVContributors});
339+ }
340+
305341 if (studies.doNGlobalTracksVsRawSignals ) {
306342 histos.add (" hNGlobalTracksVsFT0A" , " hNGlobalTracksVsFT0A" , kTH2F , {axisMultFT0A, axisMultGlobalTracks});
307343 histos.add (" hNGlobalTracksVsFT0C" , " hNGlobalTracksVsFT0C" , kTH2F , {axisMultFT0C, axisMultGlobalTracks});
@@ -564,6 +600,39 @@ struct CentralityStudy {
564600 histPointers.insert ({histPath + " hNGlobalTracksVsNTPV" , histos.add ((histPath + " hNGlobalTracksVsNTPV" ).c_str (), " hNGlobalTracksVsNTPV" , {kTH2F , {{axisMultPVContributors, axisMultGlobalTracks}}})});
565601 }
566602
603+ if (studies.doNTracksPVeta05VsRawSignals ) {
604+ histPointers.insert ({histPath + " hNTracksPVeta05VsFT0A" , histos.add ((histPath + " hNTracksPVeta05VsFT0A" ).c_str (), " hNTracksPVeta05VsFT0A" , {kTH2F , {{axisMultFT0A, axisMultPVContributors}}})});
605+ histPointers.insert ({histPath + " hNTracksPVeta05VsFT0C" , histos.add ((histPath + " hNTracksPVeta05VsFT0C" ).c_str (), " hNTracksPVeta05VsFT0C" , {kTH2F , {{axisMultFT0C, axisMultPVContributors}}})});
606+ histPointers.insert ({histPath + " hNTracksPVeta05VsFT0M" , histos.add ((histPath + " hNTracksPVeta05VsFT0M" ).c_str (), " hNTracksPVeta05VsFT0M" , {kTH2F , {{axisMultFT0M, axisMultPVContributors}}})});
607+ histPointers.insert ({histPath + " hNTracksPVeta05VsFV0A" , histos.add ((histPath + " hNTracksPVeta05VsFV0A" ).c_str (), " hNTracksPVeta05VsFV0A" , {kTH2F , {{axisMultFV0A, axisMultPVContributors}}})});
608+ histPointers.insert ({histPath + " hNTracksPVeta05VsFDDA" , histos.add ((histPath + " hNTracksPVeta05VsFDDA" ).c_str (), " hNTracksPVeta05VsFDDA" , {kTH2F , {{axisMultFDDA, axisMultPVContributors}}})});
609+ histPointers.insert ({histPath + " hNTracksPVeta05VsFDDC" , histos.add ((histPath + " hNTracksPVeta05VsFDDC" ).c_str (), " hNTracksPVeta05VsFDDC" , {kTH2F , {{axisMultFDDC, axisMultPVContributors}}})});
610+ histPointers.insert ({histPath + " hNTracksPVeta05VsNMFTTracks" , histos.add ((histPath + " hNTracksPVeta05VsNMFTTracks" ).c_str (), " hNTracksPVeta05VsNMFTTracks" , {kTH2F , {{axisMultMFTTracks, axisMultPVContributors}}})});
611+ histPointers.insert ({histPath + " hNTracksPVeta05VsNTPV" , histos.add ((histPath + " hNTracksPVeta05VsNTPV" ).c_str (), " hNTracksPVeta05VsNTPV" , {kTH2F , {{axisMultPVContributors, axisMultPVContributors}}})});
612+ }
613+
614+ if (studies.doNTracksPVeta08VsRawSignals ) {
615+ histPointers.insert ({histPath + " hNTracksPVeta08VsFT0A" , histos.add ((histPath + " hNTracksPVeta08VsFT0A" ).c_str (), " hNTracksPVeta08VsFT0A" , {kTH2F , {{axisMultFT0A, axisMultPVContributors}}})});
616+ histPointers.insert ({histPath + " hNTracksPVeta08VsFT0C" , histos.add ((histPath + " hNTracksPVeta08VsFT0C" ).c_str (), " hNTracksPVeta08VsFT0C" , {kTH2F , {{axisMultFT0C, axisMultPVContributors}}})});
617+ histPointers.insert ({histPath + " hNTracksPVeta08VsFT0M" , histos.add ((histPath + " hNTracksPVeta08VsFT0M" ).c_str (), " hNTracksPVeta08VsFT0M" , {kTH2F , {{axisMultFT0M, axisMultPVContributors}}})});
618+ histPointers.insert ({histPath + " hNTracksPVeta08VsFV0A" , histos.add ((histPath + " hNTracksPVeta08VsFV0A" ).c_str (), " hNTracksPVeta08VsFV0A" , {kTH2F , {{axisMultFV0A, axisMultPVContributors}}})});
619+ histPointers.insert ({histPath + " hNTracksPVeta08VsFDDA" , histos.add ((histPath + " hNTracksPVeta08VsFDDA" ).c_str (), " hNTracksPVeta08VsFDDA" , {kTH2F , {{axisMultFDDA, axisMultPVContributors}}})});
620+ histPointers.insert ({histPath + " hNTracksPVeta08VsFDDC" , histos.add ((histPath + " hNTracksPVeta08VsFDDC" ).c_str (), " hNTracksPVeta08VsFDDC" , {kTH2F , {{axisMultFDDC, axisMultPVContributors}}})});
621+ histPointers.insert ({histPath + " hNTracksPVeta08VsNMFTTracks" , histos.add ((histPath + " hNTracksPVeta08VsNMFTTracks" ).c_str (), " hNTracksPVeta08VsNMFTTracks" , {kTH2F , {{axisMultMFTTracks, axisMultPVContributors}}})});
622+ histPointers.insert ({histPath + " hNTracksPVeta08VsNTPV" , histos.add ((histPath + " hNTracksPVeta08VsNTPV" ).c_str (), " hNTracksPVeta08VsNTPV" , {kTH2F , {{axisMultPVContributors, axisMultPVContributors}}})});
623+ }
624+
625+ if (studies.doNTracksPVeta10VsRawSignals ) {
626+ histPointers.insert ({histPath + " hNTracksPVeta10VsFT0A" , histos.add ((histPath + " hNTracksPVeta10VsFT0A" ).c_str (), " hNTracksPVeta10VsFT0A" , {kTH2F , {{axisMultFT0A, axisMultPVContributors}}})});
627+ histPointers.insert ({histPath + " hNTracksPVeta10VsFT0C" , histos.add ((histPath + " hNTracksPVeta10VsFT0C" ).c_str (), " hNTracksPVeta10VsFT0C" , {kTH2F , {{axisMultFT0C, axisMultPVContributors}}})});
628+ histPointers.insert ({histPath + " hNTracksPVeta10VsFT0M" , histos.add ((histPath + " hNTracksPVeta10VsFT0M" ).c_str (), " hNTracksPVeta10VsFT0M" , {kTH2F , {{axisMultFT0M, axisMultPVContributors}}})});
629+ histPointers.insert ({histPath + " hNTracksPVeta10VsFV0A" , histos.add ((histPath + " hNTracksPVeta10VsFV0A" ).c_str (), " hNTracksPVeta10VsFV0A" , {kTH2F , {{axisMultFV0A, axisMultPVContributors}}})});
630+ histPointers.insert ({histPath + " hNTracksPVeta10VsFDDA" , histos.add ((histPath + " hNTracksPVeta10VsFDDA" ).c_str (), " hNTracksPVeta10VsFDDA" , {kTH2F , {{axisMultFDDA, axisMultPVContributors}}})});
631+ histPointers.insert ({histPath + " hNTracksPVeta10VsFDDC" , histos.add ((histPath + " hNTracksPVeta10VsFDDC" ).c_str (), " hNTracksPVeta10VsFDDC" , {kTH2F , {{axisMultFDDC, axisMultPVContributors}}})});
632+ histPointers.insert ({histPath + " hNTracksPVeta10VsNMFTTracks" , histos.add ((histPath + " hNTracksPVeta10VsNMFTTracks" ).c_str (), " hNTracksPVeta10VsNMFTTracks" , {kTH2F , {{axisMultMFTTracks, axisMultPVContributors}}})});
633+ histPointers.insert ({histPath + " hNTracksPVeta10VsNTPV" , histos.add ((histPath + " hNTracksPVeta10VsNTPV" ).c_str (), " hNTracksPVeta10VsNTPV" , {kTH2F , {{axisMultPVContributors, axisMultPVContributors}}})});
634+ }
635+
567636 if (studies.doTimeStudies ) {
568637 histPointers.insert ({histPath + " hFT0AVsTime" , histos.add ((histPath + " hFT0AVsTime" ).c_str (), " hFT0AVsTime" , {kTH2F , {{axisDeltaTimestamp, axisMultFT0A}}})});
569638 histPointers.insert ({histPath + " hFT0CVsTime" , histos.add ((histPath + " hFT0CVsTime" ).c_str (), " hFT0CVsTime" , {kTH2F , {{axisDeltaTimestamp, axisMultFT0C}}})});
@@ -652,6 +721,10 @@ struct CentralityStudy {
652721 float multNTracksGlobal = collision.multNTracksGlobal ();
653722 float mftNtracks = collision.mftNtracks ();
654723 float multNTracksPV = collision.multNTracksPV ();
724+ float multNTracksPV05 = collision.multNTracksPVetaHalf ();
725+ float multNTracksPV10 = collision.multNTracksPVeta1 ();
726+ float multFDDA = collision.multFDDA ();
727+ float multFDDC = collision.multFDDC ();
655728 if (applyVertexZEqualization) {
656729 float epsilon = 1e-2 ; // average value after which this collision will be disregarded
657730 multFV0A = -1 .0f ;
@@ -964,6 +1037,75 @@ struct CentralityStudy {
9641037 }
9651038 }
9661039
1040+ if (studies.doNTracksPVeta05VsRawSignals ) {
1041+ histos.fill (HIST (" hNTracksPVeta05VsFT0A" ), multFT0A, multNTracksPV05);
1042+ histos.fill (HIST (" hNTracksPVeta05VsFT0C" ), multFT0C, multNTracksPV05);
1043+ histos.fill (HIST (" hNTracksPVeta05VsFT0M" ), (multFT0A + multFT0C), multNTracksPV05);
1044+ histos.fill (HIST (" hNTracksPVeta05VsFV0A" ), multFV0A, multNTracksPV05);
1045+ histos.fill (HIST (" hNTracksPVeta05VsFDDA" ), multFDDA, multNTracksPV05);
1046+ histos.fill (HIST (" hNTracksPVeta05VsFDDC" ), multFDDC, multNTracksPV05);
1047+ histos.fill (HIST (" hNTracksPVeta05VsNMFTTracks" ), mftNtracks, multNTracksPV05);
1048+ histos.fill (HIST (" hNTracksPVeta05VsNTPV" ), multNTracksPV, multNTracksPV05);
1049+
1050+ // per run
1051+ if (studies.doRunByRunHistograms ) {
1052+ getHist<TH2 >(histPath + " hNTracksPVeta05VsFT0A" )->Fill (multFT0A, multNTracksPV05);
1053+ getHist<TH2 >(histPath + " hNTracksPVeta05VsFT0C" )->Fill (multFT0C, multNTracksPV05);
1054+ getHist<TH2 >(histPath + " hNTracksPVeta05VsFT0M" )->Fill (multFT0A + multFT0C, multNTracksPV05);
1055+ getHist<TH2 >(histPath + " hNTracksPVeta05VsFV0A" )->Fill (multFV0A, multNTracksPV05);
1056+ getHist<TH2 >(histPath + " hNTracksPVeta05VsFDDA" )->Fill (multFDDA, multNTracksPV05);
1057+ getHist<TH2 >(histPath + " hNTracksPVeta05VsFDDC" )->Fill (multFDDC, multNTracksPV05);
1058+ getHist<TH2 >(histPath + " hNTracksPVeta05VsNMFTTracks" )->Fill (mftNtracks, multNTracksPV05);
1059+ getHist<TH2 >(histPath + " hNTracksPVeta05VsNTPV" )->Fill (multNTracksPV, multNTracksPV05);
1060+ }
1061+ }
1062+
1063+ if (studies.doNTracksPVeta08VsRawSignals ) {
1064+ histos.fill (HIST (" hNTracksPVeta08VsFT0A" ), multFT0A, multNTracksPV);
1065+ histos.fill (HIST (" hNTracksPVeta08VsFT0C" ), multFT0C, multNTracksPV);
1066+ histos.fill (HIST (" hNTracksPVeta08VsFT0M" ), (multFT0A + multFT0C), multNTracksPV);
1067+ histos.fill (HIST (" hNTracksPVeta08VsFV0A" ), multFV0A, multNTracksPV);
1068+ histos.fill (HIST (" hNTracksPVeta08VsFDDA" ), multFDDA, multNTracksPV);
1069+ histos.fill (HIST (" hNTracksPVeta08VsFDDC" ), multFDDC, multNTracksPV);
1070+ histos.fill (HIST (" hNTracksPVeta08VsNMFTTracks" ), mftNtracks, multNTracksPV);
1071+ histos.fill (HIST (" hNTracksPVeta08VsNTPV" ), multNTracksPV, multNTracksPV);
1072+
1073+ // per run
1074+ if (studies.doRunByRunHistograms ) {
1075+ getHist<TH2 >(histPath + " hNTracksPVeta08VsFT0A" )->Fill (multFT0A, multNTracksPV);
1076+ getHist<TH2 >(histPath + " hNTracksPVeta08VsFT0C" )->Fill (multFT0C, multNTracksPV);
1077+ getHist<TH2 >(histPath + " hNTracksPVeta08VsFT0M" )->Fill (multFT0A + multFT0C, multNTracksPV);
1078+ getHist<TH2 >(histPath + " hNTracksPVeta08VsFV0A" )->Fill (multFV0A, multNTracksPV);
1079+ getHist<TH2 >(histPath + " hNTracksPVeta08VsFDDA" )->Fill (multFDDA, multNTracksPV);
1080+ getHist<TH2 >(histPath + " hNTracksPVeta08VsFDDC" )->Fill (multFDDC, multNTracksPV);
1081+ getHist<TH2 >(histPath + " hNTracksPVeta08VsNMFTTracks" )->Fill (mftNtracks, multNTracksPV);
1082+ getHist<TH2 >(histPath + " hNTracksPVeta08VsNTPV" )->Fill (multNTracksPV, multNTracksPV);
1083+ }
1084+ }
1085+
1086+ if (studies.doNTracksPVeta10VsRawSignals ) {
1087+ histos.fill (HIST (" hNTracksPVeta10VsFT0A" ), multFT0A, multNTracksPV10);
1088+ histos.fill (HIST (" hNTracksPVeta10VsFT0C" ), multFT0C, multNTracksPV10);
1089+ histos.fill (HIST (" hNTracksPVeta10VsFT0M" ), (multFT0A + multFT0C), multNTracksPV10);
1090+ histos.fill (HIST (" hNTracksPVeta10VsFV0A" ), multFV0A, multNTracksPV10);
1091+ histos.fill (HIST (" hNTracksPVeta10VsFDDA" ), multFDDA, multNTracksPV10);
1092+ histos.fill (HIST (" hNTracksPVeta10VsFDDC" ), multFDDC, multNTracksPV10);
1093+ histos.fill (HIST (" hNTracksPVeta10VsNMFTTracks" ), mftNtracks, multNTracksPV10);
1094+ histos.fill (HIST (" hNTracksPVeta10VsNTPV" ), multNTracksPV, multNTracksPV10);
1095+
1096+ // per run
1097+ if (studies.doRunByRunHistograms ) {
1098+ getHist<TH2 >(histPath + " hNTracksPVeta10VsFT0A" )->Fill (multFT0A, multNTracksPV10);
1099+ getHist<TH2 >(histPath + " hNTracksPVeta10VsFT0C" )->Fill (multFT0C, multNTracksPV10);
1100+ getHist<TH2 >(histPath + " hNTracksPVeta10VsFT0M" )->Fill (multFT0A + multFT0C, multNTracksPV10);
1101+ getHist<TH2 >(histPath + " hNTracksPVeta10VsFV0A" )->Fill (multFV0A, multNTracksPV10);
1102+ getHist<TH2 >(histPath + " hNTracksPVeta10VsFDDA" )->Fill (multFDDA, multNTracksPV10);
1103+ getHist<TH2 >(histPath + " hNTracksPVeta10VsFDDC" )->Fill (multFDDC, multNTracksPV10);
1104+ getHist<TH2 >(histPath + " hNTracksPVeta10VsNMFTTracks" )->Fill (mftNtracks, multNTracksPV10);
1105+ getHist<TH2 >(histPath + " hNTracksPVeta10VsNTPV" )->Fill (multNTracksPV, multNTracksPV10);
1106+ }
1107+ }
1108+
9671109 if constexpr (requires { collision.multMCExtraId (); }) {
9681110 // requires monte carlo information
9691111 if (collision.multMCExtraId () > -1 ) {
0 commit comments