Skip to content

Commit 0e044e9

Browse files
ddobrigkalibuild
andauthored
[Common] add outer FV0A multiplicity for mult/cent calibs (#9115)
Co-authored-by: David Dobrigkeit Chinellato <david.dobrigkeit.chinellato.cern.ch> Co-authored-by: ALICE Builder <alibuild@users.noreply.github.com>
1 parent 4905bdb commit 0e044e9

File tree

2 files changed

+27
-14
lines changed

2 files changed

+27
-14
lines changed

Common/DataModel/Multiplicity.h

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,20 @@ namespace o2::aod
1818
{
1919
namespace mult
2020
{
21-
DECLARE_SOA_COLUMN(MultFV0A, multFV0A, float); //!
22-
DECLARE_SOA_COLUMN(MultFV0C, multFV0C, float); //!
23-
DECLARE_SOA_COLUMN(MultFT0A, multFT0A, float); //!
24-
DECLARE_SOA_COLUMN(MultFT0C, multFT0C, float); //!
25-
DECLARE_SOA_COLUMN(MultFDDA, multFDDA, float); //!
26-
DECLARE_SOA_COLUMN(MultFDDC, multFDDC, float); //!
27-
DECLARE_SOA_COLUMN(MultZNA, multZNA, float); //!
28-
DECLARE_SOA_COLUMN(MultZNC, multZNC, float); //!
29-
DECLARE_SOA_COLUMN(MultZEM1, multZEM1, float); //!
30-
DECLARE_SOA_COLUMN(MultZEM2, multZEM2, float); //!
31-
DECLARE_SOA_COLUMN(MultZPA, multZPA, float); //!
32-
DECLARE_SOA_COLUMN(MultZPC, multZPC, float); //!
33-
DECLARE_SOA_DYNAMIC_COLUMN(MultFV0M, multFV0M, //!
21+
DECLARE_SOA_COLUMN(MultFV0A, multFV0A, float); //!
22+
DECLARE_SOA_COLUMN(MultFV0AOuter, multFV0AOuter, float); //!
23+
DECLARE_SOA_COLUMN(MultFV0C, multFV0C, float); //!
24+
DECLARE_SOA_COLUMN(MultFT0A, multFT0A, float); //!
25+
DECLARE_SOA_COLUMN(MultFT0C, multFT0C, float); //!
26+
DECLARE_SOA_COLUMN(MultFDDA, multFDDA, float); //!
27+
DECLARE_SOA_COLUMN(MultFDDC, multFDDC, float); //!
28+
DECLARE_SOA_COLUMN(MultZNA, multZNA, float); //!
29+
DECLARE_SOA_COLUMN(MultZNC, multZNC, float); //!
30+
DECLARE_SOA_COLUMN(MultZEM1, multZEM1, float); //!
31+
DECLARE_SOA_COLUMN(MultZEM2, multZEM2, float); //!
32+
DECLARE_SOA_COLUMN(MultZPA, multZPA, float); //!
33+
DECLARE_SOA_COLUMN(MultZPC, multZPC, float); //!
34+
DECLARE_SOA_DYNAMIC_COLUMN(MultFV0M, multFV0M, //!
3435
[](float multFV0A, float multFV0C) -> float { return multFV0A + multFV0C; });
3536
DECLARE_SOA_DYNAMIC_COLUMN(MultFT0M, multFT0M, //!
3637
[](float multFT0A, float multFT0C) -> float { return multFT0A + multFT0C; });
@@ -95,6 +96,8 @@ DECLARE_SOA_COLUMN(TimeToNeNext, timeToNeNext, float); //!
9596
DECLARE_SOA_TABLE(FV0Mults, "AOD", "FV0MULT", //! Multiplicity with the FV0 detector
9697
mult::MultFV0A, mult::MultFV0C,
9798
mult::MultFV0M<mult::MultFV0A, mult::MultFV0C>);
99+
DECLARE_SOA_TABLE(FV0AOuterMults, "AOD", "FVOAOUTERMULT", //! FV0 without innermost ring
100+
mult::MultFV0AOuter);
98101
DECLARE_SOA_TABLE(FT0Mults, "AOD", "FT0MULT", //! Multiplicity with the FT0 detector
99102
mult::MultFT0A, mult::MultFT0C,
100103
mult::MultFT0M<mult::MultFT0A, mult::MultFT0C>);

Common/TableProducer/multiplicityTable.cxx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ static const int defaultParameters[nTables][nParameters]{{-1}, {-1}, {-1}, {-1},
7979
struct MultiplicityTable {
8080
SliceCache cache;
8181
Produces<aod::FV0Mults> tableFV0; // 0
82+
Produces<aod::FV0AOuterMults> tableFV0AOuter; // 0-bis (produced with FV0)
8283
Produces<aod::FT0Mults> tableFT0; // 1
8384
Produces<aod::FDDMults> tableFDD; // 2
8485
Produces<aod::ZDCMults> tableZDC; // 3
@@ -307,6 +308,7 @@ struct MultiplicityTable {
307308
switch (i) {
308309
case kFV0Mults: // FV0
309310
tableFV0.reserve(collisions.size());
311+
tableFV0AOuter.reserve(collisions.size());
310312
break;
311313
case kFT0Mults: // FT0
312314
tableFT0.reserve(collisions.size());
@@ -354,6 +356,7 @@ struct MultiplicityTable {
354356

355357
// Initializing multiplicity values
356358
float multFV0A = 0.f;
359+
float multFV0AOuter = 0.f;
357360
float multFV0C = 0.f;
358361
float multFT0A = 0.f;
359362
float multFT0C = 0.f;
@@ -429,18 +432,25 @@ struct MultiplicityTable {
429432
case kFV0Mults: // FV0
430433
{
431434
multFV0A = 0.f;
435+
multFV0AOuter = 0.f;
432436
multFV0C = 0.f;
433437
// using FV0 row index from event selection task
434438
if (collision.has_foundFV0()) {
435439
const auto& fv0 = collision.foundFV0();
436-
for (auto amplitude : fv0.amplitude()) {
440+
for (size_t ii = 0; ii < fv0.amplitude().size(); ii++) {
441+
auto amplitude = fv0.amplitude()[ii];
442+
auto channel = fv0.channel()[ii];
437443
multFV0A += amplitude;
444+
if (channel > 7) {
445+
multFV0AOuter += amplitude;
446+
}
438447
}
439448
} else {
440449
multFV0A = -999.f;
441450
multFV0C = -999.f;
442451
}
443452
tableFV0(multFV0A, multFV0C);
453+
tableFV0AOuter(multFV0AOuter);
444454
LOGF(debug, "multFV0A=%5.0f multFV0C=%5.0f", multFV0A, multFV0C);
445455
} break;
446456
case kFT0Mults: // FT0

0 commit comments

Comments
 (0)