From 8027826406525107d268f8678ac85bad01115291 Mon Sep 17 00:00:00 2001 From: Wiktor Pierozak Date: Tue, 21 Jul 2026 09:54:49 +0200 Subject: [PATCH 1/7] created fv0::TimeFilter and fv0::ChargeFilter classes for reco configuration --- DataFormats/Detectors/FIT/FV0/CMakeLists.txt | 4 +- .../include/DataFormatsFV0/RecoFilterParam.h | 48 +++++++++++++++++++ .../Detectors/FIT/FV0/src/RecoFilterParam.cxx | 16 +++++++ 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h create mode 100644 DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx diff --git a/DataFormats/Detectors/FIT/FV0/CMakeLists.txt b/DataFormats/Detectors/FIT/FV0/CMakeLists.txt index 35bc653a8234e..1f3d4a7660f59 100644 --- a/DataFormats/Detectors/FIT/FV0/CMakeLists.txt +++ b/DataFormats/Detectors/FIT/FV0/CMakeLists.txt @@ -17,6 +17,7 @@ o2_add_library(DataFormatsFV0 src/RawEventData.cxx src/CTF.cxx src/LookUpTable.cxx + src/RecoFilterParam.cxx PUBLIC_LINK_LIBRARIES O2::FV0Base O2::DataFormatsFIT O2::SimulationDataFormat @@ -35,4 +36,5 @@ o2_target_root_dictionary(DataFormatsFV0 include/DataFormatsFV0/RecPoints.h include/DataFormatsFV0/RawEventData.h include/DataFormatsFV0/LookUpTable.h - include/DataFormatsFV0/CTF.h) + include/DataFormatsFV0/CTF.h + include/DataFormatsFV0/RecoFilterParam.h) diff --git a/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h new file mode 100644 index 0000000000000..6e1f13c9e1d21 --- /dev/null +++ b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h @@ -0,0 +1,48 @@ +// Copyright 2019-2020 CERN and copyright holders of ALICE O2. +// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. +// All rights not expressly granted are reserved. +// +// This software is distributed under the terms of the GNU General Public +// License v3 (GPL Version 3), copied verbatim in the file "COPYING". +// +// In applying this license CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +#ifndef ALICEO2_FV0_DIGIT_FILTER_PARAM +#define ALICEO2_FV0_DIGIT_FILTER_PARAM + +#include "CommonUtils/ConfigurableParamHelper.h" + +namespace o2::fv0 +{ +struct ChargeFilter : o2::conf::ConfigurableParamHelper { + int16_t mAmplitudeLowerThreshold = 24; // only channels with amplitude higher will participate in calibration and collision time + int16_t mAmplitudeThreholdForMeanTime = 5; // Charge threshold, only above which the time is taken into account in calculating the mean time of all qualifying channels + + bool validForMeanTimeCalculation(int16_t charge) + { + return charge > mAmplitudeThreholdForMeanTime; + } + + bool validForCalibrationAndCollisionTime(int16_t charge) + { + return charge > mAmplitudeLowerThreshold; + } + + O2ParamDef(ChargeFilter, "FV0RecoChargeFilter"); +}; + +struct TimeFilter : o2::conf::ConfigurableParamHelper { + double mTimeUpperThershold = 1000.0; // only channels with time below will participate in calibration and collision time + bool validForCalibrationAndCollisionTime(double time) + { + return time < mTimeUpperThershold; + } + + O2ParamDef(TimeFilter, "FV0RecoTimeFilter"); +}; + +} // namespace o2::fv0 + +#endif \ No newline at end of file diff --git a/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx b/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx new file mode 100644 index 0000000000000..654a0121e5991 --- /dev/null +++ b/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx @@ -0,0 +1,16 @@ +// Copyright 2019-2020 CERN and copyright holders of ALICE O2. +// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. +// All rights not expressly granted are reserved. +// +// This software is distributed under the terms of the GNU General Public +// License v3 (GPL Version 3), copied verbatim in the file "COPYING". +// +// In applying this license CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +#include "DataFormatsFV0/RecoFilterParam.h" + +using namespace o2::fv0; +O2ParamImpl(ChargeFilter); +O2ParamImpl(TimeFilter); \ No newline at end of file From 1c13b43b56b25771f8eb632d028d399213a910c3 Mon Sep 17 00:00:00 2001 From: Wiktor Pierozak Date: Tue, 21 Jul 2026 12:28:21 +0200 Subject: [PATCH 2/7] replaced Digit configuration opitons with ChargeFilter and TimeFilter parameters in BaseRecoTask --- DataFormats/Detectors/FIT/FV0/CMakeLists.txt | 3 ++- .../include/DataFormatsFV0/RecoFilterParam.h | 18 +++++++++--------- .../FIT/FV0/src/DataFormatsFV0LinkDef.h | 2 ++ .../FV0/reconstruction/src/BaseRecoTask.cxx | 7 ++++--- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/DataFormats/Detectors/FIT/FV0/CMakeLists.txt b/DataFormats/Detectors/FIT/FV0/CMakeLists.txt index 1f3d4a7660f59..0c9869e3b97a7 100644 --- a/DataFormats/Detectors/FIT/FV0/CMakeLists.txt +++ b/DataFormats/Detectors/FIT/FV0/CMakeLists.txt @@ -37,4 +37,5 @@ o2_target_root_dictionary(DataFormatsFV0 include/DataFormatsFV0/RawEventData.h include/DataFormatsFV0/LookUpTable.h include/DataFormatsFV0/CTF.h - include/DataFormatsFV0/RecoFilterParam.h) + include/DataFormatsFV0/RecoFilterParam.h +) diff --git a/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h index 6e1f13c9e1d21..1948b5546a307 100644 --- a/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h +++ b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h @@ -17,27 +17,27 @@ namespace o2::fv0 { struct ChargeFilter : o2::conf::ConfigurableParamHelper { - int16_t mAmplitudeLowerThreshold = 24; // only channels with amplitude higher will participate in calibration and collision time - int16_t mAmplitudeThreholdForMeanTime = 5; // Charge threshold, only above which the time is taken into account in calculating the mean time of all qualifying channels + double AmplitudeLowerThreshold = 24; // only channels with amplitude higher will participate in calibration and collision time + double AmplitudeThreholdForMeanTime = 5; // Charge threshold, only above which the time is taken into account in calculating the mean time of all qualifying channels - bool validForMeanTimeCalculation(int16_t charge) + bool validForMeanTimeCalculation(double charge) const { - return charge > mAmplitudeThreholdForMeanTime; + return charge > AmplitudeThreholdForMeanTime; } - bool validForCalibrationAndCollisionTime(int16_t charge) + bool validForCalibrationAndCollisionTime(double charge) const { - return charge > mAmplitudeLowerThreshold; + return charge > AmplitudeLowerThreshold; } O2ParamDef(ChargeFilter, "FV0RecoChargeFilter"); }; struct TimeFilter : o2::conf::ConfigurableParamHelper { - double mTimeUpperThershold = 1000.0; // only channels with time below will participate in calibration and collision time - bool validForCalibrationAndCollisionTime(double time) + double TimeUpperThershold = 1000.0; // only channels with time below will participate in calibration and collision time + bool validForCalibrationAndCollisionTime(double time) const { - return time < mTimeUpperThershold; + return time < TimeUpperThershold; } O2ParamDef(TimeFilter, "FV0RecoTimeFilter"); diff --git a/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h b/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h index ab23b4aa727bc..1716497a9cf2a 100644 --- a/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h +++ b/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h @@ -40,4 +40,6 @@ #pragma link C++ class o2::fv0::FV0CalibrationInfoObject + ; #pragma link C++ class o2::fv0::FV0ChannelTimeCalibrationObject + ; +#pragma link C++ class o2::fv0::ChargeFilter + ; +#pragma link C++ class o2::fv0::TimeFilter + ; #endif diff --git a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx index 8032220f8996d..266dcabf2ba34 100644 --- a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx +++ b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx @@ -17,6 +17,7 @@ #include "FV0Base/Geometry.h" #include "FV0Simulation/FV0DigParam.h" #include "FV0Simulation/DigitizationConstant.h" +#include "DataFormatsFV0/RecoFilterParam.h" #include #include #include @@ -56,14 +57,14 @@ RP BaseRecoTask::process(o2::fv0::Digit const& bcd, const auto& currentOutCh = outChData.back(); // Conditions for reconstructing collision time (3 variants: first, average-relaxed and average-tight) - if (currentOutCh.charge > FV0DigParam::Instance().chargeThrForMeanTime) { + if(ChargeFilter::Instance().validForMeanTimeCalculation(currentOutCh.charge)) { sideAtimeFirst = std::min(static_cast(sideAtimeFirst), currentOutCh.time); if (inChData[ich].areAllFlagsGood()) { - if (std::abs(currentOutCh.time) < FV0DigParam::Instance().mTimeThresholdForReco) { + if (TimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { sideAtimeAvg += currentOutCh.time; ndigitsA++; } - if (currentOutCh.charge > FV0DigParam::Instance().mAmpThresholdForReco && std::abs(currentOutCh.time) < FV0DigParam::Instance().mTimeThresholdForReco) { + if(ChargeFilter::Instance().validForCalibrationAndCollisionTime(currentOutCh.charge) && TimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { sideAtimeAvgSelected += currentOutCh.time; ndigitsASelected++; } From 084748ce58baff22d3c1e2b0036ae8f12ff01462 Mon Sep 17 00:00:00 2001 From: Wiktor Pierozak Date: Tue, 21 Jul 2026 12:28:45 +0200 Subject: [PATCH 3/7] clang-format --- Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx index 266dcabf2ba34..784af34540c71 100644 --- a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx +++ b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx @@ -57,14 +57,14 @@ RP BaseRecoTask::process(o2::fv0::Digit const& bcd, const auto& currentOutCh = outChData.back(); // Conditions for reconstructing collision time (3 variants: first, average-relaxed and average-tight) - if(ChargeFilter::Instance().validForMeanTimeCalculation(currentOutCh.charge)) { + if (ChargeFilter::Instance().validForMeanTimeCalculation(currentOutCh.charge)) { sideAtimeFirst = std::min(static_cast(sideAtimeFirst), currentOutCh.time); if (inChData[ich].areAllFlagsGood()) { if (TimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { sideAtimeAvg += currentOutCh.time; ndigitsA++; } - if(ChargeFilter::Instance().validForCalibrationAndCollisionTime(currentOutCh.charge) && TimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { + if (ChargeFilter::Instance().validForCalibrationAndCollisionTime(currentOutCh.charge) && TimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { sideAtimeAvgSelected += currentOutCh.time; ndigitsASelected++; } From 21b8265d4d5095d7ff923a3bf311b804c21a1e81 Mon Sep 17 00:00:00 2001 From: Wiktor Pierozak Date: Mon, 3 Aug 2026 14:26:58 +0200 Subject: [PATCH 4/7] prefixed FV0 reco configuration structure with 'FV0Reco' --- .../FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h | 8 ++++---- DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h | 4 ++-- DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx | 4 ++-- Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h index 1948b5546a307..2fd2e95bb4d4c 100644 --- a/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h +++ b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h @@ -16,7 +16,7 @@ namespace o2::fv0 { -struct ChargeFilter : o2::conf::ConfigurableParamHelper { +struct FV0RecoChargeFilter : o2::conf::ConfigurableParamHelper { double AmplitudeLowerThreshold = 24; // only channels with amplitude higher will participate in calibration and collision time double AmplitudeThreholdForMeanTime = 5; // Charge threshold, only above which the time is taken into account in calculating the mean time of all qualifying channels @@ -30,17 +30,17 @@ struct ChargeFilter : o2::conf::ConfigurableParamHelper { return charge > AmplitudeLowerThreshold; } - O2ParamDef(ChargeFilter, "FV0RecoChargeFilter"); + O2ParamDef(FV0RecoChargeFilter, "FV0RecoChargeFilter"); }; -struct TimeFilter : o2::conf::ConfigurableParamHelper { +struct FV0RecoTimeFilter : o2::conf::ConfigurableParamHelper { double TimeUpperThershold = 1000.0; // only channels with time below will participate in calibration and collision time bool validForCalibrationAndCollisionTime(double time) const { return time < TimeUpperThershold; } - O2ParamDef(TimeFilter, "FV0RecoTimeFilter"); + O2ParamDef(FV0RecoTimeFilter, "FV0RecoTimeFilter"); }; } // namespace o2::fv0 diff --git a/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h b/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h index 1716497a9cf2a..d5e2e96edecc4 100644 --- a/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h +++ b/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h @@ -40,6 +40,6 @@ #pragma link C++ class o2::fv0::FV0CalibrationInfoObject + ; #pragma link C++ class o2::fv0::FV0ChannelTimeCalibrationObject + ; -#pragma link C++ class o2::fv0::ChargeFilter + ; -#pragma link C++ class o2::fv0::TimeFilter + ; +#pragma link C++ class o2::fv0::FV0RecoChargeFilter + ; +#pragma link C++ class o2::fv0::FV0RecoTimeFilter + ; #endif diff --git a/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx b/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx index 654a0121e5991..1ae302a013df2 100644 --- a/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx +++ b/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx @@ -12,5 +12,5 @@ #include "DataFormatsFV0/RecoFilterParam.h" using namespace o2::fv0; -O2ParamImpl(ChargeFilter); -O2ParamImpl(TimeFilter); \ No newline at end of file +O2ParamImpl(FV0RecoChargeFilter); +O2ParamImpl(FV0RecoTimeFilter); \ No newline at end of file diff --git a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx index 784af34540c71..c8dacf48cf24e 100644 --- a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx +++ b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx @@ -57,14 +57,14 @@ RP BaseRecoTask::process(o2::fv0::Digit const& bcd, const auto& currentOutCh = outChData.back(); // Conditions for reconstructing collision time (3 variants: first, average-relaxed and average-tight) - if (ChargeFilter::Instance().validForMeanTimeCalculation(currentOutCh.charge)) { + if (FV0RecoChargeFilter::Instance().validForMeanTimeCalculation(currentOutCh.charge)) { sideAtimeFirst = std::min(static_cast(sideAtimeFirst), currentOutCh.time); if (inChData[ich].areAllFlagsGood()) { - if (TimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { + if (FV0RecoTimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { sideAtimeAvg += currentOutCh.time; ndigitsA++; } - if (ChargeFilter::Instance().validForCalibrationAndCollisionTime(currentOutCh.charge) && TimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { + if (FV0RecoChargeFilter::Instance().validForCalibrationAndCollisionTime(currentOutCh.charge) && FV0RecoTimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { sideAtimeAvgSelected += currentOutCh.time; ndigitsASelected++; } From 4a654e8027c8505cd89475f10de6a4b898e5c671 Mon Sep 17 00:00:00 2001 From: Wiktor Pierozak Date: Wed, 5 Aug 2026 11:34:00 +0200 Subject: [PATCH 5/7] Merged Charge and Time fileters to one Fv0RecoConfig --- .../include/DataFormatsFV0/RecoFilterParam.h | 28 ++++++------------- .../FIT/FV0/src/DataFormatsFV0LinkDef.h | 3 +- .../Detectors/FIT/FV0/src/RecoFilterParam.cxx | 3 +- .../FV0/reconstruction/src/BaseRecoTask.cxx | 8 +++--- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h index 2fd2e95bb4d4c..27ee06ab37f80 100644 --- a/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h +++ b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h @@ -13,34 +13,22 @@ #define ALICEO2_FV0_DIGIT_FILTER_PARAM #include "CommonUtils/ConfigurableParamHelper.h" +#include "DataFormatsFV0/ChannelData.h" namespace o2::fv0 { -struct FV0RecoChargeFilter : o2::conf::ConfigurableParamHelper { +struct FV0RecoConfig : o2::conf::ConfigurableParamHelper { double AmplitudeLowerThreshold = 24; // only channels with amplitude higher will participate in calibration and collision time double AmplitudeThreholdForMeanTime = 5; // Charge threshold, only above which the time is taken into account in calculating the mean time of all qualifying channels + double TimeUpperThershold = 1000.0; // only channels with time below will participate in calibration and collision time + uint8_t mValidPmInputFlagMask = ~(1u << ChannelData::kNumberADC); + uint8_t mValidPmInputFlags = static_cast((1u << ChannelData::kIsCFDinADCgate) | (1u << ChannelData::kIsEventInTVDC)); - bool validForMeanTimeCalculation(double charge) const + bool areChannelDataFlagsGood(uint8_t flags) const { - return charge > AmplitudeThreholdForMeanTime; + return (flags & mValidPmInputFlagMask) == mValidPmInputFlags; } - - bool validForCalibrationAndCollisionTime(double charge) const - { - return charge > AmplitudeLowerThreshold; - } - - O2ParamDef(FV0RecoChargeFilter, "FV0RecoChargeFilter"); -}; - -struct FV0RecoTimeFilter : o2::conf::ConfigurableParamHelper { - double TimeUpperThershold = 1000.0; // only channels with time below will participate in calibration and collision time - bool validForCalibrationAndCollisionTime(double time) const - { - return time < TimeUpperThershold; - } - - O2ParamDef(FV0RecoTimeFilter, "FV0RecoTimeFilter"); + O2ParamDef(FV0RecoConfig, "FV0RecoConfig"); }; } // namespace o2::fv0 diff --git a/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h b/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h index d5e2e96edecc4..83d27ccd2037d 100644 --- a/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h +++ b/DataFormats/Detectors/FIT/FV0/src/DataFormatsFV0LinkDef.h @@ -40,6 +40,5 @@ #pragma link C++ class o2::fv0::FV0CalibrationInfoObject + ; #pragma link C++ class o2::fv0::FV0ChannelTimeCalibrationObject + ; -#pragma link C++ class o2::fv0::FV0RecoChargeFilter + ; -#pragma link C++ class o2::fv0::FV0RecoTimeFilter + ; +#pragma link C++ class o2::fv0::FV0RecoConfig + ; #endif diff --git a/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx b/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx index 1ae302a013df2..9905c28ef6cec 100644 --- a/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx +++ b/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx @@ -12,5 +12,4 @@ #include "DataFormatsFV0/RecoFilterParam.h" using namespace o2::fv0; -O2ParamImpl(FV0RecoChargeFilter); -O2ParamImpl(FV0RecoTimeFilter); \ No newline at end of file +O2ParamImpl(FV0RecoConfig); \ No newline at end of file diff --git a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx index c8dacf48cf24e..65e6152483ea7 100644 --- a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx +++ b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx @@ -57,14 +57,14 @@ RP BaseRecoTask::process(o2::fv0::Digit const& bcd, const auto& currentOutCh = outChData.back(); // Conditions for reconstructing collision time (3 variants: first, average-relaxed and average-tight) - if (FV0RecoChargeFilter::Instance().validForMeanTimeCalculation(currentOutCh.charge)) { + if (currentOutCh.charge > FV0RecoConfig::Instance().AmplitudeThreholdForMeanTime) { sideAtimeFirst = std::min(static_cast(sideAtimeFirst), currentOutCh.time); - if (inChData[ich].areAllFlagsGood()) { - if (FV0RecoTimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { + if (FV0RecoConfig::Instance().areChannelDataFlagsGood(inChData[ich].ChainQTC)) { + if (std::abs(currentOutCh.time) < FV0RecoConfig::Instance().TimeUpperThershold) { sideAtimeAvg += currentOutCh.time; ndigitsA++; } - if (FV0RecoChargeFilter::Instance().validForCalibrationAndCollisionTime(currentOutCh.charge) && FV0RecoTimeFilter::Instance().validForCalibrationAndCollisionTime(std::abs(currentOutCh.time))) { + if (currentOutCh.charge > FV0RecoConfig::Instance().AmplitudeLowerThreshold && std::abs(currentOutCh.time) < FV0RecoConfig::Instance().TimeUpperThershold) { sideAtimeAvgSelected += currentOutCh.time; ndigitsASelected++; } From c50cc4707f28106e5ab3c6b28ca932d07736c4c8 Mon Sep 17 00:00:00 2001 From: Wiktor Pierozak Date: Wed, 5 Aug 2026 11:37:05 +0200 Subject: [PATCH 6/7] Renamed files --- DataFormats/Detectors/FIT/FV0/CMakeLists.txt | 2 +- .../DataFormatsFV0/{RecoFilterParam.h => FV0RecoConfig.h} | 0 .../FIT/FV0/src/{RecoFilterParam.cxx => FV0RecoConfig.cxx} | 2 +- Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/{RecoFilterParam.h => FV0RecoConfig.h} (100%) rename DataFormats/Detectors/FIT/FV0/src/{RecoFilterParam.cxx => FV0RecoConfig.cxx} (93%) diff --git a/DataFormats/Detectors/FIT/FV0/CMakeLists.txt b/DataFormats/Detectors/FIT/FV0/CMakeLists.txt index 0c9869e3b97a7..c3bde8615472d 100644 --- a/DataFormats/Detectors/FIT/FV0/CMakeLists.txt +++ b/DataFormats/Detectors/FIT/FV0/CMakeLists.txt @@ -17,7 +17,7 @@ o2_add_library(DataFormatsFV0 src/RawEventData.cxx src/CTF.cxx src/LookUpTable.cxx - src/RecoFilterParam.cxx + src/FV0RecoConfig.cxx PUBLIC_LINK_LIBRARIES O2::FV0Base O2::DataFormatsFIT O2::SimulationDataFormat diff --git a/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h b/DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/FV0RecoConfig.h similarity index 100% rename from DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/RecoFilterParam.h rename to DataFormats/Detectors/FIT/FV0/include/DataFormatsFV0/FV0RecoConfig.h diff --git a/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx b/DataFormats/Detectors/FIT/FV0/src/FV0RecoConfig.cxx similarity index 93% rename from DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx rename to DataFormats/Detectors/FIT/FV0/src/FV0RecoConfig.cxx index 9905c28ef6cec..a50fc03f7b30b 100644 --- a/DataFormats/Detectors/FIT/FV0/src/RecoFilterParam.cxx +++ b/DataFormats/Detectors/FIT/FV0/src/FV0RecoConfig.cxx @@ -9,7 +9,7 @@ // granted to it by virtue of its status as an Intergovernmental Organization // or submit itself to any jurisdiction. -#include "DataFormatsFV0/RecoFilterParam.h" +#include "DataFormatsFV0/FV0RecoConfig.h" using namespace o2::fv0; O2ParamImpl(FV0RecoConfig); \ No newline at end of file diff --git a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx index 65e6152483ea7..1f7f0c2db1d60 100644 --- a/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx +++ b/Detectors/FIT/FV0/reconstruction/src/BaseRecoTask.cxx @@ -17,7 +17,7 @@ #include "FV0Base/Geometry.h" #include "FV0Simulation/FV0DigParam.h" #include "FV0Simulation/DigitizationConstant.h" -#include "DataFormatsFV0/RecoFilterParam.h" +#include "DataFormatsFV0/FV0RecoConfig.h" #include #include #include From 209dc51724cbbed2e720a1e81802ec58eb701f59 Mon Sep 17 00:00:00 2001 From: Wiktor Pierozak Date: Wed, 5 Aug 2026 14:14:26 +0200 Subject: [PATCH 7/7] Fixed typo in FV0 CMakeLists --- DataFormats/Detectors/FIT/FV0/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DataFormats/Detectors/FIT/FV0/CMakeLists.txt b/DataFormats/Detectors/FIT/FV0/CMakeLists.txt index c3bde8615472d..c8bcd89fe1b37 100644 --- a/DataFormats/Detectors/FIT/FV0/CMakeLists.txt +++ b/DataFormats/Detectors/FIT/FV0/CMakeLists.txt @@ -37,5 +37,5 @@ o2_target_root_dictionary(DataFormatsFV0 include/DataFormatsFV0/RawEventData.h include/DataFormatsFV0/LookUpTable.h include/DataFormatsFV0/CTF.h - include/DataFormatsFV0/RecoFilterParam.h + include/DataFormatsFV0/FV0RecoConfig.h )