Skip to content

Commit 9ccfc38

Browse files
Update FIT extra
1 parent 30963ec commit 9ccfc38

2 files changed

Lines changed: 265 additions & 144 deletions

File tree

Common/DataModel/FITExtra.h

Lines changed: 79 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -31,66 +31,96 @@ static constexpr int nADC = 4096; ///< Number of ADC channels
3131

3232
// Quantities copied straight from AOD
3333
// TODO: do we need them here?
34+
35+
// BCs
3436
DECLARE_SOA_COLUMN(RunNumber, runNumber, int);
3537
DECLARE_SOA_COLUMN(GlobalBC, globalBC, uint64_t);
3638
DECLARE_SOA_COLUMN(CTPtriggerMask, ctpTriggerMask, uint64_t);
3739
DECLARE_SOA_COLUMN(CTPinputMask, ctpInputMask, uint64_t);
3840

39-
DECLARE_SOA_COLUMN(BCId, bcId, int32_t); //! BC ID (o2::aod::collision::BCId)
41+
// Timestamps
42+
DECLARE_SOA_COLUMN(Timestamp, timestamp, uint64_t);
43+
44+
// EvSels
45+
DECLARE_SOA_COLUMN(Sel8, sel8, bool);
46+
DECLARE_SOA_COLUMN(HasFT0, hasFT0, bool);
47+
DECLARE_SOA_COLUMN(HasFV0, hasFV0, bool);
48+
DECLARE_SOA_COLUMN(HasFDD, hasFDD, bool);
49+
50+
// Collisions
51+
DECLARE_SOA_COLUMN(BCId, bcId, int32_t);
4052
DECLARE_SOA_COLUMN(PosX, posX, float);
4153
DECLARE_SOA_COLUMN(PosY, posY, float);
42-
DECLARE_SOA_COLUMN(PosZ, posZ, float); //! Primary vertex position in cm (o2::aod::‌collision::PosZ)
43-
DECLARE_SOA_COLUMN(Flags, flags, uint16_t); //! Collision flags (o2::aod::collision::Flags)
44-
DECLARE_SOA_COLUMN(NContrib, nContrib, int); //! Number of contributors to primary vertex (o2::aod::‌collision::NumContrib)
45-
DECLARE_SOA_COLUMN(CollisionTime, collisionTime, float); //! Collision time (o2::aod::collision::CollisionTime)
46-
DECLARE_SOA_COLUMN(CollisionTimeRes, collisionTimeRes, float); //! Collision time resolution (o2::aod::collision::CollisionTimeRes)
47-
48-
DECLARE_SOA_COLUMN(FT0TimeA, ft0timeA, float); //! FT0-A average time in ns (o2::aod::ft0::TimeA)
49-
DECLARE_SOA_COLUMN(FT0TimeC, ft0timeC, float); //! FT0-C average time in ns (o2::aod::ft0::TimeC)
50-
DECLARE_SOA_COLUMN(FT0TimeACorr, ft0timeACorr, float); //! FT0-A average time in ns corrected PV (o2::aod::ft0::T0ACorrected)
51-
DECLARE_SOA_COLUMN(FT0TimeCCorr, ft0timeCCorr, float); //! FT0-C average time in ns corrected PV (o2::aod::ft0::T0CCorrected)
52-
DECLARE_SOA_COLUMN(FT0Time, ft0time, float); //! FT0 collision time in ns (o2::aod::ft0::CollTime)
53-
DECLARE_SOA_COLUMN(FT0TimeRes, ft0timeRes, float); //! FT0 collision time resolution in ns (o2::aod::ft0::T0Resolution)
54-
DECLARE_SOA_COLUMN(FT0Vtx, ft0vtx, float); //! FT0 vertex in cm (o2::aod::ft0::PosZ)
55-
DECLARE_SOA_COLUMN(FT0ChAmpl, ft0chAmpl, std::vector<float>); //! FT0 channel amplitudes
56-
DECLARE_SOA_COLUMN(FT0TotAmplA, ft0totAmplA, float); //! FT0-A total amplitude (o2::aod::ft0::SumAmpA)
57-
DECLARE_SOA_COLUMN(FT0TotAmplC, ft0totAmplC, float); //! FT0-C total amplitude (o2::aod::ft0::SumAmpC)
58-
DECLARE_SOA_COLUMN(FT0TotAmplACheck, ft0totabletAmplACheck, float); //! FT0-A total amplitude computed from channel amplitudes (for cross check)
59-
DECLARE_SOA_COLUMN(FT0TotAmplCCheck, ft0totAmplCCheck, float); //! FT0-C total amplitude computed from channel amplitudes (for cross check)
60-
61-
DECLARE_SOA_COLUMN(FV0Time, fv0time, float); //! FV0 average time in ns (o2::aod::fv0a::Time)
62-
DECLARE_SOA_COLUMN(FV0ChAmpl, fv0chAmpl, std::vector<float>); //! FV0 channel amplitudes
63-
64-
DECLARE_SOA_COLUMN(FDDTimeA, fddtimeA, float); //! FDD-A average time in ns (o2::aod::fdd::TimeA)
65-
DECLARE_SOA_COLUMN(FDDTimeC, fddtimeC, float); //! FDD-C average time in ns (o2::aod::fdd::TimeC)
66-
DECLARE_SOA_COLUMN(FDDChAmpl, fddchAmpl, std::vector<float>); //! FDD channel amplitudes
67-
68-
// Derived quantities
69-
DECLARE_SOA_COLUMN(FV0TotAmpl, fv0totAmpl, float); //! FV0 total amplitude
70-
DECLARE_SOA_COLUMN(FDDTotAmplA, fddtotAmplA, float); //! FDD-A total amplitude
71-
DECLARE_SOA_COLUMN(FDDTotAmplC, fddtotAmplC, float); //! FDD-C total amplitude
72-
73-
// Event selection conditions straigt from AOD
74-
// TODO: do we need them here?
75-
DECLARE_SOA_COLUMN(Sel8, sel8, bool); //! (o2::aod::evsel::Sel8)
76-
DECLARE_SOA_COLUMN(HasFT0, hasFT0, bool); //! (o2::aod::collision::has_foundFT0())
77-
DECLARE_SOA_COLUMN(HasFV0, hasFV0, bool); //! (o2::aod::collision::has_foundFV0())
78-
DECLARE_SOA_COLUMN(HasFDD, hasFDD, bool); //! (o2::aod::collision::has_foundFDD())
79-
DECLARE_SOA_COLUMN(FT0Triggers, ft0Triggers, uint8_t); //! FT0 trigger mask (o2::aod::ft0::TriggerMask)
80-
DECLARE_SOA_COLUMN(FV0Triggers, fv0Triggers, uint8_t); //! FV0 trigger mask (o2::aod::fv0a::TriggerMask)
81-
DECLARE_SOA_COLUMN(FDDTriggers, fddTriggers, uint8_t); //! FDD trigger mask (o2::aod::fdd::TriggerMask)
54+
DECLARE_SOA_COLUMN(PosZ, posZ, float);
55+
DECLARE_SOA_COLUMN(Flags, flags, uint16_t);
56+
DECLARE_SOA_COLUMN(NumContrib, numContrib, uint16_t);
57+
DECLARE_SOA_COLUMN(CollisionTime, collisionTime, float);
58+
DECLARE_SOA_COLUMN(CollisionTimeRes, collisionTimeRes, float);
59+
60+
// FT0s
61+
DECLARE_SOA_COLUMN(FT0BCId, ft0BCId, int32_t);
62+
DECLARE_SOA_COLUMN(FT0AmplitudeA, ft0AmplitudeA, std::vector<float>);
63+
DECLARE_SOA_COLUMN(FT0ChannelA, ft0ChannelA, std::vector<uint8_t>);
64+
DECLARE_SOA_COLUMN(FT0AmplitudeC, ft0AmplitudeC, std::vector<float>);
65+
DECLARE_SOA_COLUMN(FT0ChannelC, ft0ChannelC, std::vector<uint8_t>);
66+
DECLARE_SOA_COLUMN(FT0TimeA, ft0TimeA, float);
67+
DECLARE_SOA_COLUMN(FT0TimeC, ft0TimeC, float);
68+
DECLARE_SOA_COLUMN(FT0TriggerMask, ft0TriggerMask, uint8_t);
69+
DECLARE_SOA_COLUMN(FT0PosZ, ft0PosZ, float);
70+
DECLARE_SOA_COLUMN(FT0CollTime, ft0CollTime, float);
71+
DECLARE_SOA_COLUMN(FT0SumAmpA, ft0SumAmpA, float);
72+
DECLARE_SOA_COLUMN(FT0SumAmpC, ft0SumAmpC, float);
73+
74+
// FT0sCorrected
75+
DECLARE_SOA_COLUMN(T0ACorrected, t0ACorrected, float);
76+
DECLARE_SOA_COLUMN(T0CCorrected, t0CCorrected, float);
77+
DECLARE_SOA_COLUMN(T0AC, t0AC, float);
78+
DECLARE_SOA_COLUMN(T0Resolution, t0resolution, float);
79+
80+
// FT0 derived quantities
81+
DECLARE_SOA_COLUMN(FT0ChAmpl, ft0ChAmpl, std::vector<float>); //! FT0 channel amplitudes, vector idx = ch ID
82+
DECLARE_SOA_COLUMN(FT0TotAmplA, ft0TotAmplA, float); //! FT0-A total amplitude computed from channel amplitudes (for cross check)
83+
DECLARE_SOA_COLUMN(FT0TotAmplC, ft0TotAmplC, float); //! FT0-C total amplitude computed from channel amplitudes(for cross check)
84+
85+
// FV0As
86+
DECLARE_SOA_COLUMN(FV0BCId, fv0BCId, int32_t);
87+
DECLARE_SOA_COLUMN(FV0Amplitude, fv0Amplitude, std::vector<float>);
88+
DECLARE_SOA_COLUMN(FV0Channel, fv0Channel, std::vector<uint8_t>);
89+
DECLARE_SOA_COLUMN(FV0Time, fv0Time, float);
90+
DECLARE_SOA_COLUMN(FV0TriggerMask, fv0TriggerMask, uint8_t);
91+
92+
// FV0 derived quantities
93+
DECLARE_SOA_COLUMN(FV0ChAmpl, fv0ChAmpl, std::vector<float>); //! FV0 channel amplitudes, vector idx = ch ID
94+
DECLARE_SOA_COLUMN(FV0TotAmpl, fv0TotAmpl, float);
95+
96+
// FDD
97+
DECLARE_SOA_COLUMN(FDDBCId, fddBCId, int32_t);
98+
DECLARE_SOA_COLUMN(FDDChargeA, fddChargeA, int16_t[8]);
99+
DECLARE_SOA_COLUMN(FDDChargeC, fddChargeC, int16_t[8]);
100+
DECLARE_SOA_COLUMN(FDDTimeA, fddTimeA, float);
101+
DECLARE_SOA_COLUMN(FDDTimeC, fddTimeC, float);
102+
DECLARE_SOA_COLUMN(FDDTriggerMask, fddTriggerMask, uint8_t);
103+
104+
// FDD derived quantities
105+
DECLARE_SOA_COLUMN(FDDChAmpl, fddChAmpl, std::vector<float>); //! FDD channel amplitudes, vector idx = ch ID
106+
DECLARE_SOA_COLUMN(FDDTotAmplA, fddTotAmplA, float);
107+
DECLARE_SOA_COLUMN(FDDTotAmplC, fddTotAmplC, float);
108+
82109
} // namespace fit
83110

84111
DECLARE_SOA_TABLE(FITExtras, "AOD", "FITEXTRA", //! Table with extra FIT information
85-
fit::Sel8, fit::HasFT0, fit::HasFV0, fit::HasFDD,
86-
fit::FT0Triggers, fit::FV0Triggers, fit::FDDTriggers,
87112
fit::RunNumber, fit::GlobalBC, fit::CTPtriggerMask, fit::CTPinputMask,
88-
fit::BCId, fit::PosX, fit::PosY, fit::PosZ, fit::Flags, fit::NContrib, fit::CollisionTime, fit::CollisionTimeRes,
89-
fit::FT0TimeA, fit::FT0TimeC, fit::FT0TimeACorr, fit::FT0TimeCCorr,
90-
fit::FT0Time, fit::FT0TimeRes, fit::FT0Vtx,
91-
fit::FT0ChAmpl, fit::FT0TotAmplA, fit::FT0TotAmplC, fit::FT0TotAmplACheck, fit::FT0TotAmplCCheck,
92-
fit::FV0Time, fit::FV0ChAmpl, fit::FV0TotAmpl,
93-
fit::FDDTimeA, fit::FDDTimeC, fit::FDDChAmpl, fit::FDDTotAmplA, fit::FDDTotAmplC);
113+
fit::Timestamp,
114+
fit::Sel8, fit::HasFT0, fit::HasFV0, fit::HasFDD,
115+
fit::BCId, fit::PosX, fit::PosY, fit::PosZ, fit::Flags, fit::NumContrib, fit::CollisionTime, fit::CollisionTimeRes,
116+
fit::FT0BCId, fit::FT0AmplitudeA, fit::FT0ChannelA, fit::FT0AmplitudeC, fit::FT0ChannelC,
117+
fit::FT0TimeA, fit::FT0TimeC, fit::FT0TriggerMask, fit::FT0PosZ, fit::FT0CollTime, fit::FT0SumAmpA, fit::FT0SumAmpC,
118+
fit::T0ACorrected, fit::T0CCorrected, fit::T0AC, fit::T0Resolution,
119+
fit::FT0ChAmpl, fit::FT0TotAmplA, fit::FT0TotAmplC,
120+
fit::FV0BCId, fit::FV0Amplitude, fit::FV0Channel, fit::FV0Time, fit::FV0TriggerMask,
121+
fit::FV0ChAmpl, fit::FV0TotAmpl,
122+
fit::FDDBCId, fit::FDDChargeA, fit::FDDChargeC, fit::FDDTimeA, fit::FDDTimeC, fit::FDDTriggerMask,
123+
fit::FDDChAmpl, fit::FDDTotAmplA, fit::FDDTotAmplC);
94124

95125
using FITExtra = FITExtras::iterator;
96126

0 commit comments

Comments
 (0)