@@ -151,6 +151,7 @@ struct JetTaggerHFQA {
151151 AxisSpec axisMass = {binMass, " #it{m}_{SV}" };
152152 AxisSpec axisSigmaLxy = {binSigmaLxy, " #sigma_{L_{XY}} [cm]" };
153153 AxisSpec axisSigmaLxyz = {binSigmaLxyz, " #sigma_{L_{XYZ}} [cm]" };
154+ AxisSpec axisFracSecPt = {100 , 0 , 1 , " #frac{#Sigma#it{p}_{T}^{secondary track}}{#it{p}_{T, jet}}" };
154155
155156 if (doprocessTracksDca) {
156157 if (fillIPxy) {
@@ -166,9 +167,13 @@ struct JetTaggerHFQA {
166167 registry.add (" h_impact_parameter_xyz_significance" , " " , {HistType::kTH1F , {{axisImpactParameterXYZSignificance}}});
167168 }
168169 }
169- if (doprocessSecondaryContamination) {
170- registry.add (" h2_impact_parameter_xy_physical_primary_flavour" , " " , {HistType::kTH2F , {{axisImpactParameterXY}, {axisJetFlavour}}});
171- registry.add (" h2_impact_parameter_xy_secondary_flavour" , " " , {HistType::kTH2F , {{axisImpactParameterXY}, {axisJetFlavour}}});
170+ if (doprocessTracksInJetsData) {
171+ registry.add (" h3_track_pt_impact_parameter_xy" , " " , {HistType::kTH3F , {{axisJetPt}, {axisTrackPt}, {axisImpactParameterXY}}});
172+ }
173+ if (doprocessSecondaryContaminationMCD) {
174+ registry.add (" hn_jet_pt_track_pt_impact_parameter_xy_physical_primary_flavour" , " " , {HistType::kTHnSparseF , {{axisJetPt}, {axisTrackPt}, {axisImpactParameterXY}, {axisJetFlavour}}});
175+ registry.add (" hn_jet_pt_track_pt_impact_parameter_xy_secondary_flavour" , " " , {HistType::kTHnSparseF , {{axisJetPt}, {axisTrackPt}, {axisImpactParameterXY}, {axisJetFlavour}}});
176+ registry.add (" h3_jet_pt_frac_secondary_pt_per_jet_flavour" , " " , {HistType::kTH3F , {{axisJetPt}, {axisFracSecPt}, {axisJetFlavour}}});
172177 }
173178 if (doprocessValFlavourDefMCD) {
174179 registry.add (" h2_flavour_dist_quark_flavour_dist_hadron" , " " , {HistType::kTH2F , {{axisJetFlavour}, {axisJetFlavour}}});
@@ -1099,7 +1104,27 @@ struct JetTaggerHFQA {
10991104 }
11001105 PROCESS_SWITCH (JetTaggerHFQA, processTracksDca, " Fill inclusive tracks' imformation for data" , false );
11011106
1102- void processSecondaryContamination (soa::Filtered<soa::Join<aod::JetCollisions, aod::JCollisionPIs, aod::JMcCollisionLbs>>::iterator const & collision, soa::Join<JetTableMCD, TagTableMCD, JetTableMCDMCP, weightMCD> const & mcdjets, soa::Join<JetTableMCP, JetTableMCPMCD> const & /* mcpjets*/ , JetTagTracksMCD const & tracks, aod::JetParticles const & /* particles*/ )
1107+ void processTracksInJetsData (soa::Filtered<aod::JetCollisions>::iterator const & collision, soa::Join<JetTableData, TagTableData> const & jets)
1108+ {
1109+ if (collision.trackOccupancyInTimeRange () < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange ()) {
1110+ return ;
1111+ }
1112+ for (auto const & jet : jets) {
1113+ if (!jetfindingutilities::isInEtaAcceptance (jet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) {
1114+ continue ;
1115+ }
1116+ if (!isAcceptedJet<aod::JetTracks>(jet)) {
1117+ continue ;
1118+ }
1119+ for (auto const & track : jet.template tracks_as <JetTagTracksMCD>()) {
1120+ float varImpXY = track.dcaXY () * jettaggingutilities::cmTomum;
1121+ registry.fill (HIST (" h2_track_pt_impact_parameter_xy" ), track.pt (), varImpXY);
1122+ }
1123+ }
1124+ }
1125+ PROCESS_SWITCH (JetTaggerHFQA, processTracksInJetsData, " Fill QA comtamination of secondary-track inside jets for data jets" , false );
1126+
1127+ void processSecondaryContaminationMCD (soa::Filtered<soa::Join<aod::JetCollisions, aod::JCollisionPIs, aod::JMcCollisionLbs>>::iterator const & collision, soa::Join<JetTableMCD, TagTableMCD, weightMCD> const & mcdjets, JetTagTracksMCD const & /* tracks*/ , aod::JetParticles const & /* particles*/ )
11031128 {
11041129 if (collision.trackOccupancyInTimeRange () < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange ()) {
11051130 return ;
@@ -1111,27 +1136,32 @@ struct JetTaggerHFQA {
11111136 if (!isAcceptedJet<aod::JetTracks>(mcdjet)) {
11121137 continue ;
11131138 }
1114- if (!mcdjet.has_matchedJetGeo ()) {
1115- continue ;
1116- }
11171139 float pTHat = 10 . / (std::pow (mcdjet.eventWeight (), 1.0 / pTHatExponent));
11181140 if (mcdjet.pt () > pTHatMaxMCD * pTHat) {
11191141 continue ;
11201142 }
11211143 int jetflavour = mcdjet.origin ();
1144+ float secondaryPt = 0 ;
1145+ float totalJetPt = 0 ;
11221146 for (auto const & track : mcdjet.template tracks_as <JetTagTracksMCD>()) {
11231147 float varImpXY = track.dcaXY () * jettaggingutilities::cmTomum;
11241148 if (!track.has_mcParticle ()) continue ;
11251149 auto mcParticle = track.mcParticle ();
1150+ totalJetPt += track.pt ();
11261151 if (mcParticle.isPhysicalPrimary ()) {
1127- registry.fill (HIST (" h2_impact_parameter_xy_physical_primary_flavour " ), varImpXY, jetflavour, mcdjet.eventWeight ());
1152+ registry.fill (HIST (" hn_jet_pt_track_pt_impact_parameter_xy_physical_primary_flavour " ), mcdjet. pt (), track. pt ( ), varImpXY, jetflavour, mcdjet.eventWeight ());
11281153 } else {
1129- registry.fill (HIST (" h2_impact_parameter_xy_secondary_flavour" ), varImpXY, jetflavour, mcdjet.eventWeight ());
1154+ registry.fill (HIST (" hn_jet_pt_track_pt_impact_parameter_xy_secondary_flavour" ), mcdjet.pt (), track.pt (), varImpXY, jetflavour, mcdjet.eventWeight ());
1155+ secondaryPt += track.pt ();
11301156 }
11311157 }
1158+ if (totalJetPt > 0 ) {
1159+ float fracSecondary = secondaryPt / totalJetPt;
1160+ registry.fill (HIST (" h3_jet_pt_frac_secondary_pt_per_jet_flavour" ), mcdjet.pt (), fracSecondary, jetflavour, mcdjet.eventWeight ());
1161+ }
11321162 }
11331163 }
1134- PROCESS_SWITCH (JetTaggerHFQA, processSecondaryContamination , " Fill QA comtamination of secondary-track inside jets" , false );
1164+ PROCESS_SWITCH (JetTaggerHFQA, processSecondaryContaminationMCD , " Fill QA comtamination of secondary-track inside jets for mcd jets" , false );
11351165
11361166 void processValFlavourDefMCD (soa::Filtered<soa::Join<aod::JCollisions, aod::JCollisionPIs, aod::JMcCollisionLbs>>::iterator const & collision, soa::Join<JetTableMCD, TagTableMCD, JetTableMCDMCP, weightMCD> const & mcdjets, soa::Join<JetTableMCP, JetTableMCPMCD> const & /* mcpjets*/ , JetTagTracksMCD const & tracks, aod::JetParticles const & particles)
11371167 {
0 commit comments