CMS 3D CMS Logo

EventAuxiliary.h
Go to the documentation of this file.
1 #ifndef DataFormats_Provenance_EventAuxiliary_h
2 #define DataFormats_Provenance_EventAuxiliary_h
3 
4 #include <iosfwd>
5 
9 
10 // Auxiliary event data that is persistent
11 
12 namespace edm {
13  class EventAux;
15  public:
16  friend void conversion(EventAux const&, EventAuxiliary&);
17  // Updated on 9 Feb. '09 on a request from Emelio Meschi
19  Undefined = 0,
23  Reserved = 4,
27  };
28  static int const invalidBunchXing = -1;
29  static int const invalidStoreNumber = 0;
32  id_(),
33  processGUID_(),
34  time_(),
41  EventAuxiliary(EventID const& theId,
42  std::string const& theProcessGUID,
43  Timestamp const& theTime,
44  bool isReal,
45  ExperimentType eType = Undefined,
46  int bunchXing = invalidBunchXing,
47  int storeNum = invalidStoreNumber,
48  int orbitNum = invalidBunchXing)
50  id_(theId),
51  processGUID_(theProcessGUID),
52  time_(theTime),
54  isRealData_(isReal),
55  experimentType_(eType),
56  bunchCrossing_(bunchXing),
57  orbitNumber_(orbitNum),
58  storeNumber_(storeNum) {}
60  void write(std::ostream& os) const;
63  EventID const& id() const { return id_; }
64  EventID& id() { return id_; }
65  std::string const& processGUID() const { return processGUID_; }
66  Timestamp const& time() const { return time_; }
69  }
72  EventNumber_t event() const { return id_.event(); }
73  RunNumber_t run() const { return id_.run(); }
74  bool isRealData() const { return isRealData_; }
76  int bunchCrossing() const { return bunchCrossing_; }
77  int orbitNumber() const { return orbitNumber_; }
78  int storeNumber() const { return storeNumber_; }
79 
80  private:
81  // NOTE: any member data added here MUST also be added to CompactEventAuxiliaryVector.h
82  // Process history ID of the full process history (not the reduced process history)
84  // Event ID
86  // Globally unique process ID of process that created event.
88  // Time from DAQ
90  // Associated Luminosity Block identifier (obsolete. for backward compatibility only)
92  // Is this real data (i.e. not simulated)
94  // Something descriptive of the source of the data
96  // The bunch crossing number
98  // The orbit number
100  // The LHC store number
102  };
103 
104  bool isSameEvent(EventAuxiliary const& a, EventAuxiliary const& b);
105 
106  inline std::ostream& operator<<(std::ostream& os, const EventAuxiliary& p) {
107  p.write(os);
108  return os;
109  }
110 
111 } // namespace edm
112 
113 #endif
EventAuxiliary(EventID const &theId, std::string const &theProcessGUID, Timestamp const &theTime, bool isReal, ExperimentType eType=Undefined, int bunchXing=invalidBunchXing, int storeNum=invalidStoreNumber, int orbitNum=invalidBunchXing)
bool isSameEvent(EventAuxiliary const &a, EventAuxiliary const &b)
ExperimentType experimentType_
EventNumber_t event() const
ProcessHistoryID processHistoryID_
Timestamp const & time() const
LuminosityBlockNumber_t luminosityBlock() const
friend void conversion(EventAux const &, EventAuxiliary &)
Definition: EventAux.cc:9
unsigned long long EventNumber_t
LuminosityBlockNumber_t luminosityBlock_
std::string const & processGUID() const
unsigned int LuminosityBlockNumber_t
LuminosityBlockNumber_t luminosityBlock() const
Definition: EventID.h:39
EventID const & id() const
static int const invalidBunchXing
int storeNumber() const
bool isRealData() const
int bunchCrossing() const
ProcessHistoryID const & processHistoryID() const
RunNumber_t run() const
Definition: EventID.h:38
void write(std::ostream &os) const
std::string processGUID_
double b
Definition: hdecay.h:120
void setProcessHistoryID(ProcessHistoryID const &phid)
LuminosityBlockNumber_t oldLuminosityBlock() const
static int const invalidStoreNumber
HLT enums.
double a
Definition: hdecay.h:121
unsigned int RunNumber_t
int orbitNumber() const
ExperimentType experimentType() const
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger table.
EventNumber_t event() const
Definition: EventID.h:40
RunNumber_t run() const