QualityControl  1.5.1
O2 Data Quality Control Framework
RawTask.h
1 // Copyright CERN and copyright holders of ALICE O2. This software is
2 // distributed under the terms of the GNU General Public License v3 (GPL
3 // Version 3), copied verbatim in the file "COPYING".
4 //
5 // See http://alice-o2.web.cern.ch/license for full licensing information.
6 //
7 // In applying this license CERN does not waive the privileges and immunities
8 // granted to it by virtue of its status as an Intergovernmental Organization
9 // or submit itself to any jurisdiction.
10 
16 
17 #ifndef QC_MODULE_EMCAL_EMCALRAWTASK_H
18 #define QC_MODULE_EMCAL_EMCALRAWTASK_H
19 
21 #include "EMCALBase/Mapper.h"
22 #include <memory>
23 #include <array>
24 
25 class TH1F;
26 class TH2F;
27 class TProfile2D;
28 
29 using namespace o2::quality_control::core;
30 
32 {
33 
38 class RawTask final : public TaskInterface
39 {
40  public:
42  RawTask() = default;
44  ~RawTask() override;
45 
46  // Definition of the methods for the template method pattern
47  void initialize(o2::framework::InitContext& ctx) override;
48  void startOfActivity(Activity& activity) override;
49  void startOfCycle() override;
50  void monitorData(o2::framework::ProcessingContext& ctx) override;
51  void endOfCycle() override;
52  void endOfActivity(Activity& activity) override;
53  void reset() override;
54 
55  private:
56  TH1F* mHistogram = nullptr;
57  TH1* mMessageCounter = nullptr;
58  TH1* mNumberOfSuperpagesPerMessage;
59  TH1* mNumberOfPagesPerMessage;
60  TH1* mSuperpageCounter = nullptr;
61  TH1* mPageCounter = nullptr;
62  TH1* mTotalDataVolume = nullptr;
63  std::array<TH1*, 20> mRawAmplitudeEMCAL;
64  std::array<TH1*, 20> mRawAmplMaxEMCAL;
65  std::array<TH1*, 20> mRawAmplMinEMCAL;
66  std::unique_ptr<o2::emcal::MappingHandler> mMappings;
67  std::array<TProfile2D*, 20> mRMSperSM;
68  std::array<TProfile2D*, 20> mMEANperSM;
69  std::array<TProfile2D*, 20> mMAXperSM;
70  std::array<TProfile2D*, 20> mMINperSM;
71  TH2F* mErrorTypeAltro = nullptr;
72  TH2F* mPayloadSizePerDDL = nullptr;
73  Int_t mNumberOfSuperpages = 0;
74  Int_t mNumberOfPages = 0;
75  Int_t mNumberOfMessages = 0;
76 };
77 
78 } // namespace o2::quality_control_modules::emcal
79 
80 #endif // QC_MODULE_EMCAL_EMCALRAWTASK_H
Example Quality Control DPL Task It is final because there is no reason to derive from it...
Definition: RawTask.h:38
Skeleton of a QC task.
Definition: TaskInterface.h:53
Definition: DigitCheck.h:21
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