Project
Loading...
Searching...
No Matches
BadChannelCalibrator.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
16
17#ifndef O2_MCH_CALIBRATION_BADCHANNEL_CALIBRATOR_H_
18#define O2_MCH_CALIBRATION_BADCHANNEL_CALIBRATOR_H_
19
25#include <array>
26
28{
29
40class BadChannelCalibrator final : public o2::calibration::TimeSlotCalibration<o2::mch::calibration::PedestalData>
41{
42 using TFType = o2::calibration::TFType;
44 using BadChannelsVector = std::vector<o2::mch::DsChannelId>;
45 using PedestalsVector = std::vector<PedestalChannel>;
46
47 public:
49
50 ~BadChannelCalibrator() final = default;
51
56 bool hasEnoughData(const Slot& slot) const final;
57
58 void initOutput() final;
59
60 void finalizeSlot(Slot& slot) final;
61
62 Slot& emplaceNewSlot(bool front, TFType tstart, TFType tend) final;
63
64 bool readyToSend(std::string& reason) const;
65
66 void finalize();
67
68 const BadChannelsVector& getBadChannelsVector() const { return mBadChannelsVector; }
69 const PedestalsVector& getPedestalsVector() const { return mPedestalsVector; }
70
71 private:
72 TFType mTFStart;
73
74 BadChannelsVector mBadChannelsVector;
75 PedestalsVector mPedestalsVector;
76
77 ClassDefOverride(BadChannelCalibrator, 1);
78};
79
80} // namespace o2::mch::calibration
81#endif
std::vector< o2::mch::DsChannelId > BadChannelsVector
uint64_t TFType
Compute bad channel map from pedestal data.
const PedestalsVector & getPedestalsVector() const
const BadChannelsVector & getBadChannelsVector() const
Slot & emplaceNewSlot(bool front, TFType tstart, TFType tend) final
bool hasEnoughData(const Slot &slot) const final
uint32_t TFType
Definition TimeSlot.h:29
Defining DataPointCompositeObject explicitly as copiable.