CMS 3D CMS Logo

EventWithHistory.h
Go to the documentation of this file.
1 #ifndef DPGAnalysis_SiStripTools_EventWithHistory_H
2 #define DPGAnalysis_SiStripTools_EventWithHistory_H
3 
4 #include <vector>
6 
7 namespace edm{
8  class Event;
9  class EventAuxiliary;
10 }
11 
12 class EventBXHistory;
14 typedef std::vector<L1AcceptBunchCrossing> L1AcceptBunchCrossingCollection;
15 
16 class EventWithHistory: public TinyEvent {
17 
18  public:
19 
21  explicit EventWithHistory(const TinyEvent& se);
22  explicit EventWithHistory(const edm::EventNumber_t event,const int orbit,const int bx);
23  explicit EventWithHistory(const edm::EventNumber_t event,const unsigned int orbit,const int bx);
24  explicit EventWithHistory(const edm::Event& event);
25  EventWithHistory(const std::vector<edm::EventAuxiliary>& he);
26  EventWithHistory(const edm::Event& event, const L1AcceptBunchCrossingCollection& l11bcc,
27  const long long orbitoffset=0, const int bxoffset=0);
29 
30  EventWithHistory& operator=(const EventWithHistory& he);
31 
32  // int operator<(const EventWithHistory& other) const;
33  int operator==(const EventWithHistory& other) const;
34 
35  int add(const EventWithHistory& he, const int idepth); // return false if depth limit reached or not consecutive
36  int add(const TinyEvent& he, const int idepth); // return false if depth limit reached or not consecutive
37 
38  const edm::EventNumber_t event() const;
39  const unsigned int orbit() const;
40  const int bx() const;
41 
42  const TinyEvent* get(const unsigned int ev) const;
43  unsigned int depth() const;
44  bool isFutureHistory() const;
45 
46  long long deltaBX(const unsigned int ev2, const unsigned int ev1) const;
47  long long deltaBX(const unsigned int ev1) const;
48  long long deltaBX() const;
49  long long deltaBX(const TinyEvent& se) const;
50 
51  long long absoluteBX(const unsigned int ev1) const;
52  long long absoluteBX() const;
53 
54  long long absoluteBXinCycle(const unsigned int ev1, const int bx0) const;
55  long long absoluteBXinCycle(const int bx0) const;
56 
57  long long deltaBXinCycle(const unsigned int ev2, const unsigned int ev1, const int bx0) const;
58  long long deltaBXinCycle(const unsigned int ev1, const int bx0) const;
59  long long deltaBXinCycle(const int bx0) const;
60  long long deltaBXinCycle(const TinyEvent& se, const int bx0) const;
61 
62  private:
63 
64  std::vector<TinyEvent> _prevse;
65 
66 };
67 
68 
69 
70 
71 #endif // DPGAnalysis_SiStripTools_EventWithHistory_H
72 
unsigned long long EventNumber_t
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
bool ev
std::vector< TinyEvent > _prevse
bool operator==(debugging_allocator< X > const &, debugging_allocator< Y > const &)
std::vector< L1AcceptBunchCrossing > L1AcceptBunchCrossingCollection
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
HLT enums.
std::vector< L1AcceptBunchCrossing > L1AcceptBunchCrossingCollection
Definition: event.py:1