Skip to content

Commit 059be8e

Browse files
committed
update secondary contamination inside jets
1 parent ca85f44 commit 059be8e

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

PWGJE/Tasks/jetTaggerHFQA.cxx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ struct JetTaggerHFQA {
166166
registry.add("h_impact_parameter_xyz_significance", "", {HistType::kTH1F, {{axisImpactParameterXYZSignificance}}});
167167
}
168168
}
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}}});
172+
}
169173
if (doprocessValFlavourDefMCD) {
170174
registry.add("h2_flavour_dist_quark_flavour_dist_hadron", "", {HistType::kTH2F, {{axisJetFlavour}, {axisJetFlavour}}});
171175
registry.add("h2_flavour_const_quark_flavour_const_hadron", "", {HistType::kTH2F, {{axisJetFlavour}, {axisJetFlavour}}});
@@ -1095,6 +1099,40 @@ struct JetTaggerHFQA {
10951099
}
10961100
PROCESS_SWITCH(JetTaggerHFQA, processTracksDca, "Fill inclusive tracks' imformation for data", false);
10971101

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*/)
1103+
{
1104+
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {
1105+
return;
1106+
}
1107+
for (auto const& mcdjet : mcdjets) {
1108+
if (!jetfindingutilities::isInEtaAcceptance(mcdjet, jetEtaMin, jetEtaMax, trackEtaMin, trackEtaMax)) {
1109+
continue;
1110+
}
1111+
if (!isAcceptedJet<aod::JetTracks>(mcdjet)) {
1112+
continue;
1113+
}
1114+
if (!mcdjet.has_matchedJetGeo()) {
1115+
continue;
1116+
}
1117+
float pTHat = 10. / (std::pow(mcdjet.eventWeight(), 1.0 / pTHatExponent));
1118+
if (mcdjet.pt() > pTHatMaxMCD * pTHat) {
1119+
continue;
1120+
}
1121+
int jetflavour = mcdjet.origin();
1122+
for (auto const& track : mcdjet.template tracks_as<JetTagTracksMCD>()) {
1123+
float varImpXY = track.dcaXY() * jettaggingutilities::cmTomum;
1124+
if (!track.has_mcParticle()) continue;
1125+
auto mcParticle = track.mcParticle();
1126+
if (mcParticle.isPhysicalPrimary()) {
1127+
registry.fill(HIST("h2_impact_parameter_xy_physical_primary_flavour"), varImpXY, jetflavour, mcdjet.eventWeight());
1128+
} else {
1129+
registry.fill(HIST("h2_impact_parameter_xy_secondary_flavour"), varImpXY, jetflavour, mcdjet.eventWeight());
1130+
}
1131+
}
1132+
}
1133+
}
1134+
PROCESS_SWITCH(JetTaggerHFQA, processSecondaryContamination, "Fill QA comtamination of secondary-track inside jets", false);
1135+
10981136
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)
10991137
{
11001138
if (collision.trackOccupancyInTimeRange() < trackOccupancyInTimeRangeMin || trackOccupancyInTimeRangeMax < collision.trackOccupancyInTimeRange()) {

0 commit comments

Comments
 (0)