Skip to content

Commit 8d53971

Browse files
[PWGJE] add new histgrams (#11940)
1 parent 7847e60 commit 8d53971

File tree

1 file changed

+38
-30
lines changed

1 file changed

+38
-30
lines changed

PWGJE/Tasks/jetShape.cxx

Lines changed: 38 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,24 @@ using namespace o2::framework;
3939
using namespace o2::framework::expressions;
4040

4141
struct JetShapeTask {
42+
43+
Configurable<int> nBinsTpcNSigma{"nBinsTpcNSigma", 101, "Number of TPC-nsigma bins"};
44+
Configurable<float> tpcNSigmaMin{"tpcNSigmaMin", -10.1f, "Min value of Tpc-nsigma"};
45+
Configurable<float> tpcNSigmaMax{"tpcNSigmaMax", 10.1f, "Max value of Tpc-nsigma"};
46+
Configurable<int> nBinsTofNSigma{"nBinsTofNSigma", 10, "Number of TOF-nsigma bins"};
47+
Configurable<float> tofNSigmaMin{"tofNSigmaMin", -10, "Min value of Tof-nsigma"};
48+
Configurable<float> tofNSigmaMax{"tofNSigmaMax", 10, "Max value of Tof-nsigma"};
49+
4250
HistogramRegistry registry{"registry",
43-
{{"tpcTofPi", "tpcTofPi", {HistType::kTHnSparseD, {{101, -10.1f, 10.1f}, {20, -10, 10}, {25, 0, 5}, {14, 0, 0.7}}}},
44-
{"tpcPi", "tpcPi", {HistType::kTH2F, {{100, 0, 5}, {401, -10.025f, 10.025f}}}},
45-
{"tofPi", "tofPi", {HistType::kTH2F, {{100, 0, 5}, {401, -10.025f, 10.025f}}}},
46-
{"tpcTofPr", "tpcTofPr", {HistType::kTHnSparseD, {{101, -10.1f, 10.1f}, {20, -10, 10}, {25, 0, 5}, {14, 0, 0.7}}}},
47-
{"tpcPr", "tpcPr", {HistType::kTH2F, {{100, 0, 5}, {401, -10.025f, 10.025f}}}},
48-
{"tofPr", "tofPr", {HistType::kTH2F, {{100, 0, 5}, {401, -10.025f, 10.025f}}}},
49-
{"tpcDedx", "tpcDedx", {HistType::kTH2F, {{500, 0, 5}, {1000, 0, 1000}}}},
50-
{"tofBeta", "tofBeta", {HistType::kTH2F, {{500, 0, 5}, {450, 0.2, 1.1}}}},
51-
{"tofMass", "tofMass", {HistType::kTH1F, {{3000, 0, 3}}}},
51+
{{"tpcTofPi", "tpcTofPi", {HistType::kTHnSparseD, {{nBinsTpcNSigma, tpcNSigmaMin, tpcNSigmaMax}, {nBinsTofNSigma, tofNSigmaMin, tofNSigmaMax}, {25, 0, 5}, {14, 0, 0.7}}}},
52+
{"tpcPi", "tpcPi", {HistType::kTH2F, {{100, 0, 5}, {101, -10.1f, 10.1f}}}},
53+
{"tofPi", "tofPi", {HistType::kTH2F, {{100, 0, 5}, {101, -10.1f, 10.1f}}}},
54+
{"tpcTofPr", "tpcTofPr", {HistType::kTHnSparseD, {{nBinsTpcNSigma, tpcNSigmaMin, tpcNSigmaMax}, {nBinsTofNSigma, tofNSigmaMin, tofNSigmaMax}, {25, 0, 5}, {14, 0, 0.7}}}},
55+
{"tpcPr", "tpcPr", {HistType::kTH2F, {{50, 0, 5}, {101, -10.1f, 10.1f}}}},
56+
{"tofPr", "tofPr", {HistType::kTH2F, {{50, 0, 5}, {101, -10.1f, 10.1f}}}},
57+
{"tpcDedx", "tpcDedx", {HistType::kTHnSparseD, {{100, 0, 5}, {500, 0, 1000}, {7, 0, 0.7}}}},
58+
{"tofBeta", "tofBeta", {HistType::kTHnSparseD, {{100, 0, 5}, {350, 0.4, 1.1}, {7, 0, 0.7}}}},
59+
{"tofMass", "tofMass", {HistType::kTH1F, {{300, 0, 3}}}},
5260
{"jetPt", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0., 200.}}}},
5361
{"jetEta", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
5462
{"jetPhi", "jet #phi;#phi_{jet};entries", {HistType::kTH1F, {{80, -1.0, 7.}}}},
@@ -150,21 +158,18 @@ struct JetShapeTask {
150158
void processJetShape(soa::Filtered<soa::Join<aod::JetCollisions, aod::BkgChargedRhos>>::iterator const& collision, aod::JetTracks const& tracks, soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const& jets)
151159
{
152160

161+
std::vector<float> ptDensity(distanceCategory->size() - 1, 0.f);
162+
std::vector<float> ptDensityBg1(distanceCategory->size() - 1, 0.f);
163+
std::vector<float> ptDensityBg2(distanceCategory->size() - 1, 0.f);
164+
153165
for (auto const& jet : jets) {
154166
if (!isAcceptedJet<aod::JetTracks>(jet)) {
155167
continue;
156168
}
157169

158-
std::vector<float> trackPtSum(distanceCategory->size() - 1, 0.f);
159-
std::vector<float> trackPtSumBg1(distanceCategory->size() - 1, 0.f);
160-
std::vector<float> trackPtSumBg2(distanceCategory->size() - 1, 0.f);
161-
162170
// Get underlying event subtracted jet.pt() as ptCorr
163171
float ptCorr = jet.pt() - collision.rho() * jet.area();
164172

165-
float phiBg1 = jet.phi() + (o2::constants::math::PIHalf);
166-
float phiBg2 = jet.phi() - (o2::constants::math::PIHalf);
167-
168173
for (const auto& track : tracks) {
169174
float preDeltaPhi1 = track.phi() - jet.phi();
170175
float deltaPhi1 = RecoDecay::constrainAngle(preDeltaPhi1);
@@ -177,13 +182,20 @@ struct JetShapeTask {
177182
registry.fill(HIST("ptVsCentrality"), collision.centrality(), track.pt());
178183

179184
// calculate compornents of jetshapefunction rho(r)
185+
std::vector<float> trackPtSum(distanceCategory->size() - 1, 0.f);
186+
std::vector<float> trackPtSumBg1(distanceCategory->size() - 1, 0.f);
187+
std::vector<float> trackPtSumBg2(distanceCategory->size() - 1, 0.f);
180188

181-
float preDeltaPhiBg1 = track.phi() - phiBg1;
182-
float deltaPhiBg1 = RecoDecay::constrainAngle(preDeltaPhiBg1);
183-
float distanceBg1 = std::sqrt(deltaEta * deltaEta + deltaPhiBg1 * deltaPhiBg1);
189+
float phiBg1 = jet.phi() + (o2::constants::math::PIHalf);
190+
float phiBg2 = jet.phi() - (o2::constants::math::PIHalf);
184191

192+
float preDeltaPhiBg1 = track.phi() - phiBg1;
185193
float preDeltaPhiBg2 = track.phi() - phiBg2;
194+
195+
float deltaPhiBg1 = RecoDecay::constrainAngle(preDeltaPhiBg1);
186196
float deltaPhiBg2 = RecoDecay::constrainAngle(preDeltaPhiBg2);
197+
198+
float distanceBg1 = std::sqrt(deltaEta * deltaEta + deltaPhiBg1 * deltaPhiBg1);
187199
float distanceBg2 = std::sqrt(deltaEta * deltaEta + deltaPhiBg2 * deltaPhiBg2);
188200

189201
for (size_t i = 0; i < distanceCategory->size() - 1; i++) {
@@ -194,16 +206,12 @@ struct JetShapeTask {
194206
if (distanceCategory->at(i) <= distanceBg2 && distanceBg2 < distanceCategory->at(i + 1))
195207
trackPtSumBg2[i] += track.pt();
196208
}
197-
}
198209

199-
std::vector<float> ptDensity(distanceCategory->size() - 1, 0.f);
200-
std::vector<float> ptDensityBg1(distanceCategory->size() - 1, 0.f);
201-
std::vector<float> ptDensityBg2(distanceCategory->size() - 1, 0.f);
202-
203-
for (size_t i = 0; i < distanceCategory->size() - 1; i++) {
204-
ptDensity[i] += trackPtSum[i] / ((distanceCategory->at(i + 1) - distanceCategory->at(i)) * ptCorr);
205-
ptDensityBg1[i] += trackPtSumBg1[i] / ((distanceCategory->at(i + 1) - distanceCategory->at(i)) * ptCorr);
206-
ptDensityBg2[i] += trackPtSumBg2[i] / ((distanceCategory->at(i + 1) - distanceCategory->at(i)) * ptCorr);
210+
for (size_t i = 0; i < distanceCategory->size() - 1; i++) {
211+
ptDensity[i] += trackPtSum[i] / ((distanceCategory->at(i + 1) - distanceCategory->at(i)) * ptCorr);
212+
ptDensityBg1[i] += trackPtSumBg1[i] / ((distanceCategory->at(i + 1) - distanceCategory->at(i)) * ptCorr);
213+
ptDensityBg2[i] += trackPtSumBg2[i] / ((distanceCategory->at(i + 1) - distanceCategory->at(i)) * ptCorr);
214+
}
207215
}
208216

209217
registry.fill(HIST("jetPt"), jet.pt());
@@ -257,8 +265,6 @@ struct JetShapeTask {
257265
continue;
258266

259267
// PID check
260-
registry.fill(HIST("tpcDedx"), track.pt(), track.tpcSignal());
261-
registry.fill(HIST("tofBeta"), track.pt(), track.beta());
262268
registry.fill(HIST("tofMass"), track.mass());
263269

264270
// for calculate purity
@@ -276,6 +282,8 @@ struct JetShapeTask {
276282
float distance = std::sqrt(deltaEta * deltaEta + deltaPhi1 * deltaPhi1);
277283

278284
registry.fill(HIST("distanceVsTrackpt"), distance, track.pt());
285+
registry.fill(HIST("tpcDedx"), track.pt(), track.tpcSignal(), distance);
286+
registry.fill(HIST("tofBeta"), track.pt(), track.beta(), distance);
279287
registry.fill(HIST("tpcTofPi"), track.tpcNSigmaPi(), track.tofNSigmaPi(), track.pt(), distance);
280288
registry.fill(HIST("tpcTofPr"), track.tpcNSigmaPr(), track.tofNSigmaPr(), track.pt(), distance);
281289
}

0 commit comments

Comments
 (0)