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//#include "TrigInDetTruthEvent/TrigInDetTrackTruthMap.h"
25
26
27#include "TObject.h"
28
29
30
31namespace TIDA {
32
33class Event : public TObject {
34
35public:
36
38
39 virtual ~Event();
40
42 void run_number(unsigned r) { m_run_number = r; }
43 void event_number(unsigned long long e) { m_event_number = e; }
44 void lumi_block(unsigned lb) { m_lumi_block = lb; }
45 void time_stamp(unsigned t) { m_time_stamp = t; }
46 void bunch_crossing_id(unsigned b) { m_bunch_crossing_id = b; }
47 void mu(double m) { m_mu = m;}
48
49 unsigned run_number() const { return m_run_number; }
50 unsigned long long event_number() const { return m_event_number; }
51 unsigned lumi_block() const { return m_lumi_block; }
52 unsigned time_stamp() const { return m_time_stamp; }
53 unsigned bunch_crossing_id() const { return m_bunch_crossing_id; }
54
57 double mu() const { return m_mu; }
58
62
64 unsigned size() const { return m_chains.size(); }
65
67 void addChain(const std::string& chainname) {
68 m_chains.push_back(TIDA::Chain(chainname));
69 }
70
71 void addVertex(const TIDA::Vertex& v) {
72 m_vertices.push_back(v);
73 }
74
75
76 const std::vector<TIDA::Chain>& chains() const { return m_chains; };
77 std::vector<TIDA::Chain>& chains() { return m_chains; };
78
79 const TIDA::Chain* chain( const std::string& s ) const;
80
81 //void setTruthMap(TrigInDetTrackTruthMap truthmap) {
82 // m_truthmap = truthmap;
83 //}
84
86 void clear() { m_chains.clear(); m_vertices.clear(); }
87
89 TIDA::Chain& back() { return m_chains.back(); }
90
91 // iterators
92 std::vector<TIDA::Chain>::iterator begin() { return m_chains.begin(); }
93 std::vector<TIDA::Chain>::iterator end() { return m_chains.end(); }
94
95 std::vector<TIDA::Chain>::const_iterator begin() const { return m_chains.begin(); }
96 std::vector<TIDA::Chain>::const_iterator end() const { return m_chains.end(); }
97
99 TIDA::Chain& operator[](int i) { return m_chains.at(i); }
100
101 const std::vector<TIDA::Vertex>& vertices() const { return m_vertices; }
102
103 std::vector<std::string> chainnames() const;
104
105 void erase( const std::string& name );
106
107
108private:
109
110 unsigned m_run_number;
111 unsigned long long m_event_number;
112 unsigned m_lumi_block;
113 unsigned m_time_stamp;
114
116 double m_mu;
117
119 std::vector<TIDA::Chain> m_chains;
120
121 std::vector<TIDA::Vertex> m_vertices;
122
123 ClassDef(TIDA::Event,4)
124
125};
126
127}
128
129inline std::ostream& operator<<( std::ostream& s, const TIDA::Event& t ) {
130 s << "Event run: " << t.run_number()
131 << "\tevent: " << t.event_number()
132 << "\tlb: " << t.lumi_block()
133 << "\tbc: " << t.bunch_crossing_id()
134 << "\ttime: " << t.time_stamp()
135 << "\tmu: " << t.mu();
136 for ( unsigned i=0 ; i<t.vertices().size() ; i++ ) s << "\n" << t.vertices()[i];
137 for ( unsigned i=0 ; i<t.chains().size() ; i++ ) s << "\n" << t.chains()[i];
138 return s;
139}
140
141
142#endif // TRIGINDETANALYSIS_TIDAEVENT_H
143
144
145
146
147
148
149
150
151
152
chain container, contains rois
std::ostream & operator<<(std::ostream &s, const TIDA::Event &t)
Definition TIDAEvent.h:129
TIDA::Chain & operator[](int i)
vector operator
Definition TIDAEvent.h:99
unsigned lumi_block() const
Definition TIDAEvent.h:51
void erase(const std::string &name)
Definition TIDAEvent.cxx:36
unsigned long long m_event_number
Definition TIDAEvent.h:111
const TIDA::Chain * chain(const std::string &s) const
Definition TIDAEvent.cxx:57
unsigned run_number() const
Definition TIDAEvent.h:49
unsigned m_time_stamp
Definition TIDAEvent.h:113
std::vector< TIDA::Chain >::iterator end()
Definition TIDAEvent.h:93
std::vector< TIDA::Chain >::const_iterator begin() const
Definition TIDAEvent.h:95
void lumi_block(unsigned lb)
Definition TIDAEvent.h:44
void mu(double m)
Definition TIDAEvent.h:47
TIDA::Chain & back()
get the last chain from the vector
Definition TIDAEvent.h:89
void addVertex(const TIDA::Vertex &v)
Definition TIDAEvent.h:71
unsigned bunch_crossing_id() const
Definition TIDAEvent.h:53
std::vector< TIDA::Chain > & chains()
Definition TIDAEvent.h:77
double mu() const
FIXME: what is this ?
Definition TIDAEvent.h:57
void bunch_crossing_id(unsigned b)
Definition TIDAEvent.h:46
virtual ~Event()
Definition TIDAEvent.cxx:26
unsigned m_run_number
Definition TIDAEvent.h:110
std::vector< TIDA::Chain >::iterator begin()
Definition TIDAEvent.h:92
std::vector< TIDA::Chain >::const_iterator end() const
Definition TIDAEvent.h:96
unsigned time_stamp() const
Definition TIDAEvent.h:52
double m_mu
Definition TIDAEvent.h:116
void addChain(const std::string &chainname)
methods to add and access chains
Definition TIDAEvent.h:67
void event_number(unsigned long long e)
Definition TIDAEvent.h:43
void time_stamp(unsigned t)
Definition TIDAEvent.h:45
void run_number(unsigned r)
accessors
Definition TIDAEvent.h:42
const std::vector< TIDA::Chain > & chains() const
Definition TIDAEvent.h:76
void clear()
clear the event
Definition TIDAEvent.h:86
const std::vector< TIDA::Vertex > & vertices() const
Definition TIDAEvent.h:101
unsigned m_bunch_crossing_id
Definition TIDAEvent.h:115
unsigned size() const
vertex multiplicity ?
Definition TIDAEvent.h:64
unsigned long long event_number() const
Definition TIDAEvent.h:50
std::vector< TIDA::Vertex > m_vertices
Definition TIDAEvent.h:121
std::vector< std::string > chainnames() const
Definition TIDAEvent.cxx:28
std::vector< TIDA::Chain > m_chains
vertex multiplicity ?
Definition TIDAEvent.h:119
unsigned m_lumi_block
Definition TIDAEvent.h:112
int lb
Definition globals.cxx:23
int r
Definition globals.cxx:22
Test for xAOD.