Skip to content

Commit f0aecdc

Browse files
some changes to fix error in processSim
1 parent b57a1fd commit f0aecdc

File tree

1 file changed

+41
-21
lines changed

1 file changed

+41
-21
lines changed

PWGJE/Tasks/jetShape.cxx

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ struct JetShapeTask {
8484
{"pVsPtForPi", "pVsPtPi", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsDistance, 0, distanceMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
8585
{"pVsPtForPrOutOfJet", "pVsPtForPrOutOfJet", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
8686
{"pVsPtForPiOutOfJet", "pVsPtPionOutOfJet", {HistType::kTHnSparseD, {{nBinsP, 0, pMax}, {nBinsPt, 0, ptMax}, {nBinsJetPt, jetPtMinForCut, jetPtMaxForCut}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
87-
{"tofMass", "tofMass", {HistType::kTH1F, {{300, 0, 3}}}},
87+
{"tofMass", "tofMass", {HistType::kTH1F, {{90, 0, 3}}}},
8888
{"trackPhi", "trackPhi", {HistType::kTH1F, {{80, -1, 7}}}},
8989
{"trackEta", "trackEta", {HistType::kTH1F, {{100, -1, 1}}}},
9090
{"trackTpcNClsCrossedRows", "trackTpcNClsCrossedRows", {HistType::kTH1F, {{50, 0, 200}}}},
@@ -96,8 +96,8 @@ struct JetShapeTask {
9696
{"jetPt", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {{200, 0., 200.}}}},
9797
{"jetEta", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
9898
{"jetPhi", "jet #phi;#phi_{jet};entries", {HistType::kTH1F, {{80, -1.0, 7.}}}},
99-
{"area", "area", {HistType::kTH1F, {{200, 0, 4}}}},
100-
{"rho", "rho", {HistType::kTH1F, {{300, 0, 300}}}},
99+
{"area", "area", {HistType::kTH1F, {{100, 0, 4}}}},
100+
{"rho", "rho", {HistType::kTH1F, {{120, 0, 300}}}},
101101
{"ptCorr", "Corrected jet pT; p_{T}^{corr} (GeV/c); Counts", {HistType::kTH1F, {{200, 0, 200}}}},
102102
{"ptCorrVsDistance", "ptcorr_vs_distance", {HistType::kTH2F, {{70, 0, 0.7}, {100, 0, 100}}}},
103103
{"distanceVsTrackpt", "trackpt_vs_distance", {HistType::kTH2F, {{70, 0, 0.7}, {100, 0, 100}}}},
@@ -137,7 +137,7 @@ struct JetShapeTask {
137137

138138
// for ppi production
139139
Configurable<float> etaTrUp{"etaTrUp", 0.7f, "maximum track eta"};
140-
Configurable<float> dcaxyMax{"dcaxyMax", 2.0f, "mximum DCA xy"};
140+
Configurable<float> dcaxyMax{"dcaxyMax", 2.0f, "maximum DCA xy"};
141141
Configurable<float> chi2ItsMax{"chi2ItsMax", 15.0f, "its chi2 cut"};
142142
Configurable<float> chi2TpcMax{"chi2TpcMax", 4.0f, "tpc chi2 cut"};
143143
Configurable<float> nclItsMin{"nclItsMin", 2.0f, "its # of cluster cut"};
@@ -203,9 +203,6 @@ struct JetShapeTask {
203203
Filter collisionFilter = nabs(aod::jcollision::posZ) < vertexZCut;
204204
Filter mcCollisionFilter = nabs(aod::jmccollision::posZ) < vertexZCut;
205205

206-
Preslice<soa::Filtered<aod::ChargedMCParticleLevelJets>> perMcCollisionJets = aod::jet::mcCollisionId;
207-
Preslice<aod::McParticles> perMcCollision = aod::mcparticle::mcCollisionId;
208-
209206
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)
210207
{
211208

@@ -268,6 +265,7 @@ struct JetShapeTask {
268265

269266
registry.fill(HIST("area"), jet.area());
270267
registry.fill(HIST("rho"), collision.rho());
268+
registry.fill(HIST("jetPt"), jet.pt());
271269
registry.fill(HIST("ptCorr"), ptCorr);
272270

273271
for (size_t i = 0; i < distanceCategory->size() - 1; i++) {
@@ -325,10 +323,6 @@ struct JetShapeTask {
325323
if (track.itsNCls() < nclItsMin)
326324
continue;
327325

328-
registry.fill(HIST("jetPt"), jet.pt());
329-
registry.fill(HIST("ptCorr"), ptCorr);
330-
registry.fill(HIST("area"), jet.area());
331-
registry.fill(HIST("rho"), collision.rho());
332326
registry.fill(HIST("jetEta"), jet.eta());
333327
registry.fill(HIST("jetPhi"), jet.phi());
334328

@@ -401,22 +395,38 @@ struct JetShapeTask {
401395
}
402396
PROCESS_SWITCH(JetShapeTask, processProductionRatio, "production ratio", false);
403397

404-
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, soa::Filtered<aod::ChargedMCDetectorLevelJets> const& mcdjets, aod::McParticles const& mcParticles)
398+
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)
405399
{
406400

407-
(void)mcCollision;
408401
(void)mcParticles;
402+
(void)mcCollision;
409403

410404
registry.fill(HIST("eventCounter"), 0.5);
405+
411406
float centrality = collision.centFT0M();
407+
registry.fill(HIST("mcCentralityReco"), centrality);
412408

413-
for (const auto& mcdjet : mcdjets) {
409+
for (const auto& jet : jets) {
414410

411+
registry.fill(HIST("jetPt"), jet.pt());
415412
// Get underlying event subtracted jet.pt() as ptCorr
416-
float mcdPtCorr = mcdjet.pt() - collision.rho() * mcdjet.area();
413+
float mcdPtCorr = jet.pt() - collision.rho() * jet.area();
417414

418415
for (const auto& track : tracks) {
416+
417+
float dEta = track.eta() - jet.eta();
418+
float dPhi = std::abs(track.phi() - jet.phi());
419+
420+
if (dPhi > o2::constants::math::PI) {
421+
dPhi = o2::constants::math::TwoPI - dPhi;
422+
}
423+
424+
float deltaR = std::sqrt(dEta * dEta + dPhi * dPhi);
425+
if (deltaR > distanceMax)
426+
continue;
427+
419428
if (track.has_mcParticle()) {
429+
420430
auto mcParticle = track.mcParticle();
421431
registry.fill(HIST("ptResolution"), track.pt(), track.pt() - mcParticle.pt());
422432

@@ -426,6 +436,7 @@ struct JetShapeTask {
426436
continue;
427437
if (std::abs(track.dcaXY()) > dcaxyMax)
428438
continue;
439+
429440
if (track.itsChi2NCl() > chi2ItsMax)
430441
continue;
431442
if (track.tpcChi2NCl() > chi2TpcMax)
@@ -460,18 +471,27 @@ struct JetShapeTask {
460471
}
461472
PROCESS_SWITCH(JetShapeTask, processReco, "process reconstructed information", true);
462473

463-
void processSim(soa::Join<aod::McCollisions, aod::McCentFT0Ms>::iterator const& mcCollision, soa::Filtered<aod::ChargedMCParticleLevelJets> const& mcpjets, aod::McParticles const& mcParticles)
474+
void processSim(soa::Join<aod::McCollisions, aod::McCentFT0Ms>::iterator const& mcCollision, aod::ChargedMCParticleLevelJets const& mcpjets, aod::McParticles const& mcParticles)
464475
{
465-
auto mcId = mcCollision.globalIndex();
476+
466477
float centrality = mcCollision.centFT0M();
467478
registry.fill(HIST("mcCentralitySim"), centrality);
468479

469-
auto mcpjetsPerCollision = mcpjets.sliceBy(perMcCollisionJets, mcId);
470-
auto mcParticlesPerCollision = mcParticles.sliceBy(perMcCollision, mcId);
480+
for (const auto& mcpjet : mcpjets) {
481+
482+
for (const auto& mcParticle : mcParticles) {
471483

472-
for (const auto& mcpjet : mcpjetsPerCollision) {
484+
float dEta = mcParticle.eta() - mcpjet.eta();
485+
float dPhi = std::abs(mcParticle.phi() - mcpjet.phi());
473486

474-
for (const auto& mcParticle : mcParticlesPerCollision) {
487+
if (dPhi > o2::constants::math::PI) {
488+
dPhi = o2::constants::math::TwoPI - dPhi;
489+
}
490+
491+
float deltaR = std::sqrt(dEta * dEta + dPhi * dPhi);
492+
if (deltaR > distanceMax) {
493+
continue;
494+
}
475495

476496
if (mcParticle.isPhysicalPrimary() && std::fabs(mcParticle.y()) < mcRapidityMax) {
477497
if (std::abs(mcParticle.pdgCode()) == PDG_t::kPiPlus)

0 commit comments

Comments
 (0)