QualityControl  1.5.1
O2 Data Quality Control Framework
DigitsQcTask.h
1 
6 #ifndef QC_MODULE_EMCAL_DIGITSQCTASK_H
7 #define QC_MODULE_EMCAL_DIGITSQCTASK_H
8 
10 #include <array>
11 #include <CCDB/TObjectWrapper.h>
12 #include <TProfile2D.h>
13 
14 class TH1;
15 class TH2;
16 
17 using namespace o2::quality_control::core;
18 
19 namespace o2
20 {
21 namespace emcal
22 {
23 class Geometry;
24 class BadChannelMap;
25 class TimeCalibrationParams;
26 } // namespace emcal
27 
28 namespace quality_control_modules
29 {
30 namespace emcal
31 {
32 
40 class DigitsQcTask final : public TaskInterface
41 {
42  public:
44  DigitsQcTask() = default;
46  ~DigitsQcTask() override;
47 
48  // Definition of the methods for the template method pattern
49  void initialize(o2::framework::InitContext& ctx) override;
50  void startOfActivity(Activity& activity) override;
51  void startOfCycle() override;
52  void monitorData(o2::framework::ProcessingContext& ctx) override;
53  void endOfCycle() override;
54  void endOfActivity(Activity& activity) override;
55  void reset() override;
56 
57  void setThreshold(Double_t threshold) { mCellThreshold = threshold; }
58 
59  private:
60  Double_t mCellThreshold = 0.5;
61  std::array<TH2*, 2> mDigitAmplitude;
62  std::array<TH2*, 2> mDigitTime;
63  std::array<TH2*, 2> mDigitAmplitudeCalib;
64  std::array<TH2*, 2> mDigitTimeCalib;
65  TH2* mDigitOccupancy = nullptr;
66  TH2* mDigitOccupancyThr = nullptr;
67  TProfile2D* mIntegratedOccupancy = nullptr;
68  TH1* mDigitAmplitudeEMCAL = nullptr;
69  TH1* mDigitAmplitudeDCAL = nullptr;
70  TH1* mnumberEvents = nullptr;
71  o2::emcal::Geometry* mGeometry = nullptr;
72  o2::emcal::BadChannelMap* mBadChannelMap;
73  o2::emcal::TimeCalibrationParams* mTimeCalib;
74 };
75 
76 } // namespace emcal
77 } // namespace quality_control_modules
78 } // namespace o2
79 
80 #endif // QC_MODULE_EMCAL_DIGITSQCTASK_H
QC Task for EMCAL digits.
Definition: DigitsQcTask.h:40
Skeleton of a QC task.
Definition: TaskInterface.h:53
Dummy class that should be removed when there is the official one. This corresponds to a Run1/2 "run"...
Definition: Activity.h:25
These methods can be used to build a complex processing topology. It spawns 3 separate dummy processi...
Definition: Activity.h:19