@@ -59,6 +59,28 @@ struct HfTaskCharmHadronsFemtoDream {
5959 NegativeCharge = -1
6060 };
6161
62+ // / Binning configurables
63+ ConfigurableAxis bin4Dkstar{" bin4Dkstar" , {1500 , 0 ., 6 .}, " binning kstar for the 4Dimensional plot: k* vs multiplicity vs multiplicity percentile vs mT (set <<Confuse4D>> to true in order to use)" };
64+ ConfigurableAxis bin4DMult{" bin4DMult" , {VARIABLE_WIDTH , 0 .0f , 4 .0f , 8 .0f , 12 .0f , 16 .0f , 20 .0f , 24 .0f , 28 .0f , 32 .0f , 36 .0f , 40 .0f , 44 .0f , 48 .0f , 52 .0f , 56 .0f , 60 .0f , 64 .0f , 68 .0f , 72 .0f , 76 .0f , 80 .0f , 84 .0f , 88 .0f , 92 .0f , 96 .0f , 100 .0f , 200 .0f }, " multiplicity Binning for the 4Dimensional plot: k* vs multiplicity vs multiplicity percentile vs mT (set <<Confuse4D>> to true in order to use)" };
65+ ConfigurableAxis bin4DmT{" bin4DmT" , {VARIABLE_WIDTH , 1 .02f , 1 .14f , 1 .20f , 1 .26f , 1 .38f , 1 .56f , 1 .86f , 4 .50f }, " mT Binning for the 4Dimensional plot: k* vs multiplicity vs multiplicity percentile vs mT (set <<Confuse4D>> to true in order to use)" };
66+ ConfigurableAxis bin4DmultPercentile{" bin4DmultPercentile" , {10 , 0 .0f , 100 .0f }, " multiplicity percentile Binning for the 4Dimensional plot: k* vs multiplicity vs multiplicity percentile vs mT (set <<Confuse4D>> to true in order to use)" };
67+ ConfigurableAxis binInvMass{" binInvMass" , {400 , 2.10 , 2.50 }, " InvMass binning" };
68+ ConfigurableAxis binpTCharm{" binpTCharm" , {360 , 0 , 36 }, " pT binning of charm hadron" };
69+ ConfigurableAxis binTempFitVarTrack{" binTempFitVarTrack" , {300 , -0.15 , 0.15 }, " binning of the TempFitVar in the pT vs. TempFitVar plot (Track)" };
70+ ConfigurableAxis binmT{" binmT" , {225 , 0 ., 7.5 }, " binning mT" };
71+ ConfigurableAxis binmultTempFit{" binmultTempFit" , {1 , 0 , 1 }, " multiplicity Binning for the TempFitVar plot" };
72+ ConfigurableAxis binMulPercentile{" binMulPercentile" , {10 , 0 .0f , 100 .0f }, " multiplicity percentile Binning" };
73+ ConfigurableAxis binpTTrack{" binpTTrack" , {50 , 0.5 , 10.05 }, " pT binning of the pT vs. TempFitVar plot (Track)" };
74+ ConfigurableAxis binEta{" binEta" , {{200 , -1.5 , 1.5 }}, " eta binning" };
75+ ConfigurableAxis binPhi{" binPhi" , {{200 , 0 , TMath::TwoPi ()}}, " phi binning" };
76+ ConfigurableAxis binkT{" binkT" , {150 , 0 ., 9 .}, " binning kT" };
77+ ConfigurableAxis binkstar{" binkstar" , {1500 , 0 ., 6 .}, " binning kstar" };
78+ ConfigurableAxis binNSigmaTPC{" binNSigmaTPC" , {1600 , -8 , 8 }, " Binning of Nsigma TPC plot" };
79+ ConfigurableAxis binNSigmaTOF{" binNSigmaTOF" , {3000 , -15 , 15 }, " Binning of the Nsigma TOF plot" };
80+ ConfigurableAxis binNSigmaTPCTOF{" binNSigmaTPCTOF" , {3000 , -15 , 15 }, " Binning of the Nsigma TPC+TOF plot" };
81+ ConfigurableAxis binTPCClusters{" binTPCClusters" , {163 , -0.5 , 162.5 }, " Binning of TPC found clusters plot" };
82+ Configurable<int > confTempFitVarMomentum{" confTempFitVarMomentum" , 0 , " Momentum used for binning: 0 -> pt; 1 -> preco; 2 -> ptpc" };
83+
6284 // / Particle 2 (Charm Hadrons)
6385 Configurable<float > charmHadBkgBDTmax{" charmHadBkgBDTmax" , 1 ., " Maximum background bdt score for Charm Hadron (particle 2)" };
6486 Configurable<int > charmHadCandSel{" charmHadCandSel" , 1 , " candidate selection for charm hadron" };
@@ -121,32 +143,14 @@ struct HfTaskCharmHadronsFemtoDream {
121143 FemtoDreamPairCleaner<aod::femtodreamparticle::ParticleType::kTrack , aod::femtodreamparticle::ParticleType::kCharmHadron > pairCleaner;
122144 FemtoDreamDetaDphiStar<aod::femtodreamparticle::ParticleType::kTrack , aod::femtodreamparticle::ParticleType::kCharmHadron > pairCloseRejectionSE;
123145 FemtoDreamDetaDphiStar<aod::femtodreamparticle::ParticleType::kTrack , aod::femtodreamparticle::ParticleType::kCharmHadron > pairCloseRejectionME;
124-
125- femtodreamcollision::BitMaskType bitMask = 1 << 0 ;
126-
127- // / Histogramming for particle 1
128- FemtoDreamParticleHisto<aod::femtodreamparticle::ParticleType::kTrack , 1 > allTrackHisto;
129- FemtoDreamParticleHisto<aod::femtodreamparticle::ParticleType::kTrack , 5 > selectedTrackHisto;
130-
131- // / Histogramming for Event
132- FemtoDreamEventHisto eventHisto;
133- // / Histogram output
134- HistogramRegistry registry{" CorrelationsAndQA" , {}, OutputObjHandlingPolicy::AnalysisObject};
135- HistogramRegistry registryMixQa{" registryMixQa" };
136- HistogramRegistry registryCharmHadronQa{" registryCharmHadronQa" };
137-
138- float massOne = o2::analysis::femtoDream::getMass(pdgCodeTrack1);
139- float massTwo = o2::analysis::femtoDream::getMass(charmHadPDGCode);
140- int8_t partSign = 0 ;
141- int64_t processType = 0 ;
142-
143- SliceCache cache;
144- Preslice<aod::FDParticles> perCol = aod::femtodreamparticle::fdCollisionId;
145- Produces<o2::aod::FDHfCharm> rowFemtoResultCharm;
146- Produces<o2::aod::FDHfTrk> rowFemtoResultTrk;
147- Produces<o2::aod::FDHfColl> rowFemtoResultColl;
148-
149- Configurable<int > confTempFitVarMomentum{" confTempFitVarMomentum" , 0 , " Momentum used for binning: 0 -> pt; 1 -> preco; 2 -> ptpc" };
146+ Filter eventMultiplicity = aod::femtodreamcollision::multNtr >= eventSel.multMin && aod::femtodreamcollision::multNtr <= eventSel.multMax;
147+ Filter eventMultiplicityPercentile = aod::femtodreamcollision::multV0M >= eventSel.multPercentileMin && aod::femtodreamcollision::multV0M <= eventSel.multPercentileMax;
148+ Filter hfCandSelFilter = aod::fdhf::candidateSelFlag >= static_cast <int8_t >(charmHadCandSel.value);
149+ Filter hfMcSelFilter = nabs(aod::fdhf::flagMc) == static_cast <int8_t >(charmHadMcSel.value);
150+ Filter trackEtaFilterLow = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::eta < etaTrack1Max, true );
151+ Filter trackEtaFilterUp = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::eta > etaTrack1Min, true );
152+ Filter trackPtFilterLow = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::pt < ptTrack1Max, true );
153+ Filter trackPtFilterUp = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::pt > ptTrack1Min, true );
150154
151155 using FilteredCharmCands = soa::Filtered<aod::FDHfCand>;
152156 using FilteredCharmCand = FilteredCharmCands::iterator;
@@ -166,16 +170,20 @@ struct HfTaskCharmHadronsFemtoDream {
166170 using FilteredFDParticles = soa::Filtered<soa::Join<aod::FDParticles, aod::FDExtParticles, aod::FDParticlesIndex>>;
167171 using FilteredFDParticle = FilteredFDParticles::iterator;
168172
169- Filter eventMultiplicity = aod::femtodreamcollision::multNtr >= eventSel.multMin && aod::femtodreamcollision::multNtr <= eventSel.multMax;
170- Filter eventMultiplicityPercentile = aod::femtodreamcollision::multV0M >= eventSel.multPercentileMin && aod::femtodreamcollision::multV0M <= eventSel.multPercentileMax;
171- Filter hfCandSelFilter = aod::fdhf::candidateSelFlag >= static_cast <int8_t >(charmHadCandSel.value);
172- Filter hfMcSelFilter = nabs(aod::fdhf::flagMc) == static_cast <int8_t >(charmHadMcSel.value);
173- Filter trackEtaFilterLow = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::eta < etaTrack1Max, true );
174- Filter trackEtaFilterUp = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::eta > etaTrack1Min, true );
175- Filter trackPtFilterLow = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::pt < ptTrack1Max, true );
176- Filter trackPtFilterUp = ifnode(aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ), aod::femtodreamparticle::pt > ptTrack1Min, true );
173+ femtodreamcollision::BitMaskType bitMask = 1 << 0 ;
177174
175+ // / Histogramming for particle 1
176+ FemtoDreamParticleHisto<aod::femtodreamparticle::ParticleType::kTrack , 1 > allTrackHisto;
177+ FemtoDreamParticleHisto<aod::femtodreamparticle::ParticleType::kTrack , 5 > selectedTrackHisto;
178+
179+ // / Histogramming for Event
180+ FemtoDreamEventHisto eventHisto;
181+ // / Histogram output
182+ HistogramRegistry registry{" CorrelationsAndQA" , {}, OutputObjHandlingPolicy::AnalysisObject};
183+ HistogramRegistry registryMixQa{" registryMixQa" };
184+ HistogramRegistry registryCharmHadronQa{" registryCharmHadronQa" };
178185 // / Partition for particle 1
186+
179187 Partition<FilteredFDParticles> partitionTrk1 = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) && (ncheckbit(aod::femtodreamparticle::cut, cutBitTrack1)) && ifnode(aod::femtodreamparticle::pt * (nexp(aod::femtodreamparticle::eta) + nexp(-1 .f * aod::femtodreamparticle::eta)) / 2 .f <= pidThresTrack1, ncheckbit(aod::femtodreamparticle::pidcut, tpcBitTrack1), ncheckbit(aod::femtodreamparticle::pidcut, tpcTofBitTrack1));
180188
181189 Partition<FilteredFDMcParts> partitionMcTrk1 = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) &&
@@ -186,26 +194,16 @@ struct HfTaskCharmHadronsFemtoDream {
186194 Partition<FilteredCharmCands> partitionCharmHadron = aod::fdhf::bdtBkg < charmHadBkgBDTmax && aod::fdhf::bdtFD < charmHadFdBDTmax && aod::fdhf::bdtFD > charmHadFdBDTmin&& aod::fdhf::bdtPrompt<charmHadPromptBDTmax && aod::fdhf::bdtPrompt> charmHadPromptBDTmin;
187195 Partition<FilteredCharmMcCands> partitionMcCharmHadron = aod::fdhf::originMcRec == 1 || aod::fdhf::originMcRec == 2 ;
188196
189- // / Binning configurables
190- ConfigurableAxis bin4Dkstar{" bin4Dkstar" , {1500 , 0 ., 6 .}, " binning kstar for the 4Dimensional plot: k* vs multiplicity vs multiplicity percentile vs mT (set <<Confuse4D>> to true in order to use)" };
191- ConfigurableAxis bin4DMult{" bin4DMult" , {VARIABLE_WIDTH , 0 .0f , 4 .0f , 8 .0f , 12 .0f , 16 .0f , 20 .0f , 24 .0f , 28 .0f , 32 .0f , 36 .0f , 40 .0f , 44 .0f , 48 .0f , 52 .0f , 56 .0f , 60 .0f , 64 .0f , 68 .0f , 72 .0f , 76 .0f , 80 .0f , 84 .0f , 88 .0f , 92 .0f , 96 .0f , 100 .0f , 200 .0f }, " multiplicity Binning for the 4Dimensional plot: k* vs multiplicity vs multiplicity percentile vs mT (set <<Confuse4D>> to true in order to use)" };
192- ConfigurableAxis bin4DmT{" bin4DmT" , {VARIABLE_WIDTH , 1 .02f , 1 .14f , 1 .20f , 1 .26f , 1 .38f , 1 .56f , 1 .86f , 4 .50f }, " mT Binning for the 4Dimensional plot: k* vs multiplicity vs multiplicity percentile vs mT (set <<Confuse4D>> to true in order to use)" };
193- ConfigurableAxis bin4DmultPercentile{" bin4DmultPercentile" , {10 , 0 .0f , 100 .0f }, " multiplicity percentile Binning for the 4Dimensional plot: k* vs multiplicity vs multiplicity percentile vs mT (set <<Confuse4D>> to true in order to use)" };
194- ConfigurableAxis binInvMass{" binInvMass" , {400 , 2.10 , 2.50 }, " InvMass binning" };
195- ConfigurableAxis binpTCharm{" binpTCharm" , {360 , 0 , 36 }, " pT binning of charm hadron" };
196- ConfigurableAxis binTempFitVarTrack{" binTempFitVarTrack" , {300 , -0.15 , 0.15 }, " binning of the TempFitVar in the pT vs. TempFitVar plot (Track)" };
197- ConfigurableAxis binmT{" binmT" , {225 , 0 ., 7.5 }, " binning mT" };
198- ConfigurableAxis binmultTempFit{" binmultTempFit" , {1 , 0 , 1 }, " multiplicity Binning for the TempFitVar plot" };
199- ConfigurableAxis binMulPercentile{" binMulPercentile" , {10 , 0 .0f , 100 .0f }, " multiplicity percentile Binning" };
200- ConfigurableAxis binpTTrack{" binpTTrack" , {50 , 0.5 , 10.05 }, " pT binning of the pT vs. TempFitVar plot (Track)" };
201- ConfigurableAxis binEta{" binEta" , {{200 , -1.5 , 1.5 }}, " eta binning" };
202- ConfigurableAxis binPhi{" binPhi" , {{200 , 0 , TMath::TwoPi ()}}, " phi binning" };
203- ConfigurableAxis binkT{" binkT" , {150 , 0 ., 9 .}, " binning kT" };
204- ConfigurableAxis binkstar{" binkstar" , {1500 , 0 ., 6 .}, " binning kstar" };
205- ConfigurableAxis binNSigmaTPC{" binNSigmaTPC" , {1600 , -8 , 8 }, " Binning of Nsigma TPC plot" };
206- ConfigurableAxis binNSigmaTOF{" binNSigmaTOF" , {3000 , -15 , 15 }, " Binning of the Nsigma TOF plot" };
207- ConfigurableAxis binNSigmaTPCTOF{" binNSigmaTPCTOF" , {3000 , -15 , 15 }, " Binning of the Nsigma TPC+TOF plot" };
208- ConfigurableAxis binTPCClusters{" binTPCClusters" , {163 , -0.5 , 162.5 }, " Binning of TPC found clusters plot" };
197+ float massOne = o2::analysis::femtoDream::getMass(pdgCodeTrack1);
198+ float massTwo = o2::analysis::femtoDream::getMass(charmHadPDGCode);
199+ int8_t partSign = 0 ;
200+ int64_t processType = 0 ;
201+
202+ SliceCache cache;
203+ Preslice<aod::FDParticles> perCol = aod::femtodreamparticle::fdCollisionId;
204+ Produces<o2::aod::FDHfCharm> rowFemtoResultCharm;
205+ Produces<o2::aod::FDHfTrk> rowFemtoResultTrk;
206+ Produces<o2::aod::FDHfColl> rowFemtoResultColl;
209207
210208 void init (InitContext& /* context*/ )
211209 {
0 commit comments