QualityControl  1.5.1
O2 Data Quality Control Framework
ITSClusterTask.h
Go to the documentation of this file.
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 //
11 
16 
17 #ifndef QC_MODULE_ITS_ITSCLUSTERTASK_H
18 #define QC_MODULE_ITS_ITSCLUSTERTASK_H
19 
21 #include <TH1.h>
22 #include <TH2.h>
23 #include <DataFormatsITSMFT/TopologyDictionary.h>
24 #include <ITSBase/GeometryTGeo.h>
25 
26 class TH1D;
27 class TH2D;
28 
29 using namespace o2::quality_control::core;
30 
32 {
33 
35 {
36 
37  public:
39  ~ITSClusterTask() override;
40 
41  void initialize(o2::framework::InitContext& ctx) override;
42  void startOfActivity(Activity& activity) override;
43  void startOfCycle() override;
44  void monitorData(o2::framework::ProcessingContext& ctx) override;
45  void endOfCycle() override;
46  void endOfActivity(Activity& activity) override;
47  void reset() override;
48 
49  private:
50  void publishHistos();
51  void formatAxes(TH1* h, const char* xTitle, const char* yTitle, float xOffset = 1., float yOffset = 1.);
52  void addObject(TObject* aObject);
53  void getEnableLayers();
54  void createAllHistos();
55 
56  static constexpr int NLayer = 7;
57  static constexpr int NLayerIB = 3;
58 
59  std::vector<TObject*> mPublishedObjects;
60  TH1D* hClusterSizeIB[7][48][9];
61  TH1D* hClusterTopologyIB[7][48][9];
62  TH2D* hOccupancyIB[7];
63  TH2D* hAverageClusterIB[7];
64  Int_t mClasterOccupancyIB[7][48][9];
65  TH1D* hClusterSizeOB[7][48][14];
66  TH1D* hClusterTopologyOB[7][48][14];
67  TH2D* hOccupancyOB[7];
68  TH2D* hAverageClusterOB[7];
69  Int_t mClasterOccupancyOB[7][48][14];
70 
71  const int mOccUpdateFrequency = 100000;
72  int mNRofs = 0;
73  std::string mRunNumber;
74 
75  const int mNStaves[7] = { 12, 16, 20, 24, 30, 42, 48 };
76  const int mNHicPerStave[NLayer] = { 1, 1, 1, 8, 8, 14, 14 };
77  const int mNChipsPerHic[NLayer] = { 9, 9, 9, 14, 14, 14, 14 };
78  int mEnableLayers[7];
79  o2::itsmft::TopologyDictionary mDict;
80  o2::its::GeometryTGeo* mGeom;
81 };
82 } // namespace o2::quality_control_modules::its
83 
84 #endif
Definition: ITSClusterTask.h:31
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