Skip to content

Commit 64cd5f7

Browse files
authored
[PWGJE] tracking efficiency - fixes (#15572)
1 parent af80b92 commit 64cd5f7

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

PWGJE/Tasks/jetSpectraEseTask.cxx

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ struct JetSpectraEseTask {
155155
Preslice<ChargedMCDJets> mcdjetsPerJCollision = o2::aod::jet::collisionId;
156156
Preslice<aod::JetTracks> tracksPerJCollision = o2::aod::jtrack::collisionId;
157157
Preslice<aod::JetTracksMCD> mcdTracksPerJCollision = o2::aod::jtrack::collisionId;
158-
Preslice<aod::JetParticles> particlesPerJMcCollision = o2::aod::jmcparticle::mcCollisionId;
159158

160159
SliceCache cache;
161160
using BinningType = ColumnBinningPolicy<aod::jcollision::PosZ, aod::jcollision::CentFT0C>;
@@ -351,6 +350,8 @@ struct JetSpectraEseTask {
351350
registry.get<TH1>(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(2, "Collision size < 1");
352351
registry.get<TH1>(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(3, "MCD size != 1");
353352
registry.get<TH1>(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(4, "Occupancy cut");
353+
registry.get<TH1>(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(5, "Vtx z cut");
354+
registry.get<TH1>(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(6, "Event selection");
354355
}
355356
if (doprocessMCDetectorLevel) {
356357
LOGF(info, "JetSpectraEseTask::init() - MC Detector level");
@@ -363,8 +364,9 @@ struct JetSpectraEseTask {
363364
// registry.add("mcd/hJetPhi", "particle level jet #phi;#phi_{jet part};entries", {HistType::kTH1F, {{phiAxis}}});
364365

365366
registry.get<TH1>(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(1, "Input event");
366-
registry.get<TH1>(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(2, "Collision size < 1");
367-
registry.get<TH1>(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(3, "Occupancy cut");
367+
registry.get<TH1>(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(1, "Event selection");
368+
registry.get<TH1>(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(2, "Occupancy cut");
369+
registry.get<TH1>(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(3, "Vtx z cut");
368370
}
369371
if (doprocessMCChargedMatched) {
370372
LOGF(info, "JetSpectraEseTask::init() - MC Charged Matched");
@@ -408,19 +410,20 @@ struct JetSpectraEseTask {
408410
}
409411
if (doprocessMCGenTrack) {
410412
LOGF(info, "JetSpectraEseTask::init() - MCGen track");
411-
registry.add("hTrackPtGen", "", {HistType::kTH1F, {{assocTrackPt}}});
412-
registry.add("hTrackEtaGen", "", {HistType::kTH1F, {{etaAxis}}});
413-
registry.add("hTrackPhiGen", "", {HistType::kTH1F, {{phiAxis}}});
413+
registry.add("mcgen/hTrackPtGen", "", {HistType::kTH1F, {{assocTrackPt}}});
414+
registry.add("mcgen/hTrackEtaGen", "", {HistType::kTH1F, {{etaAxis}}});
415+
registry.add("mcgen/hTrackPhiGen", "", {HistType::kTH1F, {{phiAxis}}});
414416
}
415417
if (doprocessMCRecoTrack) {
416418
LOGF(info, "JetSpectraEseTask::init() - MCRec track");
417-
registry.add("hTrackPtReco", "", {HistType::kTH1F, {{assocTrackPt}}});
418-
registry.add("hTrackEtaReco", "", {HistType::kTH1F, {{etaAxis}}});
419-
registry.add("hTrackPhiReco", "", {HistType::kTH1F, {{phiAxis}}});
419+
registry.add("mcrec/hTrackPtReco", "", {HistType::kTH1F, {{assocTrackPt}}});
420+
registry.add("mcrec/hTrackEtaReco", "", {HistType::kTH1F, {{etaAxis}}});
421+
registry.add("mcrec/hTrackPhiReco", "", {HistType::kTH1F, {{phiAxis}}});
420422
}
421423
}
422424

423-
void loadEfficiency(aod::BCsWithTimestamps::iterator const& bc)
425+
template <typename TBC>
426+
void loadEfficiency(TBC const& bc)
424427
{
425428
uint64_t timestamp = bc.timestamp();
426429
if (cfg.isLoaded) {
@@ -555,7 +558,7 @@ struct JetSpectraEseTask {
555558
Pair<TCollisions, TJets, TTracks, BinningType> pairData{corrBinning, numberEventsMixed, -1, collisions, tracksTuple, &cache};
556559

557560
for (const auto& [c1, jets1, c2, tracks2] : pairData) {
558-
auto bc = c2.template bc_as<aod::BCsWithTimestamps>();
561+
auto bc = c2.template bc_as<aod::JBCs>();
559562
loadEfficiency(bc);
560563
auto c1Tracks = tracks.sliceBy(tracksPerJCollision, c1.globalIndex());
561564
registry.fill(HIST("eventQA/before/hVtxZMixed"), c1.posZ());
@@ -646,7 +649,7 @@ struct JetSpectraEseTask {
646649

647650
void processESEDataCharged(soa::Join<aod::JetCollisions, aod::BkgChargedRhos, aod::Qvectors, aod::QPercentileFT0Cs>::iterator const& collision,
648651
soa::Filtered<soa::Join<aod::ChargedJets, aod::ChargedJetConstituents>> const& jets,
649-
aod::JetTracks const& tracks, aod::BCsWithTimestamps const&)
652+
aod::JetTracks const& tracks, aod::JBCs const&)
650653
{
651654
registry.fill(HIST("eventQA/hEventCounter"), kFilteredInputEv);
652655
registry.fill(HIST("eventQA/before/hVtxZ"), collision.posZ());
@@ -658,15 +661,15 @@ struct JetSpectraEseTask {
658661
return;
659662
registry.fill(HIST("eventQA/hEventCounter"), kOccupancyCut);
660663

661-
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
664+
auto bc = collision.bc_as<aod::JBCs>();
662665
loadEfficiency(bc);
663666
jetSpectra(collision, jets, tracks);
664667
}
665668
PROCESS_SWITCH(JetSpectraEseTask, processESEDataCharged, "process ese collisions", true);
666669

667670
void processESEDataChargedMixed(soa::Join<aod::JetCollisions, aod::BkgChargedRhos, aod::Qvectors, aod::QPercentileFT0Cs> const& collisions,
668671
soa::Filtered<soa::Join<aod::ChargedJets, aod::ChargedJetConstituents>> const& jets,
669-
aod::JetTracks const& tracks, aod::BCsWithTimestamps const&)
672+
aod::JetTracks const& tracks, aod::JBCs const&)
670673
{
671674
jetMixed(collisions, jets, tracks);
672675
}
@@ -753,12 +756,13 @@ struct JetSpectraEseTask {
753756
}
754757
if (cfgEvSelOccupancy && !fOccupancy)
755758
return;
759+
registry.fill(HIST("mcp/hEventCounter"), counter++);
756760
if (!(std::abs(mcCollision.posZ()) < vertexZCut)) {
757761
return;
758762
}
763+
registry.fill(HIST("mcp/hEventCounter"), counter++);
759764
if (!eventSel)
760765
return;
761-
762766
registry.fill(HIST("mcp/hEventCounter"), counter++);
763767

764768
registry.fill(HIST("mcp/hCentralitySel"), centrality);
@@ -783,6 +787,7 @@ struct JetSpectraEseTask {
783787
if (!(std::abs(collision.posZ()) < vertexZCut)) {
784788
return;
785789
}
790+
registry.fill(HIST("mcd/hEventCounter"), counter++);
786791

787792
auto centrality = cfgisPbPb ? collision.centFT0M() : -1;
788793

@@ -881,8 +886,10 @@ struct JetSpectraEseTask {
881886
return;
882887
}
883888

884-
auto particlesInCollision = particles.sliceBy(particlesPerJMcCollision, mcCollision.globalIndex());
885-
for (const auto& particle : particlesInCollision) {
889+
for (const auto& particle : particles) {
890+
if (particle.mcCollisionId() != mcCollision.globalIndex()) {
891+
continue;
892+
}
886893
if (!isChargedParticle(particle.pdgCode())) {
887894
continue;
888895
}
@@ -896,9 +903,9 @@ struct JetSpectraEseTask {
896903
continue;
897904
}
898905

899-
registry.fill(HIST("hTrackPtGen"), particle.pt());
900-
registry.fill(HIST("hTrackEtaGen"), particle.eta());
901-
registry.fill(HIST("hTrackPhiGen"), particle.phi());
906+
registry.fill(HIST("mcgen/hTrackPtGen"), particle.pt());
907+
registry.fill(HIST("mcgen/hTrackEtaGen"), particle.eta());
908+
registry.fill(HIST("mcgen/hTrackPhiGen"), particle.phi());
902909
}
903910
}
904911
PROCESS_SWITCH(JetSpectraEseTask, processMCGenTrack, "jet MC process: Generated track", false);
@@ -961,9 +968,9 @@ struct JetSpectraEseTask {
961968
}
962969
seenMcParticles.push_back(particle.globalIndex());
963970

964-
registry.fill(HIST("hTrackPtReco"), track.pt());
965-
registry.fill(HIST("hTrackEtaReco"), track.eta());
966-
registry.fill(HIST("hTrackPhiReco"), track.phi());
971+
registry.fill(HIST("mcrec/hTrackPtReco"), track.pt());
972+
registry.fill(HIST("mcrec/hTrackEtaReco"), track.eta());
973+
registry.fill(HIST("mcrec/hTrackPhiReco"), track.phi());
967974
}
968975
}
969976
}

0 commit comments

Comments
 (0)