From c1f9c1c51427110516af4245d7a5d488f5a8f655 Mon Sep 17 00:00:00 2001 From: joachimckh Date: Mon, 30 Mar 2026 13:46:20 +0200 Subject: [PATCH] fix gen issues --- PWGJE/Tasks/jetSpectraEseTask.cxx | 53 +++++++++++++++++-------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/PWGJE/Tasks/jetSpectraEseTask.cxx b/PWGJE/Tasks/jetSpectraEseTask.cxx index faff2f096fc..7d036fb6ab3 100644 --- a/PWGJE/Tasks/jetSpectraEseTask.cxx +++ b/PWGJE/Tasks/jetSpectraEseTask.cxx @@ -149,7 +149,6 @@ struct JetSpectraEseTask { Preslice mcdjetsPerJCollision = o2::aod::jet::collisionId; Preslice tracksPerJCollision = o2::aod::jtrack::collisionId; Preslice mcdTracksPerJCollision = o2::aod::jtrack::collisionId; - Preslice particlesPerJMcCollision = o2::aod::jmcparticle::mcCollisionId; SliceCache cache; using BinningType = ColumnBinningPolicy; @@ -345,6 +344,8 @@ struct JetSpectraEseTask { registry.get(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(2, "Collision size < 1"); registry.get(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(3, "MCD size != 1"); registry.get(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(4, "Occupancy cut"); + registry.get(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(5, "Vtx z cut"); + registry.get(HIST("mcp/hEventCounter"))->GetXaxis()->SetBinLabel(6, "Event selection"); } if (doprocessMCDetectorLevel) { LOGF(info, "JetSpectraEseTask::init() - MC Detector level"); @@ -357,8 +358,9 @@ struct JetSpectraEseTask { // registry.add("mcd/hJetPhi", "particle level jet #phi;#phi_{jet part};entries", {HistType::kTH1F, {{phiAxis}}}); registry.get(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(1, "Input event"); - registry.get(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(2, "Collision size < 1"); - registry.get(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(3, "Occupancy cut"); + registry.get(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(1, "Event selection"); + registry.get(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(2, "Occupancy cut"); + registry.get(HIST("mcd/hEventCounter"))->GetXaxis()->SetBinLabel(3, "Vtx z cut"); } if (doprocessMCChargedMatched) { LOGF(info, "JetSpectraEseTask::init() - MC Charged Matched"); @@ -402,19 +404,20 @@ struct JetSpectraEseTask { } if (doprocessMCGenTrack) { LOGF(info, "JetSpectraEseTask::init() - MCGen track"); - registry.add("hTrackPtGen", "", {HistType::kTH1F, {{assocTrackPt}}}); - registry.add("hTrackEtaGen", "", {HistType::kTH1F, {{etaAxis}}}); - registry.add("hTrackPhiGen", "", {HistType::kTH1F, {{phiAxis}}}); + registry.add("mcgen/hTrackPtGen", "", {HistType::kTH1F, {{assocTrackPt}}}); + registry.add("mcgen/hTrackEtaGen", "", {HistType::kTH1F, {{etaAxis}}}); + registry.add("mcgen/hTrackPhiGen", "", {HistType::kTH1F, {{phiAxis}}}); } if (doprocessMCRecoTrack) { LOGF(info, "JetSpectraEseTask::init() - MCRec track"); - registry.add("hTrackPtReco", "", {HistType::kTH1F, {{assocTrackPt}}}); - registry.add("hTrackEtaReco", "", {HistType::kTH1F, {{etaAxis}}}); - registry.add("hTrackPhiReco", "", {HistType::kTH1F, {{phiAxis}}}); + registry.add("mcrec/hTrackPtReco", "", {HistType::kTH1F, {{assocTrackPt}}}); + registry.add("mcrec/hTrackEtaReco", "", {HistType::kTH1F, {{etaAxis}}}); + registry.add("mcrec/hTrackPhiReco", "", {HistType::kTH1F, {{phiAxis}}}); } } - void loadEfficiency(aod::BCsWithTimestamps::iterator const& bc) + template + void loadEfficiency(TBC const& bc) { uint64_t timestamp = bc.timestamp(); if (cfg.isLoaded) { @@ -549,7 +552,7 @@ struct JetSpectraEseTask { Pair pairData{corrBinning, numberEventsMixed, -1, collisions, tracksTuple, &cache}; for (const auto& [c1, jets1, c2, tracks2] : pairData) { - auto bc = c2.template bc_as(); + auto bc = c2.template bc_as(); loadEfficiency(bc); auto c1Tracks = tracks.sliceBy(tracksPerJCollision, c1.globalIndex()); registry.fill(HIST("eventQA/before/hVtxZMixed"), c1.posZ()); @@ -640,7 +643,7 @@ struct JetSpectraEseTask { void processESEDataCharged(soa::Join::iterator const& collision, soa::Filtered> const& jets, - aod::JetTracks const& tracks, aod::BCsWithTimestamps const&) + aod::JetTracks const& tracks, aod::JBCs const&) { registry.fill(HIST("eventQA/hEventCounter"), kFilteredInputEv); registry.fill(HIST("eventQA/before/hVtxZ"), collision.posZ()); @@ -652,7 +655,7 @@ struct JetSpectraEseTask { return; registry.fill(HIST("eventQA/hEventCounter"), kOccupancyCut); - auto bc = collision.bc_as(); + auto bc = collision.bc_as(); loadEfficiency(bc); jetSpectra(collision, jets, tracks); } @@ -660,7 +663,7 @@ struct JetSpectraEseTask { void processESEDataChargedMixed(soa::Join const& collisions, soa::Filtered> const& jets, - aod::JetTracks const& tracks, aod::BCsWithTimestamps const&) + aod::JetTracks const& tracks, aod::JBCs const&) { jetMixed(collisions, jets, tracks); } @@ -747,12 +750,13 @@ struct JetSpectraEseTask { } if (cfgEvSelOccupancy && !fOccupancy) return; + registry.fill(HIST("mcp/hEventCounter"), counter++); if (!(std::abs(mcCollision.posZ()) < vertexZCut)) { return; } + registry.fill(HIST("mcp/hEventCounter"), counter++); if (!eventSel) return; - registry.fill(HIST("mcp/hEventCounter"), counter++); registry.fill(HIST("mcp/hCentralitySel"), centrality); @@ -777,6 +781,7 @@ struct JetSpectraEseTask { if (!(std::abs(collision.posZ()) < vertexZCut)) { return; } + registry.fill(HIST("mcd/hEventCounter"), counter++); auto centrality = cfgisPbPb ? collision.centFT0M() : -1; @@ -875,8 +880,10 @@ struct JetSpectraEseTask { return; } - auto particlesInCollision = particles.sliceBy(particlesPerJMcCollision, mcCollision.globalIndex()); - for (const auto& particle : particlesInCollision) { + for (const auto& particle : particles) { + if (particle.mcCollisionId() != mcCollision.globalIndex()) { + continue; + } if (!isChargedParticle(particle.pdgCode())) { continue; } @@ -890,9 +897,9 @@ struct JetSpectraEseTask { continue; } - registry.fill(HIST("hTrackPtGen"), particle.pt()); - registry.fill(HIST("hTrackEtaGen"), particle.eta()); - registry.fill(HIST("hTrackPhiGen"), particle.phi()); + registry.fill(HIST("mcgen/hTrackPtGen"), particle.pt()); + registry.fill(HIST("mcgen/hTrackEtaGen"), particle.eta()); + registry.fill(HIST("mcgen/hTrackPhiGen"), particle.phi()); } } PROCESS_SWITCH(JetSpectraEseTask, processMCGenTrack, "jet MC process: Generated track", false); @@ -955,9 +962,9 @@ struct JetSpectraEseTask { } seenMcParticles.push_back(particle.globalIndex()); - registry.fill(HIST("hTrackPtReco"), track.pt()); - registry.fill(HIST("hTrackEtaReco"), track.eta()); - registry.fill(HIST("hTrackPhiReco"), track.phi()); + registry.fill(HIST("mcrec/hTrackPtReco"), track.pt()); + registry.fill(HIST("mcrec/hTrackEtaReco"), track.eta()); + registry.fill(HIST("mcrec/hTrackPhiReco"), track.phi()); } } }