QualityControl  1.5.1
O2 Data Quality Control Framework
TH1MCHReductor.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 
15 #ifndef QUALITYCONTROL_TH1MCHREDUCTOR_H
16 #define QUALITYCONTROL_TH1MCHREDUCTOR_H
17 
19 
21 {
22 
26 
28 {
29  public:
30  TH1MCHReductor() = default;
31  ~TH1MCHReductor() = default;
32 
33  void* getBranchAddress() override;
34  const char* getBranchLeafList() override;
35  void update(TObject* obj) override;
36 
37  private:
38  struct {
39  union {
40  struct {
41  Double_t val500;
42  Double_t val501;
43  Double_t val502;
44  Double_t val503;
45  Double_t val504;
46  Double_t val505;
47  Double_t val506;
48  Double_t val507;
49  Double_t val508;
50  Double_t val509;
51  Double_t val510;
52  Double_t val511;
53  Double_t val512;
54  Double_t val513;
55  Double_t val514;
56  Double_t val515;
57  Double_t val516;
58  Double_t val517;
59  Double_t val600;
60  Double_t val601;
61  Double_t val602;
62  Double_t val603;
63  Double_t val604;
64  Double_t val605;
65  Double_t val606;
66  Double_t val607;
67  Double_t val608;
68  Double_t val609;
69  Double_t val610;
70  Double_t val611;
71  Double_t val612;
72  Double_t val613;
73  Double_t val614;
74  Double_t val615;
75  Double_t val616;
76  Double_t val617;
77  Double_t val700;
78  Double_t val701;
79  Double_t val702;
80  Double_t val703;
81  Double_t val704;
82  Double_t val705;
83  Double_t val706;
84  Double_t val707;
85  Double_t val708;
86  Double_t val709;
87  Double_t val710;
88  Double_t val711;
89  Double_t val712;
90  Double_t val713;
91  Double_t val714;
92  Double_t val715;
93  Double_t val716;
94  Double_t val717;
95  Double_t val718;
96  Double_t val719;
97  Double_t val720;
98  Double_t val721;
99  Double_t val722;
100  Double_t val723;
101  Double_t val724;
102  Double_t val725;
103  Double_t val800;
104  Double_t val801;
105  Double_t val802;
106  Double_t val803;
107  Double_t val804;
108  Double_t val805;
109  Double_t val806;
110  Double_t val807;
111  Double_t val808;
112  Double_t val809;
113  Double_t val810;
114  Double_t val811;
115  Double_t val812;
116  Double_t val813;
117  Double_t val814;
118  Double_t val815;
119  Double_t val816;
120  Double_t val817;
121  Double_t val818;
122  Double_t val819;
123  Double_t val820;
124  Double_t val821;
125  Double_t val822;
126  Double_t val823;
127  Double_t val824;
128  Double_t val825;
129  Double_t val900;
130  Double_t val901;
131  Double_t val902;
132  Double_t val903;
133  Double_t val904;
134  Double_t val905;
135  Double_t val906;
136  Double_t val907;
137  Double_t val908;
138  Double_t val909;
139  Double_t val910;
140  Double_t val911;
141  Double_t val912;
142  Double_t val913;
143  Double_t val914;
144  Double_t val915;
145  Double_t val916;
146  Double_t val917;
147  Double_t val918;
148  Double_t val919;
149  Double_t val920;
150  Double_t val921;
151  Double_t val922;
152  Double_t val923;
153  Double_t val924;
154  Double_t val925;
155  Double_t val1000;
156  Double_t val1001;
157  Double_t val1002;
158  Double_t val1003;
159  Double_t val1004;
160  Double_t val1005;
161  Double_t val1006;
162  Double_t val1007;
163  Double_t val1008;
164  Double_t val1009;
165  Double_t val1010;
166  Double_t val1011;
167  Double_t val1012;
168  Double_t val1013;
169  Double_t val1014;
170  Double_t val1015;
171  Double_t val1016;
172  Double_t val1017;
173  Double_t val1018;
174  Double_t val1019;
175  Double_t val1020;
176  Double_t val1021;
177  Double_t val1022;
178  Double_t val1023;
179  Double_t val1024;
180  Double_t val1025;
181  } named;
182  Double_t values[140];
183  } de_values;
184  union {
185  struct {
186  Double_t val5I;
187  Double_t val5O;
188  Double_t val6I;
189  Double_t val6O;
190  Double_t val7I;
191  Double_t val7O;
192  Double_t val8I;
193  Double_t val8O;
194  Double_t val9I;
195  Double_t val9O;
196  Double_t val10I;
197  Double_t val10O;
198  } named;
199  Double_t values[12];
200  } halfch_values;
201  Double_t entries;
202  } mStats;
203  std::array<int, 9> detCH5I = { 500, 501, 502, 503, 504, 514, 515, 516, 517 };
204  std::array<int, 9> detCH5O = { 505, 506, 507, 508, 509, 510, 511, 512, 513 };
205  std::array<int, 9> detCH6I = { 600, 601, 602, 603, 604, 614, 615, 616, 617 };
206  std::array<int, 9> detCH6O = { 605, 606, 607, 608, 609, 610, 611, 612, 613 };
207  std::array<int, 13> detCH7I = { 700, 701, 702, 703, 704, 705, 706, 720, 721, 722, 723, 724, 725 };
208  std::array<int, 13> detCH7O = { 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719 };
209  std::array<int, 13> detCH8I = { 800, 801, 802, 803, 804, 805, 806, 820, 821, 822, 823, 824, 825 };
210  std::array<int, 13> detCH8O = { 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819 };
211  std::array<int, 13> detCH9I = { 900, 901, 902, 903, 904, 905, 906, 920, 921, 922, 923, 924, 925 };
212  std::array<int, 13> detCH9O = { 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919 };
213  std::array<int, 13> detCH10I = { 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1020, 1021, 1022, 1023, 1024, 1025 };
214  std::array<int, 13> detCH10O = { 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019 };
215 };
216 
217 } // namespace o2::quality_control_modules::muonchambers
218 
219 #endif //QUALITYCONTROL_TH1mchREDUCTOR_H
void update(TObject *obj) override
Fill the data structure with new data.
Definition: TH1MCHReductor.cxx:36
const char * getBranchLeafList() override
Branch leaf list getter.
Definition: TH1MCHReductor.cxx:31
A Reductor which obtains the most popular characteristics of TH1.
Definition: TH1MCHReductor.h:27
An interface for storing data derived from QC objects into a TTree.
Definition: Reductor.h:24
void * getBranchAddress() override
Branch address getter.
Definition: TH1MCHReductor.cxx:26