1515// / \author Biao Zhang, Heidelberg University, biao.zhang@cern.ch
1616
1717#include < vector>
18+ #include < string>
1819
1920#include " Framework/Expressions.h"
2021#include " Framework/AnalysisTask.h"
@@ -61,10 +62,18 @@ struct HfTaskCharmHadronsFemtoDream {
6162 ConfigurableAxis binTempFitVarTrack{" binTempFitVarTrack" , {300 , -0.15 , 0.15 }, " binning of the TempFitVar in the pT vs. TempFitVar plot (Track)" };
6263 ConfigurableAxis binmT{" binmT" , {225 , 0 ., 7.5 }, " binning mT" };
6364 ConfigurableAxis binmultTempFit{" binmultTempFit" , {1 , 0 , 1 }, " multiplicity Binning for the TempFitVar plot" };
65+ ConfigurableAxis binMulPercentile{" binMulPercentile" , {10 , 0 .0f , 100 .0f }, " multiplicity percentile Binning" };
6466 ConfigurableAxis binpT{" binpT" , {20 , 0.5 , 4.05 }, " pT binning" };
6567 ConfigurableAxis binpTTrack{" binpTTrack" , {50 , 0.5 , 10.05 }, " pT binning of the pT vs. TempFitVar plot (Track)" };
68+ ConfigurableAxis binEta{" binEta" , {{200 , -1.5 , 1.5 }}, " eta binning" };
69+ ConfigurableAxis binPhi{" binPhi" , {{200 , 0 , TMath::TwoPi ()}}, " phi binning" };
6670 ConfigurableAxis binkT{" binkT" , {150 , 0 ., 9 .}, " binning kT" };
6771 ConfigurableAxis binkstar{" binkstar" , {1500 , 0 ., 6 .}, " binning kstar" };
72+ ConfigurableAxis binNSigmaTPC{" binNSigmaTPC" , {1600 , -8 , 8 }, " Binning of Nsigma TPC plot" };
73+ ConfigurableAxis binNSigmaTOF{" binNSigmaTOF" , {3000 , -15 , 15 }, " Binning of the Nsigma TOF plot" };
74+ ConfigurableAxis binNSigmaTPCTOF{" binNSigmaTPCTOF" , {3000 , -15 , 15 }, " Binning of the Nsigma TPC+TOF plot" };
75+ ConfigurableAxis binTPCClusters{" binTPCClusters" , {163 , -0.5 , 162.5 }, " Binning of TPC found clusters plot" };
76+ Configurable<int > ConfTempFitVarMomentum{" ConfTempFitVarMomentum" , 0 , " Momentum used for binning: 0 -> pt; 1 -> preco; 2 -> ptpc" };
6877
6978 // / Particle 2 (Charm Hadrons)
7079 Configurable<float > charmHadBkgBDTmax{" charmHadBkgBDTmax" , 1 ., " Maximum background bdt score for Charm Hadron (particle 2)" };
@@ -149,10 +158,10 @@ struct HfTaskCharmHadronsFemtoDream {
149158 using FilteredMcColisions = soa::Filtered<soa::Join<aod::FDCollisions, FDColMasks, aod::FDMCCollLabels>>;
150159 using FilteredMcColision = FilteredMcColisions::iterator;
151160
152- using FilteredFDMcParts = soa::Filtered<soa::Join<aod::FDParticles, aod::FDParticlesIndex, aod::FDMCLabels>>;
161+ using FilteredFDMcParts = soa::Filtered<soa::Join<aod::FDParticles, aod::FDParticlesIndex, aod::FDExtParticles, aod:: FDMCLabels, aod::FDExtMCLabels >>;
153162 using FilteredFDMcPart = FilteredFDMcParts::iterator;
154163
155- using FilteredFDParticles = soa::Filtered<soa::Join<aod::FDParticles, aod::FDParticlesIndex>>;
164+ using FilteredFDParticles = soa::Filtered<soa::Join<aod::FDParticles, aod::FDExtParticles, aod:: FDParticlesIndex>>;
156165 using FilteredFDParticle = FilteredFDParticles::iterator;
157166
158167 femtodreamcollision::BitMaskType BitMask = 1 << 0 ;
@@ -166,7 +175,7 @@ struct HfTaskCharmHadronsFemtoDream {
166175 HistogramRegistry registryMixQa{" registryMixQa" };
167176 // / Partition for particle 1
168177
169- Partition<FilteredFDParticles> partitionTrk1 = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack ));
178+ 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)) ;
170179
171180 Partition<FilteredFDMcParts> partitionMcTrk1 = (aod::femtodreamparticle::partType == uint8_t (aod::femtodreamparticle::ParticleType::kTrack )) &&
172181 (ncheckbit(aod::femtodreamparticle::cut, cutBitTrack1)) &&
@@ -188,7 +197,7 @@ struct HfTaskCharmHadronsFemtoDream {
188197 void init (InitContext& /* context*/ )
189198 {
190199 eventHisto.init (®istry);
191- trackHistoPartOne.init (®istry, binmultTempFit, dummy , binpTTrack, dummy, dummy , binTempFitVarTrack, dummy, dummy, dummy, dummy , dummy, isMc, pdgCodeTrack1);
200+ trackHistoPartOne.init (®istry, binmultTempFit, binMulPercentile , binpTTrack, binEta, binPhi , binTempFitVarTrack, binNSigmaTPC, binNSigmaTOF, binNSigmaTPCTOF, binTPCClusters , dummy, isMc, pdgCodeTrack1, true );
192201
193202 sameEventCont.init <true >(®istry,
194203 binkstar, binpT, binkT, binmT, mixingBinMult, mixingBinMultPercentile,
@@ -233,7 +242,7 @@ struct HfTaskCharmHadronsFemtoDream {
233242 // / Histogramming same event
234243 for (auto const & part : sliceTrk1) {
235244
236- trackHistoPartOne.fillQA <isMc, false >(part, aod::femtodreamparticle::kPt , col.multNtr (), col.multV0M ());
245+ trackHistoPartOne.fillQA <isMc, true >(part, aod::femtodreamparticle::kPt , col.multNtr (), col.multV0M ());
237246 }
238247
239248 for (auto const & [p1, p2] : combinations (CombinationsFullIndexPolicy (sliceTrk1, sliceCharmHad))) {
@@ -452,6 +461,7 @@ struct HfTaskCharmHadronsFemtoDream {
452461 void processSameEventMc (FilteredMcColision const & col,
453462 FilteredFDMcParts const & parts,
454463 o2::aod::FDMCParticles const &,
464+ o2::aod::FDExtMCParticles const &,
455465 FilteredCharmMcCands const &)
456466 {
457467 if ((col.bitmaskTrackOne () & BitMask) != BitMask || (col.bitmaskTrackTwo () & BitMask) != BitMask) {
@@ -474,6 +484,7 @@ struct HfTaskCharmHadronsFemtoDream {
474484 void processMixedEventMc (FilteredMcColisions const & cols,
475485 FilteredFDMcParts const & parts,
476486 o2::aod::FDMCParticles const &,
487+ o2::aod::FDExtMCParticles const &,
477488 FilteredCharmMcCands const &)
478489 {
479490 switch (mixingBinPolicy.value ) {
0 commit comments