@@ -1131,6 +1131,10 @@ struct HStrangeCorrelation {
11311131 histos.add (fmt::format (" GeneratedWithPV/h{}_MidYVsMult" , kParticlenames [i]).c_str (), " " , kTH2F , {axisPtQA, axisMult});
11321132 histos.add (fmt::format (" GeneratedWithPV/h{}_MidYVsMult_TwoPVsOrMore" , kParticlenames [i]).c_str (), " " , kTH2F , {axisPtQA, axisMult});
11331133 }
1134+ histos.add (" GeneratedWithPV/hLambdaFromXiZero" , " " , kTH2F , {axisPtQA, axisEta});
1135+ histos.add (" GeneratedWithPV/hLambdaFromXiMinus" , " " , kTH2F , {axisPtQA, axisEta});
1136+ histos.add (" GeneratedWithPV/hAntiLambdaFromXiZero" , " " , kTH2F , {axisPtQA, axisEta});
1137+ histos.add (" GeneratedWithPV/hAntiLambdaFromXiPlus" , " " , kTH2F , {axisPtQA, axisEta});
11341138 }
11351139 if (doprocessClosureTest) {
11361140 for (int i = 0 ; i < 9 ; i++) {
@@ -1148,6 +1152,11 @@ struct HStrangeCorrelation {
11481152 histos.add (" hAntiLambdaXiPlusFeeddownMatrix" , " hAntiLambdaXiPlusFeeddownMatrix" , kTH2F , {axisPtLambda, axisPtCascade});
11491153 histos.add (" hAntiLambdaXiZeroFeeddownMatrix" , " hAntiLambdaXiZeroFeeddownMatrix" , kTH2F , {axisPtLambda, axisPtCascade});
11501154 histos.add (" hAntiLambdaOmegaFeeddownMatrix" , " hAntiLambdaOmegaFeeddownMatrix" , kTH2F , {axisPtLambda, axisPtCascade});
1155+ histos.add (" hLambdaFromXiMinusEtaVsPtVsPhi" , " hLambdaFromXiMinusEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
1156+ histos.add (" hLambdaFromXiZeroEtaVsPtVsPhi" , " hLambdaFromXiZeroEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
1157+ histos.add (" hAntiLambdaFromXiPlusEtaVsPtVsPhi" , " hAntiLambdaFromXiPlusEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
1158+ histos.add (" hAntiLambdaFromXiZeroEtaVsPtVsPhi" , " hAntiLambdaFromXiZeroEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
1159+
11511160 }
11521161
11531162 // visual inspection of sizes
@@ -1944,6 +1953,48 @@ struct HStrangeCorrelation {
19441953 double gpt = mcParticle.pt ();
19451954 if (std::abs (mcParticle.pdgCode ()) == PDG_t::kPiPlus || std::abs (mcParticle.pdgCode ()) == PDG_t::kKPlus || std::abs (mcParticle.pdgCode ()) == PDG_t::kProton || std::abs (mcParticle.pdgCode ()) == PDG_t::kElectron || std::abs (mcParticle.pdgCode ()) == PDG_t::kMuonMinus )
19461955 histos.fill (HIST (" GeneratedWithPV/hTrigger" ), gpt, geta);
1956+ if (mcParticle.pdgCode () == PDG_t::kLambda0 && !doAssocPhysicalPrimaryInGen && !mcParticle.isPhysicalPrimary ()) {
1957+ if (std::abs (geta) > etaSel) {
1958+ continue ;
1959+ }
1960+ auto lamMothers = mcParticle.mothers_as <aod::McParticles>();
1961+ if (lamMothers.size () == 1 ) {
1962+ for (const auto & lamParticleMother : lamMothers) {
1963+ if (std::abs (lamParticleMother.eta ()) > etaSel) {
1964+ continue ;
1965+ }
1966+ if (lamParticleMother.pdgCode () == PDG_t::kXiMinus ) // Xi Minus Mother Matched
1967+ {
1968+ histos.fill (HIST (" GeneratedWithPV/hLambdaFromXiMinus" ), gpt, geta);
1969+ }
1970+ if (lamParticleMother.pdgCode () == o2::constants::physics::Pdg::kXi0 ) // Xi Zero Mother Matched
1971+ {
1972+ histos.fill (HIST (" GeneratedWithPV/hLambdaFromXiZero" ), gpt, geta);
1973+ }
1974+ }
1975+ }
1976+ }
1977+ if (mcParticle.pdgCode () == PDG_t::kLambda0Bar && !doAssocPhysicalPrimaryInGen && !mcParticle.isPhysicalPrimary ()) {
1978+ if (std::abs (geta) > etaSel) {
1979+ continue ;
1980+ }
1981+ auto lamMothers = mcParticle.mothers_as <aod::McParticles>();
1982+ if (lamMothers.size () == 1 ) {
1983+ for (const auto & lamParticleMother : lamMothers) {
1984+ if (std::abs (lamParticleMother.eta ()) > etaSel) {
1985+ continue ;
1986+ }
1987+ if (lamParticleMother.pdgCode () == PDG_t::kXiPlusBar )
1988+ {
1989+ histos.fill (HIST (" GeneratedWithPV/hAntiLambdaFromXiPlus" ), gpt, geta);
1990+ }
1991+ if (lamParticleMother.pdgCode () == -o2::constants::physics::Pdg::kXi0 ) // Xi Zero Mother Matched
1992+ {
1993+ histos.fill (HIST (" GeneratedWithPV/hAntiLambdaFromXiZero" ), gpt, geta);
1994+ }
1995+ }
1996+ }
1997+ }
19471998 static_for<0 , 7 >([&](auto i) {
19481999 constexpr int Index = i.value ;
19492000 if (i == 0 || i == 7 ) {
@@ -2196,10 +2247,12 @@ struct HStrangeCorrelation {
21962247 if (v0mcParticleMother.pdgCode () == PDG_t::kXiMinus ) // Xi Minus Mother Matched
21972248 {
21982249 histos.fill (HIST (" hLambdaXiMinusFeeddownMatrix" ), v0mcParticle.pt (), v0mcParticleMother.pt ());
2250+ histos.fill (HIST (" hLambdaFromXiMinusEtaVsPtVsPhi" ), v0mcParticle.pt (), v0mcParticle.eta (), v0mcParticle.phi ());
21992251 }
22002252 if (v0mcParticleMother.pdgCode () == o2::constants::physics::Pdg::kXi0 ) // Xi Zero Mother Matched
22012253 {
22022254 histos.fill (HIST (" hLambdaXiZeroFeeddownMatrix" ), v0mcParticle.pt (), v0mcParticleMother.pt ());
2255+ histos.fill (HIST (" hLambdaFromXiZeroEtaVsPtVsPhi" ), v0mcParticle.pt (), v0mcParticle.eta (), v0mcParticle.phi ());
22032256 }
22042257 if (v0mcParticleMother.pdgCode () == PDG_t::kOmegaMinus ) // Omega Mother Matched
22052258 {
@@ -2218,10 +2271,12 @@ struct HStrangeCorrelation {
22182271 if (v0mcParticleMother.pdgCode () == PDG_t::kXiPlusBar ) // Xi Plus Mother Matched
22192272 {
22202273 histos.fill (HIST (" hAntiLambdaXiPlusFeeddownMatrix" ), v0mcParticle.pt (), v0mcParticleMother.pt ());
2274+ histos.fill (HIST (" hAntiLambdaFromXiPlusEtaVsPtVsPhi" ), v0mcParticle.pt (), v0mcParticle.eta (), v0mcParticle.phi ());
22212275 }
22222276 if (v0mcParticleMother.pdgCode () == -o2::constants::physics::Pdg::kXi0 ) // Anti Xi Zero Mother Matched
22232277 {
22242278 histos.fill (HIST (" hAntiLambdaXiZeroFeeddownMatrix" ), v0mcParticle.pt (), v0mcParticleMother.pt ());
2279+ histos.fill (HIST (" hAntiLambdaFromXiZeroEtaVsPtVsPhi" ), v0mcParticle.pt (), v0mcParticle.eta (), v0mcParticle.phi ());
22252280 }
22262281 if (v0mcParticleMother.pdgCode () == PDG_t::kOmegaPlusBar ) // Omega Mother Matched
22272282 {
0 commit comments