Skip to content

Commit ca6267c

Browse files
add missing deltapt hist, fix their filling
1 parent 3d0b5bd commit ca6267c

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

PWGJE/Tasks/trackEfficiency.cxx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,8 @@ struct TrackEfficiency {
169169
registry.fill(HIST("h2_centrality_particle_phi"), collision.centFT0M(), mcparticle.phi(), weight);
170170
registry.fill(HIST("h2_centrality_particle_energy"), collision.centFT0M(), mcparticle.energy(), weight);
171171
registry.fill(HIST("h3_intrate_centrality_particle_pt"), collision.hadronicRate(), collision.centFT0M(), mcparticle.pt(), weight);
172-
for (auto const& track : tracks) {
172+
auto partTracks = tracks.sliceBy(tracksPerJParticles, mcparticle.globalIndex());
173+
for (auto const& track : partTracks) {
173174
registry.fill(HIST("h2_particle_pt_track_pt_deltapt"), mcparticle.pt(), mcparticle.pt() - track.pt(), weight);
174175
registry.fill(HIST("h2_particle_pt_track_pt_deltaptoverparticlept"), mcparticle.pt(), (mcparticle.pt() - track.pt()) / mcparticle.pt(), weight);
175176
}
@@ -319,6 +320,9 @@ struct TrackEfficiency {
319320
registry.add("h2_centrality_particle_phi", "centrality vs particle #varphi; centrality; #varphi_{part}", {HistType::kTH2F, {centAxis, {160, -1.0, 7.}}});
320321
registry.add("h2_centrality_particle_energy", "centrality vs particle energy; centrality; Energy GeV", {HistType::kTH2F, {centAxis, {100, 0.0, 100.0}}});
321322
registry.add("h3_intrate_centrality_particle_pt", "interaction rate vs centrality vs particle pT; int. rate; centrality; #it{p}_{T,part} (GeV/#it{c})", {HistType::kTH3F, {intRateAxis, centAxis, {200, 0., 200.}}});
323+
324+
registry.add("h2_particle_pt_track_pt_deltapt", "track pt vs delta pT; pT; #it{p}_{T, part} - #it{p}_{T,track} (GeV/#it{c})", {HistType::kTH2F, {{200, 0., 200.}, {200, -1., 1.}}});
325+
registry.add("h2_particle_pt_track_pt_deltaptoverparticlept", "track vs delta pT / MC pT ; pT; #frac{#it{p}_{T, part} - #it{p}_{T,track}}{#it{p}_{T,part}}", {HistType::kTH2F, {{200, 0., 200.}, {200, -1., 1.}}});
322326
}
323327

324328
if (doprocessCollisionsFromData || doprocessCollisionsFromMc || doprocessCollisionsFromMcWeighted) {
@@ -366,6 +370,7 @@ struct TrackEfficiency {
366370
}
367371

368372
Preslice<aod::JetTracksMCD> tracksPerJCollision = o2::aod::jtrack::collisionId;
373+
PresliceUnsorted<aod::JetTracksMCD> tracksPerJParticles = o2::aod::jmctracklb::mcParticleId;
369374

370375
// filters for processTracks QA functions only:
371376
Filter trackCuts = (aod::jtrack::pt >= trackQAPtMin && aod::jtrack::pt < trackQAPtMax && aod::jtrack::eta > trackQAEtaMin && aod::jtrack::eta < trackQAEtaMax);
@@ -751,7 +756,7 @@ struct TrackEfficiency {
751756
void processTracksFromMc(soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>::iterator const& collision, // a filter should probably be added here to stay consistent with processTracksFromData
752757
soa::Join<aod::JetMcCollisions, aod::JMcCollisionPIs> const&,
753758
soa::Join<aod::McCollisions, aod::HepMCXSections> const&,
754-
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JTrackPIs>> const& jetTracks,
759+
soa::Filtered<soa::Join<aod::JetTracksMCD, aod::JTrackExtras, aod::JTrackPIs>> const& jetTracks,
755760
soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA> const&)
756761
{
757762
if (!collision.has_mcCollision()) { // the collision is fake and has no associated mc coll; skip as .mccollision() cannot be called
@@ -776,7 +781,7 @@ struct TrackEfficiency {
776781
void processTracksFromMcWeighted(soa::Join<aod::JetCollisions, aod::JMcCollisionLbs>::iterator const& collision, // a filter should probably be added here to stay consistent with processTracksFromData
777782
soa::Join<aod::JetMcCollisions, aod::JMcCollisionPIs> const&,
778783
soa::Join<aod::McCollisions, aod::HepMCXSections> const&,
779-
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JTrackPIs>> const& jetTracks,
784+
soa::Filtered<soa::Join<aod::JetTracksMCD, aod::JTrackExtras, aod::JTrackPIs>> const& jetTracks,
780785
soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA> const&)
781786
{
782787
if (!collision.has_mcCollision()) { // the collision is fake and has no associated mc coll; skip as .mccollision() cannot be called
@@ -803,7 +808,7 @@ struct TrackEfficiency {
803808
soa::Join<aod::McCollisions, aod::HepMCXSections> const&,
804809
soa::SmallGroups<aod::JetCollisionsMCD> const& collisions,
805810
soa::Filtered<aod::JetParticles> const& mcparticles,
806-
soa::Filtered<aod::JetTracks> const& tracks)
811+
soa::Filtered<aod::JetTracksMCD> const& tracks)
807812
{
808813

809814
if (!(std::abs(mcCollision.posZ()) < vertexZCut)) {
@@ -855,7 +860,7 @@ struct TrackEfficiency {
855860
soa::Join<aod::McCollisions, aod::HepMCXSections> const&,
856861
soa::SmallGroups<aod::JetCollisionsMCD> const& collisions,
857862
soa::Filtered<aod::JetParticles> const& mcparticles,
858-
soa::Filtered<aod::JetTracks> const& tracks)
863+
soa::Filtered<aod::JetTracksMCD> const& tracks)
859864
{
860865
if (skipMBGapEvents && mcCollision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
861866
return;

0 commit comments

Comments
 (0)