From aaafef87acdd77277a4cc4c8bc43439abf697fe0 Mon Sep 17 00:00:00 2001 From: sigurd Date: Thu, 11 Jun 2026 16:23:42 +0200 Subject: [PATCH] Add FT0 orA and orC triggers and FT0 combined amplitude to the VarManager --- PWGDQ/Core/VarManager.cxx | 5 +++++ PWGDQ/Core/VarManager.h | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/PWGDQ/Core/VarManager.cxx b/PWGDQ/Core/VarManager.cxx index cf3c7a4b1b2..1faf6c8731e 100644 --- a/PWGDQ/Core/VarManager.cxx +++ b/PWGDQ/Core/VarManager.cxx @@ -1739,6 +1739,8 @@ void VarManager::SetDefaultVarNames() fgVariableUnits[kAmplitudeFT0A] = "a.u."; fgVariableNames[kAmplitudeFT0C] = "FT0C amplitude"; fgVariableUnits[kAmplitudeFT0C] = "a.u."; + fgVariableNames[kAmplitudeFT0M] = "FT0M amplitude"; + fgVariableUnits[kAmplitudeFT0M] = "a.u."; fgVariableNames[kTimeFT0A] = "FT0A time"; fgVariableUnits[kTimeFT0A] = "ns"; fgVariableNames[kTimeFT0C] = "FT0C time"; @@ -2658,6 +2660,9 @@ void VarManager::SetDefaultVarNames() fgVarNamesMap["kBdtNonprompt"] = kBdtNonprompt; fgVarNamesMap["kAmplitudeFT0A"] = kAmplitudeFT0A; fgVarNamesMap["kAmplitudeFT0C"] = kAmplitudeFT0C; + fgVarNamesMap["kAmplitudeFT0M"] = kAmplitudeFT0M; + fgVarNamesMap["kFT0OrA"] = kFT0OrA; + fgVarNamesMap["kFT0OrC"] = kFT0OrC; fgVarNamesMap["kTimeFT0A"] = kTimeFT0A; fgVarNamesMap["kTimeFT0C"] = kTimeFT0C; fgVarNamesMap["kTriggerMaskFT0"] = kTriggerMaskFT0; diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index baf8e6c5511..f2b48e3d71f 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -1022,9 +1023,12 @@ class VarManager : public TObject // FIT detector variables kAmplitudeFT0A, kAmplitudeFT0C, + kAmplitudeFT0M, kTimeFT0A, kTimeFT0C, kTriggerMaskFT0, + kFT0OrA, + kFT0OrC, kAmplitudeFDDA, kAmplitudeFDDC, kTimeFDDA, @@ -2434,9 +2438,12 @@ void VarManager::FillEvent(T const& event, float* values) if constexpr ((fillMap & ReducedFit) > 0) { values[kAmplitudeFT0A] = event.amplitudeFT0A(); values[kAmplitudeFT0C] = event.amplitudeFT0C(); + values[kAmplitudeFT0M] = values[kAmplitudeFT0A] + values[kAmplitudeFT0C]; values[kTimeFT0A] = event.timeFT0A(); values[kTimeFT0C] = event.timeFT0C(); values[kTriggerMaskFT0] = event.triggerMaskFT0(); + values[kFT0OrA] = TESTBIT(event.triggerMaskFT0(), o2::fit::Triggers::bitA); + values[kFT0OrC] = TESTBIT(event.triggerMaskFT0(), o2::fit::Triggers::bitC); values[kNFiredChannelsFT0A] = event.nFiredChannelsFT0A(); values[kNFiredChannelsFT0C] = event.nFiredChannelsFT0C(); values[kAmplitudeFDDA] = event.amplitudeFDDA(); @@ -6797,9 +6804,12 @@ void VarManager::FillFIT(T1 const& bc, T2 const& bcs, T3 const& ft0s, T4 const& // Fill FT0 information values[kAmplitudeFT0A] = fitInfo.ampFT0A; values[kAmplitudeFT0C] = fitInfo.ampFT0C; + values[kAmplitudeFT0M] = values[kAmplitudeFT0A] + values[kAmplitudeFT0C]; values[kTimeFT0A] = fitInfo.timeFT0A; values[kTimeFT0C] = fitInfo.timeFT0C; values[kTriggerMaskFT0] = static_cast(fitInfo.triggerMaskFT0); + values[kFT0OrA] = TESTBIT(fitInfo.triggerMaskFT0, o2::fit::Triggers::bitA); + values[kFT0OrC] = TESTBIT(fitInfo.triggerMaskFT0, o2::fit::Triggers::bitC); const auto ft0Index = bc.ft0Id(); if (ft0Index < 0 || ft0Index >= ft0s.size()) { values[kNFiredChannelsFT0A] = -1;