Skip to content

Commit 3b833a2

Browse files
committed
PWGJE: Adding outlier cut QA
1 parent e8025b9 commit 3b833a2

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

PWGJE/Tasks/jetHadronRecoil.cxx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ struct JetHadronRecoil {
128128
{"hEtaTrack", "Track #eta;#eta;entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
129129
{"hPhiTrack", "Track #phi;#phi;entries", {HistType::kTH1F, {{100, 0.0, o2::constants::math::TwoPI}}}},
130130
{"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}}}},
131+
{"hTrackPtHard", "Tracks vs pThard;#frac{p_{T}}{#hat{p}};p_{T}", {HistType:kTH3F, {{20, 0, 5}, {200, 0, 200}}}},
132+
{"hPartPtHard", "Part vs pThard;#frac{p_{T}}{#hat{p}};p_{T}", {HistType:kTH3F, {{20, 0, 5}, {200, 0, 200}}}},
131133
{"hPtTrackPtHard", "Track p_{T} vs #hat{p};p_{T};#frac{p_{T}}{#hat{p}}", {HistType::kTH2F, {{200, 0, 200}, {20, 0, 5}}}},
132134
{"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}}}},
133135
{"hReferencePtDPhi", "jet p_{T} vs DPhi;#Delta#phi;p_{T,jet}", {HistType::kTH2F, {{100, 0, o2::constants::math::TwoPI}, {500, -100, 400}}}},
@@ -145,6 +147,8 @@ struct JetHadronRecoil {
145147
{"hJetEta", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
146148
{"hJetPhi", "jet #phi;#phi_{jet};entries", {HistType::kTH1F, {{100, 0.0, o2::constants::math::TwoPI}}}},
147149
{"hJet3D", "3D jet distribution;p_{T};#eta;#phi", {HistType::kTH3F, {{500, -100, 400}, {100, -1.0, 1.0}, {100, 0.0, o2::constants::math::TwoPI}}}},
150+
{"hTracksvsJets" "comparing leading tracks and jets;p_{T,track};p_{T,jet};#hat{p}", {HistType:kTH3F, {{200, 0, 200}, {500, -100, 400}, {195, 5, 200}}}},
151+
{"hPartvsJets" "comparing leading particles and jets;p_{T,part};p_{T,jet};#hat{p}", {HistType:kTH3F, {{200, 0, 200}, {500, -100, 400}, {195, 5, 200}}}},
148152
{"hPtPart", "Particle p_{T};p_{T};entries", {HistType::kTH1F, {{200, 0, 200}}}},
149153
{"hEtaPart", "Particle #eta;#eta;entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
150154
{"hPhiPart", "Particle #phi;#phi;entries", {HistType::kTH1F, {{100, 0.0, o2::constants::math::TwoPI}}}},
@@ -209,11 +213,16 @@ struct JetHadronRecoil {
209213
bool isSigCol;
210214
std::vector<double> phiTTAr;
211215
std::vector<double> ptTTAr;
216+
std::vector<double> tracksAr;
212217
double phiTT = 0;
213218
double ptTT = 0;
219+
double ptRandTrack = 0;
214220
int trigNumber = 0;
221+
int trackNumber = 0;
215222
int nTT = 0;
216223
double leadingPT = 0;
224+
double leadingTrackPt = 0;
225+
double leadingJetPt = 0;
217226
float pTHat = 10. / (std::pow(weight, 1.0 / pTHatExponent));
218227
float rhoReference = rho + rhoReferenceShift;
219228

@@ -227,6 +236,10 @@ struct JetHadronRecoil {
227236
if (!jetderiveddatautilities::selectTrack(track, trackSelection)) {
228237
continue;
229238
}
239+
tracksAr.push_back(track.pt());
240+
if (track.pt() > leadingTrackPt) {
241+
leadingTrackPt = track.pt();
242+
}
230243
if (track.pt() > pTHatTrackMaxMCD * pTHat) {
231244
return;
232245
}
@@ -249,6 +262,10 @@ struct JetHadronRecoil {
249262
registry.fill(HIST("hPtTrackPtHard"), track.pt(), track.pt() / pTHat, weight);
250263
}
251264

265+
trackNumber = rand->Integer(tracksAr.size());
266+
ptRandTrack = tracksAr[trackNumber];
267+
registry.fill(HIST("hTrackPtHard"), ptRandTrack / pTHat, ptRandTrack, weight);
268+
252269
if (nTT > 0) {
253270
trigNumber = rand->Integer(nTT);
254271
phiTT = phiTTAr[trigNumber];
@@ -271,6 +288,9 @@ struct JetHadronRecoil {
271288
}
272289

273290
for (const auto& jet : jets) {
291+
if (jet.pt() > leadingJetPt) {
292+
leadingJetPt = jet.pt();
293+
}
274294
if (jet.pt() > pTHatMaxMCD * pTHat) {
275295
return;
276296
}
@@ -328,6 +348,7 @@ struct JetHadronRecoil {
328348
}
329349
}
330350
}
351+
registry.fill(HIST("hTracksvsJets"), leadingTrackPt, leadingJetPt, pTHat, weight);
331352
}
332353

333354
template <typename T, typename W, typename U>
@@ -336,10 +357,15 @@ struct JetHadronRecoil {
336357
bool isSigCol;
337358
std::vector<double> phiTTAr;
338359
std::vector<double> ptTTAr;
360+
std::vector<double> partAr;
339361
double phiTT = 0;
340362
double ptTT = 0;
363+
double ptRandPart = 0;
341364
int trigNumber = 0;
365+
int partNumber = 0;
342366
int nTT = 0;
367+
double leadingPartPt = 0;
368+
double leadingJetPt = 0;
343369
float pTHat = 10. / (std::pow(weight, 1.0 / pTHatExponent));
344370

345371
float dice = rand->Rndm();
@@ -349,6 +375,10 @@ struct JetHadronRecoil {
349375
isSigCol = false;
350376

351377
for (const auto& particle : particles) {
378+
partAr.push_back(particle.pt());
379+
if (particle.pt() > leadingPartPt) {
380+
leadingPartPt = particle.pt();
381+
}
352382
if (particle.pt() > pTHatTrackMaxMCD * pTHat) {
353383
return;
354384
}
@@ -376,6 +406,10 @@ struct JetHadronRecoil {
376406
registry.fill(HIST("hPtPartPtHard"), particle.pt(), particle.pt() / pTHat, weight);
377407
}
378408

409+
partNumber = rand->Integer(partAr.size());
410+
ptRandPart = partAr[partNumber];
411+
registry.fill(HIST("hPartPtHard"), ptRandPart / pTHat, ptRandPart, weight);
412+
379413
if (nTT > 0) {
380414
trigNumber = rand->Integer(nTT);
381415
phiTT = phiTTAr[trigNumber];
@@ -393,6 +427,9 @@ struct JetHadronRecoil {
393427
}
394428

395429
for (const auto& jet : jets) {
430+
if (jet.pt() > leadingJetPt) {
431+
leadingJetPt = jet.pt();
432+
}
396433
if (jet.pt() > pTHatMaxMCP * pTHat) {
397434
return;
398435
}
@@ -436,6 +473,7 @@ struct JetHadronRecoil {
436473
}
437474
}
438475
}
476+
registry.fill(HIST("hPartvsJets"), leadingPartPt, leadingJetPt, pTHat, weight);
439477
}
440478

441479
template <typename T, typename V, typename W, typename U, typename X, typename Y>

0 commit comments

Comments
 (0)