Skip to content

Commit 3c38215

Browse files
Merge pull request #424 from romainschotter/david
Further fix multCentTable
2 parents 36981c5 + 26a0afa commit 3c38215

File tree

2 files changed

+49
-19
lines changed

2 files changed

+49
-19
lines changed

Common/TableProducer/multCentTable.cxx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,17 +122,23 @@ struct MultCentTable {
122122
o2::aod::MFTTracks const& mfttracks,
123123
soa::SmallGroups<aod::BestCollisionsFwd> const& retracks)
124124
{
125-
// populates MFT information in the mults buffer (in addition to filling table)
126-
module.collisionProcessMFT(collision, mfttracks, retracks, mults, products);
125+
if (opts.mEnabledTables[o2::common::multiplicity::kMFTMults]) {
126+
// populates MFT information in the mults buffer (in addition to filling table)
127+
module.collisionProcessMFT(collision, mfttracks, retracks, mults, products);
128+
}
127129
}
128130
void processMonteCarlo(aod::McCollision const& mcCollision, aod::McParticles const& mcParticles)
129131
{
130-
module.collisionProcessMonteCarlo(mcCollision, mcParticles, pdg, products);
132+
if (opts.mEnabledTables[o2::common::multiplicity::kMultMCExtras]) {
133+
module.collisionProcessMonteCarlo(mcCollision, mcParticles, pdg, products);
134+
}
131135
}
132136
void processMonteCarlo2Mults(soa::Join<aod::McCollisionLabels, aod::Collisions>::iterator const& collision)
133137
{
134-
// establish simple interlink for posterior analysis (derived data)
135-
products.tableExtraMult2MCExtras(collision.mcCollisionId());
138+
if (opts.mEnabledTables[o2::common::multiplicity::kMult2MCExtras]) {
139+
// establish simple interlink for posterior analysis (derived data)
140+
products.tableExtraMult2MCExtras(collision.mcCollisionId());
141+
}
136142
}
137143
void processCentrality(aod::Collisions const& collisions, soa::Join<aod::BCs, aod::BcSels, aod::Timestamps> const& bcs, aod::FT0s const&)
138144
{

Common/Tools/MultModule.h

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -218,19 +218,19 @@ struct products : o2::framework::ProducesGroup {
218218
// FIXME ideally cursors could be readable
219219
// to avoid duplicate memory allocation but ok
220220
struct multEntry {
221-
float multFV0A = -999.0f;
222-
float multFV0C = -999.0f;
223-
float multFV0AOuter = -999.0f;
224-
float multFT0A = -999.0f;
225-
float multFT0C = -999.0f;
226-
float multFDDA = -999.0f;
227-
float multFDDC = -999.0f;
228-
float multZNA = -999.0f;
229-
float multZNC = -999.0f;
230-
float multZEM1 = -999.0f;
231-
float multZEM2 = -999.0f;
232-
float multZPA = -999.0f;
233-
float multZPC = -999.0f;
221+
float multFV0A = 0.0f;
222+
float multFV0C = 0.0f;
223+
float multFV0AOuter = 0.0f;
224+
float multFT0A = 0.0f;
225+
float multFT0C = 0.0f;
226+
float multFDDA = 0.0f;
227+
float multFDDC = 0.0f;
228+
float multZNA = 0.0f;
229+
float multZNC = 0.0f;
230+
float multZEM1 = 0.0f;
231+
float multZEM2 = 0.0f;
232+
float multZPA = 0.0f;
233+
float multZPC = 0.0f;
234234
int multTracklets = 0;
235235

236236
int multNContribs = 0; // PVMult 0.8
@@ -407,7 +407,7 @@ class MultModule
407407
CalibrationInfo mftInfo = CalibrationInfo("MFT");
408408

409409
template <typename TConfigurables, typename TInitContext>
410-
void init(TConfigurables const& opts, TInitContext& context)
410+
void init(TConfigurables& opts, TInitContext& context)
411411
{
412412
// read in configurations from the task where it's used
413413
internalOpts = opts;
@@ -445,6 +445,8 @@ class MultModule
445445
}
446446
}
447447

448+
opts = internalOpts;
449+
448450
// list enabled tables
449451
for (int i = 0; i < nTablesConst; i++) {
450452
// printout to be improved in the future
@@ -532,6 +534,9 @@ class MultModule
532534
mults.multFV0AOuter += amplitude;
533535
}
534536
}
537+
} else {
538+
mults.multFV0A = -999.f;
539+
mults.multFV0AOuter = -999.f;
535540
}
536541
if (collision.has_foundFT0()) {
537542
const auto& ft0 = collision.foundFT0();
@@ -541,6 +546,9 @@ class MultModule
541546
for (const auto& amplitude : ft0.amplitudeC()) {
542547
mults.multFT0C += amplitude;
543548
}
549+
} else {
550+
mults.multFT0A = -999.f;
551+
mults.multFT0C = -999.f;
544552
}
545553
if (collision.has_foundFDD()) {
546554
const auto& fdd = collision.foundFDD();
@@ -550,6 +558,9 @@ class MultModule
550558
for (const auto& amplitude : fdd.chargeC()) {
551559
mults.multFDDC += amplitude;
552560
}
561+
} else {
562+
mults.multFDDA = -999.f;
563+
mults.multFDDC = -999.f;
553564
}
554565
if (bc.has_zdc()) {
555566
mults.multZNA = bc.zdc().amplitudeZNA();
@@ -558,9 +569,19 @@ class MultModule
558569
mults.multZEM2 = bc.zdc().amplitudeZEM2();
559570
mults.multZPA = bc.zdc().amplitudeZPA();
560571
mults.multZPC = bc.zdc().amplitudeZPC();
572+
} else {
573+
mults.multZNA = -999.f;
574+
mults.multZNC = -999.f;
575+
mults.multZEM1 = -999.f;
576+
mults.multZEM2 = -999.f;
577+
mults.multZPA = -999.f;
578+
mults.multZPC = -999.f;
561579
}
562580

563581
// fill standard cursors if required
582+
if (internalOpts.mEnabledTables[kTrackletMults]) { // Tracklets (only Run2) nothing to do (to be removed!)
583+
cursors.tableTracklet(0);
584+
}
564585
if (internalOpts.mEnabledTables[kFV0Mults]) {
565586
cursors.tableFV0(mults.multFV0A, mults.multFV0C);
566587
}
@@ -970,6 +991,9 @@ class MultModule
970991
for (const auto& amplitude : ft0.amplitudeC()) {
971992
bcMultFT0C += amplitude;
972993
}
994+
} else {
995+
bcMultFT0A = -999.f;
996+
bcMultFT0C = -999.f;
973997
}
974998

975999
if (internalOpts.mEnabledTables[kBCCentFT0Ms])

0 commit comments

Comments
 (0)