@@ -59,28 +59,6 @@ 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-
8462 // / Particle 2 (Charm Hadrons)
8563 Configurable<float > charmHadBkgBDTmax{" charmHadBkgBDTmax" , 1 ., " Maximum background bdt score for Charm Hadron (particle 2)" };
8664 Configurable<int > charmHadCandSel{" charmHadCandSel" , 1 , " candidate selection for charm hadron" };
@@ -143,14 +121,32 @@ struct HfTaskCharmHadronsFemtoDream {
143121 FemtoDreamPairCleaner<aod::femtodreamparticle::ParticleType::kTrack , aod::femtodreamparticle::ParticleType::kCharmHadron > pairCleaner;
144122 FemtoDreamDetaDphiStar<aod::femtodreamparticle::ParticleType::kTrack , aod::femtodreamparticle::ParticleType::kCharmHadron > pairCloseRejectionSE;
145123 FemtoDreamDetaDphiStar<aod::femtodreamparticle::ParticleType::kTrack , aod::femtodreamparticle::ParticleType::kCharmHadron > pairCloseRejectionME;
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 );
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" };
154150
155151 using FilteredCharmCands = soa::Filtered<aod::FDHfCand>;
156152 using FilteredCharmCand = FilteredCharmCands::iterator;
@@ -170,20 +166,16 @@ struct HfTaskCharmHadronsFemtoDream {
170166 using FilteredFDParticles = soa::Filtered<soa::Join<aod::FDParticles, aod::FDExtParticles, aod::FDParticlesIndex>>;
171167 using FilteredFDParticle = FilteredFDParticles::iterator;
172168
173- femtodreamcollision::BitMaskType bitMask = 1 << 0 ;
174-
175- // / Histogramming for particle 1
176- FemtoDreamParticleHisto<aod::femtodreamparticle::ParticleType::kTrack , 1 > allTrackHisto;
177- FemtoDreamParticleHisto<aod::femtodreamparticle::ParticleType::kTrack , 5 > selectedTrackHisto;
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 );
178177
179- // / Histogramming for Event
180- FemtoDreamEventHisto eventHisto;
181- // / Histogram output
182- HistogramRegistry registry{" CorrelationsAndQA" , {}, OutputObjHandlingPolicy::AnalysisObject};
183- HistogramRegistry registryMixQa{" registryMixQa" };
184- HistogramRegistry registryCharmHadronQa{" registryCharmHadronQa" };
185178 // / Partition for particle 1
186-
187179 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));
188180
189181 Partition<FilteredFDMcParts> partitionMcTrk1 = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) &&
@@ -194,16 +186,26 @@ struct HfTaskCharmHadronsFemtoDream {
194186 Partition<FilteredCharmCands> partitionCharmHadron = aod::fdhf::bdtBkg < charmHadBkgBDTmax && aod::fdhf::bdtFD < charmHadFdBDTmax && aod::fdhf::bdtFD > charmHadFdBDTmin&& aod::fdhf::bdtPrompt<charmHadPromptBDTmax && aod::fdhf::bdtPrompt> charmHadPromptBDTmin;
195187 Partition<FilteredCharmMcCands> partitionMcCharmHadron = aod::fdhf::originMcRec == 1 || aod::fdhf::originMcRec == 2 ;
196188
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;
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" };
207209
208210 void init (InitContext& /* context*/ )
209211 {
0 commit comments