Skip to content

Commit 88c0056

Browse files
add new process to calculate inclusive p/pi ratio
1 parent f1b68af commit 88c0056

File tree

1 file changed

+93
-37
lines changed

1 file changed

+93
-37
lines changed

PWGJE/Tasks/jetShape.cxx

Lines changed: 93 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,16 @@ struct JetShapeTask {
5050
Configurable<int> nBinsPForBeta{"nBinsPForBeta", 500, "Number of pT bins"};
5151
Configurable<int> nBinsTpcDedx{"nBinsTpcDedx", 500, "Number of DEdx bins"};
5252
Configurable<int> nBinsTofBeta{"nBinsTofBeta", 350, "Number of Beta bins"};
53-
Configurable<float> pMax{"pMax", 7.0f, "Max value of p"};
54-
Configurable<float> ptMax{"ptMax", 5.0f, "Max value of pT"};
53+
Configurable<float> pMax{"pMax", 8.0f, "Max value of p"};
54+
Configurable<float> ptMax{"ptMax", 6.0f, "Max value of pT"};
5555
Configurable<float> jetPtMinForCut{"jetPtMinForCut", 0.0f, "Minimum value of jet pT cut"};
5656
Configurable<float> jetPtMaxForCut{"jetPtMaxForCut", 200.0f, "Maximum value of the jet pT cut"};
5757
Configurable<float> centralityMinForCut{"centralityMinForCut", 0.0f, "Minimum value of ce cut"};
5858
Configurable<float> centralityMaxForCut{"centralityMaxForCut", 100.0f, "Maximum value of the jet pT cut"};
59-
Configurable<int> nBinsP{"nBinsP", 70, "Number of p bins"};
60-
Configurable<int> nBinsPt{"nBinsPt", 50, "Number of pT bins"};
59+
Configurable<int> nBinsP{"nBinsP", 80, "Number of p bins"};
60+
Configurable<int> nBinsPt{"nBinsPt", 60, "Number of pT bins"};
6161
Configurable<int> nBinsJetPt{"nBinsJetPt", 10, "Number of jet pT bins"};
62+
Configurable<int> nBinsPForCut{"nBinsPForCut", 30, "Number of p track bins"};
6263
Configurable<int> nBinsCentrality{"nBinsCentrality", 20, "Number of centrality bins"};
6364
Configurable<int> nBinsDistance{"nBinsDistance", 7, "Number of distance bins"};
6465
Configurable<float> distanceMax{"distanceMax", 0.7f, "Max value of distance"};
@@ -69,21 +70,16 @@ struct JetShapeTask {
6970
Configurable<float> tpcNSigmaPiMax{"tpcNSigmaPiMax", 3.5f, "Max value of tpcNsigmaPion"};
7071

7172
HistogramRegistry registry{"registry",
72-
{{"tpcTofPi", "tpcTofPi", {HistType::kTHnSparseD, {{35, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
73-
{"tpcTofPr", "tpcTofPr", {HistType::kTHnSparseD, {{35, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
74-
{"tpcTofPiOutOfJet", "tpcTofPiOutOfJet", {HistType::kTHnSparseD, {{35, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
75-
{"tpcTofPrOutOfJet", "tpcTofPrOutOfJet", {HistType::kTHnSparseD, {{35, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
73+
{{"tpcTofPi", "tpcTofPi", {HistType::kTHnSparseD, {{nBinsPForCut, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
74+
{"tpcTofPr", "tpcTofPr", {HistType::kTHnSparseD, {{nBinsPForCut, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
7675
{"tpcPi", "tpcPi", {HistType::kTH2F, {{nBinsP, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
7776
{"tofPi", "tofPi", {HistType::kTH2F, {{nBinsPt, 0, ptMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
7877
{"tpcPr", "tpcPr", {HistType::kTH2F, {{nBinsP, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
7978
{"tofPr", "tofPr", {HistType::kTH2F, {{nBinsPt, 0, ptMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
80-
{"tpcDedx", "tpcDedx", {HistType::kTHnSparseD, {{nBinsPForDedx, 0, pMax}, {nBinsTpcDedx, 0, 1000}, {nBinsDistance, 0, distanceMax}}}},
81-
{"tpcDedxOutOfJet", "tpcDedxOutOfJet", {HistType::kTH2F, {{nBinsPForDedx, 0, pMax}, {nBinsTpcDedx, 0, 1000}}}},
79+
{"tpcDedx", "tpcDedx", {HistType::kTHnSparseD, {{nBinsPForDedx, 0, pMax}, {nBinsTpcDedx, 0, 1000}}}},
8280
{"tofBeta", "tofBeta", {HistType::kTH2F, {{nBinsPForBeta, 0, pMax}, {nBinsTofBeta, 0.4, 1.1}}}},
83-
{"pVsPtForPr", "pVsPtForPr", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
84-
{"pVsPtForPi", "pVsPtPi", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
85-
{"pVsPtForPrOutOfJet", "pVsPtForPrOutOfJet", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
86-
{"pVsPtForPiOutOfJet", "pVsPtPionOutOfJet", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
81+
{"pVsPtForPr", "pVsPtForPr", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
82+
{"pVsPtForPi", "pVsPtPi", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
8783
{"tofMass", "tofMass", {HistType::kTH1F, {{90, 0, 3}}}},
8884
{"trackPhi", "trackPhi", {HistType::kTH1F, {{80, -1, 7}}}},
8985
{"trackEta", "trackEta", {HistType::kTH1F, {{100, -1, 1}}}},
@@ -93,6 +89,21 @@ struct JetShapeTask {
9389
{"trackTpcChi2NCl", "trackTpcChi2NCl", {HistType::kTH1F, {{100, 0, 50}}}},
9490
{"trackTpcNClsFound", "trackTpcNClsFound", {HistType::kTH1F, {{100, 0, 200}}}},
9591
{"trackItsNCls", "trackItsNCls", {HistType::kTH1F, {{10, 0, 10}}}},
92+
{"jetTpcTofPi", "jetTpcTofPi", {HistType::kTHnSparseD, {{nBinsPForCut, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
93+
{"jetTpcTofPr", "jetTpcTofPr", {HistType::kTHnSparseD, {{nBinsPForCut, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
94+
{"jetTpcTofPiOutOfJet", "jetTpcTofPiOutOfJet", {HistType::kTHnSparseD, {{nBinsPForCut, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
95+
{"jetTpcTofPrOutOfJet", "jetTpcTofPrOutOfJet", {HistType::kTHnSparseD, {{nBinsPForCut, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
96+
{"jetTpcPi", "jetTpcPi", {HistType::kTH2F, {{nBinsP, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
97+
{"jetTofPi", "jetTofPi", {HistType::kTH2F, {{nBinsPt, 0, ptMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
98+
{"jetTpcPr", "jetTpcPr", {HistType::kTH2F, {{nBinsP, 0, pMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
99+
{"jetTofPr", "jetTofPr", {HistType::kTH2F, {{nBinsPt, 0, ptMax}, {nBinsNSigma, nSigmaMin, nSigmaMax}}}},
100+
{"jetTpcDedx", "jetTpcDedx", {HistType::kTHnSparseD, {{nBinsPForDedx, 0, pMax}, {nBinsTpcDedx, 0, 1000}, {nBinsDistance, 0, distanceMax}}}},
101+
{"tpcDedxOutOfJet", "tpcDedxOutOfJet", {HistType::kTH2F, {{nBinsPForDedx, 0, pMax}, {nBinsTpcDedx, 0, 1000}}}},
102+
{"jetTofBeta", "jetTofBeta", {HistType::kTH2F, {{nBinsPForBeta, 0, pMax}, {nBinsTofBeta, 0.4, 1.1}}}},
103+
{"jetpVsPtForPr", "jetpVsPtForPr", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
104+
{"jetpVsPtForPi", "jetpVsPtPi", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
105+
{"jetpVsPtForPrOutOfJet", "jetpVsPtForPrOutOfJet", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
106+
{"jetpVsPtForPiOutOfJet", "jetpVsPtPionOutOfJet", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
96107
{"jetPt", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0., 200.}}}},
97108
{"jetEta", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
98109
{"jetPhi", "jet #phi;#phi_{jet};entries", {HistType::kTH1F, {{80, -1.0, 7.}}}},
@@ -200,7 +211,8 @@ struct JetShapeTask {
200211
}
201212

202213
Filter jetCuts = aod::jet::pt > jetPtMin&& aod::jet::r == nround(jetR.node() * 100.0f);
203-
Filter collisionFilter = nabs(aod::jcollision::posZ) < vertexZCut;
214+
Filter jetCollisionFilter = nabs(aod::jcollision::posZ) < vertexZCut;
215+
Filter collisionFilter = nabs(aod::collision::posZ) < vertexZCut;
204216
Filter mcCollisionFilter = nabs(aod::jmccollision::posZ) < vertexZCut;
205217

206218
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)
@@ -281,7 +293,7 @@ struct JetShapeTask {
281293
}
282294
PROCESS_SWITCH(JetShapeTask, processJetShape, "JetShape", false);
283295

284-
void processProductionRatio(soa::Filtered<soa::Join<aod::JetCollisions, aod::BkgChargedRhos>>::iterator const& collision, soa::Join<aod::JetTracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta, aod::pidTOFmass> const& tracks, soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const& jets)
296+
void processJetProductionRatio(soa::Filtered<soa::Join<aod::JetCollisions, aod::BkgChargedRhos>>::iterator const& collision, soa::Join<aod::JetTracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta, aod::pidTOFmass> const& tracks, soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const& jets)
285297
{
286298
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
287299
return;
@@ -299,14 +311,6 @@ struct JetShapeTask {
299311

300312
// tracks conditions
301313
for (const auto& track : tracks) {
302-
registry.fill(HIST("trackTpcNClsCrossedRows"), track.tpcNClsCrossedRows());
303-
registry.fill(HIST("trackDcaXY"), track.dcaXY());
304-
registry.fill(HIST("trackItsChi2NCl"), track.itsChi2NCl());
305-
registry.fill(HIST("trackTpcChi2NCl"), track.tpcChi2NCl());
306-
registry.fill(HIST("trackTpcNClsFound"), track.tpcNClsFound());
307-
registry.fill(HIST("trackItsNCls"), track.itsNCls());
308-
registry.fill(HIST("trackEta"), track.eta());
309-
registry.fill(HIST("trackPhi"), track.phi());
310314

311315
if (std::abs(track.eta()) > etaTrUp)
312316
continue;
@@ -327,11 +331,10 @@ struct JetShapeTask {
327331
registry.fill(HIST("jetPhi"), jet.phi());
328332

329333
// PID check
330-
registry.fill(HIST("tofMass"), track.mass());
331-
registry.fill(HIST("tpcPi"), track.p(), track.tpcNSigmaPi());
332-
registry.fill(HIST("tofPi"), track.pt(), track.tofNSigmaPi());
333-
registry.fill(HIST("tpcPr"), track.p(), track.tpcNSigmaPr());
334-
registry.fill(HIST("tofPr"), track.pt(), track.tofNSigmaPr());
334+
registry.fill(HIST("jetTpcPi"), track.p(), track.tpcNSigmaPi());
335+
registry.fill(HIST("jetTofPi"), track.pt(), track.tofNSigmaPi());
336+
registry.fill(HIST("jetTpcPr"), track.p(), track.tpcNSigmaPr());
337+
registry.fill(HIST("jetTofPr"), track.pt(), track.tofNSigmaPr());
335338

336339
// for calculate distance
337340
float preDeltaPhi1 = track.phi() - jet.phi();
@@ -373,27 +376,80 @@ struct JetShapeTask {
373376
}
374377
}
375378

376-
registry.fill(HIST("distanceVsTrackpt"), distance, track.pt());
377-
registry.fill(HIST("tpcDedx"), track.p(), track.tpcSignal(), distance);
378-
registry.fill(HIST("tofBeta"), track.p(), track.beta());
379+
registry.fill(HIST("jetDistanceVsTrackpt"), distance, track.pt());
380+
registry.fill(HIST("jetTpcDedx"), track.p(), track.tpcSignal(), distance);
381+
registry.fill(HIST("jetTofBeta"), track.p(), track.beta());
379382

380383
if (std::abs(track.tofNSigmaPr()) < nSigmaTofCut) {
381-
registry.fill(HIST("tpcTofPr"), track.p(), track.tpcNSigmaPr(), distance, ptCorr, collision.centFT0M());
384+
registry.fill(HIST("jetTpcTofPr"), track.p(), track.tpcNSigmaPr(), distance, ptCorr, collision.centFT0M());
382385
if (track.tpcNSigmaPr() > tpcNSigmaPrMin && track.tpcNSigmaPr() < tpcNSigmaPrMax) {
383-
registry.fill(HIST("pVsPtForPr"), track.p(), track.pt(), distance, ptCorr, collision.centFT0M());
386+
registry.fill(HIST("jetpVsPtForPr"), track.p(), track.pt(), distance, ptCorr, collision.centFT0M());
384387
}
385388
}
386389

387390
if (std::abs(track.tofNSigmaPi()) < nSigmaTofCut) {
388-
registry.fill(HIST("tpcTofPi"), track.p(), track.tpcNSigmaPi(), distance, ptCorr, collision.centFT0M());
391+
registry.fill(HIST("jetTpcTofPi"), track.p(), track.tpcNSigmaPi(), distance, ptCorr, collision.centFT0M());
389392
if (track.tpcNSigmaPi() > tpcNSigmaPiMin && track.tpcNSigmaPi() < tpcNSigmaPiMax) {
390-
registry.fill(HIST("pVsPtForPi"), track.p(), track.pt(), distance, ptCorr, collision.centFT0M());
393+
registry.fill(HIST("jetpVsPtForPi"), track.p(), track.pt(), distance, ptCorr, collision.centFT0M());
391394
}
392395
}
393396
}
394397
}
395398
}
396-
PROCESS_SWITCH(JetShapeTask, processProductionRatio, "production ratio", false);
399+
PROCESS_SWITCH(JetShapeTask, processJetProductionRatio, "production ratio around jets", false);
400+
401+
void processInclusiveProductionRatio(soa::Filtered<soa::Join<aod::Collisions, aod::CentFT0Ms>>::iterator const& collision, soa::Join<aod::Tracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta, aod::pidTOFmass> const& tracks)
402+
{
403+
404+
// tracks conditions
405+
for (const auto& track : tracks) {
406+
registry.fill(HIST("trackTpcNClsCrossedRows"), track.tpcNClsCrossedRows());
407+
registry.fill(HIST("trackDcaXY"), track.dcaXY());
408+
registry.fill(HIST("trackItsChi2NCl"), track.itsChi2NCl());
409+
registry.fill(HIST("trackTpcChi2NCl"), track.tpcChi2NCl());
410+
registry.fill(HIST("trackTpcNClsFound"), track.tpcNClsFound());
411+
registry.fill(HIST("trackItsNCls"), track.itsNCls());
412+
registry.fill(HIST("trackEta"), track.eta());
413+
registry.fill(HIST("trackPhi"), track.phi());
414+
415+
if (std::abs(track.eta()) > etaTrUp)
416+
continue;
417+
if (track.tpcNClsCrossedRows() < nclcrossTpcMin)
418+
continue;
419+
if (std::abs(track.dcaXY()) > dcaxyMax)
420+
continue;
421+
if (track.itsChi2NCl() > chi2ItsMax)
422+
continue;
423+
if (track.tpcChi2NCl() > chi2TpcMax)
424+
continue;
425+
if (track.tpcNClsFound() < nclTpcMin)
426+
continue;
427+
if (track.itsNCls() < nclItsMin)
428+
continue;
429+
430+
// PID check
431+
registry.fill(HIST("tofMass"), track.mass());
432+
registry.fill(HIST("tpcPi"), track.p(), track.tpcNSigmaPi());
433+
registry.fill(HIST("tofPi"), track.pt(), track.tofNSigmaPi());
434+
registry.fill(HIST("tpcPr"), track.p(), track.tpcNSigmaPr());
435+
registry.fill(HIST("tofPr"), track.pt(), track.tofNSigmaPr());
436+
437+
if (std::abs(track.tofNSigmaPr()) < nSigmaTofCut) {
438+
registry.fill(HIST("tpcTofPr"), track.p(), track.tpcNSigmaPr(), collision.centFT0M());
439+
if (track.tpcNSigmaPr() > tpcNSigmaPrMin && track.tpcNSigmaPr() < tpcNSigmaPrMax) {
440+
registry.fill(HIST("pVsPtForPr"), track.p(), track.pt(), collision.centFT0M());
441+
}
442+
}
443+
444+
if (std::abs(track.tofNSigmaPi()) < nSigmaTofCut) {
445+
registry.fill(HIST("tpcTofPi"), track.p(), track.tpcNSigmaPi(), collision.centFT0M());
446+
if (track.tpcNSigmaPi() > tpcNSigmaPiMin && track.tpcNSigmaPi() < tpcNSigmaPiMax) {
447+
registry.fill(HIST("pVsPtForPi"), track.p(), track.pt(), collision.centFT0M());
448+
}
449+
}
450+
}
451+
}
452+
PROCESS_SWITCH(JetShapeTask, processInclusiveProductionRatio, "inclusive Production ratio", false);
397453

398454
void processReco(soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::BkgChargedRhos>>::iterator const& collision, soa::Join<aod::McCollisions, aod::McCentFT0Ms> const& mcCollision, soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::McTrackLabels> const& tracks, aod::ChargedMCDetectorLevelJets const& jets, aod::McParticles const& mcParticles)
399455
{

0 commit comments

Comments
 (0)