2929#include " PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
3030#include " PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
3131#include " PWGCF/FemtoUniverse/Core/FemtoUniversePairCleaner.h"
32- #include " PWGCF/FemtoUniverse/Core/FemtoUniverseAngularContainer .h"
32+ #include " PWGCF/FemtoUniverse/Core/FemtoUniverseContainer .h"
3333#include " PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h"
3434#include " PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
3535#include " PWGCF/FemtoUniverse/Core/FemtoUniverseEfficiencyCalculator.h"
@@ -132,11 +132,12 @@ struct FemtoUniversePairTaskTrackPhi {
132132 Partition<soa::Join<FilteredFemtoFullParticles, aod::FDMCLabels>> partsKaonsMC = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack ));
133133
134134 // / Histogramming for particle 1
135- FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kTrack , 2 > trackHistoPartTrack;
135+ FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kTrack , 1 > trackHistoPartTrack;
136136 FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kMCTruthTrack , 1 > hMCTruth1;
137+ FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kTrack , 1 > hTrackDCA;
137138
138139 // / Histogramming for particle 2
139- FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kPhi , 0 > trackHistoPartPhi;
140+ FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kPhi , 2 > trackHistoPartPhi;
140141 FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kMCTruthTrack , 2 > hMCTruth2;
141142
142143 // / Histogramming for Event
@@ -147,6 +148,7 @@ struct FemtoUniversePairTaskTrackPhi {
147148 ConfigurableAxis confBinsTempFitVarInvMass{" confBinsTempFitVarInvMass" , {6000 , 0.9 , 4.0 }, " binning of the TempFitVar in the pT vs. TempFitVar plot" };
148149 ConfigurableAxis confBinsTempFitVarpT{" confBinsTempFitVarpT" , {20 , 0.5 , 4.05 }, " pT binning of the pT vs. TempFitVar plot" };
149150 ConfigurableAxis confBinsTempFitVarPDG{" confBinsTempFitVarPDG" , {6000 , -2300 , 2300 }, " Binning of the PDG code in the pT vs. TempFitVar plot" };
151+ ConfigurableAxis confBinsTempFitVarDCA{" confBinsTempFitVarDCA" , {300 , -3.0 , 3.0 }, " binning of the TempFitVar in the pT vs. TempFitVar plot" };
150152
151153 // / Correlation part
152154 ConfigurableAxis confBinsMult{" confBinsMult" , {VARIABLE_WIDTH, 0 .0f , 4 .0f , 8 .0f , 12 .0f , 16 .0f , 20 .0f , 24 .0f , 28 .0f , 32 .0f , 36 .0f , 40 .0f , 44 .0f , 48 .0f , 52 .0f , 56 .0f , 60 .0f , 64 .0f , 68 .0f , 72 .0f , 76 .0f , 80 .0f , 84 .0f , 88 .0f , 92 .0f , 96 .0f , 100 .0f , 200 .0f , 99999 .f }, " Mixing bins - multiplicity" }; // \todo to be obtained from the hash task
@@ -160,8 +162,8 @@ struct FemtoUniversePairTaskTrackPhi {
160162 ConfigurableAxis confBinskT{" confBinskT" , {150 , 0 ., 9 .}, " binning kT" };
161163 ConfigurableAxis confBinsmT{" confBinsmT" , {225 , 0 ., 7.5 }, " binning mT" };
162164
163- FemtoUniverseAngularContainer<femto_universe_angular_container ::EventType::same, femto_universe_angular_container ::Observable::kstar> sameEventAngularCont ;
164- FemtoUniverseAngularContainer<femto_universe_angular_container ::EventType::mixed, femto_universe_angular_container ::Observable::kstar> mixedEventAngularCont ;
165+ FemtoUniverseContainer<femto_universe_container ::EventType::same, femto_universe_container ::Observable::kstar> sameEventCont ;
166+ FemtoUniverseContainer<femto_universe_container ::EventType::mixed, femto_universe_container ::Observable::kstar> mixedEventCont ;
165167 FemtoUniversePairCleaner<aod::femtouniverseparticle::ParticleType::kTrack , aod::femtouniverseparticle::ParticleType::kPhi > pairCleaner;
166168 FemtoUniverseDetaDphiStar<aod::femtouniverseparticle::ParticleType::kTrack , aod::femtouniverseparticle::ParticleType::kPhi > pairCloseRejection;
167169 FemtoUniverseTrackSelection trackCuts;
@@ -173,6 +175,7 @@ struct FemtoUniversePairTaskTrackPhi {
173175 HistogramRegistry registryMCtruth{" registryMCtruth" , {}, OutputObjHandlingPolicy::AnalysisObject, false , true };
174176 HistogramRegistry registryMCreco{" registryMCreco" , {}, OutputObjHandlingPolicy::AnalysisObject, false , true };
175177 HistogramRegistry registryPhiMinvBackground{" registryPhiMinvBackground" , {}, OutputObjHandlingPolicy::AnalysisObject, false , true };
178+ HistogramRegistry registryDCA{" registryDCA" , {}, OutputObjHandlingPolicy::AnalysisObject, false , true };
176179
177180 Configurable<bool > confDoEfficiency{" confDoEfficiency" , true , " Do efficiency corrections." };
178181 EfficiencyConfigurableGroup effConfGroup;
@@ -369,6 +372,9 @@ struct FemtoUniversePairTaskTrackPhi {
369372 hMCTruth1.init (&qaRegistry, confBinsTempFitVarpT, confBinsTempFitVarPDG, false , ConfTrack.confTrackPDGCode , false );
370373 hMCTruth2.init (&qaRegistry, confBinsTempFitVarpT, confBinsTempFitVarPDG, false , 333 , false );
371374 }
375+ if (ConfBothTracks.confIsMC ) {
376+ hTrackDCA.init (®istryDCA, confBinsTempFitVarpT, confBinsTempFitVar, true , ConfTrack.confTrackPDGCode , true );
377+ }
372378 efficiencyCalculator.init ();
373379
374380 eventHisto.init (&qaRegistry);
@@ -434,11 +440,11 @@ struct FemtoUniversePairTaskTrackPhi {
434440 mixQaRegistry.add (" MixingQA/hSECollisionBins" , " ;bin;Entries" , kTH1F , {{120 , -0.5 , 119.5 }});
435441 mixQaRegistry.add (" MixingQA/hMECollisionBins" , " ;bin;Entries" , kTH1F , {{120 , -0.5 , 119.5 }});
436442
437- sameEventAngularCont .init (&resultRegistry, confBinskstar, confBinsMult, confBinskT, confBinsmT, confBins3Dmult, confBins3DmT, ConfBothTracks.confBinsEta , ConfBothTracks.confBinsPhi , ConfBothTracks.confIsMC , ConfBothTracks.confUse3D );
438- mixedEventAngularCont .init (&resultRegistry, confBinskstar, confBinsMult, confBinskT, confBinsmT, confBins3Dmult, confBins3DmT, ConfBothTracks.confBinsEta , ConfBothTracks.confBinsPhi , ConfBothTracks.confIsMC , ConfBothTracks.confUse3D );
443+ sameEventCont .init (&resultRegistry, confBinskstar, confBinsMult, confBinskT, confBinsmT, confBins3Dmult, confBins3DmT, ConfBothTracks.confBinsEta , ConfBothTracks.confBinsPhi , ConfBothTracks.confIsMC , ConfBothTracks.confUse3D );
444+ mixedEventCont .init (&resultRegistry, confBinskstar, confBinsMult, confBinskT, confBinsmT, confBins3Dmult, confBins3DmT, ConfBothTracks.confBinsEta , ConfBothTracks.confBinsPhi , ConfBothTracks.confIsMC , ConfBothTracks.confUse3D );
439445
440- sameEventAngularCont .setPDGCodes (333 , ConfTrack.confTrackPDGCode .value );
441- mixedEventAngularCont .setPDGCodes (333 , ConfTrack.confTrackPDGCode .value );
446+ sameEventCont .setPDGCodes (333 , ConfTrack.confTrackPDGCode .value );
447+ mixedEventCont .setPDGCodes (333 , ConfTrack.confTrackPDGCode .value );
442448
443449 pairCleaner.init (&qaRegistry);
444450 if (ConfCPR.confCPRIsEnabled .value ) {
@@ -558,14 +564,12 @@ struct FemtoUniversePairTaskTrackPhi {
558564 continue ;
559565 }
560566
561- weight = 1 .0f ;
562- if (confDoEfficiency.value ) {
563- weight = efficiencyCalculator.getWeight (ParticleNo::ONE, phicandidate) * efficiencyCalculator.getWeight (ParticleNo::TWO, track);
564- }
567+ weight = efficiencyCalculator.getWeight (ParticleNo::ONE, phicandidate) * efficiencyCalculator.getWeight (ParticleNo::TWO, track);
568+
565569 if (swpart)
566- sameEventAngularCont .setPair <isMC>(track, phicandidate, multCol, ConfBothTracks.confUse3D .value , weight);
570+ sameEventCont .setPair <isMC>(track, phicandidate, multCol, ConfBothTracks.confUse3D .value , weight);
567571 else
568- sameEventAngularCont .setPair <isMC>(phicandidate, track, multCol, ConfBothTracks.confUse3D .value , weight);
572+ sameEventCont .setPair <isMC>(phicandidate, track, multCol, ConfBothTracks.confUse3D .value , weight);
569573
570574 swpart = !swpart;
571575 }
@@ -650,15 +654,12 @@ struct FemtoUniversePairTaskTrackPhi {
650654 }
651655 }
652656
653- weight = 1 .0f ;
654- if (confDoEfficiency.value ) {
655- weight = efficiencyCalculator.getWeight (ParticleNo::ONE, phicandidate) * efficiencyCalculator.getWeight (ParticleNo::TWO, track);
656- }
657+ weight = efficiencyCalculator.getWeight (ParticleNo::ONE, phicandidate) * efficiencyCalculator.getWeight (ParticleNo::TWO, track);
657658
658659 if (swpart)
659- mixedEventAngularCont .setPair <isMC>(track, phicandidate, multCol, ConfBothTracks.confUse3D .value , weight);
660+ mixedEventCont .setPair <isMC>(track, phicandidate, multCol, ConfBothTracks.confUse3D .value , weight);
660661 else
661- mixedEventAngularCont .setPair <isMC>(phicandidate, track, multCol, ConfBothTracks.confUse3D .value , weight);
662+ mixedEventCont .setPair <isMC>(phicandidate, track, multCol, ConfBothTracks.confUse3D .value , weight);
662663
663664 swpart = !swpart;
664665 }
@@ -771,6 +772,8 @@ struct FemtoUniversePairTaskTrackPhi {
771772 registryMCreco.fill (HIST (" MCrecoPnegPt" ), mcpart.pt ());
772773 }
773774 }
775+ if (isParticleNSigmaAccepted (part.p (), trackCuts.getNsigmaTPC (part, o2::track::PID::Proton), trackCuts.getNsigmaTOF (part, o2::track::PID::Proton), trackCuts.getNsigmaTPC (part, o2::track::PID::Pion), trackCuts.getNsigmaTOF (part, o2::track::PID::Pion), trackCuts.getNsigmaTPC (part, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (part, o2::track::PID::Kaon)))
776+ hTrackDCA.fillQA <true , true >(part);
774777 } // partType kTrack
775778 }
776779 }
0 commit comments