Skip to content

Commit 903d361

Browse files
authored
[PWGCF] FemtoUniverse: EfficiencyBase task update (#12009)
1 parent 2888347 commit 903d361

File tree

1 file changed

+28
-17
lines changed

1 file changed

+28
-17
lines changed

PWGCF/FemtoUniverse/Tasks/femtoUniverseEfficiencyBase.cxx

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,16 @@
1414
/// \author Zuzanna Chochulska, WUT Warsaw & CTU Prague, zchochul@cern.ch
1515
/// \author Alicja Płachta, WUT Warsaw, alicja.plachta@cern.ch
1616

17-
#include <vector>
17+
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
18+
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
19+
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
20+
1821
#include "Framework/AnalysisTask.h"
19-
#include "Framework/runDataProcessing.h"
2022
#include "Framework/HistogramRegistry.h"
2123
#include "Framework/RunningWorkflowInfo.h"
24+
#include "Framework/runDataProcessing.h"
2225

23-
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
24-
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
25-
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
26+
#include <vector>
2627

2728
using namespace o2;
2829
using namespace o2::analysis::femto_universe;
@@ -36,6 +37,8 @@ struct FemtoUniverseEfficiencyBase {
3637
Preslice<FemtoFullParticles> perCol = aod::femtouniverseparticle::fdCollisionId;
3738

3839
Configurable<bool> confIsDebug{"confIsDebug", true, "Enable debug histograms"};
40+
Configurable<bool> confIsMCGen{"confIsMCGen", false, "Enable QA histograms for MC Gen"};
41+
Configurable<bool> confIsMCReco{"confIsMCReco", false, "Enable QA histograms for MC Reco"};
3942

4043
// Collisions
4144
Configurable<float> confZVertex{"confZVertex", 10.f, "Event sel: Maximum z-Vertex (cm)"};
@@ -156,8 +159,8 @@ struct FemtoUniverseEfficiencyBase {
156159
{
157160

158161
eventHisto.init(&qaRegistry);
159-
trackHistoPartOneGen.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarPDGBins, 0, confPDGCodePartOne, false);
160-
trackHistoPartOneRec.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarDCABins, 0, confPDGCodePartOne, confIsDebug);
162+
trackHistoPartOneGen.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarPDGBins, confIsMCGen, confPDGCodePartOne, false);
163+
trackHistoPartOneRec.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarDCABins, confIsMCReco, confPDGCodePartOne, confIsDebug);
161164
registryMCOrigin.add("part1/hPt", " ;#it{p}_{T} (GeV/c); Entries", {HistType::kTH1F, {{240, 0, 6}}});
162165
registryPDG.add("part1/PDGvspT", "PDG;#it{p}_{T} (GeV/c); PDG", {HistType::kTH2F, {{500, 0, 5}, {16001, -8000.5, 8000.5}}});
163166
registryPDG.add("part1/PDGvspTall", "PDG;#it{p}_{T} (GeV/c); PDG", {HistType::kTH2F, {{500, 0, 5}, {16001, -8000.5, 8000.5}}});
@@ -172,8 +175,8 @@ struct FemtoUniverseEfficiencyBase {
172175
registryPDG.add("part2/PDGvspT", "PDG;#it{p}_{T} (GeV/c); PDG", {HistType::kTH2F, {{500, 0, 5}, {16001, -8000.5, 8000.5}}});
173176
registryPDG.add("part2/PDGvspTall", "PDG;#it{p}_{T} (GeV/c); PDG", {HistType::kTH2F, {{500, 0, 5}, {16001, -8000.5, 8000.5}}});
174177
if (!confIsSame) {
175-
trackHistoPartTwoGen.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarPDGBins, 0, confPDGCodePartTwo, false);
176-
trackHistoPartTwoRec.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarDCABins, 0, confPDGCodePartTwo, confIsDebug);
178+
trackHistoPartTwoGen.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarPDGBins, confIsMCGen, confPDGCodePartTwo, false);
179+
trackHistoPartTwoRec.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarDCABins, confIsMCReco, confPDGCodePartTwo, confIsDebug);
177180
registryMCOrigin.add("part2/hPt", " ;#it{p}_{T} (GeV/c); Entries", {HistType::kTH1F, {{240, 0, 6}}});
178181
if (confParticleTypePartTwo == uint8_t(aod::femtouniverseparticle::ParticleType::kV0)) {
179182
trackHistoV0TwoRec.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarCPABins, 0, confPDGCodePartTwo, confIsDebug);
@@ -371,17 +374,17 @@ struct FemtoUniverseEfficiencyBase {
371374
}
372375
const auto mcParticle = part.fdMCParticle();
373376

377+
registryPDG.fill(HIST("part1/PDGvspTall"), part.pt(), mcParticle.pdgMCTruth());
378+
trackHistoPartOneRec.fillQA<isMC, isDebug>(part);
379+
374380
if (!(mcParticle.partOriginMCTruth() == aod::femtouniverse_mc_particle::ParticleOriginMCTruth::kPrimary)) {
375381
continue;
376382
}
377383

378-
registryPDG.fill(HIST("part1/PDGvspTall"), part.pt(), mcParticle.pdgMCTruth());
379-
380384
if (!(std::abs(mcParticle.pdgMCTruth()) == std::abs(confPDGCodePartOne))) {
381385
continue;
382386
}
383387

384-
trackHistoPartOneRec.fillQA<isMC, isDebug>(part);
385388
registryPDG.fill(HIST("part1/PDGvspT"), part.pt(), mcParticle.pdgMCTruth());
386389
registryMCOrigin.fill(HIST("part1/hPt"), mcParticle.pt());
387390
}
@@ -397,17 +400,17 @@ struct FemtoUniverseEfficiencyBase {
397400
}
398401
const auto mcParticle = part.fdMCParticle();
399402

403+
registryPDG.fill(HIST("part2/PDGvspTall"), part.pt(), mcParticle.pdgMCTruth());
404+
trackHistoPartTwoRec.fillQA<isMC, isDebug>(part);
405+
400406
if (!(mcParticle.partOriginMCTruth() == aod::femtouniverse_mc_particle::ParticleOriginMCTruth::kPrimary)) {
401407
continue;
402408
}
403409

404-
registryPDG.fill(HIST("part2/PDGvspTall"), part.pt(), mcParticle.pdgMCTruth());
405-
406410
if (!(std::abs(mcParticle.pdgMCTruth()) == std::abs(confPDGCodePartTwo))) {
407411
continue;
408412
}
409413

410-
trackHistoPartTwoRec.fillQA<isMC, isDebug>(part);
411414
registryPDG.fill(HIST("part2/PDGvspT"), part.pt(), mcParticle.pdgMCTruth());
412415
registryMCOrigin.fill(HIST("part2/hPt"), mcParticle.pt());
413416
}
@@ -610,12 +613,20 @@ struct FemtoUniverseEfficiencyBase {
610613
// MCGen
611614
auto thegrouppartsOneMCGen = partsOneMCGen->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
612615
auto thegrouppartsTwoMCGen = partsTwoMCGen->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
613-
doMCGen<false>(thegrouppartsOneMCGen, thegrouppartsTwoMCGen);
616+
if (confIsMCGen) {
617+
doMCGen<true>(thegrouppartsOneMCGen, thegrouppartsTwoMCGen);
618+
} else {
619+
doMCGen<false>(thegrouppartsOneMCGen, thegrouppartsTwoMCGen);
620+
}
614621
// MCRec
615622
auto thegroupPartsTrackOneRec = partsTrackOneMCReco->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
616623
auto thegroupPartsTrackTwoRec = partsTrackTwoMCReco->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
617624
if (confIsDebug) {
618-
doMCRecTrackTrack<false, true>(thegroupPartsTrackOneRec, thegroupPartsTrackTwoRec);
625+
if (confIsMCGen) {
626+
doMCRecTrackTrack<true, true>(thegroupPartsTrackOneRec, thegroupPartsTrackTwoRec);
627+
} else {
628+
doMCRecTrackTrack<false, true>(thegroupPartsTrackOneRec, thegroupPartsTrackTwoRec);
629+
}
619630
} else {
620631
doMCRecTrackTrack<false, false>(thegroupPartsTrackOneRec, thegroupPartsTrackTwoRec);
621632
}

0 commit comments

Comments
 (0)