Belle II Software development
EventMetaData.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <TObject.h>
12
13#include <string>
14
15namespace Belle2 {
33 class EventMetaData : public TObject {
34 public:
35
37 explicit EventMetaData(unsigned int event = 1, int run = 0, int experiment = 0);
38
41
51
56 void setEvent(unsigned int event) { m_event = event; }
57
62 void setRun(int run) { m_run = run; }
63
68 void setSubrun(int subrun) { m_subrun = subrun; }
69
74 void setExperiment(int experiment) { m_experiment = experiment; }
75
80 void setProduction(int production) { m_production = production; }
81
86 void setTime(unsigned long long int time) { m_time = time; }
87
98 void setEndOfData();
99
104 void setEndOfRun(unsigned int experimentNumber, unsigned int runNumber);
105
107 bool isEndOfData() const;
108
110 bool isEndOfRun() const;
111
116 void setParentLfn(const std::string& parent) { m_parentLfn = parent; }
117
122 void setGeneratedWeight(double weight) { m_generatedWeight = weight; }
123
128 void setErrorFlag(unsigned int errorFlag) { m_errorFlag = errorFlag; }
129
134 void addErrorFlag(EventErrorFlag errorFlag) { m_errorFlag |= errorFlag; }
135
140 unsigned int getErrorFlag() const { return m_errorFlag; }
141
146 unsigned int getEvent() const { return m_event; }
147
152 int getRun() const { return m_run; }
153
159 int getSubrun() const { return m_subrun; }
160
165 int getExperiment() const { return m_experiment; }
166
171 int getProduction() const { return m_production; }
172
177 unsigned long long int getTime() const { return m_time; }
178
181 const std::string& getParentLfn() const { return m_parentLfn; }
182
187 double getGeneratedWeight() const { return m_generatedWeight; }
188
194 bool operator== (const EventMetaData& eventMetaData) const;
195
201 bool operator!= (const EventMetaData& eventMetaData) const { return !(*this == eventMetaData); }
202
203
204 private:
205 unsigned int m_event;
206 int m_run;
209
211 unsigned long long int m_time;
212 std::string m_parentLfn;
214 unsigned int m_errorFlag;
215
217 }; //class
218
219} // namespace Belle2
Store event, run, and experiment numbers.
void setEvent(unsigned int event)
Event Setter.
double getGeneratedWeight() const
Generated Weight Getter.
int m_subrun
Sub-run number, increases indicate recovery from DAQ-internal trouble without change to detector cons...
~EventMetaData()
Destructor.
void setExperiment(int experiment)
Experiment Setter.
void setEndOfRun(unsigned int experimentNumber, unsigned int runNumber)
Marks the end of the current run.
void setEndOfData()
Marks the end of the data processing.
ClassDef(EventMetaData, 4)
Store event number, run number, and experiment number.
bool operator!=(const EventMetaData &eventMetaData) const
Comparison Operator.
const std::string & getParentLfn() const
Return LFN of the current parent file, or an empty string if not set.
int getRun() const
Run Getter.
bool operator==(const EventMetaData &eventMetaData) const
Comparison Operator.
void setGeneratedWeight(double weight)
Generated Weight Setter.
double m_generatedWeight
Generated weight.
int getSubrun() const
Sub run Getter.
unsigned int getEvent() const
Event Getter.
EventErrorFlag
bit-flag format of m_error_flag
@ c_B2LinkPacketCRCError
Belle2link CRC error is detected in the event.
@ c_HLTCrash
The HLT reconstruction crashed in this event or the event before.
@ c_ReconstructionAbort
The event was not reconstructed, e.g.
@ c_B2LinkEventCRCError
HSLB_COPPER CRC error is detected in the event.
@ c_HLTDiscard
The HLT discarded the event and only metadata is kept.
@ c_HLTPrefilterDiscard
The HLTPrefilter tagged the event as noisy due to injection background.
int getProduction() const
Production Getter.
bool isEndOfRun() const
is end-of-run set?
void setErrorFlag(unsigned int errorFlag)
Set Error Flag.
void setProduction(int production)
Production Setter.
std::string m_parentLfn
LFN of the parent file.
void setRun(int run)
Run Setter.
int m_production
Unique identifier of the production of the event.
unsigned long long int m_time
Time in ns since epoch (1970-01-01).
void setParentLfn(const std::string &parent)
Parent LFN Setter.
int m_experiment
Experiment number.
unsigned int m_event
Event number ('normal' data has values > 0).
void setTime(unsigned long long int time)
Time Setter.
int getExperiment() const
Experiment Getter.
unsigned long long int getTime() const
Time Getter.
void addErrorFlag(EventErrorFlag errorFlag)
Add Error Flag.
EventMetaData(unsigned int event=1, int run=0, int experiment=0)
Constructor.
unsigned int getErrorFlag() const
Get error flag.
bool isEndOfData() const
is end-of-data set?
unsigned int m_errorFlag
Indicator of error conditions during data taking, ORed combination of EventErrorFlag values.
int m_run
Run number (usually > 0, run-independent MC has run == 0).
void setSubrun(int subrun)
Sub run Setter.
Abstract base class for different kinds of events.