@@ -81,6 +81,7 @@ struct SGFITAnalyzer {
8181 void init (InitContext&)
8282 {
8383 const AxisSpec axispt{ptAxis, " p_{T}" };
84+ const AxisSpec axismeanpt{ptAxis, " <p_{T}>" };
8485 const AxisSpec axisBC{BCAxis, " BC" };
8586 const AxisSpec axiseta{etaAxis, " #eta" };
8687 const AxisSpec axismult{multAxis, " N_{tracks}" };
@@ -108,6 +109,12 @@ struct SGFITAnalyzer {
108109 registry.add (" collisions/multiplicityZ1PVCAC" , " Multiplicity of PV contributors AC-side; PV contributors; Tracks" , {HistType::kTH1F , {{axismult}}});
109110 registry.add (" collisions/GapSide" , " Gap Side: A, C, A+C" , {HistType::kTH1F , {{3 , -0.5 , 2.5 }}});
110111 registry.add (" collisions/TrueGapSide" , " Gap Side: A, C, A+C" , {HistType::kTH1F , {{4 , -1.5 , 2.5 }}});
112+ registry.add (" collisions/2D/multiplicityVsMeanPtPVCA" , " Multiplicity of PV contributors A-side; PV contributors; mean #{p}_{T}" , {HistType::kTH2F , {{axismult}, {axismeanpt}}});
113+ registry.add (" collisions/2D/multiplicityVsEtaPVCA" , " Multiplicity of PV contributors A-side; PV contributors; #eta" , {HistType::kTH2F , {{axismult}, {axiseta}}});
114+ registry.add (" collisions/2D/multiplicityVsMeanPtPVCC" , " Multiplicity of PV contributors C-side; PV contributors; mean #{p}_{T}" , {HistType::kTH2F , {{axismult}, {axismeanpt}}});
115+ registry.add (" collisions/2D/multiplicityVsEtaPVCC" , " Multiplicity of PV contributors C-side; PV contributors; #eta" , {HistType::kTH2F , {{axismult}, {axiseta}}});
116+ registry.add (" collisions/2D/multiplicityVsMeanPtPVCAC" , " Multiplicity of PV contributors AC-side; PV contributors; mean #{p}_{T}" , {HistType::kTH2F , {{axismult}, {axismeanpt}}});
117+ registry.add (" collisions/2D/multiplicityVsEtaPVCAC" , " Multiplicity of PV contributors AC-side; PV contributors; #eta" , {HistType::kTH2F , {{axismult}, {axiseta}}});
111118
112119 // track histograms
113120 registry.add (" tracks/QCAll" , " Track QC of all tracks; Hit in detector; Tracks" , {HistType::kTH1F , {{5 , -0.5 , 4.5 }}});
@@ -418,8 +425,14 @@ struct SGFITAnalyzer {
418425 }
419426 }
420427 int pva = 0 ;
428+ double avPtPVa = 0 ;
429+ std::vector<double > vecEtaPVa;
421430 int pvc = 0 ;
431+ double avPtPVc = 0 ;
432+ std::vector<double > vecEtaPVc;
422433 int pvac = 0 ;
434+ double avPtPVac = 0 ;
435+ std::vector<double > vecEtaPVac;
423436 int z0pva = 0 ;
424437 int z0pvc = 0 ;
425438 int z0pvac = 0 ;
@@ -747,45 +760,63 @@ struct SGFITAnalyzer {
747760 registry.get <TH1>(HIST (" tracks/ptPVC" ))->Fill (track.pt (), 1 .);
748761 // registry.get<TH2>(HIST("tracks/etavsptPVC"))->Fill(vtrk.Eta(), track.pt(), 1.);
749762 if (truegapSide == 0 ) {
763+ pva++;
764+ avPtPVa = track.pt ();
765+ vecEtaPVa.push_back (vtrk.Eta ());
750766 registry.get <TH1>(HIST (" tracks/etaApv" ))->Fill (vtrk.Eta (), 1 .);
751767 if (!an)
752768 registry.get <TH1>(HIST (" tracks/eta2Apv" ))->Fill (vtrk.Eta (), 1 .);
753769 if (!an)
754770 z0pva++;
755771 else if (an == 4 )
756772 z1pva++;
757- pva++;
758773 }
759774 if (truegapSide == 1 ) {
775+ pvc++;
776+ avPtPVc = track.pt ();
777+ vecEtaPVc.push_back (vtrk.Eta ());
760778 registry.get <TH1>(HIST (" tracks/etaCpv" ))->Fill (vtrk.Eta (), 1 .);
761779 if (!cn)
762780 registry.get <TH1>(HIST (" tracks/eta2Cpv" ))->Fill (vtrk.Eta (), 1 .);
763781 if (!cn)
764782 z0pvc++;
765783 else if (cn == 4 )
766784 z1pvc++;
767- pvc++;
768785 }
769786 if (truegapSide == 2 ) {
787+ pvac++;
788+ avPtPVac = track.pt ();
789+ vecEtaPVac.push_back (vtrk.Eta ());
770790 registry.get <TH1>(HIST (" tracks/etaACpv" ))->Fill (vtrk.Eta (), 1 .);
771791 if (!an && !cn)
772792 registry.get <TH1>(HIST (" tracks/eta2ACpv" ))->Fill (vtrk.Eta (), 1 .);
773793 if (!an && !cn)
774794 z0pvac++;
775795 else if (an >= 3 && cn >= 3 )
776796 z1pvac++;
777- pvac++;
778797 }
779798 registry.get <TH2>(HIST (" tracks/TPCSignalvspPVC" ))->Fill (vtrk.Mag (), signalTPC, 1 .);
780799 registry.get <TH2>(HIST (" tracks/TOFSignalvspPVC" ))->Fill (vtrk.Mag (), signalTOF, 1 .);
781800 }
782801 }
783- if (pva)
802+ if (pva) {
784803 registry.get <TH1>(HIST (" collisions/multiplicityPVCA" ))->Fill (pva, 1 .);
785- if (pvc)
804+ registry.get <TH2>(HIST (" collisions/2D/multiplicityVsMeanPtPVCA" ))->Fill (pva, avPtPVa / pva, 1 .);
805+ for (auto & element : vecEtaPVa)
806+ registry.get <TH2>(HIST (" collisions/2D/multiplicityVsEtaPVCA" ))->Fill (pva, element, 1 .);
807+ }
808+ if (pvc) {
786809 registry.get <TH1>(HIST (" collisions/multiplicityPVCC" ))->Fill (pvc, 1 .);
787- if (pvac)
810+ registry.get <TH2>(HIST (" collisions/2D/multiplicityVsMeanPtPVCC" ))->Fill (pvc, avPtPVc / pvc, 1 .);
811+ for (auto & element : vecEtaPVc)
812+ registry.get <TH2>(HIST (" collisions/2D/multiplicityVsEtaPVCC" ))->Fill (pvc, element, 1 .);
813+ }
814+ if (pvac) {
788815 registry.get <TH1>(HIST (" collisions/multiplicityPVCAC" ))->Fill (pvac, 1 .);
816+ registry.get <TH2>(HIST (" collisions/2D/multiplicityVsMeanPtPVCAC" ))->Fill (pvac, avPtPVac / pvac, 1 .);
817+ for (auto & element : vecEtaPVac)
818+ registry.get <TH2>(HIST (" collisions/2D/multiplicityVsEtaPVCAC" ))->Fill (pvac, element, 1 .);
819+ }
789820 if (pva)
790821 registry.get <TH1>(HIST (" collisions/multiplicityZ0PVCA" ))->Fill (z0pva, 1 .);
791822 if (pvc)
0 commit comments