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_PHOS_PHOSRAWTASK_H
18 #define QC_MODULE_PHOS_PHOSRAWTASK_H
19 
21 #include <memory>
22 #include <array>
23 
24 class TH1F;
25 class TH2F;
26 
27 using namespace o2::quality_control::core;
28 
30 {
31 
33 class RawTask final : public TaskInterface
34 {
35  public:
37  RawTask() = default;
39  ~RawTask() override;
40 
41  // Definition of the methods for the template method pattern
42  void initialize(o2::framework::InitContext& ctx) override;
43  void startOfActivity(Activity& activity) override;
44  void startOfCycle() override;
45  void monitorData(o2::framework::ProcessingContext& ctx) override;
46  void endOfCycle() override;
47  void endOfActivity(Activity& activity) override;
48  void reset() override;
49 
50  private:
51  static constexpr short mNmod = 5;
52  TH1F* mHistogram = nullptr;
53  TH1F* mMessageCounter = nullptr;
54  TH1F* mNumberOfSuperpagesPerMessage;
55  TH1F* mNumberOfPagesPerMessage;
56  TH1F* mSuperpageCounter = nullptr;
57  TH1F* mPageCounter = nullptr;
58  TH1F* mTotalDataVolume = nullptr;
59  std::array<TH1F*, mNmod> mRawAmplitudePHOS;
60  std::array<TH1F*, mNmod> mRawAmplMaxPHOS;
61  std::array<TH1F*, mNmod> mRawAmplMinPHOS;
62  std::array<TH2F*, mNmod> mRMSperMod;
63  std::array<TH2F*, mNmod> mMEANperMod;
64  std::array<TH2F*, mNmod> mMAXperMod;
65  std::array<TH2F*, mNmod> mMINperMod;
66  TH2F* mErrorTypeAltro = nullptr;
67  TH2F* mPayloadSizePerDDL = nullptr;
68  int mNumberOfSuperpages = 0;
69  int mNumberOfPages = 0;
70  int mNumberOfMessages = 0;
71 };
72 
73 } // namespace o2::quality_control_modules::phos
74 
75 #endif // QC_MODULE_PHOS_PHOSRAWTASK_H
Definition: DigitCheck.h:21
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
PHOS Quality Control DPL Task.
Definition: RawTask.h:33