Belle II Software  release-05-02-19
RunInfo.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Karim, Vishal *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <TObject.h>
13 #include <string>
14 #include <framework/gearbox/Const.h>
15 #include <framework/logging/Logger.h>
16 
17 namespace Belle2 {
26  class RunInfo: public TObject {
27  public:
28 
32  RunInfo() {}
33 
37  void setExp(unsigned int exp) { m_exp = exp; }
38 
42  void setRun(unsigned int run) { m_run = run; }
43 
47  void setRunType(const std::string& run_type) {m_runType = run_type;}
48 
52  void setStartTime(unsigned long long int start_time) { m_startTime = start_time; }
53 
57  void setStopTime(unsigned long long int stop_time) { m_stopTime = stop_time; }
58 
62  void setReceivedNevent(unsigned int received_nevent) {m_receivedNevent = received_nevent; }
63 
67  void setAcceptedNevent(unsigned int accepted_nevent) {m_acceptedNevent = accepted_nevent; }
68 
72  void setSentNevent(unsigned int sent_nevent) {m_sentNevent = sent_nevent; }
73 
77  void setRunLength(unsigned int run_length) { m_runLength = run_length; }
78 
82  void setTriggerRate(double trigger_rate) { m_triggerRate = trigger_rate; }
83 
88  void setBelle2Detector(unsigned int pxd, unsigned int svd,
89  unsigned int cdc, unsigned int top,
90  unsigned int arich, unsigned int ecl,
91  unsigned int klm)
92  {
93  if (pxd > 0)
94  m_Belle2Detector = m_Belle2Detector + Const::PXD ;
95  if (svd > 0)
97  if (cdc > 0)
98  m_Belle2Detector = m_Belle2Detector + Const::CDC ;
99  if (top > 0)
100  m_Belle2Detector = m_Belle2Detector + Const::TOP ;
101  if (arich > 0)
102  m_Belle2Detector = m_Belle2Detector + Const::ARICH ;
103  if (ecl > 0)
104  m_Belle2Detector = m_Belle2Detector + Const::ECL ;
105  if (klm > 0)
106  m_Belle2Detector = m_Belle2Detector + Const::KLM ;
107  }
108 
109 
110 
114  void setBadRun(unsigned int bad_run) {m_badRun = bad_run; }
115 
116 
120  void setPreScaleTrigger(unsigned int prescaleTrigger, int bit)
121  {
122  if (bit > -1 && bit < 192) {
123  m_prescaleTrigger[bit] = prescaleTrigger;
124  } else {
125  B2FATAL("setPreScaleTrigger Error : " << bit << " not a valid range. \n Terminate");
126  }
127  }
128 
129 
130 
134  unsigned int getExp() const { return m_exp; }
135 
139  unsigned int getRun() const { return m_run; }
140 
144  const std::string& getRunType() const {return m_runType;}
145 
149  unsigned long long int getStartTime() const { return m_startTime; }
150 
151 
155  unsigned long long int getStopTime() const { return m_stopTime; }
156 
160  unsigned int getReceivedNevent() const { return m_receivedNevent; }
161 
165  unsigned int getAcceptedNevent() const { return m_acceptedNevent; }
166 
170  unsigned int getSentNevent() const { return m_sentNevent; }
171 
175  unsigned int getRunLength() const { return m_runLength; }
176 
180  double getTriggerRate() const { return m_triggerRate; }
181 
182 
186  unsigned int getBadRun() const { return m_badRun; }
187 
188 
193 
194 
198  unsigned int getPreScaleTrigger(int bit) const
199  {
200  if (bit > -1 && bit < 192) {
201  return m_prescaleTrigger[bit];
202  } else {
203  B2FATAL("getPreScaleTrigger Error : " << bit << " not a valid range. \n Terminate");
204  }
205  }
206 
207 
208 
212  virtual void Print(Option_t* option = "") const override;
213 
214 
215 
216  private:
218  unsigned int m_exp{0};
219 
221  unsigned int m_run{0};
222 
224  std::string m_runType{""};
225 
227  unsigned long long int m_startTime{0};
228 
230  unsigned long long int m_stopTime{0};
231 
233  unsigned int m_receivedNevent{0};
234 
236  unsigned int m_acceptedNevent{0};
237 
239  unsigned int m_sentNevent{0};
240 
242  double m_triggerRate{0};
243 
245  unsigned int m_runLength{0};
246 
248  unsigned int m_badRun{0};
249 
251  Const::DetectorSet m_Belle2Detector;
252 
254  unsigned int m_prescaleTrigger[192] = {0};
255 
257  };
258 
260 } // end namespace Belle2
Belle2::RunInfo::m_stopTime
unsigned long long int m_stopTime
Run stop time (Epoch time)
Definition: RunInfo.h:238
Belle2::RunInfo::getRunType
const std::string & getRunType() const
Get Run type.
Definition: RunInfo.h:152
Belle2::RunInfo::getExp
unsigned int getExp() const
Get Experiment number.
Definition: RunInfo.h:142
Belle2::RunInfo::m_run
unsigned int m_run
Run Number.
Definition: RunInfo.h:229
Belle2::RunInfo::setRun
void setRun(unsigned int run)
Set Run Number.
Definition: RunInfo.h:50
Belle2::RunInfo::setBadRun
void setBadRun(unsigned int bad_run)
Set Bad run tag (=0 means good run)
Definition: RunInfo.h:122
Belle2::RunInfo::ClassDefOverride
ClassDefOverride(RunInfo, 2)
ClassDef.
Belle2::RunInfo::m_exp
unsigned int m_exp
Experiment Number.
Definition: RunInfo.h:226
Belle2::RunInfo::Print
virtual void Print(Option_t *option="") const override
Print the content value.
Definition: RunInfo.cc:21
Belle2::RunInfo::m_startTime
unsigned long long int m_startTime
Run start time (Epoch time)
Definition: RunInfo.h:235
Belle2::RunInfo::getPreScaleTrigger
unsigned int getPreScaleTrigger(int bit) const
Get L1 preScale Trigger factors.
Definition: RunInfo.h:206
Belle2::Const::DetectorSet
The DetectorSet class for sets of detector IDs in the form of EDetector values.
Definition: Const.h:66
Belle2::RunInfo::m_Belle2Detector
Const::DetectorSet m_Belle2Detector
DetectorSet for the sub-detector used.
Definition: RunInfo.h:259
Belle2::RunInfo::getTriggerRate
double getTriggerRate() const
Get Trigger rate (Hz)
Definition: RunInfo.h:188
Belle2::RunInfo::setBelle2Detector
void setBelle2Detector(unsigned int pxd, unsigned int svd, unsigned int cdc, unsigned int top, unsigned int arich, unsigned int ecl, unsigned int klm)
Set DetectorSet based on which sub-detectors is included.
Definition: RunInfo.h:96
Belle2::RunInfo::getStopTime
unsigned long long int getStopTime() const
Get Run stop time (Epoch time)
Definition: RunInfo.h:163
Belle2::RunInfo::setStartTime
void setStartTime(unsigned long long int start_time)
Set Run Start time (Epoch time)
Definition: RunInfo.h:60
Belle2::RunInfo::setReceivedNevent
void setReceivedNevent(unsigned int received_nevent)
Set No.
Definition: RunInfo.h:70
Belle2::RunInfo::getAcceptedNevent
unsigned int getAcceptedNevent() const
Get No.
Definition: RunInfo.h:173
Belle2::RunInfo::setAcceptedNevent
void setAcceptedNevent(unsigned int accepted_nevent)
Set No.
Definition: RunInfo.h:75
Belle2::RunInfo::setStopTime
void setStopTime(unsigned long long int stop_time)
Set Run Stop time (Epoch time)
Definition: RunInfo.h:65
Belle2::RunInfo::m_runType
std::string m_runType
Run type
Definition: RunInfo.h:232
Belle2::RunInfo::m_sentNevent
unsigned int m_sentNevent
No.
Definition: RunInfo.h:247
Belle2::RunInfo::m_triggerRate
double m_triggerRate
Trigger rate (in Hz)
Definition: RunInfo.h:250
Belle2::RunInfo::getBelle2Detector
Const::DetectorSet getBelle2Detector() const
Get DetectorSet for the subdetectors included in the set.
Definition: RunInfo.h:200
Belle2::RunInfo::getSentNevent
unsigned int getSentNevent() const
Get No.
Definition: RunInfo.h:178
Belle2::RunInfo::m_acceptedNevent
unsigned int m_acceptedNevent
Get No.
Definition: RunInfo.h:244
Belle2::RunInfo::getRun
unsigned int getRun() const
Get Run number.
Definition: RunInfo.h:147
Belle2::RunInfo::setRunLength
void setRunLength(unsigned int run_length)
Set Run length (in sec) by DAQ.
Definition: RunInfo.h:85
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RunInfo
Database object for Run Information.
Definition: RunInfo.h:34
Belle2::RunInfo::RunInfo
RunInfo()
Default constructor.
Definition: RunInfo.h:40
Belle2::RunInfo::getReceivedNevent
unsigned int getReceivedNevent() const
Get No.
Definition: RunInfo.h:168
Belle2::RunInfo::setTriggerRate
void setTriggerRate(double trigger_rate)
Set Trigger rate (in Hz)
Definition: RunInfo.h:90
Belle2::RunInfo::getBadRun
unsigned int getBadRun() const
Get Bad run tag.
Definition: RunInfo.h:194
Belle2::RunInfo::m_prescaleTrigger
unsigned int m_prescaleTrigger[192]
L1 Trigger Prescale factors.
Definition: RunInfo.h:262
Belle2::RunInfo::m_receivedNevent
unsigned int m_receivedNevent
No.
Definition: RunInfo.h:241
Belle2::RunInfo::m_runLength
unsigned int m_runLength
Run length (in sec) by DAQ.
Definition: RunInfo.h:253
Belle2::RunInfo::getStartTime
unsigned long long int getStartTime() const
Get Run start time (Epoch time)
Definition: RunInfo.h:157
Belle2::RunInfo::setExp
void setExp(unsigned int exp)
Set Experimental Number.
Definition: RunInfo.h:45
Belle2::RunInfo::setSentNevent
void setSentNevent(unsigned int sent_nevent)
Set No.
Definition: RunInfo.h:80
Belle2::RunInfo::m_badRun
unsigned int m_badRun
Bad run tag (=0 means good run)
Definition: RunInfo.h:256
Belle2::RunInfo::setRunType
void setRunType(const std::string &run_type)
Set Run Type.
Definition: RunInfo.h:55
Belle2::RunInfo::getRunLength
unsigned int getRunLength() const
Get Run length (in sec) by DAQ.
Definition: RunInfo.h:183
Belle2::RunInfo::setPreScaleTrigger
void setPreScaleTrigger(unsigned int prescaleTrigger, int bit)
Set L1 preScale Trigger factors.
Definition: RunInfo.h:128