ATLAS Offline Software
Loading...
Searching...
No Matches
TIDAEvent.h
Go to the documentation of this file.
1/* emacs: this is -*- c++ -*- */
13
14
15#ifndef TRIGINDETANALYSIS_TIDAEVENT_H
16#define TRIGINDETANALYSIS_TIDAEVENT_H
17
18#include <iostream>
19#include <vector>
20#include <string>
21
24
25
26#include "TObject.h"
27
28
29
30namespace TIDA {
31
32class Event : public TObject {
33
34public:
35
37
38 virtual ~Event();
39
41 void run_number(unsigned r) { m_run_number = r; }
42 void event_number(unsigned long long e) { m_event_number = e; }
43 void lumi_block(unsigned lb) { m_lumi_block = lb; }
44 void time_stamp(unsigned t) { m_time_stamp = t; }
45 void bunch_crossing_id(unsigned b) { m_bunch_crossing_id = b; }
46 void mu(double m) { m_mu = m;}
47
48 unsigned run_number() const { return m_run_number; }
49 unsigned long long event_number() const { return m_event_number; }
50 unsigned lumi_block() const { return m_lumi_block; }
51 unsigned time_stamp() const { return m_time_stamp; }
52 unsigned bunch_crossing_id() const { return m_bunch_crossing_id; }
53
56 double mu() const { return m_mu; }
57
61
63 unsigned size() const { return m_chains.size(); }
64
66 void addChain(const std::string& chainname) {
67 m_chains.push_back(TIDA::Chain(chainname));
68 }
69
70 void addVertex(const TIDA::Vertex& v) {
71 m_vertices.push_back(v);
72 }
73
74
75 const std::vector<TIDA::Chain>& chains() const { return m_chains; };
76 std::vector<TIDA::Chain>& chains() { return m_chains; };
77
78 const TIDA::Chain* chain( const std::string& s ) const;
79
81 void clear() { m_chains.clear(); m_vertices.clear(); }
82
84 TIDA::Chain& back() { return m_chains.back(); }
85
86 // iterators
87 std::vector<TIDA::Chain>::iterator begin() { return m_chains.begin(); }
88 std::vector<TIDA::Chain>::iterator end() { return m_chains.end(); }
89
90 std::vector<TIDA::Chain>::const_iterator begin() const { return m_chains.begin(); }
91 std::vector<TIDA::Chain>::const_iterator end() const { return m_chains.end(); }
92
94 TIDA::Chain& operator[](int i) { return m_chains.at(i); }
95
96 const std::vector<TIDA::Vertex>& vertices() const { return m_vertices; }
97
98 std::vector<std::string> chainnames() const;
99
100 void erase( const std::string& name );
101
102
103private:
104
105 unsigned m_run_number;
106 unsigned long long m_event_number;
107 unsigned m_lumi_block;
108 unsigned m_time_stamp;
109
111 double m_mu;
112
114 std::vector<TIDA::Chain> m_chains;
115
116 std::vector<TIDA::Vertex> m_vertices;
117
118 ClassDef(TIDA::Event,4)
119
120};
121
122}
123
124inline std::ostream& operator<<( std::ostream& s, const TIDA::Event& t ) {
125 s << "Event run: " << t.run_number()
126 << "\tevent: " << t.event_number()
127 << "\tlb: " << t.lumi_block()
128 << "\tbc: " << t.bunch_crossing_id()
129 << "\ttime: " << t.time_stamp()
130 << "\tmu: " << t.mu();
131 for ( unsigned i=0 ; i<t.vertices().size() ; i++ ) s << "\n" << t.vertices()[i];
132 for ( unsigned i=0 ; i<t.chains().size() ; i++ ) s << "\n" << t.chains()[i];
133 return s;
134}
135
136
137#endif // TRIGINDETANALYSIS_TIDAEVENT_H
138
139
140
141
142
143
144
145
146
147
size_t size() const
Number of registered mappings.
chain container, contains rois
std::ostream & operator<<(std::ostream &s, const TIDA::Event &t)
Definition TIDAEvent.h:124
TIDA::Chain & operator[](int i)
vector operator
Definition TIDAEvent.h:94
unsigned lumi_block() const
Definition TIDAEvent.h:50
void erase(const std::string &name)
Definition TIDAEvent.cxx:36
unsigned long long m_event_number
Definition TIDAEvent.h:106
const TIDA::Chain * chain(const std::string &s) const
Definition TIDAEvent.cxx:57
unsigned run_number() const
Definition TIDAEvent.h:48
unsigned m_time_stamp
Definition TIDAEvent.h:108
std::vector< TIDA::Chain >::iterator end()
Definition TIDAEvent.h:88
std::vector< TIDA::Chain >::const_iterator begin() const
Definition TIDAEvent.h:90
void lumi_block(unsigned lb)
Definition TIDAEvent.h:43
void mu(double m)
Definition TIDAEvent.h:46
TIDA::Chain & back()
get the last chain from the vector
Definition TIDAEvent.h:84
void addVertex(const TIDA::Vertex &v)
Definition TIDAEvent.h:70
unsigned bunch_crossing_id() const
Definition TIDAEvent.h:52
std::vector< TIDA::Chain > & chains()
Definition TIDAEvent.h:76
double mu() const
FIXME: what is this ?
Definition TIDAEvent.h:56
void bunch_crossing_id(unsigned b)
Definition TIDAEvent.h:45
virtual ~Event()
Definition TIDAEvent.cxx:26
unsigned m_run_number
Definition TIDAEvent.h:105
std::vector< TIDA::Chain >::iterator begin()
Definition TIDAEvent.h:87
std::vector< TIDA::Chain >::const_iterator end() const
Definition TIDAEvent.h:91
unsigned time_stamp() const
Definition TIDAEvent.h:51
double m_mu
Definition TIDAEvent.h:111
void addChain(const std::string &chainname)
methods to add and access chains
Definition TIDAEvent.h:66
void event_number(unsigned long long e)
Definition TIDAEvent.h:42
void time_stamp(unsigned t)
Definition TIDAEvent.h:44
void run_number(unsigned r)
accessors
Definition TIDAEvent.h:41
const std::vector< TIDA::Chain > & chains() const
Definition TIDAEvent.h:75
void clear()
clear the event
Definition TIDAEvent.h:81
const std::vector< TIDA::Vertex > & vertices() const
Definition TIDAEvent.h:96
unsigned m_bunch_crossing_id
Definition TIDAEvent.h:110
unsigned size() const
vertex multiplicity ?
Definition TIDAEvent.h:63
unsigned long long event_number() const
Definition TIDAEvent.h:49
std::vector< TIDA::Vertex > m_vertices
Definition TIDAEvent.h:116
std::vector< std::string > chainnames() const
Definition TIDAEvent.cxx:28
std::vector< TIDA::Chain > m_chains
vertex multiplicity ?
Definition TIDAEvent.h:114
unsigned m_lumi_block
Definition TIDAEvent.h:107
int lb
Definition globals.cxx:23
int r
Definition globals.cxx:22
Test for xAOD.