@@ -89,6 +89,42 @@ double getPhi(const TTrack& track)
8989 }
9090}
9191
92+ // / Get charm candidate or hadron track pT
93+ // / \param track is the candidate
94+ template <typename TTrack>
95+ double getPt (const TTrack& track)
96+ {
97+ if constexpr (requires { track.ptAssoc (); }) {
98+ return track.ptAssoc ();
99+ } else {
100+ return track.ptTrig ();
101+ }
102+ }
103+
104+ // / Get charm candidate or hadron track eta
105+ // / \param track is the candidate
106+ template <typename TTrack>
107+ double getEta (const TTrack& track)
108+ {
109+ if constexpr (requires { track.etaAssoc (); }) {
110+ return track.etaAssoc ();
111+ } else {
112+ return track.etaTrig ();
113+ }
114+ }
115+
116+ // / Get charm candidate or hadron track phi
117+ // / \param track is the candidate
118+ template <typename TTrack>
119+ double getPhi (const TTrack& track)
120+ {
121+ if constexpr (requires { track.phiAssoc (); }) {
122+ return track.phiAssoc ();
123+ } else {
124+ return track.phiTrig ();
125+ }
126+ }
127+
92128struct HfCorrelatorFlowCharmHadronsReduced {
93129 Produces<aod::HfcRedSEChHads> rowPairSECharmHads; // ! Correlation pairs information Same Event
94130 Produces<aod::HfcRedMEChHads> rowPairMECharmHads; // ! Correlation pairs information Mixed Event
@@ -128,6 +164,13 @@ struct HfCorrelatorFlowCharmHadronsReduced {
128164 Preslice<AssocTracks> assocTracksPerCol = aod::hf_correl_charm_had_reduced::hfcRedCorrCollId;
129165 Preslice<TrigCharmCands> trigCharmCandsPerCol = aod::hf_correl_charm_had_reduced::hfcRedCorrCollId;
130166
167+ Filter filterAssocTracks = (nabs(aod::hf_correl_charm_had_reduced::dcaXYAssoc) < dcaXYTrackMax) && (nabs(aod::hf_correl_charm_had_reduced::dcaZAssoc) < dcaZTrackMax) && (aod::hf_correl_charm_had_reduced::nTpcCrossedRowsAssoc > tpcCrossedRowsMin) && (aod::hf_correl_charm_had_reduced::itsNClsAssoc > itsNClsMin);
168+ Filter filterTrigTracks = (nabs(aod::hf_correl_charm_had_reduced::dcaXYTrig) < dcaXYTrackMax) && (nabs(aod::hf_correl_charm_had_reduced::dcaZTrig) < dcaZTrackMax) && (aod::hf_correl_charm_had_reduced::nTpcCrossedRowsTrig > tpcCrossedRowsMin) && (aod::hf_correl_charm_had_reduced::itsNClsTrig > itsNClsMin);
169+ Filter filterSameEvtPairs = (nabs(aod::hf_correl_charm_had_reduced::deltaEta) > deltaEtaAbsMin) && (nabs(aod::hf_correl_charm_had_reduced::deltaEta) < deltaEtaAbsMax);
170+
171+ Preslice<AssocTracks> assocTracksPerCol = aod::hf_correl_charm_had_reduced::hfcRedCorrCollId;
172+ Preslice<TrigCharmCands> trigCharmCandsPerCol = aod::hf_correl_charm_had_reduced::hfcRedCorrCollId;
173+
131174 ConfigurableAxis zPoolBins{" zPoolBins" , {VARIABLE_WIDTH, -10.0 , -2.5 , 2.5 , 10.0 }, " Z vertex position pools" };
132175 ConfigurableAxis multPoolBins{" multPoolBins" , {VARIABLE_WIDTH, 0 ., 900 ., 1800 ., 6000 .}, " Event multiplicity pools (FT0M)" };
133176 ConfigurableAxis centPoolBins{" centPoolBins" , {VARIABLE_WIDTH, 0 ., 10 ., 20 ., 30 ., 40 ., 50 ., 60 ., 70 ., 80 ., 90 ., 100 }, " Event centrality pools" };
@@ -168,6 +211,12 @@ struct HfCorrelatorFlowCharmHadronsReduced {
168211 poolBins = (multPoolBins->size () - 1 ) * (zPoolBins->size () - 1 );
169212 }
170213
214+ if (doprocessSameEventCharmHadWCentMix || doprocessSameEventHadHadWCentMix || doprocessMixedEventCharmHadWCentMix || doprocessMixedEventHadHadWCentMix) {
215+ poolBins = (centPoolBins->size () - 1 ) * (zPoolBins->size () - 1 );
216+ } else {
217+ poolBins = (multPoolBins->size () - 1 ) * (zPoolBins->size () - 1 );
218+ }
219+
171220 const AxisSpec axisInvMass{binsInvMass, " Inv. mass (GeV/#it{c}^{2})" };
172221 const AxisSpec axisCent = {binsCent, " Centrality" };
173222 const AxisSpec axisMultFT0M = {binsMultFT0M, " MultiplicityFT0M" };
0 commit comments