diff --git a/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx index 0080ceb0715..1ce65722fb2 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx @@ -257,6 +257,7 @@ struct HfDataCreatorCharmHadPiReduced { using CollisionsWCentAndMcLabels = soa::Join; using CollisionsWCentAndQvectors = soa::Join; using BCsInfo = soa::Join; + using McCollisionsWMult = soa::Join; Filter filterSelectDplusCandidates = (aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= hfflagConfigurations.selectionFlagDplus); Filter filterSelectDsCandidates = (aod::hf_sel_candidate_ds::isSelDsToKKPi >= hfflagConfigurations.selectionFlagDs || aod::hf_sel_candidate_ds::isSelDsToPiKK >= hfflagConfigurations.selectionFlagDs); @@ -1570,7 +1571,7 @@ struct HfDataCreatorCharmHadPiReduced { } template - void runMcGen(aod::McCollision const& mcCollision, + void runMcGen(McCollisionsWMult::iterator const& mcCollision, aod::McParticles const& particlesMc, CollisionsWCentAndMcLabels const& collisions, BCsInfo const&) @@ -2346,7 +2347,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + McCollisionsWMult const& mcCollisions) { // store configurables needed for B0 workflow if (!isHfCandBhadConfigFilled) { @@ -2381,7 +2382,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + McCollisionsWMult const& mcCollisions) { // store configurables needed for B0 workflow if (!isHfCandBhadConfigFilled) { @@ -2416,7 +2417,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions, + McCollisionsWMult const& mcCollisions, aod::Hf2Prongs const&) { // store configurables needed for B0 workflow @@ -2452,7 +2453,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions, + McCollisionsWMult const& mcCollisions, aod::Hf2Prongs const&) { // store configurables needed for B0 workflow @@ -2488,7 +2489,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + McCollisionsWMult const& mcCollisions) { // store configurables needed for Bs workflow if (!isHfCandBhadConfigFilled) { @@ -2523,7 +2524,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + McCollisionsWMult const& mcCollisions) { // store configurables needed for Bs workflow if (!isHfCandBhadConfigFilled) { @@ -2558,7 +2559,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + McCollisionsWMult const& mcCollisions) { // store configurables needed for B+ workflow if (!isHfCandBhadConfigFilled) { @@ -2593,7 +2594,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + McCollisionsWMult const& mcCollisions) { // store configurables needed for B+ workflow if (!isHfCandBhadConfigFilled) { @@ -2628,7 +2629,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + McCollisionsWMult const& mcCollisions) { // store configurables needed for Lb workflow if (!isHfCandBhadConfigFilled) { @@ -2663,7 +2664,7 @@ struct HfDataCreatorCharmHadPiReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + McCollisionsWMult const& mcCollisions) { // store configurables needed for Lb workflow if (!isHfCandBhadConfigFilled) { diff --git a/PWGHF/D2H/TableProducer/dataCreatorCharmResoToD0Reduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorCharmResoToD0Reduced.cxx index c993fbda899..91de7ce9c5f 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorCharmResoToD0Reduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorCharmResoToD0Reduced.cxx @@ -456,7 +456,7 @@ struct HfDataCreatorCharmResoToD0Reduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -495,7 +495,7 @@ struct HfDataCreatorCharmResoToD0Reduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -536,7 +536,7 @@ struct HfDataCreatorCharmResoToD0Reduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -577,7 +577,7 @@ struct HfDataCreatorCharmResoToD0Reduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -616,7 +616,7 @@ struct HfDataCreatorCharmResoToD0Reduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -657,7 +657,7 @@ struct HfDataCreatorCharmResoToD0Reduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; diff --git a/PWGHF/D2H/TableProducer/dataCreatorCharmResoToDplusReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorCharmResoToDplusReduced.cxx index 79505392ace..e74607efb72 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorCharmResoToDplusReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorCharmResoToDplusReduced.cxx @@ -414,7 +414,7 @@ struct HfDataCreatorCharmResoToDplusReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -453,7 +453,7 @@ struct HfDataCreatorCharmResoToDplusReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -494,7 +494,7 @@ struct HfDataCreatorCharmResoToDplusReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -535,7 +535,7 @@ struct HfDataCreatorCharmResoToDplusReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -574,7 +574,7 @@ struct HfDataCreatorCharmResoToDplusReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -615,7 +615,7 @@ struct HfDataCreatorCharmResoToDplusReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; diff --git a/PWGHF/D2H/TableProducer/dataCreatorCharmResoToDstarReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorCharmResoToDstarReduced.cxx index d3777632e78..813eb5f1852 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorCharmResoToDstarReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorCharmResoToDstarReduced.cxx @@ -416,7 +416,7 @@ struct HfDataCreatorCharmResoToDstarReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -455,7 +455,7 @@ struct HfDataCreatorCharmResoToDstarReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -496,7 +496,7 @@ struct HfDataCreatorCharmResoToDstarReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -537,7 +537,7 @@ struct HfDataCreatorCharmResoToDstarReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -576,7 +576,7 @@ struct HfDataCreatorCharmResoToDstarReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; @@ -617,7 +617,7 @@ struct HfDataCreatorCharmResoToDstarReduced { aod::McParticles const& particlesMc, BCsInfo const& bcs, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { int zvtxColl{0}; int sel8Coll{0}; diff --git a/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx index 49ca42dcee4..a9ce36d250b 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx @@ -827,7 +827,7 @@ struct HfDataCreatorJpsiHadReduced { } template - void runMcGen(aod::McCollision const& mcCollision, + void runMcGen(soa::Join::iterator const& mcCollision, aod::McParticles const& particlesMc, CollisionsWCMcLabels const& collisions, BCsInfo const&) @@ -1578,7 +1578,7 @@ struct HfDataCreatorJpsiHadReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { // store configurables needed for B+ workflow if (!isHfCandBhadConfigFilled) { @@ -1613,7 +1613,7 @@ struct HfDataCreatorJpsiHadReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { // store configurables needed for B+ workflow if (!isHfCandBhadConfigFilled) { @@ -1648,7 +1648,7 @@ struct HfDataCreatorJpsiHadReduced { TracksPidWithSelAndMc const& tracks, aod::McParticles const& particlesMc, BCsInfo const& bcs, - McCollisions const& mcCollisions) + soa::Join const& mcCollisions) { // store configurables needed for B+ workflow if (!isHfCandBhadConfigFilled) { diff --git a/PWGHF/HFC/Tasks/taskCorrelationsEfficiencies.cxx b/PWGHF/HFC/Tasks/taskCorrelationsEfficiencies.cxx index 365920f243b..5c8e139a90b 100644 --- a/PWGHF/HFC/Tasks/taskCorrelationsEfficiencies.cxx +++ b/PWGHF/HFC/Tasks/taskCorrelationsEfficiencies.cxx @@ -139,7 +139,7 @@ struct HfTaskCorrelationsEfficiencies { std::unique_ptr funcDcaXYPtCutPrimTrk{nullptr}; using BCsInfo = soa::Join; - using McCollisionsWMult = soa::Join; + using McCollisionsWMult = soa::Join; using RecoCollisions = soa::Join; using McCandsDs = soa::Filtered>; using McCandsDplus = soa::Filtered>; diff --git a/PWGHF/TableProducer/candidateCreator2Prong.cxx b/PWGHF/TableProducer/candidateCreator2Prong.cxx index ab7f982c398..3d000a558bc 100644 --- a/PWGHF/TableProducer/candidateCreator2Prong.cxx +++ b/PWGHF/TableProducer/candidateCreator2Prong.cxx @@ -834,7 +834,7 @@ struct HfCandidateCreator2ProngExpressions { using McCollisionsNoCents = soa::Join; using McCollisionsFT0Cs = soa::Join; using McCollisionsFT0Ms = soa::Join; - using McCollisionsCentFT0Ms = soa::Join; + using McCollisionsCentFT0Ms = soa::Join; using BCsInfo = soa::Join; Preslice mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId; @@ -1053,7 +1053,7 @@ struct HfCandidateCreator2ProngExpressions { void processMc(aod::TracksWMc const& tracks, aod::McParticles const& mcParticles, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, BCsInfo const& bcsInfo) { runCreator2ProngMc(tracks, mcParticles, collInfos, mcCollisions, bcsInfo); @@ -1063,7 +1063,7 @@ struct HfCandidateCreator2ProngExpressions { void processMcCentFT0C(aod::TracksWMc const& tracks, aod::McParticles const& mcParticles, McCollisionsFT0Cs const& collInfos, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, BCsInfo const& bcsInfo) { runCreator2ProngMc(tracks, mcParticles, collInfos, mcCollisions, bcsInfo); diff --git a/PWGHF/TableProducer/candidateCreator3Prong.cxx b/PWGHF/TableProducer/candidateCreator3Prong.cxx index 1091c00a0a2..f18d64ac95a 100644 --- a/PWGHF/TableProducer/candidateCreator3Prong.cxx +++ b/PWGHF/TableProducer/candidateCreator3Prong.cxx @@ -1018,7 +1018,7 @@ struct HfCandidateCreator3ProngExpressions { using McCollisionsNoCents = soa::Join; using McCollisionsFT0Cs = soa::Join; using McCollisionsFT0Ms = soa::Join; - using McCollisionsCentFT0Ms = soa::Join; + using McCollisionsCentFT0Ms = soa::Join; Preslice mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId; PresliceUnsorted colPerMcCollision = aod::mccollisionlabel::mcCollisionId; @@ -1400,7 +1400,7 @@ struct HfCandidateCreator3ProngExpressions { void processMc(aod::TracksWMc const& tracks, aod::McParticles const& mcParticles, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, BCsInfo const& bcsInfo) { runCreator3ProngMc(tracks, mcParticles, collInfos, mcCollisions, bcsInfo); @@ -1410,7 +1410,7 @@ struct HfCandidateCreator3ProngExpressions { void processMcCentFT0C(aod::TracksWMc const& tracks, aod::McParticles const& mcParticles, McCollisionsFT0Cs const& collInfos, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, BCsInfo const& bcsInfo) { runCreator3ProngMc(tracks, mcParticles, collInfos, mcCollisions, bcsInfo); diff --git a/PWGHF/TableProducer/candidateCreatorCascade.cxx b/PWGHF/TableProducer/candidateCreatorCascade.cxx index d5450ffa27e..6093eb44541 100644 --- a/PWGHF/TableProducer/candidateCreatorCascade.cxx +++ b/PWGHF/TableProducer/candidateCreatorCascade.cxx @@ -439,7 +439,7 @@ struct HfCandidateCreatorCascadeMc { using McCollisionsNoCents = soa::Join; using McCollisionsFT0Cs = soa::Join; using McCollisionsFT0Ms = soa::Join; - using McCollisionsCentFT0Ms = soa::Join; + using McCollisionsCentFT0Ms = soa::Join; Preslice mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId; PresliceUnsorted colPerMcCollision = aod::mccollisionlabel::mcCollisionId; @@ -605,7 +605,7 @@ struct HfCandidateCreatorCascadeMc { void processMc(MyTracksWMc const& tracks, aod::McParticles const& mcParticles, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, BCsInfo const& bcsInfo) { runCreatorCascMc(tracks, mcParticles, collInfos, mcCollisions, bcsInfo); @@ -615,7 +615,7 @@ struct HfCandidateCreatorCascadeMc { void processMcCentFT0C(MyTracksWMc const& tracks, aod::McParticles const& mcParticles, McCollisionsFT0Cs const& collInfos, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, BCsInfo const& bcsInfo) { runCreatorCascMc(tracks, mcParticles, collInfos, mcCollisions, bcsInfo); diff --git a/PWGHF/TableProducer/candidateCreatorDstar.cxx b/PWGHF/TableProducer/candidateCreatorDstar.cxx index b6cfbd8da88..875f21419aa 100644 --- a/PWGHF/TableProducer/candidateCreatorDstar.cxx +++ b/PWGHF/TableProducer/candidateCreatorDstar.cxx @@ -559,7 +559,7 @@ struct HfCandidateCreatorDstarExpressions { using McCollisionsNoCents = soa::Join; using McCollisionsFT0Cs = soa::Join; using McCollisionsFT0Ms = soa::Join; - using McCollisionsCentFT0Ms = soa::Join; + using McCollisionsCentFT0Ms = soa::Join; using BCsInfo = soa::Join; Preslice mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId; @@ -812,7 +812,7 @@ struct HfCandidateCreatorDstarExpressions { void processMc(aod::TracksWMc const& tracks, aod::McParticles const& mcParticles, McCollisionsNoCents const& collInfos, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, BCsInfo const& bcsInfo) { runCreatorDstarMc(tracks, mcParticles, collInfos, mcCollisions, bcsInfo); @@ -822,7 +822,7 @@ struct HfCandidateCreatorDstarExpressions { void processMcCentFT0C(aod::TracksWMc const& tracks, aod::McParticles const& mcParticles, McCollisionsFT0Cs const& collInfos, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, BCsInfo const& bcsInfo) { runCreatorDstarMc(tracks, mcParticles, collInfos, mcCollisions, bcsInfo); diff --git a/PWGHF/TableProducer/candidateCreatorSigmac0plusplus.cxx b/PWGHF/TableProducer/candidateCreatorSigmac0plusplus.cxx index 4d02957459b..3cf0749598c 100644 --- a/PWGHF/TableProducer/candidateCreatorSigmac0plusplus.cxx +++ b/PWGHF/TableProducer/candidateCreatorSigmac0plusplus.cxx @@ -426,6 +426,7 @@ struct HfCandidateSigmac0plusplusMc { using LambdacMc = soa::Join; using McParticlesLcGenMatch = soa::Join; // including response of particle matching to MC from candidate-creator-3-prong using McCollisionsNoCents = soa::Join; + using McCollisionsWMult = soa::Join; PresliceUnsorted colPerMcCollision = aod::mccollisionlabel::mcCollisionId; @@ -478,7 +479,7 @@ struct HfCandidateSigmac0plusplusMc { aod::TracksWMc const& tracks, LambdacMc const& candsLc, McCollisionsNoCents const& collInfos, - aod::McCollisions const&, + McCollisionsWMult const&, BCsInfo const&) { @@ -589,7 +590,7 @@ struct HfCandidateSigmac0plusplusMc { /// MC ev. selection done w/o centrality estimator /// In case of need, readapt the code templetizing the function - auto mcCollision = particle.mcCollision(); + auto mcCollision = particle.mcCollision_as(); float centrality{-1.f}; const auto collSlice = collInfos.sliceBy(colPerMcCollision, mcCollision.globalIndex()); const auto rejectionMask = hfEvSelMc.getHfMcCollisionRejectionMask(mcCollision, collSlice, centrality); diff --git a/PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx b/PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx index 1030e695c4b..7792f4ecfde 100644 --- a/PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx +++ b/PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx @@ -2339,7 +2339,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { using McCollisionsNoCents = soa::Join; using McCollisionsFT0Cs = soa::Join; using McCollisionsFT0Ms = soa::Join; - using McCollisionsCentFT0Ms = soa::Join; + using McCollisionsCentFT0Ms = soa::Join; using BCsInfo = soa::Join; Preslice mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId; @@ -3263,7 +3263,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcXicToXiPi(aod::HfCandToXiPi const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -3274,7 +3274,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcXicToXiPiKf(aod::HfCandToXiPiKf const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -3305,7 +3305,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcXicToXiPiFT0c(aod::HfCandToXiPi const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsFT0Cs const& collsWithMcLabels, BCsInfo const& bcs) { @@ -3316,7 +3316,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcOmegacToXiPi(aod::HfCandToXiPi const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -3338,7 +3338,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcOmegacToXiPiFT0c(aod::HfCandToXiPi const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsFT0Cs const& collsWithMcLabels, BCsInfo const& bcs) { @@ -3349,7 +3349,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcOmegacToOmegaPi(aod::HfCandToOmegaPi const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -3371,7 +3371,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcOmegacToOmegaPiFT0c(aod::HfCandToOmegaPi const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsFT0Cs const& collsWithMcLabels, BCsInfo const& bcs) { @@ -3382,7 +3382,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcOmegacToOmegaK(aod::HfCandToOmegaK const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -3404,7 +3404,7 @@ struct HfCandidateCreatorXic0Omegac0Mc { void processMcOmegacToOmegaKFT0c(aod::HfCandToOmegaK const& candidates, MyTracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcColls, + soa::Join const& mcColls, McCollisionsFT0Cs const& collsWithMcLabels, BCsInfo const& bcs) { diff --git a/PWGHF/TableProducer/candidateCreatorXic0Omegac0Qa.cxx b/PWGHF/TableProducer/candidateCreatorXic0Omegac0Qa.cxx index 67f4bee267d..aea310d16b4 100644 --- a/PWGHF/TableProducer/candidateCreatorXic0Omegac0Qa.cxx +++ b/PWGHF/TableProducer/candidateCreatorXic0Omegac0Qa.cxx @@ -1721,7 +1721,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { using McCollisionsNoCents = soa::Join; using McCollisionsFT0Cs = soa::Join; using McCollisionsFT0Ms = soa::Join; - using McCollisionsCentFT0Ms = soa::Join; // -> Used for subscription for process functions of centrality with FT0Ms + using McCollisionsCentFT0Ms = soa::Join; // -> Used for subscription for process functions of centrality with FT0Ms using BCsInfo = soa::Join; Preslice mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId; @@ -2021,7 +2021,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcXicToXiPiWithDCAFitterNoCent(aod::HfCandToXiPi const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -2032,7 +2032,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcXicToXiPiWithDCAFitterCentFT0C(aod::HfCandToXiPi const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsFT0Cs const& collsWithMcLabels, BCsInfo const& bcs) { @@ -2054,7 +2054,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcOmegacToXiPiWithDCAFitterNoCent(aod::HfCandToXiPi const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -2065,7 +2065,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcOmegacToXiPiWithDCAFitterCentFT0C(aod::HfCandToXiPi const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsFT0Cs const& collsWithMcLabels, BCsInfo const& bcs) { @@ -2090,7 +2090,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcOmegacToOmegaPiWithDCAFitterNoCent(aod::HfCandToOmegaPi const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -2101,7 +2101,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcOmegacToOmegaPiWithDCAFitterCentFT0C(aod::HfCandToOmegaPi const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsFT0Cs const& collsWithMcLabels, BCsInfo const& bcs) { @@ -2126,7 +2126,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcOmegacToOmegaKaWithDCAFitterNoCent(aod::HfCandToOmegaK const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { @@ -2137,7 +2137,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcOmegacToOmegaKaWithDCAFitterCentFT0C(aod::HfCandToOmegaK const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsFT0Cs const& collsWithMcLabels, BCsInfo const& bcs) { @@ -2164,7 +2164,7 @@ struct HfCandidateCreatorXic0Omegac0QaMc { void processMcXicToXiPiWithKFParticleNoCent(aod::HfCandToXiPiKf const& candidates, TracksWMcIU const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsNoCents const& collsWithMcLabels, BCsInfo const& bcs) { diff --git a/PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx b/PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx index 3ad4779009a..a1ba6278698 100644 --- a/PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx +++ b/PWGHF/TableProducer/candidateCreatorXicToXiPiPi.cxx @@ -1078,7 +1078,7 @@ struct HfCandidateCreatorXicToXiPiPiExpressions { using McCollisionsNoCents = soa::Join; using McCollisionsFT0Cs = soa::Join; using McCollisionsFT0Ms = soa::Join; - using McCollisionsCentFT0Ms = soa::Join; + using McCollisionsCentFT0Ms = soa::Join; using BCsInfo = soa::Join; Preslice mcParticlesPerMcCollision = aod::mcparticle::mcCollisionId; @@ -1373,7 +1373,7 @@ struct HfCandidateCreatorXicToXiPiPiExpressions { void processMc(aod::TracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsNoCents const& mcCollisionsNoCents, BCsInfo const& bcs) { @@ -1383,7 +1383,7 @@ struct HfCandidateCreatorXicToXiPiPiExpressions { void processMcCentFT0C(aod::TracksWMc const& tracks, aod::McParticles const& mcParticles, - aod::McCollisions const& mcCollisions, + soa::Join const& mcCollisions, McCollisionsFT0Cs const& mcCollisionsFT0Cs, BCsInfo const& bcs) { diff --git a/PWGHF/Tasks/taskMcValidation.cxx b/PWGHF/Tasks/taskMcValidation.cxx index 8fe64b12f51..4bf4e2b56f8 100644 --- a/PWGHF/Tasks/taskMcValidation.cxx +++ b/PWGHF/Tasks/taskMcValidation.cxx @@ -224,7 +224,7 @@ struct HfTaskMcValidationGen { using CollisionsNoCents = soa::Join; using CollisionsFT0Cs = soa::Join; using CollisionsFT0Ms = soa::Join; - using McCollisionsCentFT0Ms = soa::Join; + using McCollisionsCentFT0Ms = soa::Join; PresliceUnsorted colPerMcCollision = aod::mccollisionlabel::mcCollisionId; PresliceUnsorted colPerMcCollisionFT0C = aod::mccollisionlabel::mcCollisionId; PresliceUnsorted colPerMcCollisionFT0M = aod::mccollisionlabel::mcCollisionId; @@ -628,7 +628,7 @@ struct HfTaskMcValidationGen { registry.fill(HIST("Quarks/hCountBbar"), bBarPerCollision); } - void processNoCentSel(aod::McCollisions const& mcCollisions, + void processNoCentSel(soa::Join const& mcCollisions, aod::McParticles const& mcParticles, CollisionsNoCents const& recoCollisions, BCsInfo const& bcInfo) @@ -656,7 +656,7 @@ struct HfTaskMcValidationGen { } // end processNoCentSel PROCESS_SWITCH(HfTaskMcValidationGen, processNoCentSel, "Process generated collisions information without centrality selection", true); - void processCentFT0C(aod::McCollisions const& mcCollisions, + void processCentFT0C(soa::Join const& mcCollisions, aod::McParticles const& mcParticles, CollisionsFT0Cs const& recoCollisions, BCsInfo const& bcInfo) diff --git a/PWGHF/Utils/utilsEvSelHf.h b/PWGHF/Utils/utilsEvSelHf.h index 7eb9d311187..011439a98fb 100644 --- a/PWGHF/Utils/utilsEvSelHf.h +++ b/PWGHF/Utils/utilsEvSelHf.h @@ -225,6 +225,7 @@ struct HfEventSelection : o2::framework::ConfigurableGroup { // histogram names static constexpr char NameHistCollisions[] = "hCollisions"; static constexpr char NameHistSelCollisionsCent[] = "hSelCollisionsCent"; + static constexpr char NameHistSelCollisionsCentNoPileupRej[] = "hSelCollisionsCentNoPileupRej"; static constexpr char NameHistPosZBeforeEvSel[] = "hPosZBeforeEvSel"; static constexpr char NameHistPosZAfterEvSel[] = "hPosZAfterEvSel"; static constexpr char NameHistPosXAfterEvSel[] = "hPosXAfterEvSel"; @@ -234,7 +235,7 @@ struct HfEventSelection : o2::framework::ConfigurableGroup { static constexpr char NameHistCollisionsCentIR[] = "hCollisionsCentIR"; static constexpr char NameHistUpCollisions[] = "hUpCollisions"; - std::shared_ptr hCollisions, hSelCollisionsCent, hPosZBeforeEvSel, hPosZAfterEvSel, hPosXAfterEvSel, hPosYAfterEvSel, hNumPvContributorsAfterSel, hUpCollisions; + std::shared_ptr hCollisions, hSelCollisionsCent, hSelCollisionsCentNoPileupRej, hPosZBeforeEvSel, hPosZAfterEvSel, hPosXAfterEvSel, hPosYAfterEvSel, hNumPvContributorsAfterSel, hUpCollisions; std::shared_ptr hCollisionsCentOcc; std::shared_ptr hCollisionsCentIR; @@ -277,6 +278,7 @@ struct HfEventSelection : o2::framework::ConfigurableGroup { { hCollisions = registry.add(NameHistCollisions, "HF event counter;;# of accepted collisions", {o2::framework::HistType::kTH1D, {axisEvents}}); hSelCollisionsCent = registry.add(NameHistSelCollisionsCent, "HF event counter;T0M;# of accepted collisions", {o2::framework::HistType::kTH1D, {{100, 0., 100.}}}); + hSelCollisionsCentNoPileupRej = registry.add(NameHistSelCollisionsCentNoPileupRej, "HF event counter;T0M;# of accepted collisions w.o. pileup rejection", {o2::framework::HistType::kTH1D, {{100, 0., 100.}}}); hPosZBeforeEvSel = registry.add(NameHistPosZBeforeEvSel, "all events;#it{z}_{prim. vtx.} (cm);entries", {o2::framework::HistType::kTH1D, {{400, -20., 20.}}}); hPosZAfterEvSel = registry.add(NameHistPosZAfterEvSel, "selected events;#it{z}_{prim. vtx.} (cm);entries", {o2::framework::HistType::kTH1D, {{400, -20., 20.}}}); hPosXAfterEvSel = registry.add(NameHistPosXAfterEvSel, "selected events;#it{x}_{prim. vtx.} (cm);entries", {o2::framework::HistType::kTH1D, {{200, -0.5, 0.5}}}); @@ -505,6 +507,13 @@ struct HfEventSelection : o2::framework::ConfigurableGroup { const auto posZ = collision.posZ(); hPosZBeforeEvSel->Fill(posZ); + // mask ignoring the same-bunch pileup rejection + auto rejectionMaskNoSBPileup = rejectionMask; + CLRBIT(rejectionMaskNoSBPileup, EventRejection::NoSameBunchPileup); + if (rejectionMaskNoSBPileup == 0) { + hSelCollisionsCentNoPileupRej->Fill(centrality); + } + for (std::size_t reason = 1; reason < EventRejection::NEventRejection; reason++) { if (TESTBIT(rejectionMask, reason)) { return; @@ -545,6 +554,7 @@ struct HfEventSelectionMc { bool useTvxTrigger{false}; // Apply the TVX trigger bool useTimeFrameBorderCut{true}; // Apply TF border cut bool useItsRofBorderCut{false}; // Apply the ITS RO frame border cut + bool requireINEL0{false}; // Apply INEL > 0 float zPvPosMin{-1000.f}; // Minimum PV posZ (cm) float zPvPosMax{1000.f}; // Maximum PV posZ (cm) float centralityMin{-10.f}; // Minimum centrality @@ -600,6 +610,8 @@ struct HfEventSelectionMc { useTimeFrameBorderCut = option.defaultValue.get(); } else if (option.name == "hfEvSel.useItsRofBorderCut") { useItsRofBorderCut = option.defaultValue.get(); + } else if (option.name == "hfEvSel.requireINEL0") { + requireINEL0 = option.defaultValue.get(); } else if (option.name == "hfEvSel.zPvPosMin") { zPvPosMin = option.defaultValue.get(); } else if (option.name == "hfEvSel.zPvPosMax") { @@ -689,6 +701,10 @@ struct HfEventSelectionMc { if (useItsRofBorderCut && !bc.selection_bit(o2::aod::evsel::kNoITSROFrameBorder)) { SETBIT(rejectionMask, EventRejection::ItsRofBorderCut); } + /// INEL > 0 cut + if (requireINEL0 && !mcCollision.isInelGt0()) { + SETBIT(rejectionMask, EventRejection::Inel0); + } /// primary vertex z if (zPv < zPvPosMin || zPv > zPvPosMax) { SETBIT(rejectionMask, EventRejection::PositionZ); @@ -713,7 +729,11 @@ struct HfEventSelectionMc { hGenCollisions->Fill(EventRejection::None); if constexpr (CentEstimator == o2::hf_centrality::CentralityEstimator::FT0M) { - if (!TESTBIT(rejectionMask, EventRejection::TimeFrameBorderCut) && !TESTBIT(rejectionMask, EventRejection::ItsRofBorderCut) && !TESTBIT(rejectionMask, EventRejection::PositionZ)) { + if (!TESTBIT(rejectionMask, EventRejection::Rct) && + !TESTBIT(rejectionMask, EventRejection::TimeFrameBorderCut) && + !TESTBIT(rejectionMask, EventRejection::ItsRofBorderCut) && + !TESTBIT(rejectionMask, EventRejection::Inel0) && + !TESTBIT(rejectionMask, EventRejection::PositionZ)) { hGenCollisionsCent->Fill(mcCollision.centFT0M()); } }