@@ -163,6 +163,30 @@ struct HfCorrelatorDplusHadrons {
163163 Produces<aod::Dplus> entryDplus;
164164 Produces<aod::Hadron> entryHadron;
165165
166+ HfHelper hfHelper;
167+ SliceCache cache;
168+ BinningType corrBinning{{binsZVtx, binsMultiplicity}, true };
169+
170+ // Event Mixing for the Data Mode
171+ using SelCollisionsWithDplus = soa::Filtered<soa::Join<aod::Collisions, aod::Mults, aod::EvSels, aod::DmesonSelection>>;
172+ using SelCollisionsWithDplusMc = soa::Filtered<soa::Join<aod::McCollisions, aod::DmesonSelection, aod::MultsExtraMC>>; // collisionFilter applied
173+ using CandidatesDplusData = soa::Filtered<soa::Join<aod::HfCand3Prong, aod::HfSelDplusToPiKPi, aod::HfMlDplusToPiKPi>>;
174+ // Event Mixing for the MCRec Mode
175+ using CandidatesDplusMcRec = soa::Filtered<soa::Join<aod::HfCand3Prong, aod::HfSelDplusToPiKPi, aod::HfMlDplusToPiKPi, aod::HfCand3ProngMcRec>>;
176+ using CandDplusMcGen = soa::Join<aod::McParticles, aod::HfCand3ProngMcGen>; // flagDplusFilter applied
177+ // Event Mixing for the MCGen Mode
178+ using McCollisionsSel = soa::Filtered<soa::Join<aod::McCollisions, aod::DmesonSelection>>;
179+ using McParticlesSel = soa::Filtered<aod::McParticles>;
180+ // Tracks used in Data and MC
181+ using TracksData = soa::Filtered<soa::Join<aod::TracksWDca, aod::TrackSelection, aod::TracksExtra>>; // trackFilter applied
182+ using TracksWithMc = soa::Filtered<soa::Join<aod::TracksWDca, aod::TrackSelection, aod::TracksExtra, o2::aod::McTrackLabels>>; // trackFilter applied
183+
184+ Filter collisionFilter = aod::hf_selection_dmeson_collision::dmesonSel == true ;
185+ // filter on selection of Dplus meson and decay channel Dplus->KPiPi
186+ Filter dplusFilter = ((o2::aod::hf_track_index::hfflag & static_cast <uint8_t >(1 << aod::hf_cand_3prong::DecayType::DplusToPiKPi)) != static_cast <uint8_t >(0 )) && aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= selectionFlagDplus;
187+ Filter trackFilter = (nabs(aod::track::eta) < etaTrackMax) && (nabs(aod::track::pt) > ptTrackMin) && (nabs(aod::track::dcaXY) < dcaXYTrackMax) && (nabs(aod::track::dcaZ) < dcaZTrackMax);
188+ // Filter particlesFilter = nabs(aod::mcparticle::pdgCode) == 411 || ((aod::mcparticle::flags & (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary) == (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary);
189+
166190 Configurable<int > selectionFlagDplus{" selectionFlagDplus" , 7 , " Selection Flag for Dplus" }; // 7 corresponds to topo+PID cuts
167191 Configurable<int > numberEventsMixed{" numberEventsMixed" , 5 , " Number of events mixed in ME process" };
168192 Configurable<bool > applyEfficiency{" applyEfficiency" , true , " Flag for applying D-meson efficiency weights" };
@@ -193,30 +217,6 @@ struct HfCorrelatorDplusHadrons {
193217 ConfigurableAxis binsMultFT0M{" binsMultFT0M" , {600 , 0 ., 6000 .}, " Multiplicity as FT0M signal amplitude" };
194218 ConfigurableAxis binsMassD{" binsMassD" , {200 , 1.7 , 2.10 }, " inv. mass (#pi^{+}K^{-}#pi^{+}) (GeV/#it{c}^{2})" };
195219
196- HfHelper hfHelper;
197- SliceCache cache;
198- BinningType corrBinning{{binsZVtx, binsMultiplicity}, true };
199-
200- // Event Mixing for the Data Mode
201- using SelCollisionsWithDplus = soa::Filtered<soa::Join<aod::Collisions, aod::Mults, aod::EvSels, aod::DmesonSelection>>;
202- using SelCollisionsWithDplusMc = soa::Filtered<soa::Join<aod::McCollisions, aod::DmesonSelection, aod::MultsExtraMC>>; // collisionFilter applied
203- using CandidatesDplusData = soa::Filtered<soa::Join<aod::HfCand3Prong, aod::HfSelDplusToPiKPi, aod::HfMlDplusToPiKPi>>;
204- // Event Mixing for the MCRec Mode
205- using CandidatesDplusMcRec = soa::Filtered<soa::Join<aod::HfCand3Prong, aod::HfSelDplusToPiKPi, aod::HfMlDplusToPiKPi, aod::HfCand3ProngMcRec>>;
206- using CandDplusMcGen = soa::Join<aod::McParticles, aod::HfCand3ProngMcGen>; // flagDplusFilter applied
207- // Event Mixing for the MCGen Mode
208- using McCollisionsSel = soa::Filtered<soa::Join<aod::McCollisions, aod::DmesonSelection>>;
209- using McParticlesSel = soa::Filtered<aod::McParticles>;
210- // Tracks used in Data and MC
211- using TracksData = soa::Filtered<soa::Join<aod::TracksWDca, aod::TrackSelection, aod::TracksExtra>>; // trackFilter applied
212- using TracksWithMc = soa::Filtered<soa::Join<aod::TracksWDca, aod::TrackSelection, aod::TracksExtra, o2::aod::McTrackLabels>>; // trackFilter applied
213-
214- Filter collisionFilter = aod::hf_selection_dmeson_collision::dmesonSel == true ;
215- // filter on selection of Dplus meson and decay channel Dplus->KPiPi
216- Filter dplusFilter = ((o2::aod::hf_track_index::hfflag & static_cast <uint8_t >(1 << aod::hf_cand_3prong::DecayType::DplusToPiKPi)) != static_cast <uint8_t >(0 )) && aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= selectionFlagDplus;
217- Filter trackFilter = (nabs(aod::track::eta) < etaTrackMax) && (nabs(aod::track::pt) > ptTrackMin) && (nabs(aod::track::dcaXY) < dcaXYTrackMax) && (nabs(aod::track::dcaZ) < dcaZTrackMax);
218- // Filter particlesFilter = nabs(aod::mcparticle::pdgCode) == 411 || ((aod::mcparticle::flags & (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary) == (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary);
219-
220220 HistogramRegistry registry{" registry" , {}, OutputObjHandlingPolicy::AnalysisObject};
221221
222222 void init (InitContext&)
0 commit comments