Belle II Software  release-05-02-19
EventMetaData.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Heck, Andreas Moll, Thomas Kuhr *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <TObject.h>
14 
15 #include <string>
16 
17 namespace Belle2 {
35  class EventMetaData : public TObject {
36  public:
37 
39  explicit EventMetaData(unsigned int event = 1, int run = 0, int experiment = 0);
40 
42  ~EventMetaData() {}
43 
45  enum EventErrorFlag {
47  c_B2LinkEventCRCError = 0x2,
48  c_HLTCrash = 0x4,
49  c_ReconstructionAbort = 0x8,
50  c_HLTDiscard = 0x10,
51  };
52 
57  void setEvent(unsigned int event) { m_event = event; }
58 
63  void setRun(int run) { m_run = run; }
64 
69  void setSubrun(int subrun) { m_subrun = subrun; }
70 
75  void setExperiment(int experiment) { m_experiment = experiment; }
76 
81  void setProduction(int production) { m_production = production; }
82 
87  void setTime(unsigned long long int time) { m_time = time; }
88 
99  void setEndOfData();
100 
105  void setEndOfRun(unsigned int experimentNumber, unsigned int runNumber);
106 
108  bool isEndOfData() const;
109 
111  bool isEndOfRun() const;
112 
117  void setParentLfn(const std::string& parent) { m_parentLfn = parent; }
118 
123  void setGeneratedWeight(double weight) { m_generatedWeight = weight; }
124 
129  void setErrorFlag(unsigned int errorFlag) { m_errorFlag = errorFlag; }
130 
135  void addErrorFlag(EventErrorFlag errorFlag) { m_errorFlag |= errorFlag; }
136 
141  unsigned int getErrorFlag() const { return m_errorFlag; }
142 
147  unsigned int getEvent() const { return m_event; }
148 
153  int getRun() const { return m_run; }
154 
160  int getSubrun() const { return m_subrun; }
161 
166  int getExperiment() const { return m_experiment; }
167 
172  int getProduction() const { return m_production; }
173 
178  unsigned long long int getTime() const { return m_time; }
179 
182  const std::string& getParentLfn() const { return m_parentLfn; }
183 
188  double getGeneratedWeight() const { return m_generatedWeight; }
189 
195  bool operator== (const EventMetaData& eventMetaData) const;
196 
202  bool operator!= (const EventMetaData& eventMetaData) const { return !(*this == eventMetaData); }
203 
204 
205  private:
206  unsigned int m_event;
207  int m_run;
208  int m_subrun;
209  int m_experiment;
211  int m_production;
212  unsigned long long int m_time;
213  std::string m_parentLfn;
215  unsigned int m_errorFlag;
218  }; //class
220 } // namespace Belle2
Belle2::EventMetaData::c_B2LinkEventCRCError
@ c_B2LinkEventCRCError
HSLB_COPPER CRC error is detected in the event.
Definition: EventMetaData.h:55
Belle2::EventMetaData::addErrorFlag
void addErrorFlag(EventErrorFlag errorFlag)
Add Error Flag.
Definition: EventMetaData.h:143
Belle2::EventMetaData::getEvent
unsigned int getEvent() const
Event Getter.
Definition: EventMetaData.h:155
Belle2::EventMetaData::m_production
int m_production
Unique identifier of the production of the event.
Definition: EventMetaData.h:219
Belle2::EventMetaData::getErrorFlag
unsigned int getErrorFlag() const
Get error flag.
Definition: EventMetaData.h:149
Belle2::EventMetaData::setEvent
void setEvent(unsigned int event)
Event Setter.
Definition: EventMetaData.h:65
Belle2::EventMetaData::setExperiment
void setExperiment(int experiment)
Experiment Setter.
Definition: EventMetaData.h:83
Belle2::EventMetaData::m_subrun
int m_subrun
Sub-run number, increases indicate recovery from DAQ-internal trouble without change to detector cons...
Definition: EventMetaData.h:216
Belle2::EventMetaData::m_parentLfn
std::string m_parentLfn
LFN of the parent file.
Definition: EventMetaData.h:221
Belle2::EventMetaData::setEndOfRun
void setEndOfRun(unsigned int experimentNumber, unsigned int runNumber)
Marks the end of the current run.
Definition: EventMetaData.cc:41
Belle2::EventMetaData::isEndOfData
bool isEndOfData() const
is end-of-data set? (see setEndOfData()).
Definition: EventMetaData.cc:36
Belle2::EventMetaData::getParentLfn
const std::string & getParentLfn() const
Return LFN of the current parent file, or an empty string if not set.
Definition: EventMetaData.h:190
Belle2::EventMetaData::m_time
unsigned long long int m_time
Time in ns since epoch (1970-01-01).
Definition: EventMetaData.h:220
Belle2::EventMetaData::setEndOfData
void setEndOfData()
Marks the end of the data processing.
Definition: EventMetaData.cc:29
Belle2::EventMetaData::c_ReconstructionAbort
@ c_ReconstructionAbort
The event was not reconstructed, e.g.
Definition: EventMetaData.h:57
Belle2::EventMetaData::c_HLTCrash
@ c_HLTCrash
The HLT reconstruction crashed in this event or the event before.
Definition: EventMetaData.h:56
Belle2::EventMetaData::m_run
int m_run
Run number (usually > 0, run-independent MC has run == 0).
Definition: EventMetaData.h:215
Belle2::EventMetaData::m_errorFlag
unsigned int m_errorFlag
Indicator of error conditions during data taking, ORed combination of EventErrorFlag values.
Definition: EventMetaData.h:223
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EventMetaData::setParentLfn
void setParentLfn(const std::string &parent)
Parent LFN Setter.
Definition: EventMetaData.h:125
Belle2::EventMetaData::setErrorFlag
void setErrorFlag(unsigned int errorFlag)
Set Error Flag.
Definition: EventMetaData.h:137
Belle2::EventMetaData::isEndOfRun
bool isEndOfRun() const
is end-of-run set? (see setEndOfRun()).
Definition: EventMetaData.cc:48
Belle2::EventMetaData::m_experiment
int m_experiment
Experiment number.
Definition: EventMetaData.h:217
Belle2::EventMetaData::~EventMetaData
~EventMetaData()
Destructor.
Definition: EventMetaData.h:50
Belle2::EventMetaData::getProduction
int getProduction() const
Production Getter.
Definition: EventMetaData.h:180
Belle2::EventMetaData::setSubrun
void setSubrun(int subrun)
Sub run Setter.
Definition: EventMetaData.h:77
Belle2::EventMetaData::getExperiment
int getExperiment() const
Experiment Getter.
Definition: EventMetaData.h:174
Belle2::EventMetaData::ClassDef
ClassDef(EventMetaData, 4)
Store event number, run number, and experiment number.
Belle2::EventMetaData::c_HLTDiscard
@ c_HLTDiscard
The HLT discarded the event and only metadata is kept.
Definition: EventMetaData.h:58
Belle2::EventMetaData::m_generatedWeight
double m_generatedWeight
Generated weight.
Definition: EventMetaData.h:222
Belle2::EventMetaData::m_event
unsigned int m_event
Event number ('normal' data has values > 0).
Definition: EventMetaData.h:214
Belle2::EventMetaData::c_B2LinkPacketCRCError
@ c_B2LinkPacketCRCError
Belle2link CRC error is detected in the event.
Definition: EventMetaData.h:54
Belle2::EventMetaData::setRun
void setRun(int run)
Run Setter.
Definition: EventMetaData.h:71
Belle2::EventMetaData::getRun
int getRun() const
Run Getter.
Definition: EventMetaData.h:161
Belle2::EventMetaData
Store event, run, and experiment numbers.
Definition: EventMetaData.h:43
Belle2::EventMetaData::setProduction
void setProduction(int production)
Production Setter.
Definition: EventMetaData.h:89
Belle2::EventMetaData::getSubrun
int getSubrun() const
Sub run Getter.
Definition: EventMetaData.h:168
Belle2::EventMetaData::getGeneratedWeight
double getGeneratedWeight() const
Generated Weight Getter.
Definition: EventMetaData.h:196
Belle2::EventMetaData::operator==
bool operator==(const EventMetaData &eventMetaData) const
Comparison Operator.
Definition: EventMetaData.cc:53
Belle2::EventMetaData::EventMetaData
EventMetaData(unsigned int event=1, int run=0, int experiment=0)
Constructor.
Definition: EventMetaData.cc:17
Belle2::EventMetaData::EventErrorFlag
EventErrorFlag
bit-flag format of m_error_flag
Definition: EventMetaData.h:53
Belle2::EventMetaData::getTime
unsigned long long int getTime() const
Time Getter.
Definition: EventMetaData.h:186
Belle2::EventMetaData::operator!=
bool operator!=(const EventMetaData &eventMetaData) const
Comparison Operator.
Definition: EventMetaData.h:210
Belle2::EventMetaData::setGeneratedWeight
void setGeneratedWeight(double weight)
Generated Weight Setter.
Definition: EventMetaData.h:131
Belle2::EventMetaData::setTime
void setTime(unsigned long long int time)
Time Setter.
Definition: EventMetaData.h:95