@@ -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,10 @@ 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});
11511159 }
11521160
11531161 // visual inspection of sizes
@@ -1944,6 +1952,47 @@ struct HStrangeCorrelation {
19441952 double gpt = mcParticle.pt ();
19451953 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 )
19461954 histos.fill (HIST (" GeneratedWithPV/hTrigger" ), gpt, geta);
1955+ if (mcParticle.pdgCode () == PDG_t::kLambda0 && !doAssocPhysicalPrimaryInGen && !mcParticle.isPhysicalPrimary ()) {
1956+ if (std::abs (geta) > etaSel) {
1957+ continue ;
1958+ }
1959+ auto lamMothers = mcParticle.mothers_as <aod::McParticles>();
1960+ if (lamMothers.size () == 1 ) {
1961+ for (const auto & lamParticleMother : lamMothers) {
1962+ if (std::abs (lamParticleMother.eta ()) > etaSel) {
1963+ continue ;
1964+ }
1965+ if (lamParticleMother.pdgCode () == PDG_t::kXiMinus ) // Xi Minus Mother Matched
1966+ {
1967+ histos.fill (HIST (" GeneratedWithPV/hLambdaFromXiMinus" ), gpt, geta);
1968+ }
1969+ if (lamParticleMother.pdgCode () == o2::constants::physics::Pdg::kXi0 ) // Xi Zero Mother Matched
1970+ {
1971+ histos.fill (HIST (" GeneratedWithPV/hLambdaFromXiZero" ), gpt, geta);
1972+ }
1973+ }
1974+ }
1975+ }
1976+ if (mcParticle.pdgCode () == PDG_t::kLambda0Bar && !doAssocPhysicalPrimaryInGen && !mcParticle.isPhysicalPrimary ()) {
1977+ if (std::abs (geta) > etaSel) {
1978+ continue ;
1979+ }
1980+ auto lamMothers = mcParticle.mothers_as <aod::McParticles>();
1981+ if (lamMothers.size () == 1 ) {
1982+ for (const auto & lamParticleMother : lamMothers) {
1983+ if (std::abs (lamParticleMother.eta ()) > etaSel) {
1984+ continue ;
1985+ }
1986+ if (lamParticleMother.pdgCode () == PDG_t::kXiPlusBar ) {
1987+ histos.fill (HIST (" GeneratedWithPV/hAntiLambdaFromXiPlus" ), gpt, geta);
1988+ }
1989+ if (lamParticleMother.pdgCode () == -o2::constants::physics::Pdg::kXi0 ) // Xi Zero Mother Matched
1990+ {
1991+ histos.fill (HIST (" GeneratedWithPV/hAntiLambdaFromXiZero" ), gpt, geta);
1992+ }
1993+ }
1994+ }
1995+ }
19471996 static_for<0 , 7 >([&](auto i) {
19481997 constexpr int Index = i.value ;
19491998 if (i == 0 || i == 7 ) {
@@ -2196,10 +2245,12 @@ struct HStrangeCorrelation {
21962245 if (v0mcParticleMother.pdgCode () == PDG_t::kXiMinus ) // Xi Minus Mother Matched
21972246 {
21982247 histos.fill (HIST (" hLambdaXiMinusFeeddownMatrix" ), v0mcParticle.pt (), v0mcParticleMother.pt ());
2248+ histos.fill (HIST (" hLambdaFromXiMinusEtaVsPtVsPhi" ), v0mcParticle.pt (), v0mcParticle.eta (), v0mcParticle.phi ());
21992249 }
22002250 if (v0mcParticleMother.pdgCode () == o2::constants::physics::Pdg::kXi0 ) // Xi Zero Mother Matched
22012251 {
22022252 histos.fill (HIST (" hLambdaXiZeroFeeddownMatrix" ), v0mcParticle.pt (), v0mcParticleMother.pt ());
2253+ histos.fill (HIST (" hLambdaFromXiZeroEtaVsPtVsPhi" ), v0mcParticle.pt (), v0mcParticle.eta (), v0mcParticle.phi ());
22032254 }
22042255 if (v0mcParticleMother.pdgCode () == PDG_t::kOmegaMinus ) // Omega Mother Matched
22052256 {
@@ -2218,10 +2269,12 @@ struct HStrangeCorrelation {
22182269 if (v0mcParticleMother.pdgCode () == PDG_t::kXiPlusBar ) // Xi Plus Mother Matched
22192270 {
22202271 histos.fill (HIST (" hAntiLambdaXiPlusFeeddownMatrix" ), v0mcParticle.pt (), v0mcParticleMother.pt ());
2272+ histos.fill (HIST (" hAntiLambdaFromXiPlusEtaVsPtVsPhi" ), v0mcParticle.pt (), v0mcParticle.eta (), v0mcParticle.phi ());
22212273 }
22222274 if (v0mcParticleMother.pdgCode () == -o2::constants::physics::Pdg::kXi0 ) // Anti Xi Zero Mother Matched
22232275 {
22242276 histos.fill (HIST (" hAntiLambdaXiZeroFeeddownMatrix" ), v0mcParticle.pt (), v0mcParticleMother.pt ());
2277+ histos.fill (HIST (" hAntiLambdaFromXiZeroEtaVsPtVsPhi" ), v0mcParticle.pt (), v0mcParticle.eta (), v0mcParticle.phi ());
22252278 }
22262279 if (v0mcParticleMother.pdgCode () == PDG_t::kOmegaPlusBar ) // Omega Mother Matched
22272280 {
0 commit comments