diff --git a/Common/DataModel/Multiplicity.h b/Common/DataModel/Multiplicity.h index a81913c08f1..d971a0671b6 100644 --- a/Common/DataModel/Multiplicity.h +++ b/Common/DataModel/Multiplicity.h @@ -114,13 +114,17 @@ DECLARE_SOA_COLUMN(MultBCFT0C, multBCFT0C, float); //! DECLARE_SOA_COLUMN(MultBCFV0A, multBCFV0A, float); //! DECLARE_SOA_COLUMN(MultBCTVX, multBCTVX, bool); //! DECLARE_SOA_COLUMN(MultBCFV0OrA, multBCFV0OrA, bool); //! +DECLARE_SOA_COLUMN(MultBCV0triggerBits, multBCV0triggerBits, uint8_t); //! +DECLARE_SOA_COLUMN(MultBCTriggerMask, multBCTriggerMask, uint64_t); //! CTP trigger mask } // namespace multDebug DECLARE_SOA_TABLE(MultsBC, "AOD", "MULTBC", //! multBC::MultBCFT0A, multBC::MultBCFT0C, multBC::MultBCFV0A, multBC::MultBCTVX, - multBC::MultBCFV0OrA); + multBC::MultBCFV0OrA, + multBC::MultBCV0triggerBits, + multBC::MultBCTriggerMask); using MultBC = MultsBC::iterator; } // namespace o2::aod diff --git a/Common/TableProducer/multiplicityExtraTable.cxx b/Common/TableProducer/multiplicityExtraTable.cxx index 3bd28ebeb9f..eecda5efb63 100644 --- a/Common/TableProducer/multiplicityExtraTable.cxx +++ b/Common/TableProducer/multiplicityExtraTable.cxx @@ -41,11 +41,14 @@ struct MultiplicityExtraTable { float multFT0C = 0.f; float multFT0A = 0.f; float multFV0A = 0.f; + uint8_t multFV0TriggerBits = 0; + uint64_t multBCTriggerMask = bc.triggerMask(); if (bc.has_ft0()) { auto ft0 = bc.ft0(); std::bitset<8> triggers = ft0.triggerMask(); Tvx = triggers[o2::fit::Triggers::bitVertex]; + multFV0TriggerBits = static_cast(triggers.to_ulong()); // calculate T0 charge for (auto amplitude : ft0.amplitudeA()) { @@ -66,7 +69,7 @@ struct MultiplicityExtraTable { } // fv0 } - multBC(multFT0A, multFT0C, multFV0A, Tvx, isFV0OrA); + multBC(multFT0A, multFT0C, multFV0A, Tvx, isFV0OrA, multFV0TriggerBits, multBCTriggerMask); } };