Skip to content

Commit 9812168

Browse files
authored
Merge branch 'AliceO2Group:master' into jethadronBranch
2 parents 65d930e + fe31180 commit 9812168

File tree

5 files changed

+329
-70
lines changed

5 files changed

+329
-70
lines changed

PWGDQ/Core/VarManager.cxx

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1967,4 +1967,56 @@ void VarManager::SetDefaultVarNames()
19671967
fgVarNamesMap["kBdtBackground"] = kBdtBackground;
19681968
fgVarNamesMap["kBdtPrompt"] = kBdtPrompt;
19691969
fgVarNamesMap["kBdtNonprompt"] = kBdtNonprompt;
1970+
fgVariableNames[kAmplitudeFT0A] = "FT0A amplitude";
1971+
fgVariableUnits[kAmplitudeFT0A] = "a.u.";
1972+
fgVariableNames[kAmplitudeFT0C] = "FT0C amplitude";
1973+
fgVariableUnits[kAmplitudeFT0C] = "a.u.";
1974+
fgVariableNames[kTimeFT0A] = "FT0A time";
1975+
fgVariableUnits[kTimeFT0A] = "ns";
1976+
fgVariableNames[kTimeFT0C] = "FT0C time";
1977+
fgVariableUnits[kTimeFT0C] = "ns";
1978+
fgVariableNames[kTriggerMaskFT0] = "FT0 trigger mask";
1979+
fgVariableUnits[kTriggerMaskFT0] = "";
1980+
fgVariableNames[kNFiredChannelsFT0A] = "FT0A fired channels";
1981+
fgVariableUnits[kNFiredChannelsFT0A] = "";
1982+
fgVariableNames[kNFiredChannelsFT0C] = "FT0C fired channels";
1983+
fgVariableUnits[kNFiredChannelsFT0C] = "";
1984+
fgVariableNames[kAmplitudeFDDA] = "FDDA amplitude";
1985+
fgVariableUnits[kAmplitudeFDDA] = "a.u.";
1986+
fgVariableNames[kAmplitudeFDDC] = "FDDC amplitude";
1987+
fgVariableUnits[kAmplitudeFDDC] = "a.u.";
1988+
fgVariableNames[kTimeFDDA] = "FDDA time";
1989+
fgVariableUnits[kTimeFDDA] = "ns";
1990+
fgVariableNames[kTimeFDDC] = "FDDC time";
1991+
fgVariableUnits[kTimeFDDC] = "ns";
1992+
fgVariableNames[kTriggerMaskFDD] = "FDD trigger mask";
1993+
fgVariableUnits[kTriggerMaskFDD] = "";
1994+
fgVariableNames[kAmplitudeFV0A] = "FV0A amplitude";
1995+
fgVariableUnits[kAmplitudeFV0A] = "a.u.";
1996+
fgVariableNames[kTimeFV0A] = "FV0A time";
1997+
fgVariableUnits[kTimeFV0A] = "ns";
1998+
fgVariableNames[kTriggerMaskFV0A] = "FV0A trigger mask";
1999+
fgVariableUnits[kTriggerMaskFV0A] = "";
2000+
fgVariableNames[kNFiredChannelsFV0A] = "FV0A fired channels";
2001+
fgVariableUnits[kNFiredChannelsFV0A] = "";
2002+
fgVariableNames[kBBFT0Apf] = "FT0A BB pileup flag";
2003+
fgVariableUnits[kBBFT0Apf] = "";
2004+
fgVariableNames[kBGFT0Apf] = "FT0A BG pileup flag";
2005+
fgVariableUnits[kBGFT0Apf] = "";
2006+
fgVariableNames[kBBFT0Cpf] = "FT0C BB pileup flag";
2007+
fgVariableUnits[kBBFT0Cpf] = "";
2008+
fgVariableNames[kBGFT0Cpf] = "FT0C BG pileup flag";
2009+
fgVariableUnits[kBGFT0Cpf] = "";
2010+
fgVariableNames[kBBFV0Apf] = "FV0A BB pileup flag";
2011+
fgVariableUnits[kBBFV0Apf] = "";
2012+
fgVariableNames[kBGFV0Apf] = "FV0A BG pileup flag";
2013+
fgVariableUnits[kBGFV0Apf] = "";
2014+
fgVariableNames[kBBFDDApf] = "FDDA BB pileup flag";
2015+
fgVariableUnits[kBBFDDApf] = "";
2016+
fgVariableNames[kBGFDDApf] = "FDDA BG pileup flag";
2017+
fgVariableUnits[kBGFDDApf] = "";
2018+
fgVariableNames[kBBFDDCpf] = "FDDC BB pileup flag";
2019+
fgVariableUnits[kBBFDDCpf] = "";
2020+
fgVariableNames[kBGFDDCpf] = "FDDC BG pileup flag";
2021+
fgVariableUnits[kBGFDDCpf] = "";
19702022
}

PWGDQ/Core/VarManager.h

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#define HomogeneousField
2222
#endif
2323

24+
#include "PWGUD/Core/UDHelpers.h"
25+
2426
#include "Common/CCDB/EventSelectionParams.h"
2527
#include "Common/CCDB/TriggerAliases.h"
2628
#include "Common/Core/CollisionTypeHelper.h"
@@ -108,6 +110,7 @@ class VarManager : public TObject
108110
ReducedEventMultExtra = BIT(19),
109111
CollisionQvectCentr = BIT(20),
110112
RapidityGapFilter = BIT(21),
113+
ReducedFit = BIT(22),
111114
Track = BIT(0),
112115
TrackCov = BIT(1),
113116
TrackExtra = BIT(2),
@@ -898,6 +901,34 @@ class VarManager : public TObject
898901
kBdtPrompt,
899902
kBdtNonprompt,
900903

904+
// FIT detector variables
905+
kAmplitudeFT0A,
906+
kAmplitudeFT0C,
907+
kTimeFT0A,
908+
kTimeFT0C,
909+
kTriggerMaskFT0,
910+
kAmplitudeFDDA,
911+
kAmplitudeFDDC,
912+
kTimeFDDA,
913+
kTimeFDDC,
914+
kTriggerMaskFDD,
915+
kAmplitudeFV0A,
916+
kTimeFV0A,
917+
kTriggerMaskFV0A,
918+
kBBFT0Apf,
919+
kBGFT0Apf,
920+
kBBFT0Cpf,
921+
kBGFT0Cpf,
922+
kBBFV0Apf,
923+
kBGFV0Apf,
924+
kBBFDDApf,
925+
kBGFDDApf,
926+
kBBFDDCpf,
927+
kBGFDDCpf,
928+
kNFiredChannelsFT0A,
929+
kNFiredChannelsFT0C,
930+
kNFiredChannelsFV0A,
931+
901932
kNVars
902933
}; // end of Variables enumeration
903934

@@ -1196,6 +1227,8 @@ class VarManager : public TObject
11961227
static void FillZDC(const T& zdc, float* values = nullptr);
11971228
template <typename T>
11981229
static void FillBdtScore(const T& bdtScore, float* values = nullptr);
1230+
template <typename T1, typename T2, typename T3, typename T4, typename T5>
1231+
static void FillFIT(const T1& bc, const T2& bcs, const T3& ft0s, const T4& fv0as, const T5& fdds, float* values = nullptr);
11991232

12001233
static void SetCalibrationObject(CalibObjects calib, TObject* obj)
12011234
{
@@ -5836,5 +5869,60 @@ float VarManager::LorentzTransformJpsihadroncosChi(TString Option, T1 const& v1,
58365869
}
58375870
return value;
58385871
}
5872+
template <typename T1, typename T2, typename T3, typename T4, typename T5>
5873+
void VarManager::FillFIT(T1 const& bc, T2 const& bcs, T3 const& ft0s, T4 const& fv0as, T5 const& fdds, float* values)
5874+
{
5875+
if (!values) {
5876+
values = fgValues;
5877+
}
58395878

5879+
// Initialize FIT info structure
5880+
upchelpers::FITInfo fitInfo{};
5881+
udhelpers::getFITinfo(fitInfo, bc, bcs, ft0s, fv0as, fdds);
5882+
5883+
// Fill FT0 information
5884+
values[kAmplitudeFT0A] = fitInfo.ampFT0A;
5885+
values[kAmplitudeFT0C] = fitInfo.ampFT0C;
5886+
values[kTimeFT0A] = fitInfo.timeFT0A;
5887+
values[kTimeFT0C] = fitInfo.timeFT0C;
5888+
values[kTriggerMaskFT0] = static_cast<float>(fitInfo.triggerMaskFT0);
5889+
const auto ft0Index = bc.ft0Id();
5890+
if (ft0Index < 0 || ft0Index >= ft0s.size()) {
5891+
values[kNFiredChannelsFT0A] = -1;
5892+
values[kNFiredChannelsFT0C] = -1;
5893+
} else {
5894+
const auto ft0 = ft0s.iteratorAt(ft0Index);
5895+
values[kNFiredChannelsFT0A] = ft0.channelA().size();
5896+
values[kNFiredChannelsFT0C] = ft0.channelC().size();
5897+
}
5898+
// Fill FDD information
5899+
values[kAmplitudeFDDA] = fitInfo.ampFDDA;
5900+
values[kAmplitudeFDDC] = fitInfo.ampFDDC;
5901+
values[kTimeFDDA] = fitInfo.timeFDDA;
5902+
values[kTimeFDDC] = fitInfo.timeFDDC;
5903+
values[kTriggerMaskFDD] = static_cast<float>(fitInfo.triggerMaskFDD);
5904+
5905+
// Fill FV0A information
5906+
values[kAmplitudeFV0A] = fitInfo.ampFV0A;
5907+
values[kTimeFV0A] = fitInfo.timeFV0A;
5908+
values[kTriggerMaskFV0A] = static_cast<float>(fitInfo.triggerMaskFV0A);
5909+
const auto fv0aIndex = bc.fv0aId();
5910+
if (fv0aIndex < 0 || fv0aIndex >= fv0as.size()) {
5911+
values[kNFiredChannelsFV0A] = -1;
5912+
} else {
5913+
const auto fv0a = fv0as.iteratorAt(fv0aIndex);
5914+
values[kNFiredChannelsFV0A] = fv0a.channel().size();
5915+
}
5916+
// Fill pileup flags
5917+
values[kBBFT0Apf] = static_cast<float>(fitInfo.BBFT0Apf);
5918+
values[kBGFT0Apf] = static_cast<float>(fitInfo.BGFT0Apf);
5919+
values[kBBFT0Cpf] = static_cast<float>(fitInfo.BBFT0Cpf);
5920+
values[kBGFT0Cpf] = static_cast<float>(fitInfo.BGFT0Cpf);
5921+
values[kBBFV0Apf] = static_cast<float>(fitInfo.BBFV0Apf);
5922+
values[kBGFV0Apf] = static_cast<float>(fitInfo.BGFV0Apf);
5923+
values[kBBFDDApf] = static_cast<float>(fitInfo.BBFDDApf);
5924+
values[kBGFDDApf] = static_cast<float>(fitInfo.BGFDDApf);
5925+
values[kBBFDDCpf] = static_cast<float>(fitInfo.BBFDDCpf);
5926+
values[kBGFDDCpf] = static_cast<float>(fitInfo.BGFDDCpf);
5927+
}
58405928
#endif // PWGDQ_CORE_VARMANAGER_H_

PWGDQ/DataModel/ReducedInfoTables.h

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ namespace o2::aod
3535

3636
namespace dqppfilter
3737
{
38-
DECLARE_SOA_COLUMN(EventFilter, eventFilter, uint64_t); //! Bit-field used for the high level event triggering
39-
DECLARE_SOA_COLUMN(NewBcIndex, newBcIndex, uint64_t); //! globalIndex of the new BC determined in filterPbPb
38+
DECLARE_SOA_COLUMN(EventFilter, eventFilter, uint64_t); //! Bit-field used for the high level event triggering
39+
DECLARE_SOA_COLUMN(NewBcIndex, newBcIndex, uint64_t); //! globalIndex of the new BC determined in filterPbPb
4040
} // namespace dqppfilter
4141

4242
DECLARE_SOA_TABLE(DQEventFilter, "AOD", "EVENTFILTER", //! Store event-level decisions (DQ high level triggers)
@@ -273,6 +273,56 @@ DECLARE_SOA_TABLE(ReducedZdcsExtra, "AOD", "REDUCEDZDCEXTRA", //! Event ZDC ex
273273
using ReducedZdc = ReducedZdcs::iterator;
274274
using ReducedZdcExtra = ReducedZdcsExtra::iterator;
275275

276+
namespace reducedfit
277+
{
278+
// FIT detector information (based on upchelpers::FITInfo structure)
279+
DECLARE_SOA_COLUMN(AmplitudeFT0A, amplitudeFT0A, float); //! FT0A total amplitude
280+
DECLARE_SOA_COLUMN(AmplitudeFT0C, amplitudeFT0C, float); //! FT0C total amplitude
281+
DECLARE_SOA_COLUMN(TimeFT0A, timeFT0A, float); //! FT0A time
282+
DECLARE_SOA_COLUMN(TimeFT0C, timeFT0C, float); //! FT0C time
283+
DECLARE_SOA_COLUMN(TriggerMaskFT0, triggerMaskFT0, uint8_t); //! FT0 trigger mask
284+
DECLARE_SOA_COLUMN(NFiredChannelsFT0A, nFiredChannelsFT0A, int); //! Number of fired channels in FT0A
285+
DECLARE_SOA_COLUMN(NFiredChannelsFT0C, nFiredChannelsFT0C, int); //! Number of fired channels in FT0C
286+
DECLARE_SOA_COLUMN(AmplitudeFDDA, amplitudeFDDA, float); //! FDDA total amplitude
287+
DECLARE_SOA_COLUMN(AmplitudeFDDC, amplitudeFDDC, float); //! FDDC total amplitude
288+
DECLARE_SOA_COLUMN(TimeFDDA, timeFDDA, float); //! FDDA time
289+
DECLARE_SOA_COLUMN(TimeFDDC, timeFDDC, float); //! FDDC time
290+
DECLARE_SOA_COLUMN(TriggerMaskFDD, triggerMaskFDD, uint8_t); //! FDD trigger mask
291+
DECLARE_SOA_COLUMN(AmplitudeFV0A, amplitudeFV0A, float); //! FV0A total amplitude
292+
DECLARE_SOA_COLUMN(TimeFV0A, timeFV0A, float); //! FV0A time
293+
DECLARE_SOA_COLUMN(TriggerMaskFV0A, triggerMaskFV0A, uint8_t); //! FV0A trigger mask
294+
DECLARE_SOA_COLUMN(NFiredChannelsFV0A, nFiredChannelsFV0A, int); //! Number of fired channels in FV0A
295+
DECLARE_SOA_COLUMN(BBFT0Apf, bbFT0Apf, int32_t); //! Beam-beam flags for FT0A
296+
DECLARE_SOA_COLUMN(BGFT0Apf, bgFT0Apf, int32_t); //! Beam-gas flags for FT0A
297+
DECLARE_SOA_COLUMN(BBFT0Cpf, bbFT0Cpf, int32_t); //! Beam-beam flags for FT0C
298+
DECLARE_SOA_COLUMN(BGFT0Cpf, bgFT0Cpf, int32_t); //! Beam-gas flags for FT0C
299+
DECLARE_SOA_COLUMN(BBFV0Apf, bbFV0Apf, int32_t); //! Beam-beam flags for FV0A
300+
DECLARE_SOA_COLUMN(BGFV0Apf, bgFV0Apf, int32_t); //! Beam-gas flags for FV0A
301+
DECLARE_SOA_COLUMN(BBFDDApf, bbFDDApf, int32_t); //! Beam-beam flags for FDDA
302+
DECLARE_SOA_COLUMN(BGFDDApf, bgFDDApf, int32_t); //! Beam-gas flags for FDDA
303+
DECLARE_SOA_COLUMN(BBFDDCpf, bbFDDCpf, int32_t); //! Beam-beam flags for FDDC
304+
DECLARE_SOA_COLUMN(BGFDDCpf, bgFDDCpf, int32_t); //! Beam-gas flags for FDDC
305+
} // namespace reducedfit
306+
307+
DECLARE_SOA_TABLE(ReducedFITs, "AOD", "REDUCEDFIT", //! FIT detector information
308+
reducedfit::AmplitudeFT0A, reducedfit::AmplitudeFT0C,
309+
reducedfit::TimeFT0A, reducedfit::TimeFT0C,
310+
reducedfit::TriggerMaskFT0,
311+
reducedfit::NFiredChannelsFT0A, reducedfit::NFiredChannelsFT0C,
312+
reducedfit::AmplitudeFDDA, reducedfit::AmplitudeFDDC,
313+
reducedfit::TimeFDDA, reducedfit::TimeFDDC,
314+
reducedfit::TriggerMaskFDD,
315+
reducedfit::AmplitudeFV0A, reducedfit::TimeFV0A,
316+
reducedfit::TriggerMaskFV0A,
317+
reducedfit::NFiredChannelsFV0A,
318+
reducedfit::BBFT0Apf, reducedfit::BGFT0Apf,
319+
reducedfit::BBFT0Cpf, reducedfit::BGFT0Cpf,
320+
reducedfit::BBFV0Apf, reducedfit::BGFV0Apf,
321+
reducedfit::BBFDDApf, reducedfit::BGFDDApf,
322+
reducedfit::BBFDDCpf, reducedfit::BGFDDCpf);
323+
324+
using ReducedFIT = ReducedFITs::iterator;
325+
276326
namespace reducedtrack
277327
{
278328
// basic track information

0 commit comments

Comments
 (0)