Skip to content

Commit 420d8cb

Browse files
ddobrigkalibuild
andauthored
[Common] Add hepmc info for O-O cent studies (#11621)
Co-authored-by: David Dobrigkeit Chinellato <david.dobrigkeit.chinellato.cern.ch> Co-authored-by: ALICE Builder <alibuild@users.noreply.github.com>
1 parent 1f25a5a commit 420d8cb

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

Common/DataModel/Multiplicity.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,9 +184,14 @@ DECLARE_SOA_TABLE_VERSIONED(MultMCExtras_001, "AOD", "MULTMCEXTRA", 1, //! Table
184184
mult::IsInelGt1<mult::MultMCNParticlesEta10>,
185185
o2::soa::Marker<1>);
186186

187+
DECLARE_SOA_TABLE(MultHepMCHIs, "AOD", "MULTHEPMCHI", //! complementary table for heavy-ion mc info (subset of HepMCHeavyIons)
188+
o2::soa::Index<>, hepmcheavyion::McCollisionId, hepmcheavyion::NcollHard, hepmcheavyion::NpartProj, hepmcheavyion::NpartTarg,
189+
hepmcheavyion::Ncoll, hepmcheavyion::ImpactParameter);
190+
187191
using MultMCExtras = MultMCExtras_001;
188192
using MultMCExtra = MultMCExtras::iterator;
189193
using MultsExtraMC = MultMCExtras; // for backwards compatibility with previous naming scheme
194+
using MultHepMCHI = MultHepMCHIs::iterator;
190195

191196
// crosslinks
192197
namespace mult

Common/TableProducer/multiplicityTable.cxx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ struct MultiplicityTable {
100100
Produces<aod::PVMultZeqs> tablePVZeqs; // 12
101101
Produces<aod::MultMCExtras> tableExtraMc; // 13
102102
Produces<aod::Mult2MCExtras> tableExtraMult2MCExtras;
103+
Produces<aod::MultHepMCHIs> multHepMCHIs; // Not accounted for, produced using custom process function to avoid dependencies
103104
Produces<aod::MFTMults> mftMults; // Not accounted for, produced using custom process function to avoid dependencies
104105
Produces<aod::MultsGlobal> multsGlobal; // Not accounted for, produced based on process function processGlobalTrackingCounters
105106

@@ -734,6 +735,18 @@ struct MultiplicityTable {
734735
using Run3Tracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection>;
735736
Partition<Run3Tracks> pvContribGlobalTracksEta1 = (minPtGlobalTrack < aod::track::pt && aod::track::pt < maxPtGlobalTrack) && (nabs(aod::track::eta) < 1.0f) && ((aod::track::flags & static_cast<uint32_t>(o2::aod::track::PVContributor)) == static_cast<uint32_t>(o2::aod::track::PVContributor)) && requireQualityTracksInFilter();
736737

738+
void processHepMCHeavyIons(aod::HepMCHeavyIons const& hepmchis)
739+
{
740+
for (auto const& hepmchi : hepmchis) {
741+
multHepMCHIs(hepmchi.mcCollisionId(),
742+
hepmchi.ncollHard(),
743+
hepmchi.npartProj(),
744+
hepmchi.npartTarg(),
745+
hepmchi.ncoll(),
746+
hepmchi.impactParameter());
747+
}
748+
}
749+
737750
void processGlobalTrackingCounters(aod::Collision const& collision, soa::Join<Run3TracksIU, aod::TrackSelection, aod::TrackSelectionExtension> const& tracksIU, Run3Tracks const&)
738751
{
739752
// counter from Igor
@@ -808,6 +821,7 @@ struct MultiplicityTable {
808821
PROCESS_SWITCH(MultiplicityTable, processGlobalTrackingCounters, "Produce Run 3 global counters", false);
809822
PROCESS_SWITCH(MultiplicityTable, processMC, "Produce MC multiplicity tables", false);
810823
PROCESS_SWITCH(MultiplicityTable, processMC2Mults, "Produce MC -> Mult map", false);
824+
PROCESS_SWITCH(MultiplicityTable, processHepMCHeavyIons, "Produce MultHepMCHIs tables", false);
811825
PROCESS_SWITCH(MultiplicityTable, processRun3MFT, "Produce MFT mult tables", false);
812826
};
813827

0 commit comments

Comments
 (0)