Skip to content

Commit 454da10

Browse files
[PWGHF] fix the bug of pid and add QA histograms (AliceO2Group#8344)
Co-authored-by: ALICE Action Bot <[email protected]>
1 parent a348b37 commit 454da10

File tree

2 files changed

+27
-9
lines changed

2 files changed

+27
-9
lines changed

PWGHF/HFC/TableProducer/femtoDreamProducer.cxx

+11-4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
/// \brief Tasks that produces the track tables used for the pairing
1414
/// \author Ravindra Singh, GSI, [email protected]
1515

16+
#include <string>
17+
#include <vector>
1618
#include "CCDB/BasicCCDBManager.h"
1719

1820
#include "Common/Core/trackUtilities.h"
@@ -197,16 +199,21 @@ struct HfFemtoDreamProducer {
197199
particle.dcaXY(),
198200
particle.dcaZ(),
199201
particle.tpcSignal(),
202+
-999.,
200203
particle.tpcNSigmaPi(),
201204
particle.tpcNSigmaKa(),
202205
particle.tpcNSigmaPr(),
206+
-999.,
207+
-999.,
208+
-999.,
209+
-999.,
203210
particle.tofNSigmaPi(),
204211
particle.tofNSigmaKa(),
205212
particle.tofNSigmaPr(),
206-
-999., -999., -999., -999.,
207-
-999., -999., -999., -999.,
208-
-999., -999., -999., -999.,
209-
-999., -999.);
213+
-999.,
214+
-999.,
215+
-999.,
216+
-999., -999., -999., -999., -999., -999.);
210217
}
211218

212219
template <typename CollisionType, typename ParticleType>

PWGHF/HFC/Tasks/taskCharmHadronsFemtoDream.cxx

+16-5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
/// \author Biao Zhang, Heidelberg University, [email protected]
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(&registry);
191-
trackHistoPartOne.init(&registry, binmultTempFit, dummy, binpTTrack, dummy, dummy, binTempFitVarTrack, dummy, dummy, dummy, dummy, dummy, isMc, pdgCodeTrack1);
200+
trackHistoPartOne.init(&registry, binmultTempFit, binMulPercentile, binpTTrack, binEta, binPhi, binTempFitVarTrack, binNSigmaTPC, binNSigmaTOF, binNSigmaTPCTOF, binTPCClusters, dummy, isMc, pdgCodeTrack1, true);
192201

193202
sameEventCont.init<true>(&registry,
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

Comments
 (0)