Skip to content

Commit 5ca30d1

Browse files
author
David Dobrigkeit Chinellato
committed
Common: add outer FV0A mult
1 parent e5d64ac commit 5ca30d1

File tree

2 files changed

+28
-14
lines changed

2 files changed

+28
-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: 12 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
@@ -236,6 +237,7 @@ struct MultiplicityTable {
236237
aod::FT0s const&)
237238
{
238239
float multFV0A = 0.f;
240+
float multFV0Aouter = 0.f;
239241
float multFV0C = 0.f;
240242
float multFT0A = 0.f;
241243
float multFT0C = 0.f;
@@ -307,6 +309,7 @@ struct MultiplicityTable {
307309
switch (i) {
308310
case kFV0Mults: // FV0
309311
tableFV0.reserve(collisions.size());
312+
tableFV0AOuter.reserve(collisions.size());
310313
break;
311314
case kFT0Mults: // FT0
312315
tableFT0.reserve(collisions.size());
@@ -354,6 +357,7 @@ struct MultiplicityTable {
354357

355358
// Initializing multiplicity values
356359
float multFV0A = 0.f;
360+
float multFV0AOuter = 0.f;
357361
float multFV0C = 0.f;
358362
float multFT0A = 0.f;
359363
float multFT0C = 0.f;
@@ -429,18 +433,25 @@ struct MultiplicityTable {
429433
case kFV0Mults: // FV0
430434
{
431435
multFV0A = 0.f;
436+
multFV0AOuter = 0.f;
432437
multFV0C = 0.f;
433438
// using FV0 row index from event selection task
434439
if (collision.has_foundFV0()) {
435440
const auto& fv0 = collision.foundFV0();
436-
for (auto amplitude : fv0.amplitude()) {
441+
for (size_t ii=0; ii<fv0.amplitude().size(); ii++) {
442+
auto amplitude = fv0.amplitude()[ii];
443+
auto channel = fv0.channel()[ii];
437444
multFV0A += amplitude;
445+
if(channel>7){
446+
multFV0AOuter += amplitude;
447+
}
438448
}
439449
} else {
440450
multFV0A = -999.f;
441451
multFV0C = -999.f;
442452
}
443453
tableFV0(multFV0A, multFV0C);
454+
tableFV0AOuter(multFV0AOuter);
444455
LOGF(debug, "multFV0A=%5.0f multFV0C=%5.0f", multFV0A, multFV0C);
445456
} break;
446457
case kFT0Mults: // FT0

0 commit comments

Comments
 (0)