@@ -111,7 +111,7 @@ class FemtoUniverseDetaDphiStar
111111 }
112112 }
113113 if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kCascade && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
114- // / Xi-Xi and Omega-Omega combination
114+ // / Cascade-Cascade combination
115115 for (int k = 0 ; k < 7 ; k++) {
116116 std::string dirName = static_cast <std::string>(DirNames[5 ]);
117117 histdetadpisame[k][0 ] = mHistogramRegistry ->add <TH2>((dirName + static_cast <std::string>(HistNamesSame[0 ][k])).c_str (), " ; #Delta #eta; #Delta #phi" , kTH2F , {{100 , -0.15 , 0.15 }, {100 , -0.15 , 0.15 }});
@@ -126,7 +126,7 @@ class FemtoUniverseDetaDphiStar
126126 }
127127 }
128128 if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
129- // / Track-Xi and Track-Omega combination
129+ // / Track-Cascade combination
130130 for (int k = 0 ; k < 3 ; k++) {
131131 std::string dirName = static_cast <std::string>(DirNames[6 ]);
132132 histdetadpisame[k][0 ] = mHistogramRegistry ->add <TH2>((dirName + static_cast <std::string>(HistNamesSame[0 ][k])).c_str (), " ; #Delta #eta; #Delta #phi" , kTH2F , {{100 , -0.15 , 0.15 }, {100 , -0.15 , 0.15 }});
@@ -140,6 +140,21 @@ class FemtoUniverseDetaDphiStar
140140 }
141141 }
142142 }
143+ if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kV0 && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
144+ // / V0-Cascade combination
145+ for (int k = 0 ; k < 3 ; k++) {
146+ std::string dirName = static_cast <std::string>(DirNames[7 ]);
147+ histdetadpisame[k][0 ] = mHistogramRegistry ->add <TH2>((dirName + static_cast <std::string>(HistNamesSame[0 ][k])).c_str (), " ; #Delta #eta; #Delta #phi" , kTH2F , {{100 , -0.15 , 0.15 }, {100 , -0.15 , 0.15 }});
148+ histdetadpisame[k][1 ] = mHistogramRegistry ->add <TH2>((dirName + static_cast <std::string>(HistNamesSame[1 ][k])).c_str (), " ; #Delta #eta; #Delta #phi" , kTH2F , {{100 , -0.15 , 0.15 }, {100 , -0.15 , 0.15 }});
149+ histdetadpimixed[k][0 ] = mHistogramRegistry ->add <TH2>((dirName + static_cast <std::string>(HistNamesMixed[0 ][k])).c_str (), " ; #Delta #eta; #Delta #phi" , kTH2F , {{100 , -0.15 , 0.15 }, {100 , -0.15 , 0.15 }});
150+ histdetadpimixed[k][1 ] = mHistogramRegistry ->add <TH2>((dirName + static_cast <std::string>(HistNamesMixed[1 ][k])).c_str (), " ; #Delta #eta; #Delta #phi" , kTH2F , {{100 , -0.15 , 0.15 }, {100 , -0.15 , 0.15 }});
151+ if (plotForEveryRadii) {
152+ for (int l = 0 ; l < 9 ; l++) {
153+ histdetadpiRadii[k][l] = mHistogramRegistryQA ->add <TH2>((dirName + static_cast <std::string>(HistNamesRadii[k][l])).c_str (), " ; #Delta #eta; #Delta #phi" , kTH2F , {{100 , -0.15 , 0.15 }, {100 , -0.15 , 0.15 }});
154+ }
155+ }
156+ }
157+ }
143158 if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kPhi ) {
144159 for (int i = 0 ; i < 2 ; i++) {
145160 std::string dirName = static_cast <std::string>(DirNames[3 ]);
@@ -219,7 +234,6 @@ class FemtoUniverseDetaDphiStar
219234 bool pass = false ;
220235 for (int i = 0 ; i < 2 ; i++) {
221236 auto indexOfDaughter = (ChosenEventType == femto_universe_container::EventType::mixed ? part2.globalIndex () : part2.index ()) - 2 + i;
222- // auto indexOfDaughter = part2.globalIndex() - 2 + i;
223237 auto daughter = particles.begin () + indexOfDaughter;
224238 auto deta = part1.eta () - daughter.eta ();
225239 auto dphiAvg = averagePhiStar (part1, *daughter, i);
@@ -284,7 +298,7 @@ class FemtoUniverseDetaDphiStar
284298 return pass;
285299
286300 } else if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kCascade && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
287- // / Xi-Xi and Omega-Omega combination
301+ // / Cascade-Cascade combination
288302 if (part1.partType () != o2::aod::femtouniverseparticle::ParticleType::kCascade || part2.partType () != o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
289303 LOG (fatal) << " FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar instantiation! Please provide kCascade,kCascade candidates." ;
290304 return false ;
@@ -324,7 +338,7 @@ class FemtoUniverseDetaDphiStar
324338 return pass;
325339
326340 } else if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
327- // / Track-Xi and Track-Omega combination
341+ // / Track-Cascade combination
328342 if (part1.partType () != o2::aod::femtouniverseparticle::ParticleType::kTrack || part2.partType () != o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
329343 LOG (fatal) << " FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar instantiation! Please provide kTrack,kCascade candidates." ;
330344 return false ;
@@ -360,6 +374,46 @@ class FemtoUniverseDetaDphiStar
360374 }
361375 return pass;
362376
377+ } else if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kV0 && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
378+ // / V0-Cascade combination
379+ if (part1.partType () != o2::aod::femtouniverseparticle::ParticleType::kV0 || part2.partType () != o2::aod::femtouniverseparticle::ParticleType::kCascade ) {
380+ LOG (fatal) << " FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar instantiation! Please provide kV0,kCascade candidates." ;
381+ return false ;
382+ }
383+
384+ bool pass = false ;
385+ static constexpr int V0CascChildTable[][2 ] = {{-1 , -1 }, {-1 , -2 }, {-1 , -3 }, {-2 , -1 }, {-2 , -2 }, {-2 , -3 }};
386+ for (int i = 0 ; i < 3 ; i++) {
387+ auto indexOfDaughterV0 = (ChosenEventType == femto_universe_container::EventType::mixed ? part1.globalIndex () : part1.index ()) + V0CascChildTable[i][0 ];
388+ auto indexOfDaughterCasc = (ChosenEventType == femto_universe_container::EventType::mixed ? part2.globalIndex () : part2.index ()) + V0CascChildTable[i][1 ];
389+ auto daughterV0 = particles.begin () + indexOfDaughterV0;
390+ auto daughterCasc = particles.begin () + indexOfDaughterCasc;
391+ if (isSameSignCPR && (daughterV0.mAntiLambda () != daughterCasc.mAntiLambda ())) // mAntiLambda() is used here as sign getter
392+ continue ;
393+ auto deta = daughterV0.eta () - daughterCasc.eta ();
394+ auto dphiAvg = averagePhiStar (*daughterV0, *daughterCasc, i);
395+ if (ChosenEventType == femto_universe_container::EventType::same) {
396+ histdetadpisame[i][0 ]->Fill (deta, dphiAvg);
397+ } else if (ChosenEventType == femto_universe_container::EventType::mixed) {
398+ histdetadpimixed[i][0 ]->Fill (deta, dphiAvg);
399+ } else {
400+ LOG (fatal) << " FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar's type of events! Please provide same or mixed." ;
401+ }
402+
403+ if ((dphiAvg > cutDeltaPhiStarMin) && (dphiAvg < cutDeltaPhiStarMax) && (deta > cutDeltaEtaMin) && (deta < cutDeltaEtaMax)) {
404+ pass = true ;
405+ } else {
406+ if (ChosenEventType == femto_universe_container::EventType::same) {
407+ histdetadpisame[i][1 ]->Fill (deta, dphiAvg);
408+ } else if (ChosenEventType == femto_universe_container::EventType::mixed) {
409+ histdetadpimixed[i][1 ]->Fill (deta, dphiAvg);
410+ } else {
411+ LOG (fatal) << " FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar's type of events! Please provide same or mixed." ;
412+ }
413+ }
414+ }
415+ return pass;
416+
363417 } else if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kD0 ) {
364418 // / Track-D0 combination
365419 // check if provided particles are in agreement with the class instantiation
@@ -586,7 +640,7 @@ class FemtoUniverseDetaDphiStar
586640 private:
587641 HistogramRegistry* mHistogramRegistry = nullptr ; // /< For main output
588642 HistogramRegistry* mHistogramRegistryQA = nullptr ; // /< For QA output
589- static constexpr std::string_view DirNames[7 ] = {" kTrack_kTrack/" , " kTrack_kV0/" , " kV0_kV0/" , " kTrack_kPhi/" , " kTrack_kD0/" , " kCascade_kCascade/" , " kTrack_kCascade/" };
643+ static constexpr std::string_view DirNames[8 ] = {" kTrack_kTrack/" , " kTrack_kV0/" , " kV0_kV0/" , " kTrack_kPhi/" , " kTrack_kD0/" , " kCascade_kCascade/" , " kTrack_kCascade/ " , " kV0_kCascade /" };
590644
591645 static constexpr std::string_view HistNamesSame[2 ][8 ] = {{" detadphidetadphi0BeforeSame_0" , " detadphidetadphi0BeforeSame_1" , " detadphidetadphi0BeforeSame_2" ,
592646 " detadphidetadphi0BeforeSame_3" , " detadphidetadphi0BeforeSame_4" , " detadphidetadphi0BeforeSame_5" ,
0 commit comments