Skip to content

Commit ce44738

Browse files
[PWGJE] Change the method for measuring energy loss outside the jet (#12326)
1 parent 0e35491 commit ce44738

File tree

1 file changed

+57
-9
lines changed

1 file changed

+57
-9
lines changed

PWGJE/Tasks/jetShape.cxx

Lines changed: 57 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,19 @@ struct JetShapeTask {
4343
Configurable<int> nBinsNSigma{"nBinsNSigma", 101, "Number of nsigma bins"};
4444
Configurable<float> nSigmaMin{"nSigmaMin", -10.1f, "Min value of nsigma"};
4545
Configurable<float> nSigmaMax{"nSigmaMax", 10.1f, "Max value of nsigma"};
46-
Configurable<int> nBinsP{"nBinsP", 700, "Number of p bins"};
47-
Configurable<int> nBinsPt{"nBinsPt", 500, "Number of pT bins"};
46+
Configurable<int> nBinsPForDedx{"nBinsPForDedx", 700, "Number of p bins"};
47+
Configurable<int> nBinsPForBeta{"nBinsPForBeta", 500, "Number of pT bins"};
4848
Configurable<int> nBinsTpcDedx{"nBinsTpcDedx", 500, "Number of DEdx bins"};
4949
Configurable<int> nBinsTofBeta{"nBinsTofBeta", 350, "Number of Beta bins"};
5050
Configurable<float> pMax{"pMax", 7.0f, "Max value of p"};
5151
Configurable<float> ptMax{"ptMax", 5.0f, "Max value of pT"};
5252
Configurable<int> nBinsDistance{"nBinsDistance", 7, "Number of distance bins"};
5353
Configurable<float> distanceMax{"distanceMax", 0.7f, "Max value of distance"};
5454
Configurable<float> nSigmaTofCut{"nSigmaTofCut", 2.0f, "Number of sigma cut for TOF PID"};
55+
Configurable<float> tpcNSigmaPrMin{"tpcNSigmaPrMin", -3.5f, "Min value of tpcNsigmaProton"};
56+
Configurable<float> tpcNSigmaPrMax{"tpcNSigmaPrMax", 0.5f, "Max value of tpcNsigmaProton"};
57+
Configurable<float> tpcNSigmaPiMin{"tpcNSigmaPiMin", -0.5f, "Min value of tpcNsigmaPion"};
58+
Configurable<float> tpcNSigmaPiMax{"tpcNSigmaPiMax", 3.5f, "Max value of tpcNsigmaPion"};
5559

5660
HistogramRegistry registry{"registry",
5761
{{"tpcTofPi", "tpcTofPi", {HistType::kTHnSparseD, {{35, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsDistance, 0, distanceMax}}}},
@@ -60,11 +64,20 @@ struct JetShapeTask {
6064
{"tofPi", "tofPi", {HistType::kTH2F, {{50, 0, ptMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
6165
{"tpcPr", "tpcPr", {HistType::kTH2F, {{70, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
6266
{"tofPr", "tofPr", {HistType::kTH2F, {{50, 0, ptMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
63-
{"tpcDedx", "tpcDedx", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsTpcDedx, 0, 1000}, {nBinsDistance, 0, distanceMax}}}},
64-
{"tofBeta", "tofBeta", {HistType::kTHnSparseD, {{nBinsPt, 0, ptMax}, {nBinsTofBeta, 0.4, 1.1}, {nBinsDistance, 0, distanceMax}}}},
67+
{"tpcDedx", "tpcDedx", {HistType::kTHnSparseD, {{nBinsPForDedx, 0, pMax}, {nBinsTpcDedx, 0, 1000}, {nBinsDistance, 0, distanceMax}}}},
68+
{"tpcDedxOutOfJet", "tpcDedxOutOfJet", {HistType::kTH2F, {{nBinsPForDedx, 0, pMax}, {nBinsTpcDedx, 0, 1000}}}},
69+
{"tofBeta", "tofBeta", {HistType::kTHnSparseD, {{nBinsPForBeta, 0, pMax}, {nBinsTofBeta, 0.4, 1.1}, {nBinsDistance, 0, distanceMax}}}},
6570
{"pVsPtForProton", "pVsPtForProton", {HistType::kTHnSparseD, {{70, 0, pMax}, {50, 0, ptMax}, {nBinsDistance, 0, distanceMax}}}},
6671
{"pVsPtForPion", "pVsPtPion", {HistType::kTHnSparseD, {{70, 0, pMax}, {50, 0, ptMax}, {nBinsDistance, 0, distanceMax}}}},
6772
{"tofMass", "tofMass", {HistType::kTH1F, {{300, 0, 3}}}},
73+
{"trackPhi", "trackPhi", {HistType::kTH1F, {{80, -1, 7}}}},
74+
{"trackEta", "trackEta", {HistType::kTH1F, {{100, -1, 1}}}},
75+
{"trackTpcNClsCrossedRows", "trackTpcNClsCrossedRows", {HistType::kTH1F, {{50, 0, 200}}}},
76+
{"trackDcaXY", "trackDcaXY", {HistType::kTH1F, {{40, -10, 10}}}},
77+
{"trackItsChi2NCl", "trackItsChi2NCl", {HistType::kTH1F, {{60, 0, 30}}}},
78+
{"trackTpcChi2NCl", "trackTpcChi2NCl", {HistType::kTH1F, {{100, 0, 50}}}},
79+
{"trackTpcNClsFound", "trackTpcNClsFound", {HistType::kTH1F, {{100, 0, 200}}}},
80+
{"trackItsNCls", "trackItsNCls", {HistType::kTH1F, {{10, 0, 10}}}},
6881
{"jetPt", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0., 200.}}}},
6982
{"jetEta", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
7083
{"jetPhi", "jet #phi;#phi_{jet};entries", {HistType::kTH1F, {{80, -1.0, 7.}}}},
@@ -179,6 +192,7 @@ struct JetShapeTask {
179192
float ptCorr = jet.pt() - collision.rho() * jet.area();
180193

181194
for (const auto& track : tracks) {
195+
182196
float preDeltaPhi1 = track.phi() - jet.phi();
183197
float deltaPhi1 = RecoDecay::constrainAngle(preDeltaPhi1);
184198
float deltaEta = track.eta() - jet.eta();
@@ -200,8 +214,8 @@ struct JetShapeTask {
200214
float preDeltaPhiBg1 = track.phi() - phiBg1;
201215
float preDeltaPhiBg2 = track.phi() - phiBg2;
202216

203-
float deltaPhiBg1 = RecoDecay::constrainAngle(preDeltaPhiBg1);
204-
float deltaPhiBg2 = RecoDecay::constrainAngle(preDeltaPhiBg2);
217+
float deltaPhiBg1 = RecoDecay::constrainAngle(preDeltaPhiBg1, -o2::constants::math::PI);
218+
float deltaPhiBg2 = RecoDecay::constrainAngle(preDeltaPhiBg2, -o2::constants::math::PI);
205219

206220
float distanceBg1 = std::sqrt(deltaEta * deltaEta + deltaPhiBg1 * deltaPhiBg1);
207221
float distanceBg2 = std::sqrt(deltaEta * deltaEta + deltaPhiBg2 * deltaPhiBg2);
@@ -257,6 +271,16 @@ struct JetShapeTask {
257271

258272
// tracks conditions
259273
for (const auto& track : tracks) {
274+
275+
registry.fill(HIST("trackTpcNClsCrossedRows"), track.tpcNClsCrossedRows());
276+
registry.fill(HIST("trackDcaXY"), track.dcaXY());
277+
registry.fill(HIST("trackItsChi2NCl"), track.itsChi2NCl());
278+
registry.fill(HIST("trackTpcChi2NCl"), track.tpcChi2NCl());
279+
registry.fill(HIST("trackTpcNClsFound"), track.tpcNClsFound());
280+
registry.fill(HIST("trackItsNCls"), track.itsNCls());
281+
registry.fill(HIST("trackEta"), track.eta());
282+
registry.fill(HIST("trackPhi"), track.phi());
283+
260284
if (std::abs(track.eta()) > etaTrUp)
261285
continue;
262286
if (track.tpcNClsCrossedRows() < nclcrossTpcMin)
@@ -289,18 +313,42 @@ struct JetShapeTask {
289313
// calculate distance from jet axis
290314
float distance = std::sqrt(deltaEta * deltaEta + deltaPhi1 * deltaPhi1);
291315

316+
// Define perpendicular cone axes in phi
317+
float phiBg1 = jet.phi() + (o2::constants::math::PIHalf);
318+
float phiBg2 = jet.phi() - (o2::constants::math::PIHalf);
319+
320+
// Calculate delta phi for background cones
321+
float preDeltaPhiBg1 = track.phi() - phiBg1;
322+
float preDeltaPhiBg2 = track.phi() - phiBg2;
323+
float deltaPhiBg1 = RecoDecay::constrainAngle(preDeltaPhiBg1, -o2::constants::math::PI);
324+
float deltaPhiBg2 = RecoDecay::constrainAngle(preDeltaPhiBg2, -o2::constants::math::PI);
325+
326+
// Calculate distance to background cone axes
327+
// Note: deltaEta is the same for all cones at the same eta
328+
float distanceBg1 = std::sqrt(deltaEta * deltaEta + deltaPhiBg1 * deltaPhiBg1);
329+
float distanceBg2 = std::sqrt(deltaEta * deltaEta + deltaPhiBg2 * deltaPhiBg2);
330+
331+
// Fill histogram if track is inside one of the perpendicular cones
332+
if (distanceBg1 < jetR || distanceBg2 < jetR) {
333+
registry.fill(HIST("tpcDedxOutOfJet"), track.p(), track.tpcSignal());
334+
}
335+
292336
registry.fill(HIST("distanceVsTrackpt"), distance, track.pt());
293337
registry.fill(HIST("tpcDedx"), track.p(), track.tpcSignal(), distance);
294-
registry.fill(HIST("tofBeta"), track.pt(), track.beta(), distance);
338+
registry.fill(HIST("tofBeta"), track.p(), track.beta(), distance);
295339

296340
if (std::abs(track.tofNSigmaPr()) < nSigmaTofCut) {
297-
registry.fill(HIST("pVsPtForProton"), track.p(), track.pt(), distance);
298341
registry.fill(HIST("tpcTofPr"), track.p(), track.tpcNSigmaPr(), distance);
342+
if (track.tpcNSigmaPr() > tpcNSigmaPrMin && track.tpcNSigmaPr() < tpcNSigmaPrMax) {
343+
registry.fill(HIST("pVsPtForProton"), track.p(), track.pt(), distance);
344+
}
299345
}
300346

301347
if (std::abs(track.tofNSigmaPi()) < nSigmaTofCut) {
302-
registry.fill(HIST("pVsPtForPion"), track.p(), track.pt(), distance);
303348
registry.fill(HIST("tpcTofPi"), track.p(), track.tpcNSigmaPi(), distance);
349+
if (track.tpcNSigmaPi() > tpcNSigmaPiMin && track.tpcNSigmaPi() < tpcNSigmaPiMax) {
350+
registry.fill(HIST("pVsPtForPion"), track.p(), track.pt(), distance);
351+
}
304352
}
305353
}
306354
}

0 commit comments

Comments
 (0)