@@ -424,10 +424,9 @@ struct JetFinderQATask {
424424 }
425425
426426 template <typename T>
427- void fillHistograms (T const & jet, float centrality, float occupancy, float hadronicRate, float weight = 1.0 )
427+ void fillHistograms (T const & jet, float centrality, float occupancy, float hadronicRate, float weight = 1.0 , float pTHat = 999 . )
428428 {
429429
430- float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
431430 if (jet.pt () > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin) {
432431 return ;
433432 }
@@ -527,10 +526,9 @@ struct JetFinderQATask {
527526 }
528527
529528 template <typename T>
530- void fillMCPHistograms (T const & jet, float weight = 1.0 )
529+ void fillMCPHistograms (T const & jet, float weight = 1.0 , float pTHat = 999 . )
531530 {
532531
533- float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
534532 if (jet.pt () > pTHatMaxMCP * pTHat || pTHat < pTHatAbsoluteMin) {
535533 return ;
536534 }
@@ -558,9 +556,8 @@ struct JetFinderQATask {
558556 }
559557
560558 template <typename T, typename U>
561- void fillMatchedHistograms (T const & jetBase, float leadingTrackPtBase, float weight = 1.0 )
559+ void fillMatchedHistograms (T const & jetBase, float leadingTrackPtBase, float weight = 1.0 , float pTHat = 999 . )
562560 {
563- float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
564561 if (jetBase.pt () > pTHatMaxMCD * pTHat || pTHat < pTHatAbsoluteMin) {
565562 return ;
566563 }
@@ -669,9 +666,8 @@ struct JetFinderQATask {
669666 }
670667
671668 template <typename T, typename U>
672- void fillTrackHistograms (T const & collision, U const & tracks, float weight = 1.0 )
669+ void fillTrackHistograms (T const & collision, U const & tracks, float weight = 1.0 , float pTHat = 999 . )
673670 {
674- float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
675671 if (pTHat < pTHatAbsoluteMin) {
676672 return ;
677673 }
@@ -888,7 +884,7 @@ struct JetFinderQATask {
888884 }
889885 PROCESS_SWITCH (JetFinderQATask, processJetsSubMatched, " jet finder QA matched unsubtracted and constituent subtracted jets" , false );
890886
891- void processJetsMCD (soa::Filtered<aod::JetCollisions> ::iterator const & collision, soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const & jets, aod::JetTracks const &)
887+ void processJetsMCD (soa::Filtered<soa::Join< aod::JetCollisions, aod::JMcCollisionLbs>> ::iterator const & collision, aod::JetMcCollisions const & , soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const & jets, aod::JetTracks const &)
892888 {
893889 if (collision.trackOccupancyInTimeRange () < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange ()) {
894890 return ;
@@ -900,12 +896,12 @@ struct JetFinderQATask {
900896 if (!isAcceptedJet<aod::JetTracks>(jet)) {
901897 continue ;
902898 }
903- fillHistograms (jet, collision.centFT0M (), collision.trackOccupancyInTimeRange (), collision.hadronicRate ());
899+ fillHistograms (jet, collision.centFT0M (), collision.trackOccupancyInTimeRange (), collision.hadronicRate (), 1 ., collision. mcCollision (). ptHard () );
904900 }
905901 }
906902 PROCESS_SWITCH (JetFinderQATask, processJetsMCD, " jet finder QA mcd" , false );
907903
908- void processJetsMCDWeighted (soa::Filtered<soa::Join<aod::JetCollisions, aod::JCollisionOutliers>>::iterator const & collision, soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const & jets, aod::JetTracks const &)
904+ void processJetsMCDWeighted (soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs, aod:: JCollisionOutliers>>::iterator const & collision, aod::JetMcCollisions const & , soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const & jets, aod::JetTracks const &)
909905 {
910906 if (collision.trackOccupancyInTimeRange () < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange ()) {
911907 return ;
@@ -920,32 +916,32 @@ struct JetFinderQATask {
920916 if (!isAcceptedJet<aod::JetTracks>(jet)) {
921917 continue ;
922918 }
923- double pTHat = 10 . / (std::pow (collision.weight (), 1.0 / pTHatExponent));
924919 for (int N = 1 ; N < 21 ; N++) {
925- if (jet.pt () < N * 0.25 * pTHat && jet.r () == round (selectedJetsRadius * 100 .0f )) {
920+ if (jet.pt () < N * 0.25 * collision. mcCollision (). ptHard () && jet.r () == round (selectedJetsRadius * 100 .0f )) {
926921 registry.fill (HIST (" h_jet_ptcut" ), jet.pt (), N * 0.25 , collision.weight ());
927922 }
928923 }
929- fillHistograms (jet, collision.centFT0M (), collision.trackOccupancyInTimeRange (), collision.hadronicRate (), collision.weight ());
924+ fillHistograms (jet, collision.centFT0M (), collision.trackOccupancyInTimeRange (), collision.hadronicRate (), collision.weight (), collision. mcCollision (). ptHard () );
930925 }
931926 }
932927 PROCESS_SWITCH (JetFinderQATask, processJetsMCDWeighted, " jet finder QA mcd with weighted events" , false );
933928
934- void processJetsMCP (soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents>::iterator const & jet, aod::JetParticles const &, aod::JetMcCollisions const &, soa::Filtered<aod::JetCollisionsMCD> const & collisions)
929+ void processJetsMCP (soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents>::iterator const & jet, aod::JetParticles const &, soa::Join< aod::JetMcCollisions, aod::JMcCollisionPIs> const & mcCollisions , soa::Filtered<aod::JetCollisionsMCD> const & collisions)
935930 {
936931 if (!jetfindingutilities::isInEtaAcceptance (jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) {
937932 return ;
938933 }
939934 if (!isAcceptedJet<aod::JetParticles>(jet)) {
940935 return ;
941936 }
937+ auto mcCollision = mcCollisions.sliceBy (McCollisionsPerMCPCollision, jet.mcCollisionId ());
942938 if (checkMcCollisionIsMatched) {
943939 auto collisionspermcpjet = collisions.sliceBy (CollisionsPerMCPCollision, jet.mcCollisionId ());
944940 if (collisionspermcpjet.size () >= 1 && jetderiveddatautilities::selectCollision (collisionspermcpjet.begin (), eventSelectionBits)) {
945- fillMCPHistograms (jet);
941+ fillMCPHistograms (jet, 1 ., mcCollision. begin (). ptHard () );
946942 }
947943 } else {
948- fillMCPHistograms (jet);
944+ fillMCPHistograms (jet, 1 ., mcCollision. begin (). ptHard () );
949945 }
950946 }
951947 PROCESS_SWITCH (JetFinderQATask, processJetsMCP, " jet finder QA mcp" , false );
@@ -960,25 +956,25 @@ struct JetFinderQATask {
960956 }
961957 auto mcCollision = mcCollisions.sliceBy (McCollisionsPerMCPCollision, jet.mcCollisionId ());
962958 if (mcCollision.size () == 1 ) {
963- double pTHat = 10 . / (std::pow (mcCollision.begin ().weight (), 1.0 / pTHatExponent));
964959 for (int N = 1 ; N < 21 ; N++) {
965- if (jet.pt () < N * 0.25 * pTHat && jet.r () == round (selectedJetsRadius * 100 .0f )) {
960+ if (jet.pt () < N * 0.25 * mcCollision. begin (). ptHard () && jet.r () == round (selectedJetsRadius * 100 .0f )) {
966961 registry.fill (HIST (" h_jet_ptcut_part" ), jet.pt (), N * 0.25 , mcCollision.begin ().weight ());
967962 }
968963 }
969964 if (checkMcCollisionIsMatched) {
970965 auto collisionspermcpjet = collisions.sliceBy (CollisionsPerMCPCollision, jet.mcCollisionId ());
971966 if (collisionspermcpjet.size () >= 1 && jetderiveddatautilities::selectCollision (collisionspermcpjet.begin (), eventSelectionBits) && !collisionspermcpjet.begin ().isOutlier ()) {
972- fillMCPHistograms (jet, mcCollision.begin ().weight ());
967+ fillMCPHistograms (jet, mcCollision.begin ().weight (), mcCollision. begin (). ptHard () );
973968 }
974969 } else {
975- fillMCPHistograms (jet, mcCollision.begin ().weight ());
970+ fillMCPHistograms (jet, mcCollision.begin ().weight (), mcCollision. begin (). ptHard () );
976971 }
977972 }
978973 }
979974 PROCESS_SWITCH (JetFinderQATask, processJetsMCPWeighted, " jet finder QA mcp with weighted events" , false );
980975
981- void processJetsMCPMCDMatched (soa::Filtered<aod::JetCollisions>::iterator const & collision,
976+ void processJetsMCPMCDMatched (soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>>::iterator const & collision,
977+ aod::JetMcCollisions const &,
982978 soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets> const & mcdjets,
983979 soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets> const &,
984980 aod::JetTracks const &, aod::JetParticles const &)
@@ -999,12 +995,13 @@ struct JetFinderQATask {
999995 leadingTrackPtBase = constituent.pt ();
1000996 }
1001997 }
1002- fillMatchedHistograms<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>::iterator, soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>>(mcdjet, leadingTrackPtBase);
998+ fillMatchedHistograms<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>::iterator, soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>>(mcdjet, leadingTrackPtBase, 1 ., collision. mcCollision (). ptHard () );
1003999 }
10041000 }
10051001 PROCESS_SWITCH (JetFinderQATask, processJetsMCPMCDMatched, " jet finder QA matched mcp and mcd" , false );
10061002
1007- void processJetsMCPMCDMatchedWeighted (soa::Filtered<soa::Join<aod::JetCollisions, aod::JCollisionOutliers>>::iterator const & collision,
1003+ void processJetsMCPMCDMatchedWeighted (soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs, aod::JCollisionOutliers>>::iterator const & collision,
1004+ aod::JetMcCollisions const &,
10081005 soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets> const & mcdjets,
10091006 soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets> const &,
10101007 aod::JetTracks const &, aod::JetParticles const &)
@@ -1028,7 +1025,7 @@ struct JetFinderQATask {
10281025 leadingTrackPtBase = constituent.pt ();
10291026 }
10301027 }
1031- fillMatchedHistograms<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>::iterator, soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>>(mcdjet, leadingTrackPtBase, collision.weight ());
1028+ fillMatchedHistograms<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>::iterator, soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>>(mcdjet, leadingTrackPtBase, collision.weight (), collision. mcCollision (). ptHard () );
10321029 }
10331030 }
10341031 PROCESS_SWITCH (JetFinderQATask, processJetsMCPMCDMatchedWeighted, " jet finder QA matched mcp and mcd with weighted events" , false );
@@ -1176,7 +1173,8 @@ struct JetFinderQATask {
11761173 }
11771174 PROCESS_SWITCH (JetFinderQATask, processTriggeredData, " QA for charged jet trigger" , false );
11781175
1179- void processTracks (soa::Filtered<aod::JetCollisions>::iterator const & collision,
1176+ void processTracks (soa::Filtered<soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>>::iterator const & collision,
1177+ aod::JetMcCollisions const &,
11801178 soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras>> const & tracks)
11811179 {
11821180 if (skipMBGapEvents && collision.subGeneratorId () == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
@@ -1194,7 +1192,7 @@ struct JetFinderQATask {
11941192 }
11951193 registry.fill (HIST (" h_collisions" ), 2.5 );
11961194 registry.fill (HIST (" h2_centrality_collisions" ), collision.centFT0M (), 2.5 );
1197- fillTrackHistograms (collision, tracks);
1195+ fillTrackHistograms (collision, tracks, 1 ., collision. mcCollision (). ptHard () );
11981196 }
11991197 PROCESS_SWITCH (JetFinderQATask, processTracks, " QA for charged tracks" , false );
12001198
@@ -1223,7 +1221,7 @@ struct JetFinderQATask {
12231221 }
12241222 registry.fill (HIST (" h_collisions" ), 3.5 );
12251223 registry.fill (HIST (" h_collisions_weighted" ), 3.5 , eventWeight);
1226- fillTrackHistograms (collision, tracks, eventWeight);
1224+ fillTrackHistograms (collision, tracks, eventWeight, collision. mcCollision (). ptHard () );
12271225 }
12281226 PROCESS_SWITCH (JetFinderQATask, processTracksWeighted, " QA for charged tracks weighted" , false );
12291227
0 commit comments