Belle II Software  release-05-02-19
ARICHRateCalModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Luka Santelj *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef ARICHRATECALMODULE_H
12 #define ARICHRATECALMODULE_H
13 
14 #include <framework/core/HistoModule.h>
15 #include <string>
16 
17 #include <TH2.h>
18 
19 namespace Belle2 {
31  class ARICHRateCalModule : public HistoModule {
32 
33  public:
34 
39 
43  virtual ~ARICHRateCalModule();
44 
45  virtual void defineHisto() override;
46 
51  virtual void initialize() override;
52 
57  virtual void beginRun() override;
58 
62  virtual void event() override;
63 
68  virtual void endRun() override;
69 
74  virtual void terminate() override;
75 
76  protected:
77  unsigned int calbyte(const int* buf);
78  unsigned int calword(const int* buf);
79 
80  protected:
81  TH2* h_rate2D[100] = {NULL};
82  int m_nrun;
83  int m_nevents;
84  double m_dth;
85  double m_th0;
86  bool m_debugmode;
87  bool m_internalmode;
88  std::string m_daqdb;
89  unsigned int m_ibyte = 0;
90  int m_run_count = 0;
91  int m_evt_count = 0;
92 
93  };
94 
95  inline unsigned int ARICHRateCalModule::calbyte(const int* buf)
96  {
97  int shift = (3 - m_ibyte % 4) * 8;
98  unsigned int val = 0xff & (buf[m_ibyte / 4] >> shift);
99  m_ibyte++;
100  return val;
101  }
102 
103  inline unsigned int ARICHRateCalModule::calword(const int* buf)
104  {
105  return (calbyte(buf) << 24) | (calbyte(buf) << 16)
106  | (calbyte(buf) << 8) | calbyte(buf);
107  }
108 
110 } // Belle2 namespace
111 
112 #endif
Belle2::ARICHRateCalModule::terminate
virtual void terminate() override
Termination action.
Definition: ARICHRateCalModule.cc:164
Belle2::ARICHRateCalModule::event
virtual void event() override
Event processor.
Definition: ARICHRateCalModule.cc:118
Belle2::ARICHRateCalModule::~ARICHRateCalModule
virtual ~ARICHRateCalModule()
Destructor.
Definition: ARICHRateCalModule.cc:65
Belle2::ARICHRateCalModule::ARICHRateCalModule
ARICHRateCalModule()
Constructor.
Definition: ARICHRateCalModule.cc:50
Belle2::ARICHRateCalModule::endRun
virtual void endRun() override
End-of-run action.
Definition: ARICHRateCalModule.cc:160
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHRateCalModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: ARICHRateCalModule.cc:98
Belle2::ARICHRateCalModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: ARICHRateCalModule.cc:108
Belle2::ARICHRateCalModule::defineHisto
virtual void defineHisto() override
Function to define histograms.
Definition: ARICHRateCalModule.cc:69