Skip to content

Commit a9d63e3

Browse files
authored
[PWGJE] Adding track level outlier cut (#11449)
1 parent f240b3d commit a9d63e3

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

PWGJE/Tasks/jetHadronRecoil.cxx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ struct JetHadronRecoil {
7171
Configurable<float> pTHatExponent{"pTHatExponent", 4.0, "exponent of the event weight for the calculation of pTHat"};
7272
Configurable<float> pTHatMaxMCD{"pTHatMaxMCD", 999.0, "maximum fraction of hard scattering for jet acceptance in detector MC"};
7373
Configurable<float> pTHatMaxMCP{"pTHatMaxMCP", 999.0, "maximum fraction of hard scattering for jet acceptance in particle MC"};
74+
Configurable<float> pTHatTrackMaxMCD{"pTHatTrackMaxMCD", 999.0, "maximum fraction of hard scattering for track acceptance in detector MC"};
75+
Configurable<float> pTHatTrackMaxMCP{"pTHatTrackMaxMCP", 999.0, "maximum fraction of hard scattering for track acceptance in particle MC"};
7476
Configurable<float> rhoReferenceShift{"rhoReferenceShift", 0.0, "shift in rho calculated in reference events for consistency with signal events"};
7577
Configurable<std::string> triggerMasks{"triggerMasks", "", "possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL"};
7678
Configurable<bool> skipMBGapEvents{"skipMBGapEvents", false, "flag to choose to reject min. bias gap events; jet-level rejection applied at the jet finder level, here rejection is applied for collision and track process functions"};
@@ -122,6 +124,7 @@ struct JetHadronRecoil {
122124
{"hPtTrack", "Track p_{T};p_{T};entries", {HistType::kTH1F, {{200, 0, 200}}}},
123125
{"hEtaTrack", "Track #eta;#eta;entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
124126
{"hPhiTrack", "Track #phi;#phi;entries", {HistType::kTH1F, {{100, 0.0, o2::constants::math::TwoPI}}}},
127+
{"hTrack3D", "3D tracks histogram;p_{T};#eta;#phi", {HistType::kTH3F, {{200, 0, 200}, {100, -1.0, 1.0}, {100, 0.0, o2::constants::math::TwoPI}}}},
125128
{"hPtTrackPtHard", "Track p_{T} vs #hat{p};p_{T};#frac{p_{T}}{#hat{p}}", {HistType::kTH2F, {{200, 0, 200}, {20, 0, 5}}}},
126129
{"hConstituents3D", "3D constituents histogram;p_{T};#eta;#phi", {HistType::kTH3F, {{200, 0, 200}, {100, -1.0, 1.0}, {100, 0.0, o2::constants::math::TwoPI}}}},
127130
{"hReferencePtDPhi", "jet p_{T} vs DPhi;#Delta#phi;p_{T,jet}", {HistType::kTH2F, {{100, 0, o2::constants::math::TwoPI}, {500, -100, 400}}}},
@@ -219,6 +222,9 @@ struct JetHadronRecoil {
219222
if (!jetderiveddatautilities::selectTrack(track, trackSelection)) {
220223
continue;
221224
}
225+
if (track.pt() > pTHatTrackMaxMCD * pTHat) {
226+
return;
227+
}
222228
if (isSigCol && track.pt() < ptTTsigMax && track.pt() > ptTTsigMin) {
223229
phiTTAr.push_back(track.phi());
224230
ptTTAr.push_back(track.pt());
@@ -234,7 +240,8 @@ struct JetHadronRecoil {
234240
registry.fill(HIST("hPtTrack"), track.pt(), weight);
235241
registry.fill(HIST("hEtaTrack"), track.eta(), weight);
236242
registry.fill(HIST("hPhiTrack"), track.phi(), weight);
237-
registry.fill(HIST("hPtTrackPtHard"), track.pt(), track.pt() / pTHat);
243+
registry.fill(HIST("hTrack3D"), track.pt(), track.eta(), track.phi(), weight);
244+
registry.fill(HIST("hPtTrackPtHard"), track.pt(), track.pt() / pTHat, weight);
238245
}
239246

240247
if (nTT > 0) {
@@ -260,7 +267,7 @@ struct JetHadronRecoil {
260267

261268
for (const auto& jet : jets) {
262269
if (jet.pt() > pTHatMaxMCD * pTHat) {
263-
continue;
270+
return;
264271
}
265272
for (const auto& constituent : jet.template tracks_as<U>()) {
266273
if (constituent.pt() > leadingPT) {
@@ -335,6 +342,9 @@ struct JetHadronRecoil {
335342
isSigCol = false;
336343

337344
for (const auto& particle : particles) {
345+
if (particle.pt() > pTHatTrackMaxMCD * pTHat) {
346+
return;
347+
}
338348
auto pdgParticle = pdg->GetParticle(particle.pdgCode());
339349
if (!pdgParticle) {
340350
continue;
@@ -370,7 +380,7 @@ struct JetHadronRecoil {
370380

371381
for (const auto& jet : jets) {
372382
if (jet.pt() > pTHatMaxMCP * pTHat) {
373-
continue;
383+
return;
374384
}
375385
for (const auto& constituent : jet.template tracks_as<U>()) {
376386
registry.fill(HIST("hConstituents3D"), constituent.pt(), constituent.eta(), constituent.phi());

0 commit comments

Comments
 (0)