@@ -47,7 +47,7 @@ class FemtoUniverseDetaDphiStar
4747 // / Destructor
4848 virtual ~FemtoUniverseDetaDphiStar () = default ;
4949 // / Initialization of the histograms and setting required values
50- void init (HistogramRegistry* registry, HistogramRegistry* registryQA, float ldeltaphistarcutmin, float ldeltaphistarcutmax, float ldeltaetacutmin, float ldeltaetacutmax, float lchosenradii, bool lplotForEveryRadii, float lPhiMassMin = 1.014 , float lPhiMassMax = 1.026 )
50+ void init (HistogramRegistry* registry, HistogramRegistry* registryQA, float ldeltaphistarcutmin, float ldeltaphistarcutmax, float ldeltaetacutmin, float ldeltaetacutmax, float lchosenradii, bool lplotForEveryRadii, float lPhiMassMin = 1.014 , float lPhiMassMax = 1.026 , bool lisSameSignCPR = false )
5151 {
5252 chosenRadii = lchosenradii;
5353 cutDeltaPhiStarMax = ldeltaphistarcutmax;
@@ -59,6 +59,7 @@ class FemtoUniverseDetaDphiStar
5959 mHistogramRegistryQA = registryQA;
6060 cutPhiInvMassLow = lPhiMassMin;
6161 cutPhiInvMassHigh = lPhiMassMax;
62+ isSameSignCPR = lisSameSignCPR;
6263
6364 if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kTrack ) {
6465 std::string dirName = static_cast <std::string>(DirNames[0 ]);
@@ -275,6 +276,8 @@ class FemtoUniverseDetaDphiStar
275276 auto indexOfDaughterpart2 = (ChosenEventType == femto_universe_container::EventType::mixed ? part2.globalIndex () : part2.index ()) + CascChildTable[i][1 ];
276277 auto daughterpart1 = particles.begin () + indexOfDaughterpart1;
277278 auto daughterpart2 = particles.begin () + indexOfDaughterpart2;
279+ if (isSameSignCPR && (daughterpart1.sign () != daughterpart2.sign ()))
280+ continue ;
278281 auto deta = daughterpart1.eta () - daughterpart2.eta ();
279282 auto dphiAvg = averagePhiStar (*daughterpart1, *daughterpart2, i);
280283 if (ChosenEventType == femto_universe_container::EventType::same) {
@@ -462,6 +465,7 @@ class FemtoUniverseDetaDphiStar
462465 bool plotForEveryRadii = false ;
463466 float cutPhiInvMassLow;
464467 float cutPhiInvMassHigh;
468+ bool isSameSignCPR = false ;
465469
466470 std::array<std::array<std::shared_ptr<TH2>, 2 >, 7 > histdetadpisame{};
467471 std::array<std::array<std::shared_ptr<TH2>, 2 >, 7 > histdetadpimixed{};
0 commit comments