Skip to content

Commit 14daa6e

Browse files
committed
Add light ion centrality estimators
1 parent 82863ee commit 14daa6e

2 files changed

Lines changed: 60 additions & 35 deletions

File tree

Common/DataModel/Centrality.h

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,18 @@ DECLARE_SOA_COLUMN(CentRun2CL1, centRun2CL1, float); //! Run 2
2626
DECLARE_SOA_COLUMN(CentRun2RefMult5, centRun2RefMult5, float); //! Run 2 cent. from ref. mult. estimator, eta 0.5
2727
DECLARE_SOA_COLUMN(CentRun2RefMult8, centRun2RefMult8, float); //! Run 2 cent. from ref. mult. estimator, eta 0.8
2828

29-
DECLARE_SOA_COLUMN(CentFV0A, centFV0A, float); //! Run 3 cent. from FV0A multiplicities
30-
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float); //! Run 3 cent. from FT0A+FT0C multiplicities
31-
DECLARE_SOA_COLUMN(CentFT0A, centFT0A, float); //! Run 3 cent. from FT0A multiplicity
32-
DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float); //! Run 3 cent. from FT0C multiplicity
33-
DECLARE_SOA_COLUMN(CentFT0CVariant1, centFT0CVariant1, float); //! Run 3 cent. from FT0C multiplicity
34-
DECLARE_SOA_COLUMN(CentFT0CVariant2, centFT0CVariant2, float); //! Run 3 cent. from FT0C multiplicity, uses classical truncated Nancestors (NOT recommended, cross-check only!)
35-
DECLARE_SOA_COLUMN(CentFDDM, centFDDM, float); //! Run 3 cent. from FDDA+FDDC multiplicity
36-
DECLARE_SOA_COLUMN(CentNTPV, centNTPV, float); //! Run 3 cent. from the number of tracks contributing to the PV
37-
DECLARE_SOA_COLUMN(CentNGlobal, centNGlobal, float); //! Run 3 cent. from the number of global tracks
38-
DECLARE_SOA_COLUMN(CentMFT, centMFT, float); //! Run 3 cent. from the number of tracks in the MFT
29+
DECLARE_SOA_COLUMN(CentFV0A, centFV0A, float); //! Run 3 cent. from FV0A multiplicities
30+
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float); //! Run 3 cent. from FT0A+FT0C multiplicities
31+
DECLARE_SOA_COLUMN(CentFT0MLightIonAnchorCol, centFT0MLightIonAnchorCol, float); //! Run 3 cent. from FT0A+FT0C multiplicities - light ion only - 90% anchor - collision based (NOT recommended, cross-check only!)
32+
DECLARE_SOA_COLUMN(CentFT0MLightIonAnchorBC, centFT0MLightIonAnchorBC, float); //! Run 3 cent. from FT0A+FT0C multiplicities - light ion only - 90% anchor - bunch crossing based (NOT recommended, cross-check only!)
33+
DECLARE_SOA_COLUMN(CentFT0A, centFT0A, float); //! Run 3 cent. from FT0A multiplicity
34+
DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float); //! Run 3 cent. from FT0C multiplicity
35+
DECLARE_SOA_COLUMN(CentFT0CVariant1, centFT0CVariant1, float); //! Run 3 cent. from FT0C multiplicity
36+
DECLARE_SOA_COLUMN(CentFT0CVariant2, centFT0CVariant2, float); //! Run 3 cent. from FT0C multiplicity, uses classical truncated Nancestors (NOT recommended, cross-check only!)
37+
DECLARE_SOA_COLUMN(CentFDDM, centFDDM, float); //! Run 3 cent. from FDDA+FDDC multiplicity
38+
DECLARE_SOA_COLUMN(CentNTPV, centNTPV, float); //! Run 3 cent. from the number of tracks contributing to the PV
39+
DECLARE_SOA_COLUMN(CentNGlobal, centNGlobal, float); //! Run 3 cent. from the number of global tracks
40+
DECLARE_SOA_COLUMN(CentMFT, centMFT, float); //! Run 3 cent. from the number of tracks in the MFT
3941
} // namespace cent
4042

4143
// Run 2 tables
@@ -59,8 +61,10 @@ DECLARE_SOA_TABLE(CentNGlobals, "AOD", "CENTNGLOBAL", cent::CentNGlobal); //! Ru
5961
DECLARE_SOA_TABLE(CentMFTs, "AOD", "CENTMFT", cent::CentMFT); //! Run 3 MFT tracks centrality table
6062

6163
// Run 3 variant tables
62-
DECLARE_SOA_TABLE(CentFT0CVariant1s, "AOD", "CENTFT0Cvar1", cent::CentFT0CVariant1); //! Run 3 FT0C variant 1
63-
DECLARE_SOA_TABLE(CentFT0CVariant2s, "AOD", "CENTFT0Cvar2", cent::CentFT0CVariant2); //! Run 3 FT0C variant 1 - uses truncated Nancestors in glauber fit. Not recommended! for cross-checks only
64+
DECLARE_SOA_TABLE(CentFT0CVariant1s, "AOD", "CENTFT0Cvar1", cent::CentFT0CVariant1); //! Run 3 FT0C variant 1
65+
DECLARE_SOA_TABLE(CentFT0CVariant2s, "AOD", "CENTFT0Cvar2", cent::CentFT0CVariant2); //! Run 3 FT0C variant 1 - uses truncated Nancestors in glauber fit. Not recommended! for cross-checks only
66+
DECLARE_SOA_TABLE(CentFT0MLightIonAnchorCols, "AOD", "CENTFT0MLICOL", cent::CentFT0MLightIonAnchorCol); //! Run 3 Light ions FT0M - Traditional anchor at 90% with Glauber. Colliison based calibration. Not recommended! for cross-checks only
67+
DECLARE_SOA_TABLE(CentFT0MLightIonAnchorBCs, "AOD", "CENTFT0MLIbc", cent::CentFT0MLightIonAnchorBC); //! Run 3 Light ions FT0M - Traditional anchor at 90% with Glauber. Bunch crossing based calibration. Not recommended! for cross-checks only
6468

6569
// Run 3 centrality per BC (joinable with BC)
6670
DECLARE_SOA_TABLE(BCCentFT0Ms, "AOD", "BCCENTFT0M", cent::CentFT0M, o2::soa::Marker<1>); //! Run 3 FT0M BC centrality table

Common/Tools/Multiplicity/MultModule.h

Lines changed: 44 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ static constexpr int nParameters = 1;
5858
static const std::vector<std::string> tableNames{
5959
// multiplicity subcomponent
6060
"FV0Mults",
61-
"FV0AOuterMults",
61+
"FITExtraMults",
6262
"FT0Mults",
6363
"FDDMults",
6464
"ZDCMults",
@@ -97,9 +97,11 @@ static const std::vector<std::string> tableNames{
9797
"CentMFTs",
9898
"BCCentFT0Ms",
9999
"BCCentFT0As",
100-
"BCCentFT0Cs"};
100+
"BCCentFT0Cs",
101+
"CentFT0MLightIonAnchorCols",
102+
"CentFT0MLightIonAnchorBCs"};
101103

102-
static constexpr int nTablesConst = 39;
104+
static constexpr int nTablesConst = 41;
103105

104106
static const std::vector<std::string> parameterNames{"enable"};
105107
static const int defaultParameters[nTablesConst][nParameters]{
@@ -141,6 +143,8 @@ static const int defaultParameters[nTablesConst][nParameters]{
141143
{-1},
142144
{-1},
143145
{-1},
146+
{-1},
147+
{-1},
144148
{-1}};
145149

146150
// table index : match order above
@@ -166,25 +170,27 @@ enum tableIndex { kFV0Mults, // standard
166170
kMultsGlobal, // requires track selection task
167171

168172
// centrality subcomponent
169-
kCentRun2V0Ms, // Run 2
170-
kCentRun2V0As, // Run 2
171-
kCentRun2SPDTrks, // Run 2
172-
kCentRun2SPDClss, // Run 2
173-
kCentRun2CL0s, // Run 2
174-
kCentRun2CL1s, // Run 2
175-
kCentFV0As, // standard Run 3
176-
kCentFT0Ms, // standard Run 3
177-
kCentFT0As, // standard Run 3
178-
kCentFT0Cs, // standard Run 3
179-
kCentFT0CVariant1s, // standard Run 3
180-
kCentFT0CVariant2s, // standard Run 3
181-
kCentFDDMs, // standard Run 3
182-
kCentNTPVs, // standard Run 3
183-
kCentNGlobals, // requires track selection task
184-
kCentMFTs, // requires MFT task
185-
kBCCentFT0Ms, // bc centrality
186-
kBCCentFT0As, // bc centrality
187-
kBCCentFT0Cs, // bc centrality
173+
kCentRun2V0Ms, // Run 2
174+
kCentRun2V0As, // Run 2
175+
kCentRun2SPDTrks, // Run 2
176+
kCentRun2SPDClss, // Run 2
177+
kCentRun2CL0s, // Run 2
178+
kCentRun2CL1s, // Run 2
179+
kCentFV0As, // standard Run 3
180+
kCentFT0Ms, // standard Run 3
181+
kCentFT0As, // standard Run 3
182+
kCentFT0Cs, // standard Run 3
183+
kCentFT0CVariant1s, // standard Run 3
184+
kCentFT0CVariant2s, // standard Run 3
185+
kCentFDDMs, // standard Run 3
186+
kCentNTPVs, // standard Run 3
187+
kCentNGlobals, // requires track selection task
188+
kCentMFTs, // requires MFT task
189+
kBCCentFT0Ms, // bc centrality
190+
kBCCentFT0As, // bc centrality
191+
kBCCentFT0Cs, // bc centrality
192+
kCentFT0MLightIonAnchorCols, // light ion specific
193+
kCentFT0MLightIonAnchorBCs, // light ion specific
188194
kNTables };
189195

190196
struct products : o2::framework::ProducesGroup {
@@ -233,6 +239,8 @@ struct products : o2::framework::ProducesGroup {
233239
o2::framework::Produces<aod::BCCentFT0As> bcCentFT0A;
234240
o2::framework::Produces<aod::BCCentFT0Cs> bcCentFT0C;
235241
o2::framework::Produces<aod::BCCentFT0Ms> bcCentFT0M;
242+
o2::framework::Produces<aod::CentFT0MLightIonAnchorCols> centFT0MLightIonAnchorCol;
243+
o2::framework::Produces<aod::CentFT0MLightIonAnchorBCs> centFT0MLightIonAnchorBC;
236244

237245
//__________________________________________________
238246
// centrality tables per BC
@@ -443,6 +451,8 @@ class MultModule
443451

444452
CalibrationInfo fv0aInfo = CalibrationInfo("FV0");
445453
CalibrationInfo ft0mInfo = CalibrationInfo("FT0");
454+
CalibrationInfo ft0mColInfo = CalibrationInfo("FT0LightIonAncCol");
455+
CalibrationInfo ft0mBcInfo = CalibrationInfo("FT0LightIonAncBc");
446456
CalibrationInfo ft0aInfo = CalibrationInfo("FT0A");
447457
CalibrationInfo ft0cInfo = CalibrationInfo("FT0C");
448458
CalibrationInfo ft0cVariant1Info = CalibrationInfo("FT0Cvar1");
@@ -1212,6 +1222,8 @@ class MultModule
12121222

12131223
fv0aInfo.mCalibrationStored = false;
12141224
ft0mInfo.mCalibrationStored = false;
1225+
ft0mColInfo.mCalibrationStored = false;
1226+
ft0mBcInfo.mCalibrationStored = false;
12151227
ft0aInfo.mCalibrationStored = false;
12161228
ft0cInfo.mCalibrationStored = false;
12171229
ft0cVariant1Info.mCalibrationStored = false;
@@ -1249,6 +1261,10 @@ class MultModule
12491261
getccdb(fv0aInfo, internalOpts.generatorName);
12501262
if (internalOpts.mEnabledTables[kCentFT0Ms] || internalOpts.mEnabledTables[kBCCentFT0Ms])
12511263
getccdb(ft0mInfo, internalOpts.generatorName);
1264+
if (internalOpts.mEnabledTables[kCentFT0MLightIonAnchorCols])
1265+
getccdb(ft0mColInfo, internalOpts.generatorName);
1266+
if (internalOpts.mEnabledTables[kCentFT0MLightIonAnchorBCs])
1267+
getccdb(ft0mBcInfo, internalOpts.generatorName);
12521268
if (internalOpts.mEnabledTables[kCentFT0As] || internalOpts.mEnabledTables[kBCCentFT0As])
12531269
getccdb(ft0aInfo, internalOpts.generatorName);
12541270
if (internalOpts.mEnabledTables[kCentFT0Cs] || internalOpts.mEnabledTables[kBCCentFT0Cs])
@@ -1286,7 +1302,8 @@ class MultModule
12861302
internalOpts.mEnabledTables[kCentFDDMs] ||
12871303
internalOpts.mEnabledTables[kCentNTPVs] || internalOpts.mEnabledTables[kCentNGlobals] ||
12881304
internalOpts.mEnabledTables[kCentMFTs] || internalOpts.mEnabledTables[kBCCentFT0Ms] ||
1289-
internalOpts.mEnabledTables[kBCCentFT0As] || internalOpts.mEnabledTables[kBCCentFT0Cs]) {
1305+
internalOpts.mEnabledTables[kBCCentFT0As] || internalOpts.mEnabledTables[kBCCentFT0Cs] ||
1306+
internalOpts.mEnabledTables[kCentFT0MLightIonAnchorCols] || internalOpts.mEnabledTables[kCentFT0MLightIonAnchorBCs]) {
12901307
// check and update centrality calibration objects for Run 3
12911308
const auto& firstbc = bcs.begin();
12921309
ConfigureCentralityRun3(ccdb, metadataInfo, firstbc);
@@ -1332,6 +1349,10 @@ class MultModule
13321349
populateTable(cursors.centFV0A, fv0aInfo, mults[iEv].multFV0AZeq, isInelGt0);
13331350
if (internalOpts.mEnabledTables[kCentFT0Ms])
13341351
populateTable(cursors.centFT0M, ft0mInfo, mults[iEv].multFT0AZeq + mults[iEv].multFT0CZeq, isInelGt0);
1352+
if (internalOpts.mEnabledTables[kCentFT0Ms])
1353+
populateTable(cursors.centFT0MLightIonAnchorCol, ft0mColInfo, mults[iEv].multFT0AZeq + mults[iEv].multFT0CZeq, isInelGt0);
1354+
if (internalOpts.mEnabledTables[kCentFT0Ms])
1355+
populateTable(cursors.centFT0MLightIonAnchorBC, ft0mBcInfo, mults[iEv].multFT0AZeq + mults[iEv].multFT0CZeq, isInelGt0);
13351356
if (internalOpts.mEnabledTables[kCentFT0As])
13361357
populateTable(cursors.centFT0A, ft0aInfo, mults[iEv].multFT0AZeq, isInelGt0);
13371358
if (internalOpts.mEnabledTables[kCentFT0Cs])

0 commit comments

Comments
 (0)