QualityControl  1.5.1
O2 Data Quality Control Framework
TH2Reductor.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_TH2REDUCTOR_H
16 #define QUALITYCONTROL_TH2REDUCTOR_H
17 
19 
21 {
22 
28 {
29  public:
30  TH2Reductor() = default;
31  ~TH2Reductor() = 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 sumw;
42  Double_t sumw2;
43  Double_t sumwx;
44  Double_t sumwx2;
45  Double_t sumwy;
46  Double_t sumwy2;
47  Double_t sumwxy;
48  } named;
49  Double_t array[7];
50  } sums;
51  Double_t entries; // is sumw == entries always? maybe not for values which land into the edge bins?
52  } mStats;
53 };
54 
55 } // namespace o2::quality_control_modules::common
56 
57 #endif //QUALITYCONTROL_TH2REDUCTOR_H
void update(TObject *obj) override
Fill the data structure with new data.
Definition: TH2Reductor.cxx:32
const char * getBranchLeafList() override
Branch leaf list getter.
Definition: TH2Reductor.cxx:27
Definition: EverIncreasingGraph.h:21
A Reductor which obtains the most popular characteristics of TH2.
Definition: TH2Reductor.h:27
void * getBranchAddress() override
Branch address getter.
Definition: TH2Reductor.cxx:22
An interface for storing data derived from QC objects into a TTree.
Definition: Reductor.h:24