diff --git a/PWGJE/Tasks/jetFinderQA.cxx b/PWGJE/Tasks/jetFinderQA.cxx index 75190ac7355..6ae115a963e 100644 --- a/PWGJE/Tasks/jetFinderQA.cxx +++ b/PWGJE/Tasks/jetFinderQA.cxx @@ -424,10 +424,9 @@ struct JetFinderQATask { } template - void fillHistograms(T const& jet, float centrality, float occupancy, float hadronicRate, float weight = 1.0) + void fillHistograms(T const& jet, float centrality, float occupancy, float hadronicRate, float weight = 1.0, float pTHat = 999.) { - float pTHat = 10. / (std::pow(weight, 1.0 / pTHatExponent)); if (jet.pt() > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin) { return; } @@ -527,10 +526,9 @@ struct JetFinderQATask { } template - void fillMCPHistograms(T const& jet, float weight = 1.0) + void fillMCPHistograms(T const& jet, float weight = 1.0, float pTHat = 999.) { - float pTHat = 10. / (std::pow(weight, 1.0 / pTHatExponent)); if (jet.pt() > pTHatMaxMCP * pTHat || pTHat < pTHatAbsoluteMin) { return; } @@ -558,9 +556,8 @@ struct JetFinderQATask { } template - void fillMatchedHistograms(T const& jetBase, float leadingTrackPtBase, float weight = 1.0) + void fillMatchedHistograms(T const& jetBase, float leadingTrackPtBase, float weight = 1.0, float pTHat = 999.) { - float pTHat = 10. / (std::pow(weight, 1.0 / pTHatExponent)); if (jetBase.pt() > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin) { return; } @@ -669,9 +666,8 @@ struct JetFinderQATask { } template - void fillTrackHistograms(T const& collision, U const& tracks, float weight = 1.0) + void fillTrackHistograms(T const& collision, U const& tracks, float weight = 1.0, float pTHat = 999.) { - float pTHat = 10. / (std::pow(weight, 1.0 / pTHatExponent)); if (pTHat < pTHatAbsoluteMin) { return; } @@ -888,7 +884,7 @@ struct JetFinderQATask { } PROCESS_SWITCH(JetFinderQATask, processJetsSubMatched, "jet finder QA matched unsubtracted and constituent subtracted jets", false); - void processJetsMCD(soa::Filtered::iterator const& collision, soa::Join const& jets, aod::JetTracks const&) + void processJetsMCD(soa::Filtered>::iterator const& collision, aod::JetMcCollisions const&, soa::Join const& jets, aod::JetTracks const&) { if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) { return; @@ -900,12 +896,12 @@ struct JetFinderQATask { if (!isAcceptedJet(jet)) { continue; } - fillHistograms(jet, collision.centFT0M(), collision.trackOccupancyInTimeRange(), collision.hadronicRate()); + fillHistograms(jet, collision.centFT0M(), collision.trackOccupancyInTimeRange(), collision.hadronicRate(), 1., collision.mcCollision().ptHard()); } } PROCESS_SWITCH(JetFinderQATask, processJetsMCD, "jet finder QA mcd", false); - void processJetsMCDWeighted(soa::Filtered>::iterator const& collision, soa::Join const& jets, aod::JetTracks const&) + void processJetsMCDWeighted(soa::Filtered>::iterator const& collision, aod::JetMcCollisions const&, soa::Join const& jets, aod::JetTracks const&) { if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) { return; @@ -920,18 +916,17 @@ struct JetFinderQATask { if (!isAcceptedJet(jet)) { continue; } - double pTHat = 10. / (std::pow(collision.weight(), 1.0 / pTHatExponent)); for (int N = 1; N < 21; N++) { - if (jet.pt() < N * 0.25 * pTHat && jet.r() == round(selectedJetsRadius * 100.0f)) { + if (jet.pt() < N * 0.25 * collision.mcCollision().ptHard() && jet.r() == round(selectedJetsRadius * 100.0f)) { registry.fill(HIST("h_jet_ptcut"), jet.pt(), N * 0.25, collision.weight()); } } - fillHistograms(jet, collision.centFT0M(), collision.trackOccupancyInTimeRange(), collision.hadronicRate(), collision.weight()); + fillHistograms(jet, collision.centFT0M(), collision.trackOccupancyInTimeRange(), collision.hadronicRate(), collision.weight(), collision.mcCollision().ptHard()); } } PROCESS_SWITCH(JetFinderQATask, processJetsMCDWeighted, "jet finder QA mcd with weighted events", false); - void processJetsMCP(soa::Join::iterator const& jet, aod::JetParticles const&, aod::JetMcCollisions const&, soa::Filtered const& collisions) + void processJetsMCP(soa::Join::iterator const& jet, aod::JetParticles const&, soa::Join const& mcCollisions, soa::Filtered const& collisions) { if (!jetfindingutilities::isInEtaAcceptance(jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) { return; @@ -939,13 +934,14 @@ struct JetFinderQATask { if (!isAcceptedJet(jet)) { return; } + auto mcCollision = mcCollisions.sliceBy(McCollisionsPerMCPCollision, jet.mcCollisionId()); if (checkMcCollisionIsMatched) { auto collisionspermcpjet = collisions.sliceBy(CollisionsPerMCPCollision, jet.mcCollisionId()); if (collisionspermcpjet.size() >= 1 && jetderiveddatautilities::selectCollision(collisionspermcpjet.begin(), eventSelectionBits)) { - fillMCPHistograms(jet); + fillMCPHistograms(jet, 1., mcCollision.begin().ptHard()); } } else { - fillMCPHistograms(jet); + fillMCPHistograms(jet, 1., mcCollision.begin().ptHard()); } } PROCESS_SWITCH(JetFinderQATask, processJetsMCP, "jet finder QA mcp", false); @@ -960,25 +956,25 @@ struct JetFinderQATask { } auto mcCollision = mcCollisions.sliceBy(McCollisionsPerMCPCollision, jet.mcCollisionId()); if (mcCollision.size() == 1) { - double pTHat = 10. / (std::pow(mcCollision.begin().weight(), 1.0 / pTHatExponent)); for (int N = 1; N < 21; N++) { - if (jet.pt() < N * 0.25 * pTHat && jet.r() == round(selectedJetsRadius * 100.0f)) { + if (jet.pt() < N * 0.25 * mcCollision.begin().ptHard() && jet.r() == round(selectedJetsRadius * 100.0f)) { registry.fill(HIST("h_jet_ptcut_part"), jet.pt(), N * 0.25, mcCollision.begin().weight()); } } if (checkMcCollisionIsMatched) { auto collisionspermcpjet = collisions.sliceBy(CollisionsPerMCPCollision, jet.mcCollisionId()); if (collisionspermcpjet.size() >= 1 && jetderiveddatautilities::selectCollision(collisionspermcpjet.begin(), eventSelectionBits) && !collisionspermcpjet.begin().isOutlier()) { - fillMCPHistograms(jet, mcCollision.begin().weight()); + fillMCPHistograms(jet, mcCollision.begin().weight(), mcCollision.begin().ptHard()); } } else { - fillMCPHistograms(jet, mcCollision.begin().weight()); + fillMCPHistograms(jet, mcCollision.begin().weight(), mcCollision.begin().ptHard()); } } } PROCESS_SWITCH(JetFinderQATask, processJetsMCPWeighted, "jet finder QA mcp with weighted events", false); - void processJetsMCPMCDMatched(soa::Filtered::iterator const& collision, + void processJetsMCPMCDMatched(soa::Filtered>::iterator const& collision, + aod::JetMcCollisions const&, soa::Join const& mcdjets, soa::Join const&, aod::JetTracks const&, aod::JetParticles const&) @@ -999,12 +995,13 @@ struct JetFinderQATask { leadingTrackPtBase = constituent.pt(); } } - fillMatchedHistograms::iterator, soa::Join>(mcdjet, leadingTrackPtBase); + fillMatchedHistograms::iterator, soa::Join>(mcdjet, leadingTrackPtBase, 1., collision.mcCollision().ptHard()); } } PROCESS_SWITCH(JetFinderQATask, processJetsMCPMCDMatched, "jet finder QA matched mcp and mcd", false); - void processJetsMCPMCDMatchedWeighted(soa::Filtered>::iterator const& collision, + void processJetsMCPMCDMatchedWeighted(soa::Filtered>::iterator const& collision, + aod::JetMcCollisions const&, soa::Join const& mcdjets, soa::Join const&, aod::JetTracks const&, aod::JetParticles const&) @@ -1028,7 +1025,7 @@ struct JetFinderQATask { leadingTrackPtBase = constituent.pt(); } } - fillMatchedHistograms::iterator, soa::Join>(mcdjet, leadingTrackPtBase, collision.weight()); + fillMatchedHistograms::iterator, soa::Join>(mcdjet, leadingTrackPtBase, collision.weight(), collision.mcCollision().ptHard()); } } PROCESS_SWITCH(JetFinderQATask, processJetsMCPMCDMatchedWeighted, "jet finder QA matched mcp and mcd with weighted events", false); @@ -1176,7 +1173,8 @@ struct JetFinderQATask { } PROCESS_SWITCH(JetFinderQATask, processTriggeredData, "QA for charged jet trigger", false); - void processTracks(soa::Filtered::iterator const& collision, + void processTracks(soa::Filtered>::iterator const& collision, + aod::JetMcCollisions const&, soa::Filtered> const& tracks) { if (skipMBGapEvents && collision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) { @@ -1194,7 +1192,7 @@ struct JetFinderQATask { } registry.fill(HIST("h_collisions"), 2.5); registry.fill(HIST("h2_centrality_collisions"), collision.centFT0M(), 2.5); - fillTrackHistograms(collision, tracks); + fillTrackHistograms(collision, tracks, 1., collision.mcCollision().ptHard()); } PROCESS_SWITCH(JetFinderQATask, processTracks, "QA for charged tracks", false); @@ -1223,7 +1221,7 @@ struct JetFinderQATask { } registry.fill(HIST("h_collisions"), 3.5); registry.fill(HIST("h_collisions_weighted"), 3.5, eventWeight); - fillTrackHistograms(collision, tracks, eventWeight); + fillTrackHistograms(collision, tracks, eventWeight, collision.mcCollision().ptHard()); } PROCESS_SWITCH(JetFinderQATask, processTracksWeighted, "QA for charged tracks weighted", false);