Skip to content

Commit 30fcd62

Browse files
authored
[PWGCF] FemtoUniverse: Add histogram to monitor track entries after specific cuts (#14148)
1 parent 849bf90 commit 30fcd62

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

PWGCF/FemtoUniverse/Tasks/femtoUniverseEfficiencyBase.cxx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,12 +158,14 @@ struct FemtoUniverseEfficiencyBase {
158158
/// Histogram output
159159
HistogramRegistry qaRegistry{"TrackQA", {}, OutputObjHandlingPolicy::AnalysisObject};
160160
HistogramRegistry registryPDG{"PDGHistos", {}, OutputObjHandlingPolicy::AnalysisObject, false, true};
161+
HistogramRegistry registryCuts{"CutsPtHistos", {}, OutputObjHandlingPolicy::AnalysisObject, false, true};
161162
HistogramRegistry registryMCOrigin{"MCOriginHistos", {}, OutputObjHandlingPolicy::AnalysisObject, false, true};
162163

163164
void init(InitContext&)
164165
{
165166

166167
eventHisto.init(&qaRegistry);
168+
registryCuts.add("part1/cutsVspT", ";#it{p}_{T} (GeV/c) ;Cut no.", {HistType::kTH2F, {{500, 0, 5}, {5, 0, 6}}});
167169
trackHistoPartOneGen.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarPDGBins, confIsMCGen, confPDGCodePartOne, false);
168170
trackHistoPartOneRec.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarDCABins, confIsMCReco, confPDGCodePartOne, confIsDebug);
169171
registryMCOrigin.add("part1/hPt", " ;#it{p}_{T} (GeV/c); Entries", {HistType::kTH1F, {{240, 0, 6}}});
@@ -180,6 +182,7 @@ struct FemtoUniverseEfficiencyBase {
180182
registryPDG.add("part2/PDGvspT", "PDG;#it{p}_{T} (GeV/c); PDG", {HistType::kTH2F, {{500, 0, 5}, {16001, -8000.5, 8000.5}}});
181183
registryPDG.add("part2/PDGvspTall", "PDG;#it{p}_{T} (GeV/c); PDG", {HistType::kTH2F, {{500, 0, 5}, {16001, -8000.5, 8000.5}}});
182184
if (!confIsSame) {
185+
registryCuts.add("part2/cutsVspT", ";#it{p}_{T} (GeV/c) ;Cut no.", {HistType::kTH2F, {{500, 0, 5}, {5, 0, 6}}});
183186
trackHistoPartTwoGen.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarPDGBins, confIsMCGen, confPDGCodePartTwo, false);
184187
trackHistoPartTwoRec.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarDCABins, confIsMCReco, confPDGCodePartTwo, confIsDebug);
185188
registryMCOrigin.add("part2/hPt", " ;#it{p}_{T} (GeV/c); Entries", {HistType::kTH1F, {{240, 0, 6}}});
@@ -393,13 +396,20 @@ struct FemtoUniverseEfficiencyBase {
393396
{
394397
/// Histogramming same event
395398
for (const auto& part : grouppartsOneMCRec) {
399+
400+
// only partition
401+
registryCuts.fill(HIST("part1/cutsVspT"), part.pt(), 1);
402+
396403
if (part.partType() != confParticleTypePartOne || part.sign() != confChargePart1 || !isParticleNSigma(confPDGCodePartOne, part.p(), trackCuts.getNsigmaTPC(part, o2::track::PID::Proton), trackCuts.getNsigmaTOF(part, o2::track::PID::Proton), trackCuts.getNsigmaTPC(part, o2::track::PID::Pion), trackCuts.getNsigmaTOF(part, o2::track::PID::Pion), trackCuts.getNsigmaTPC(part, o2::track::PID::Kaon), trackCuts.getNsigmaTOF(part, o2::track::PID::Kaon), trackCuts.getNsigmaTPC(part, o2::track::PID::Deuteron), trackCuts.getNsigmaTOF(part, o2::track::PID::Deuteron))) {
397404
continue;
398405
}
406+
registryCuts.fill(HIST("part1/cutsVspT"), part.pt(), 2);
399407

400408
if (!part.has_fdMCParticle()) {
401409
continue;
402410
}
411+
registryCuts.fill(HIST("part1/cutsVspT"), part.pt(), 3);
412+
403413
const auto mcParticle = part.fdMCParticle();
404414

405415
registryPDG.fill(HIST("part1/PDGvspTall"), part.pt(), mcParticle.pdgMCTruth());
@@ -408,24 +418,29 @@ struct FemtoUniverseEfficiencyBase {
408418
if (!(mcParticle.partOriginMCTruth() == aod::femtouniverse_mc_particle::ParticleOriginMCTruth::kPrimary)) {
409419
continue;
410420
}
421+
registryCuts.fill(HIST("part1/cutsVspT"), part.pt(), 4);
411422

412423
if (!(std::abs(mcParticle.pdgMCTruth()) == std::abs(confPDGCodePartOne))) {
413424
continue;
414425
}
426+
registryCuts.fill(HIST("part1/cutsVspT"), part.pt(), 5);
415427

416428
registryPDG.fill(HIST("part1/PDGvspT"), part.pt(), mcParticle.pdgMCTruth());
417429
registryMCOrigin.fill(HIST("part1/hPt"), mcParticle.pt());
418430
}
419431

420432
if (!confIsSame) {
421433
for (const auto& part : grouppartsTwoMCRec) {
434+
registryCuts.fill(HIST("part2/cutsVspT"), part.pt(), 1);
422435
if (part.partType() != confParticleTypePartTwo || part.sign() != confChargePart2 || !isParticleNSigma(confPDGCodePartTwo, part.p(), trackCuts.getNsigmaTPC(part, o2::track::PID::Proton), trackCuts.getNsigmaTOF(part, o2::track::PID::Proton), trackCuts.getNsigmaTPC(part, o2::track::PID::Pion), trackCuts.getNsigmaTOF(part, o2::track::PID::Pion), trackCuts.getNsigmaTPC(part, o2::track::PID::Kaon), trackCuts.getNsigmaTOF(part, o2::track::PID::Kaon), trackCuts.getNsigmaTPC(part, o2::track::PID::Deuteron), trackCuts.getNsigmaTOF(part, o2::track::PID::Deuteron))) {
423436
continue;
424437
}
438+
registryCuts.fill(HIST("part2/cutsVspT"), part.pt(), 2);
425439

426440
if (!part.has_fdMCParticle()) {
427441
continue;
428442
}
443+
registryCuts.fill(HIST("part2/cutsVspT"), part.pt(), 3);
429444
const auto mcParticle = part.fdMCParticle();
430445

431446
registryPDG.fill(HIST("part2/PDGvspTall"), part.pt(), mcParticle.pdgMCTruth());
@@ -434,10 +449,12 @@ struct FemtoUniverseEfficiencyBase {
434449
if (!(mcParticle.partOriginMCTruth() == aod::femtouniverse_mc_particle::ParticleOriginMCTruth::kPrimary)) {
435450
continue;
436451
}
452+
registryCuts.fill(HIST("part2/cutsVspT"), part.pt(), 4);
437453

438454
if (!(std::abs(mcParticle.pdgMCTruth()) == std::abs(confPDGCodePartTwo))) {
439455
continue;
440456
}
457+
registryCuts.fill(HIST("part2/cutsVspT"), part.pt(), 5);
441458

442459
registryPDG.fill(HIST("part2/PDGvspT"), part.pt(), mcParticle.pdgMCTruth());
443460
registryMCOrigin.fill(HIST("part2/hPt"), mcParticle.pt());

0 commit comments

Comments
 (0)