@@ -425,12 +425,17 @@ struct TrackEfficiency {
425425
426426 registry.add (" h_track_pt_track_dcaxy_mcprimary" , " #it{p}_{T, track} (GeV/#it{c}); primaries dca_{xy}" , {HistType::kTH2F , {ptAxisEff, dcaxyAxis}});
427427 registry.add (" h_track_pt_track_dcaz_mcprimary" , " #it{p}_{T, track} (GeV/#it{c}); primaries dca_{z}" , {HistType::kTH2F , {ptAxisEff, dcazAxis}});
428- registry.add (" h_track_pt_track_dcaxy_mcsecondary" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{xy}" , {HistType::kTH2F , {ptAxisEff, dcaxyAxis}});
429- registry.add (" h_track_pt_track_dcaz_mcsecondary" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{z}" , {HistType::kTH2F , {ptAxisEff, dcazAxis}});
428+ registry.add (" h_track_pt_track_dcaxy_mcsecondarydecay" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{xy}" , {HistType::kTH2F , {ptAxisEff, dcaxyAxis}});
429+ registry.add (" h_track_pt_track_dcaz_mcsecondarydecay" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{z}" , {HistType::kTH2F , {ptAxisEff, dcazAxis}});
430+ registry.add (" h_track_pt_track_dcaxy_mcsecondarymat" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{xy}" , {HistType::kTH2F , {ptAxisEff, dcaxyAxis}});
431+ registry.add (" h_track_pt_track_dcaz_mcsecondarymat" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{z}" , {HistType::kTH2F , {ptAxisEff, dcazAxis}});
432+
430433 registry.add (" h_track_pt_high_track_dcaxy_mcprimary" , " #it{p}_{T, track} (GeV/#it{c}); primaries dca_{xy}" , {HistType::kTH2F , {ptAxisHighEff, dcaxyAxis}});
431434 registry.add (" h_track_pt_high_track_dcaz_mcprimary" , " #it{p}_{T, track} (GeV/#it{c}); primaries dca_{z}" , {HistType::kTH2F , {ptAxisHighEff, dcazAxis}});
432- registry.add (" h_track_pt_high_track_dcaxy_mcsecondary" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{xy}" , {HistType::kTH2F , {ptAxisHighEff, dcaxyAxis}});
433- registry.add (" h_track_pt_high_track_dcaz_mcsecondary" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{z}" , {HistType::kTH2F , {ptAxisHighEff, dcazAxis}});
435+ registry.add (" h_track_pt_high_track_dcaxy_mcsecondarydecay" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{xy}" , {HistType::kTH2F , {ptAxisHighEff, dcaxyAxis}});
436+ registry.add (" h_track_pt_high_track_dcaz_mcsecondarydecay" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{z}" , {HistType::kTH2F , {ptAxisHighEff, dcazAxis}});
437+ registry.add (" h_track_pt_high_track_dcaxy_mcsecondarymat" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{xy}" , {HistType::kTH2F , {ptAxisHighEff, dcaxyAxis}});
438+ registry.add (" h_track_pt_high_track_dcaz_mcsecondarymat" , " #it{p}_{T, track} (GeV/#it{c}); secondaries dca_{z}" , {HistType::kTH2F , {ptAxisHighEff, dcazAxis}});
434439 }
435440 }
436441
@@ -1388,6 +1393,7 @@ struct TrackEfficiency {
13881393
13891394 void processItsTpcMatchingMC (soa::Filtered<aod::JetCollisions>::iterator const & collision, soa::Join<aod::JetTracks, aod::JTrackPIs> const & jetTracks, soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::McTrackLabels, aod::TrackSelectionExtension> const &, aod::McParticles const &)
13901395 {
1396+ // could be added in future: pions+kaons vs protons distinction; easy in MC but what is the procedure for data?
13911397 if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections)) {
13921398 return ;
13931399 }
@@ -1474,11 +1480,18 @@ struct TrackEfficiency {
14741480 registry.fill (HIST (" h_track_pt_high_track_dcaz_mcprimary" ), aodTrack.pt (), aodTrack.dcaZ ());
14751481 }
14761482
1477- if (!aodMcParticleFromTrack.isPhysicalPrimary ()) {
1478- registry.fill (HIST (" h_track_pt_track_dcaxy_mcsecondary" ), aodTrack.pt (), aodTrack.dcaXY ());
1479- registry.fill (HIST (" h_track_pt_track_dcaz_mcsecondary" ), aodTrack.pt (), aodTrack.dcaZ ());
1480- registry.fill (HIST (" h_track_pt_high_track_dcaxy_mcsecondary" ), aodTrack.pt (), aodTrack.dcaXY ());
1481- registry.fill (HIST (" h_track_pt_high_track_dcaz_mcsecondary" ), aodTrack.pt (), aodTrack.dcaZ ());
1483+ if (!aodMcParticleFromTrack.isPhysicalPrimary ()) { // Secondaries (weak decays and material)
1484+ if (aodMcParticleFromTrack.getProcess () == kPDecay ) { // Particles from decay
1485+ registry.fill (HIST (" h_track_pt_track_dcaxy_mcsecondarydecay" ), aodTrack.pt (), aodTrack.dcaXY ());
1486+ registry.fill (HIST (" h_track_pt_track_dcaz_mcsecondarydecay" ), aodTrack.pt (), aodTrack.dcaZ ());
1487+ registry.fill (HIST (" h_track_pt_high_track_dcaxy_mcsecondarydecay" ), aodTrack.pt (), aodTrack.dcaXY ());
1488+ registry.fill (HIST (" h_track_pt_high_track_dcaz_mcsecondarydecay" ), aodTrack.pt (), aodTrack.dcaZ ());
1489+ } else { // Particles from the material
1490+ registry.fill (HIST (" h_track_pt_track_dcaxy_mcsecondarymat" ), aodTrack.pt (), aodTrack.dcaXY ());
1491+ registry.fill (HIST (" h_track_pt_track_dcaz_mcsecondarymat" ), aodTrack.pt (), aodTrack.dcaZ ());
1492+ registry.fill (HIST (" h_track_pt_high_track_dcaxy_mcsecondarymat" ), aodTrack.pt (), aodTrack.dcaXY ());
1493+ registry.fill (HIST (" h_track_pt_high_track_dcaz_mcsecondarymat" ), aodTrack.pt (), aodTrack.dcaZ ());
1494+ }
14821495 }
14831496 }
14841497 }
@@ -1488,4 +1501,4 @@ struct TrackEfficiency {
14881501WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
14891502{
14901503 return WorkflowSpec{adaptAnalysisTask<TrackEfficiency>(cfgc)};
1491- }
1504+ }
0 commit comments