Project
Loading...
Searching...
No Matches
BadChannelCalibrationDevice.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
12#ifndef O2_MCH_CALIBRATION_PEDESTAL_CALIBRATION_DEVICE_H
13#define O2_MCH_CALIBRATION_PEDESTAL_CALIBRATION_DEVICE_H
14
16#include "Framework/Task.h"
17#include <memory>
18#include <string_view>
20
21namespace o2::framework
22{
23class InitContext;
24class EndOfStreamContext;
25class ProcessingContext;
26class DataAllocator;
27} // namespace o2::framework
28
30{
38{
39 public:
40 explicit BadChannelCalibrationDevice(std::shared_ptr<o2::base::GRPGeomRequest> req) : mCCDBRequest(req) {}
41
42 void init(o2::framework::InitContext& ic) final;
43
44 void logStats(size_t dataSize);
45
47
49
50 void finaliseCCDB(o2::framework::ConcreteDataMatcher& matcher, void* obj) final;
51
52 private:
53 void sendOutput(o2::framework::DataAllocator& output, std::string_view reason);
54
55 private:
56 std::unique_ptr<o2::mch::calibration::BadChannelCalibrator> mCalibrator;
57 std::shared_ptr<o2::base::GRPGeomRequest> mCCDBRequest;
58 uint64_t mTimeStamp;
59
60 bool mHasEnoughStat = {false};
61
62 bool mSkipData = {false};
63
64 int mLoggingInterval = {0};
65};
66
67} // namespace o2::mch::calibration
68#endif
MCH calibrator to produce a bad channel map, using pedestal data.
Helper for geometry and GRP related CCDB requests.
void output(const std::map< std::string, ChannelStat > &channels)
Definition rawdump.cxx:197
void run(o2::framework::ProcessingContext &pc) final
BadChannelCalibrationDevice(std::shared_ptr< o2::base::GRPGeomRequest > req)
void endOfStream(o2::framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
void finaliseCCDB(o2::framework::ConcreteDataMatcher &matcher, void *obj) final
GLenum GLsizei dataSize
Definition glcorearb.h:3994
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20