From eeb9b255f0d067ee33cfab37be32c209e5a8fc7f Mon Sep 17 00:00:00 2001 From: joachimckh Date: Mon, 9 Feb 2026 16:25:36 +0100 Subject: [PATCH 1/2] jet-hadron correlations, QA --- PWGJE/Tasks/jetSpectraEseTask.cxx | 232 ++++++++++++++++-------------- 1 file changed, 127 insertions(+), 105 deletions(-) diff --git a/PWGJE/Tasks/jetSpectraEseTask.cxx b/PWGJE/Tasks/jetSpectraEseTask.cxx index a471ff1e575..c5eaf83ec73 100644 --- a/PWGJE/Tasks/jetSpectraEseTask.cxx +++ b/PWGJE/Tasks/jetSpectraEseTask.cxx @@ -65,7 +65,7 @@ struct JetSpectraEseTask { ConfigurableAxis binFit0{"binFit0", {100, 0, 50}, ""}; ConfigurableAxis binFit13{"binFit13", {100, 0, 1.4}, ""}; ConfigurableAxis binFit24{"binFit24", {100, 0, 10}, ""}; - ConfigurableAxis binTrackPt{"binTrackPt", {100, 0, 10}, ""}; + ConfigurableAxis binTrackPt{"binTrackPt", {1000, 0, 100}, ""}; ConfigurableAxis dbinEta{"dbinEta", {100, -1.6, 1.6}, ""}; ConfigurableAxis dbinPhi{"dbinPhi", {120, -o2::constants::math::PIHalf, o2::constants::math::TwoPI - o2::constants::math::PIHalf}, ""}; @@ -89,8 +89,8 @@ struct JetSpectraEseTask { Configurable pTHatMaxMCP{"pTHatMaxMCP", 999.0, "maximum fraction of hard scattering for jet acceptance in particle MC"}; Configurable pTHatExponent{"pTHatExponent", 6.0, "exponent of the event weight for the calculation of pTHat"}; + Configurable fLeadJetPtCut{"fLeadJetPtCut", false, "Flag for leading jet pT cut"}; Configurable leadJetPtMin{"leadJetPtMin", 20.0, "minimum leading jet pT cut"}; - Configurable subleadJetPtMin{"subleadJetPtMin", 10.0, "minimum sub-leading jet pT cut"}; Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum eta acceptance for tracks"}; Configurable trackEtaMax{"trackEtaMax", 0.9, "maximum eta acceptance for tracks"}; @@ -102,7 +102,6 @@ struct JetSpectraEseTask { Configurable jetEtaMin{"jetEtaMin", -0.7, "minimum jet pseudorapidity"}; Configurable jetEtaMax{"jetEtaMax", 0.7, "maximum jet pseudorapidity"}; Configurable numberEventsMixed{"numberEventsMixed", 5, "number of events mixed in ME process"}; - Configurable fRequireDijetEvent{"fRequireDijetEvent", false, "flag to require dijet event"}; Configurable eventSelections{"eventSelections", "sel8FullPbPb", "choose event selection"}; Configurable trackSelections{"trackSelections", "globalTracks", "set track selections"}; @@ -186,9 +185,7 @@ struct JetSpectraEseTask { kCentCut, kEse, kRhoLocal, - kDijetEv, - kLeadJetPtCut, - kSubLeadJetPtCut + kLeadJetCut }; static constexpr EventPlaneFiller PsiFillerEP = {true, true}; @@ -231,9 +228,7 @@ struct JetSpectraEseTask { registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kCentCut, "Centrality cut"); registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kEse, "ESE available"); registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kRhoLocal, "rho(#phi) available"); - registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kDijetEv, "dijet event found"); - registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kLeadJetPtCut, "leading jet pT cut"); - registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kSubLeadJetPtCut, "sub leading jet pT cut"); + registry.get(HIST("eventQA/hEventCounter"))->GetXaxis()->SetBinLabel(kLeadJetCut, "leading jet pT cut"); registry.get(HIST("trackQA/hRhoTrackCounter"))->GetXaxis()->SetBinLabel(1, "Input tracks"); registry.get(HIST("trackQA/hRhoTrackCounter"))->GetXaxis()->SetBinLabel(2, "Track selection"); registry.get(HIST("trackQA/hRhoTrackCounter"))->GetXaxis()->SetBinLabel(3, "Tracks for rho(phi)"); @@ -249,19 +244,23 @@ struct JetSpectraEseTask { registry.add("eventQA/hCentPhi", "centrality vs #rho(#varphi); centrality; #rho(#varphi) ", {HistType::kTH2F, {{centAxis}, {210, -10.0, 200.0}}}); registry.add("eventQA/hdPhiRhoPhi", "#varphi vs #rho(#varphi); #varphi - #Psi_{EP,2}; #rho(#varphi) ", {HistType::kTH2F, {{40, -o2::constants::math::PI, o2::constants::math::PI}, {210, -10.0, 200.0}}}); - registry.add("h3CentLeadjetdPhi", ";Centrality;#phi_{lead jet} - #Psi_{2};#it{q}_{2}", {HistType::kTH3F, {{centAxis}, {dphiAxis}, {eseAxis}}}); - registry.add("h3CenttrPhiPsi2", ";Centrality;#phi_{track} - #Psi_{2};#it{q}_{2}", {HistType::kTH3F, {{centAxis}, {dphiAxis}, {eseAxis}}}); + registry.add("jetQA/before/hLeadJetPt", ";Centrality;#it{p}_{T,lead jet} (GeV/#it{c});entries", {HistType::kTH2F, {{centAxis}, {jetPtAxis}}}); + registry.add("jetQA/before/hLeadJetPhi", ";Centrality;#phi_{lead jet};entries", {HistType::kTH2F, {{centAxis}, {phiAxis}}}); + registry.add("jetQA/before/hLeadJetEta", ";Centrality;#eta_{lead jet};entries", {HistType::kTH2F, {{centAxis}, {etaAxis}}}); + registry.add("jetQA/after/hLeadJetPt", ";Centrality;#it{p}_{T,lead jet} (GeV/#it{c});entries", {HistType::kTH2F, {{centAxis}, {jetPtAxis}}}); + registry.add("jetQA/after/hLeadJetPhi", ";Centrality;#phi_{lead jet};entries", {HistType::kTH2F, {{centAxis}, {phiAxis}}}); + registry.add("jetQA/after/hLeadJetEta", ";Centrality;#eta_{lead jet};entries", {HistType::kTH2F, {{centAxis}, {etaAxis}}}); + registry.add("h3CenttrPhiPsi2", ";Centrality;#phi_{track} - #Psi_{2};#it{q}_{2}", {HistType::kTH3F, {{centAxis}, {dPhiAxis}, {eseAxis}}}); std::vector axes = { {centAxis}, {jetPtAxis}, - {jetPtAxis}, {trackPtAxis}, {detaAxis}, {dphiAxis}, {dPhiAxis}, {eseAxis}}; - registry.add("thn_jethad_corr_same", "jet-had; centrality; #it{p}_{T,lead jet} - #rho_{local} * area_{jet} (GeV/#it{c}); #it{p}_{T,sublead jet} - #rho_{local} * area_{jet} (GeV/#it{c}); #it{p}_{T,track} (GeV/#it{c}); #Delta#eta; #Delta#phi; #Delta#phi to EP; #it{q}_{2}", {HistType::kTHnSparseF, axes}); + registry.add("thn_jethad_corr_same", "jet-had; centrality; #it{p}_{T,jet} - #rho_{local} * area_{jet} (GeV/#it{c}); #it{p}_{T,track} (GeV/#it{c}); #Delta#eta; #Delta#phi; #Delta#phi to EP; #it{q}_{2}", {HistType::kTHnSparseF, axes}); for (int i = 0; i < NumSubSmpl; ++i) { std::string n = fmt::format("subsamples/thn_jethad_corr_same_subsample{}", i); hSameSub[i] = registry.add(n, "same;...", o2::framework::HistType::kTHnSparseF, axes); @@ -283,13 +282,31 @@ struct JetSpectraEseTask { registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kCentCut, "Centrality cut"); registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kEse, "ESE available"); registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kRhoLocal, "rho(#phi) available"); - registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kDijetEv, "dijet event found"); - registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kLeadJetPtCut, "leading jet pT cut"); - registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kSubLeadJetPtCut, "sub leading jet pT cut"); + registry.get(HIST("eventQA/hEventCounterMixed"))->GetXaxis()->SetBinLabel(kLeadJetCut, "leading jet pT cut"); registry.add("eventQA/before/hVtxZMixed", ";z_{vtx} (cm);entries", {HistType::kTH1F, {{100, -10.0, 10.0}}}); registry.add("eventQA/after/hVtxZMixed", ";z_{vtx} (cm);entries", {HistType::kTH1F, {{100, -10.0, 10.0}}}); - - registry.add("thn_jethad_corr_mixed", "jet-had; centrality; #it{p}_{T,lead jet} - #rho_{local} * area_{jet} (GeV/#it{c}); #it{p}_{T,sublead jet} - #rho_{local} * area_{jet} (GeV/#it{c}); #it{p}_{T,track} (GeV/#it{c}); #Delta#eta; #Delta#phi; #Delta#phi to EP; #it{q}_{2}", {HistType::kTHnSparseF, {{centAxis}, {jetPtAxis}, {jetPtAxis}, {trackPtAxis}, {detaAxis}, {dphiAxis}, {dPhiAxis}, {eseAxis}}}); + registry.add("eventQA/before/hVtxZMixed2", ";z_{vtx} (cm);entries", {HistType::kTH1F, {{100, -10.0, 10.0}}}); + registry.add("eventQA/after/hVtxZMixed2", ";z_{vtx} (cm);entries", {HistType::kTH1F, {{100, -10.0, 10.0}}}); + registry.add("eventQA/hCentralityAnalyzedMixed", ";Centrality;entries", {HistType::kTH1F, {{centAxis}}}); + registry.add("eventQA/hCentralityAnalyzedMixed2", ";Centrality;entries", {HistType::kTH1F, {{centAxis}}}); + registry.add("eventQA/hDeltaCentMixed", ";Centrality difference;entries", {HistType::kTH1F, {{100, -100, 100}}}); + registry.add("eventQA/hDeltaVtxZMixed", ";z_{vtx} difference (cm);entries", {HistType::kTH1F, {{100, -20.0, 20.0}}}); + + registry.add("trackQA/before/hTrackPtMixed", "", {HistType::kTH2F, {{centAxis}, {trackPtAxis}}}); + registry.add("trackQA/before/hTrackEtaMixed", "", {HistType::kTH2F, {{centAxis}, {etaAxis}}}); + registry.add("trackQA/before/hTrackPhiMixed", "", {HistType::kTH2F, {{centAxis}, {phiAxis}}}); + registry.add("trackQA/after/hTrackPtMixed", "", {HistType::kTH2F, {{centAxis}, {trackPtAxis}}}); + registry.add("trackQA/after/hTrackEtaMixed", "", {HistType::kTH2F, {{centAxis}, {etaAxis}}}); + registry.add("trackQA/after/hTrackPhiMixed", "", {HistType::kTH2F, {{centAxis}, {phiAxis}}}); + std::vector axes = { + {centAxis}, + {jetPtAxis}, + {trackPtAxis}, + {detaAxis}, + {dphiAxis}, + {dPhiAxis}, + {eseAxis}}; + registry.add("thn_jethad_corr_mixed", "jet-had; centrality; #it{p}_{T,lead jet} - #rho_{local} * area_{jet} (GeV/#it{c}); #it{p}_{T,track} (GeV/#it{c}); #Delta#eta; #Delta#phi; #Delta#phi to EP; #it{q}_{2}", {HistType::kTHnSparseF, axes}); registry.add("hNtrigMixed", "", {HistType::kTHnSparseF, {{centAxis}, {jetPtAxis}, {dPhiAxis}, {eseAxis}}}); } if (doprocessESEEPData) { @@ -389,11 +406,9 @@ struct JetSpectraEseTask { } } - struct DijetEvent { + struct leadjetEvent { float lead = -999; - float sub = -999; bool fLead = false; - bool fSub = false; }; template @@ -424,21 +439,20 @@ struct JetSpectraEseTask { if (!rhoFit) return; } - DijetEvent dijetEv{}; + registry.fill(HIST("eventQA/hEventCounter"), kRhoLocal); + if (fLeadJetPtCut) { + if (!isAcceptedLeadingJet(collision, jets, centrality)) + return; + } + registry.fill(HIST("eventQA/hEventCounter"), kLeadJetCut); registry.fill(HIST("eventQA/after/hVtxZ"), collision.posZ()); - registry.fill(HIST("eventQA/hEventCounter"), kRhoLocal); registry.fill(HIST("eventQA/hRho"), centrality, collision.rho()); registry.fill(HIST("eventQA/hCentralityAnalyzed"), centrality); - int lRndInd = fRndm->Integer(NumSubSmpl); - using JetIter = typename TJets::iterator; - JetIter leadingJet; - JetIter subleadingJet; auto corrL = [&](const auto& j) { return j.pt() - evalRho(rhoFit.get(), jetR, j.phi(), collision.rho()) * j.area(); }; - for (auto it = jets.begin(); it != jets.end(); ++it) { - const auto& jet = *it; + for (const auto& jet : jets) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) continue; if (!isAcceptedJet(jet)) { @@ -464,39 +478,18 @@ struct JetSpectraEseTask { registry.fill(HIST("eventQA/hCentPhi"), centrality, rhoFit->Eval(jet.phi())); registry.fill(HIST("eventQA/hdPhiRhoPhi"), dPhi, rhoLocal); } - - if (!dijetEv.fLead) { - leadingJet = it; - dijetEv.fLead = true; - dijetEv.lead = vCorrL; - } else if (vCorrL > dijetEv.lead) { - subleadingJet = leadingJet; - dijetEv.fSub = true; - dijetEv.sub = dijetEv.lead; - leadingJet = it; - dijetEv.fLead = true; - dijetEv.lead = vCorrL; - } else if (!dijetEv.fSub || vCorrL > dijetEv.sub) { - subleadingJet = it; - dijetEv.fSub = true; - dijetEv.sub = vCorrL; + + registry.fill(HIST("hNtrig"), centrality, vCorrL, dPhi, qPerc[0]); + for (const auto& track : tracks) { + if (!jetderiveddatautilities::selectTrack(track, trackSelection)) + continue; + auto deta = track.eta() - jet.eta(); + auto dphi = RecoDecay::constrainAngle(track.phi() - jet.phi(), -o2::constants::math::PIHalf); + registry.fill(HIST("thn_jethad_corr_same"), centrality, vCorrL, track.pt(), deta, dphi, dPhi, qPerc[0]); + hSameSub[lRndInd]->Fill(centrality, vCorrL, track.pt(), deta, dphi, dPhi, qPerc[0]); } } - if ((fRequireDijetEvent) && (!dijetEv.fLead || !dijetEv.fSub)) - return; - registry.fill(HIST("eventQA/hEventCounter"), kDijetEv); - if (dijetEv.lead < leadJetPtMin) - return; - registry.fill(HIST("eventQA/hEventCounter"), kLeadJetPtCut); - if ((fRequireDijetEvent) && (dijetEv.sub < subleadJetPtMin)) - return; - registry.fill(HIST("eventQA/hEventCounter"), kSubLeadJetPtCut); - const auto& leadJet = *leadingJet; - const auto leaddPhi = RecoDecay::constrainAngle(leadJet.phi() - psi.psi2, -o2::constants::math::PI); - registry.fill(HIST("h3CentLeadjetdPhi"), centrality, leaddPhi, qPerc[0]); - - registry.fill(HIST("hNtrig"), centrality, dijetEv.lead, leaddPhi, qPerc[0]); - for (auto const& track : tracks) { + for (const auto& track : tracks) { registry.fill(HIST("trackQA/before/hTrackPt"), centrality, track.pt()); registry.fill(HIST("trackQA/before/hTrackEta"), centrality, track.eta()); registry.fill(HIST("trackQA/before/hTrackPhi"), centrality, track.phi()); @@ -505,11 +498,7 @@ struct JetSpectraEseTask { registry.fill(HIST("trackQA/after/hTrackPt"), centrality, track.pt()); registry.fill(HIST("trackQA/after/hTrackEta"), centrality, track.eta()); registry.fill(HIST("trackQA/after/hTrackPhi"), centrality, track.phi()); - auto deta = track.eta() - leadJet.eta(); - auto dphi = RecoDecay::constrainAngle(track.phi() - leadJet.phi(), -o2::constants::math::PIHalf); registry.fill(HIST("h3CenttrPhiPsi2"), centrality, RecoDecay::constrainAngle(track.phi() - psi.psi2, -o2::constants::math::PI), qPerc[0]); - registry.fill(HIST("thn_jethad_corr_same"), centrality, dijetEv.lead, dijetEv.sub, track.pt(), deta, dphi, leaddPhi, qPerc[0]); - hSameSub[lRndInd]->Fill(centrality, dijetEv.lead, dijetEv.sub, track.pt(), deta, dphi, leaddPhi, qPerc[0]); } } @@ -522,8 +511,8 @@ struct JetSpectraEseTask { Pair pairData{corrBinning, numberEventsMixed, -1, collisions, tracksTuple, &cache}; for (const auto& [c1, jets1, c2, tracks2] : pairData) { auto c1Tracks = tracks.sliceBy(tracksPerJCollision, c1.globalIndex()); - registry.fill(HIST("eventQA/before/hVtxZMixed"), c1.posZ()); + registry.fill(HIST("eventQA/before/hVtxZMixed2"), c2.posZ()); registry.fill(HIST("eventQA/hEventCounterMixed"), kFilteredInputEv); if (!jetderiveddatautilities::selectCollision(c1, eventSelectionBits)) continue; @@ -556,17 +545,20 @@ struct JetSpectraEseTask { continue; } registry.fill(HIST("eventQA/hEventCounterMixed"), kRhoLocal); + if (fLeadJetPtCut) { + if (!isAcceptedLeadingJet(c1, jets, centrality)) + return; + } + registry.fill(HIST("eventQA/hEventCounterMixed"), kLeadJetCut); registry.fill(HIST("eventQA/after/hVtxZMixed"), c1.posZ()); + registry.fill(HIST("eventQA/after/hVtxZMixed2"), c2.posZ()); + registry.fill(HIST("eventQA/hCentralityAnalyzedMixed"), centrality); + registry.fill(HIST("eventQA/hCentralityAnalyzedMixed2"), centrality2); + registry.fill(HIST("eventQA/hDeltaCentMixed"), centrality - centrality2); + registry.fill(HIST("eventQA/hDeltaVtxZMixed"), c1.posZ() - c2.posZ()); auto corrL = [&](const auto& j) { return j.pt() - evalRho(rhoFit.get(), jetR, j.phi(), c1.rho()) * j.area(); }; - - DijetEvent dijetEv{}; - - using JetIter = typename TJets::iterator; - JetIter leadingJet; - JetIter subleadingJet; - for (auto it = jets1.begin(); it != jets1.end(); ++it) { - const auto& jet = *it; + for (const auto& jet : jets1) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) continue; if (!isAcceptedJet(jet)) { @@ -574,43 +566,27 @@ struct JetSpectraEseTask { } auto vCorr = corr(c1, jet); auto vCorrL = cfgrhoPhi ? corrL(jet) : vCorr; + float dPhi{RecoDecay::constrainAngle(jet.phi() - psi.psi2, -o2::constants::math::PI)}; - if (!dijetEv.fLead) { - leadingJet = it; - dijetEv.fLead = true; - dijetEv.lead = vCorrL; - } else if (vCorrL > dijetEv.lead) { - subleadingJet = leadingJet; - dijetEv.fSub = true; - dijetEv.sub = dijetEv.lead; - leadingJet = it; - dijetEv.fLead = true; - dijetEv.lead = vCorrL; - } else if (!dijetEv.fSub || vCorrL > dijetEv.sub) { - subleadingJet = it; - dijetEv.fSub = true; - dijetEv.sub = vCorrL; + for (const auto& track : tracks2) { + if (!jetderiveddatautilities::selectTrack(track, trackSelection)) + continue; + auto deta = track.eta() - jet.eta(); + auto dphi = RecoDecay::constrainAngle(track.phi() - jet.phi(), -o2::constants::math::PIHalf); + registry.fill(HIST("hNtrigMixed"), centrality, vCorrL, dPhi, qPerc[0]); + registry.fill(HIST("thn_jethad_corr_mixed"), centrality, vCorrL, track.pt(), deta, dphi, dPhi, qPerc[0]); } } - if ((fRequireDijetEvent) && (!dijetEv.fLead || !dijetEv.fSub)) - continue; - registry.fill(HIST("eventQA/hEventCounterMixed"), kDijetEv); - if (dijetEv.lead < leadJetPtMin) - continue; - registry.fill(HIST("eventQA/hEventCounterMixed"), kLeadJetPtCut); - if ((fRequireDijetEvent) && (dijetEv.sub < subleadJetPtMin)) - continue; - registry.fill(HIST("eventQA/hEventCounterMixed"), kSubLeadJetPtCut); - const auto& leadJet = *leadingJet; - const auto leaddPhi = RecoDecay::constrainAngle(leadJet.phi() - psi.psi2, -o2::constants::math::PI); - - registry.fill(HIST("hNtrigMixed"), centrality, dijetEv.lead, leaddPhi, qPerc[0]); - for (auto const& track : tracks2) { + + for (const auto& track : tracks2) { + registry.fill(HIST("trackQA/before/hTrackPtMixed"), centrality, track.pt()); + registry.fill(HIST("trackQA/before/hTrackEtaMixed"), centrality, track.eta()); + registry.fill(HIST("trackQA/before/hTrackPhiMixed"), centrality, track.phi()); if (!jetderiveddatautilities::selectTrack(track, trackSelection)) continue; - auto deta = track.eta() - leadJet.eta(); - auto dphi = RecoDecay::constrainAngle(track.phi() - leadJet.phi(), -o2::constants::math::PIHalf); - registry.fill(HIST("thn_jethad_corr_mixed"), centrality, dijetEv.lead, dijetEv.sub, track.pt(), deta, dphi, leaddPhi, qPerc[0]); + registry.fill(HIST("trackQA/after/hTrackPtMixed"), centrality, track.pt()); + registry.fill(HIST("trackQA/after/hTrackEtaMixed"), centrality, track.eta()); + registry.fill(HIST("trackQA/after/hTrackPhiMixed"), centrality, track.phi()); } } } @@ -1235,6 +1211,52 @@ struct JetSpectraEseTask { } } } + //leadJet(collision, jets) + template + bool isAcceptedLeadingJet(TCollisions const& collision, TJets const& jets, const float & centrality) + { + float leadJetPt = 0.0; + float leadJetPhi = -999; + float leadJetEta = -999; + bool hasLeadingJet = false; + for (const auto& jet : jets) { + if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) + continue; + if (!isAcceptedJet(jet)) { + continue; + } + auto jet_pt_bkg = jet.pt() - (collision.rho() * jet.area()); + + if (!hasLeadingJet) { + leadJetPt = jet_pt_bkg; + leadJetPhi = jet.phi(); + leadJetEta = jet.eta(); + hasLeadingJet = true; + } + if (jet_pt_bkg > leadJetPt) { + leadJetPt = jet_pt_bkg; + leadJetPhi = jet.phi(); + leadJetEta = jet.eta(); + } + } + if (!hasLeadingJet) { + return false; + } + if constexpr (fill) { + registry.fill(HIST("jetQA/before/hLeadJetPt"), centrality, leadJetPt); + registry.fill(HIST("jetQA/before/hLeadJetPhi"), centrality, leadJetPhi); + registry.fill(HIST("jetQA/before/hLeadJetEta"), centrality, leadJetEta); + } + if (leadJetPt < leadJetPtMin) { + return false; + } + if constexpr (fill) { + registry.fill(HIST("jetQA/after/hLeadJetPt"), centrality, leadJetPt); + registry.fill(HIST("jetQA/after/hLeadJetPhi"), centrality, leadJetPhi); + registry.fill(HIST("jetQA/after/hLeadJetEta"), centrality, leadJetEta); + } + return true; + } template bool isAcceptedJet(TJets const& jet, bool mcLevelIsParticleLevel = false) From 43e96a591febf2e4d7a52b8aadd3d1f32435d28d Mon Sep 17 00:00:00 2001 From: joachimckh Date: Mon, 9 Feb 2026 16:28:54 +0100 Subject: [PATCH 2/2] format, remove unused things --- PWGJE/Tasks/jetSpectraEseTask.cxx | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/PWGJE/Tasks/jetSpectraEseTask.cxx b/PWGJE/Tasks/jetSpectraEseTask.cxx index c5eaf83ec73..8e6417a7298 100644 --- a/PWGJE/Tasks/jetSpectraEseTask.cxx +++ b/PWGJE/Tasks/jetSpectraEseTask.cxx @@ -89,7 +89,7 @@ struct JetSpectraEseTask { Configurable pTHatMaxMCP{"pTHatMaxMCP", 999.0, "maximum fraction of hard scattering for jet acceptance in particle MC"}; Configurable pTHatExponent{"pTHatExponent", 6.0, "exponent of the event weight for the calculation of pTHat"}; - Configurable fLeadJetPtCut{"fLeadJetPtCut", false, "Flag for leading jet pT cut"}; + Configurable fLeadJetPtCut{"fLeadJetPtCut", false, "Flag for leading jet pT cut"}; Configurable leadJetPtMin{"leadJetPtMin", 20.0, "minimum leading jet pT cut"}; Configurable trackEtaMin{"trackEtaMin", -0.9, "minimum eta acceptance for tracks"}; @@ -406,11 +406,6 @@ struct JetSpectraEseTask { } } - struct leadjetEvent { - float lead = -999; - bool fLead = false; - }; - template float corr(const TCollision& collision, const TJets& jet) { @@ -478,7 +473,7 @@ struct JetSpectraEseTask { registry.fill(HIST("eventQA/hCentPhi"), centrality, rhoFit->Eval(jet.phi())); registry.fill(HIST("eventQA/hdPhiRhoPhi"), dPhi, rhoLocal); } - + registry.fill(HIST("hNtrig"), centrality, vCorrL, dPhi, qPerc[0]); for (const auto& track : tracks) { if (!jetderiveddatautilities::selectTrack(track, trackSelection)) @@ -577,7 +572,7 @@ struct JetSpectraEseTask { registry.fill(HIST("thn_jethad_corr_mixed"), centrality, vCorrL, track.pt(), deta, dphi, dPhi, qPerc[0]); } } - + for (const auto& track : tracks2) { registry.fill(HIST("trackQA/before/hTrackPtMixed"), centrality, track.pt()); registry.fill(HIST("trackQA/before/hTrackEtaMixed"), centrality, track.eta()); @@ -1211,9 +1206,9 @@ struct JetSpectraEseTask { } } } - //leadJet(collision, jets) + // leadJet(collision, jets) template - bool isAcceptedLeadingJet(TCollisions const& collision, TJets const& jets, const float & centrality) + bool isAcceptedLeadingJet(TCollisions const& collision, TJets const& jets, const float& centrality) { float leadJetPt = 0.0; float leadJetPhi = -999; @@ -1225,16 +1220,16 @@ struct JetSpectraEseTask { if (!isAcceptedJet(jet)) { continue; } - auto jet_pt_bkg = jet.pt() - (collision.rho() * jet.area()); + auto jetPtBkg = jet.pt() - (collision.rho() * jet.area()); if (!hasLeadingJet) { - leadJetPt = jet_pt_bkg; + leadJetPt = jetPtBkg; leadJetPhi = jet.phi(); leadJetEta = jet.eta(); hasLeadingJet = true; } - if (jet_pt_bkg > leadJetPt) { - leadJetPt = jet_pt_bkg; + if (jetPtBkg > leadJetPt) { + leadJetPt = jetPtBkg; leadJetPhi = jet.phi(); leadJetEta = jet.eta(); }