@@ -180,6 +180,7 @@ struct HeavyionMultiplicity {
180180 ConfigurableAxis centBinGen{" centBinGen" , {VARIABLE_WIDTH, 0 , 500 , 1000 , 2000 , 5000 , 10000 }, " " };
181181 ConfigurableAxis binsImpactPar{" binsImpactPar" , {VARIABLE_WIDTH, 0.0 , 3.00065 , 4.28798 , 6.14552 , 7.6196 , 8.90942 , 10.0897 , 11.2002 , 12.2709 , 13.3167 , 14.4173 , 23.2518 }, " Binning of the impact parameter axis" };
182182 ConfigurableAxis binsMult{" binsMult" , {500 , 0 .0f , +500 .0f }, " " };
183+ ConfigurableAxis binsDCA{" binsDCA" , {500 , -10 .0f , 10 .0f }, " " };
183184
184185 Configurable<bool > isApplySameBunchPileup{" isApplySameBunchPileup" , true , " Enable SameBunchPileup cut" };
185186 Configurable<bool > isApplyGoodZvtxFT0vsPV{" isApplyGoodZvtxFT0vsPV" , true , " Enable GoodZvtxFT0vsPV cut" };
@@ -214,6 +215,7 @@ struct HeavyionMultiplicity {
214215 AxisSpec axisCentBinGen = {centBinGen, " GenCentrality" , " CentGenAxis" };
215216 AxisSpec impactParAxis = {binsImpactPar, " Impact Parameter" };
216217 AxisSpec multAxis = {binsMult, " Multiplicity #eta<0.5" };
218+ AxisSpec dcaAxis = {binsDCA, " DCA vs PV" };
217219
218220 histos.add (" EventHist" , " EventHist" , kTH1D , {axisEvent}, false );
219221 histos.add (" VtxZHist" , " VtxZHist" , kTH1D , {axisVtxZ}, false );
@@ -231,10 +233,13 @@ struct HeavyionMultiplicity {
231233 x->SetBinLabel (9 , " INEL > 0" );
232234
233235 if (doprocessData) {
236+ histos.add (" hdcaxy" , " dca to pv in the xy plane" , kTH1D , {dcaAxis}, false );
237+ histos.add (" hdcaz" , " dca to pv in the z axis" , kTH1D , {dcaAxis}, false );
234238 histos.add (" CentPercentileHist" , " CentPercentileHist" , kTH1D , {axisCent}, false );
235239 histos.add (" hdatazvtxcent" , " hdatazvtxcent" , kTH3D , {axisVtxZ, centAxis, axisOccupancy}, false );
236240 histos.add (" PhiVsEtaHist" , " PhiVsEtaHist" , kTH2D , {axisPhi2, axisEta}, false );
237241 histos.add (" hdatadndeta" , " hdatadndeta" , kTHnSparseD , {axisVtxZ, centAxis, axisOccupancy, axisEta, axisPhi, axisTrackType}, false );
242+ histos.add (" hdatadndetaMB" , " hdatadndetaMB" , kTHnSparseD , {axisVtxZ, axisEta, axisPhi}, false );
238243 }
239244
240245 if (doprocessMonteCarlo || doprocessMCpTefficiency || doprocessMCcheckFakeTracks) {
@@ -243,9 +248,13 @@ struct HeavyionMultiplicity {
243248 }
244249
245250 if (doprocessMonteCarlo) {
251+ histos.add (" hmcdcaxy" , " dca to pv in the xy plane" , kTH1D , {dcaAxis}, false );
252+ histos.add (" hmcdcaz" , " dca to pv in the z axis" , kTH1D , {dcaAxis}, false );
246253 histos.add (" MCrecPhiVsEtaHist" , " MCrecPhiVsEtaHist" , kTH2D , {axisPhi2, axisEta}, false );
247254 histos.add (" hmcrecdndeta" , " hmcrecdndeta" , kTHnSparseD , {axisVtxZ, centAxis, axisOccupancy, axisEta, axisPhi, axisSpecies, axisTrackType}, false );
255+ histos.add (" hmcrecdndetaMB" , " hmcrecdndetaMB" , kTHnSparseD , {axisVtxZ, axisEta, axisPhi, axisSpecies}, false );
248256 histos.add (" hmcgendndeta" , " hmcgendndeta" , kTHnSparseD , {axisVtxZ, centAxis, axisEta, axisPhi, axisSpecies, axisGenPtVary}, false );
257+ histos.add (" hmcgendndetaMB" , " hmcgendndetaMB" , kTHnSparseD , {axisVtxZ, axisEta, axisPhi, axisSpecies}, false );
249258 }
250259
251260 if (doprocessMCpTefficiency) {
@@ -511,8 +520,12 @@ struct HeavyionMultiplicity {
511520 if (!isTrackSelected (track)) {
512521 continue ;
513522 }
523+ histos.fill (HIST (" hdcaxy" ), track.dcaXY ());
524+ histos.fill (HIST (" hdcaz" ), track.dcaZ ());
514525 histos.fill (HIST (" PhiVsEtaHist" ), track.phi (), track.eta ());
515526 histos.fill (HIST (" hdatadndeta" ), cols.posZ (), selColCent (cols), selColOccu (cols), track.eta (), track.phi (), kGlobalplusITS );
527+ histos.fill (HIST (" hdatadndetaMB" ), cols.posZ (), track.eta (), track.phi ());
528+
516529 if (track.hasTPC ()) {
517530 histos.fill (HIST (" hdatadndeta" ), cols.posZ (), selColCent (cols), selColOccu (cols), track.eta (), track.phi (), kGlobalonly );
518531 } else {
@@ -563,15 +576,17 @@ struct HeavyionMultiplicity {
563576 histos.fill (HIST (" VtxZHist" ), RecCol.posZ ());
564577 histos.fill (HIST (" CentPercentileMCRecHist" ), selColCent (RecCol));
565578 histos.fill (HIST (" hmczvtxcent" ), RecCol.posZ (), selColCent (RecCol), selColOccu (RecCol));
566-
567579 auto recTracksPart = RecTracks.sliceBy (perCollision, RecCol.globalIndex ());
568580 std::vector<int > mclabels;
569581 for (const auto & Rectrack : recTracksPart) {
570582 if (!isTrackSelected (Rectrack)) {
571583 continue ;
572584 }
585+ histos.fill (HIST (" hmcdcaxy" ), Rectrack.dcaXY ());
586+ histos.fill (HIST (" hmcdcaz" ), Rectrack.dcaZ ());
573587 histos.fill (HIST (" MCrecPhiVsEtaHist" ), Rectrack.phi (), Rectrack.eta ());
574588 histos.fill (HIST (" hmcrecdndeta" ), RecCol.posZ (), selColCent (RecCol), selColOccu (RecCol), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kSpAll ), kGlobalplusITS );
589+ histos.fill (HIST (" hmcrecdndetaMB" ), RecCol.posZ (), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kSpAll ));
575590 if (Rectrack.hasTPC ()) {
576591 histos.fill (HIST (" hmcrecdndeta" ), RecCol.posZ (), selColCent (RecCol), selColOccu (RecCol), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kSpAll ), kGlobalonly );
577592 } else {
@@ -610,8 +625,10 @@ struct HeavyionMultiplicity {
610625 }
611626 mclabels.push_back (Rectrack.mcParticleId ());
612627 histos.fill (HIST (" hmcrecdndeta" ), RecCol.posZ (), selColCent (RecCol), selColOccu (RecCol), Rectrack.eta (), Rectrack.phi (), static_cast <double >(pid), kGlobalplusITS );
628+ histos.fill (HIST (" hmcrecdndetaMB" ), RecCol.posZ (), Rectrack.eta (), Rectrack.phi (), static_cast <double >(pid));
613629 } else {
614630 histos.fill (HIST (" hmcrecdndeta" ), RecCol.posZ (), selColCent (RecCol), selColOccu (RecCol), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kBkg ), kGlobalplusITS );
631+ histos.fill (HIST (" hmcrecdndetaMB" ), RecCol.posZ (), Rectrack.eta (), Rectrack.phi (), static_cast <double >(kBkg ));
615632 }
616633 } // track (mcrec) loop
617634
@@ -620,6 +637,7 @@ struct HeavyionMultiplicity {
620637 continue ;
621638 }
622639 histos.fill (HIST (" hmcgendndeta" ), RecCol.posZ (), selColCent (RecCol), particle.eta (), particle.phi (), static_cast <double >(kSpAll ), kNoGenpTVar );
640+ histos.fill (HIST (" hmcgendndetaMB" ), RecCol.posZ (), particle.eta (), particle.phi (), static_cast <double >(kSpAll ));
623641 if (particle.pt () < KminPtCut) {
624642 histos.fill (HIST (" hmcgendndeta" ), RecCol.posZ (), selColCent (RecCol), particle.eta (), particle.phi (), static_cast <double >(kSpAll ), kGenpTup , -10.0 * particle.pt () + 2 );
625643 histos.fill (HIST (" hmcgendndeta" ), RecCol.posZ (), selColCent (RecCol), particle.eta (), particle.phi (), static_cast <double >(kSpAll ), kGenpTdown , 5.0 * particle.pt () + 0.5 );
@@ -644,6 +662,7 @@ struct HeavyionMultiplicity {
644662 break ;
645663 }
646664 histos.fill (HIST (" hmcgendndeta" ), RecCol.posZ (), selColCent (RecCol), particle.eta (), particle.phi (), static_cast <double >(pid), kNoGenpTVar );
665+ histos.fill (HIST (" hmcgendndetaMB" ), RecCol.posZ (), particle.eta (), particle.phi (), static_cast <double >(pid));
647666 } // track (mcgen) loop
648667 } // collision loop
649668 }
0 commit comments