1 |
#ifndef HbbAnalysis_MCEvent_hh
|
2 |
#define HbbAnalysis_MCEvent_hh
|
3 |
#include <vector>
|
4 |
#include <string>
|
5 |
|
6 |
#include "UserCode/HbbAnalysis/interface/GenParticle.hh"
|
7 |
#include "UserCode/HbbAnalysis/interface/GenJet.hh"
|
8 |
#include "UserCode/HbbAnalysis/interface/Jet.hh"
|
9 |
|
10 |
namespace HbbAnalysis {
|
11 |
|
12 |
class MCEvent {
|
13 |
|
14 |
public:
|
15 |
|
16 |
/** Constructor/Destructor */
|
17 |
|
18 |
MCEvent():
|
19 |
p4total_(),
|
20 |
particles_(),
|
21 |
lheParticles_(),
|
22 |
genjets_(),
|
23 |
partonjets_(),
|
24 |
pfjets_(),
|
25 |
event_(0),
|
26 |
run_(0)
|
27 |
{};
|
28 |
|
29 |
~MCEvent(){
|
30 |
Clear();
|
31 |
};
|
32 |
|
33 |
/** Getters */
|
34 |
|
35 |
inline std::vector<GenParticle> & particles()
|
36 |
{
|
37 |
return particles_;
|
38 |
};
|
39 |
|
40 |
inline std::vector<GenJet> & genjets()
|
41 |
{
|
42 |
return genjets_;
|
43 |
};
|
44 |
|
45 |
inline std::vector<GenJet> & partonjets()
|
46 |
{
|
47 |
return partonjets_;
|
48 |
};
|
49 |
|
50 |
inline std::vector<Jet> & pfjets()
|
51 |
{
|
52 |
return pfjets_;
|
53 |
};
|
54 |
|
55 |
inline std::vector<GenParticle> & lheParticles()
|
56 |
{
|
57 |
return lheParticles_;
|
58 |
};
|
59 |
|
60 |
inline P4Total & p4total()
|
61 |
{
|
62 |
return p4total_;
|
63 |
};
|
64 |
|
65 |
inline unsigned int event()
|
66 |
{
|
67 |
return event_;
|
68 |
};
|
69 |
|
70 |
inline unsigned int run()
|
71 |
{
|
72 |
return run_;
|
73 |
};
|
74 |
|
75 |
/** Setters */
|
76 |
|
77 |
|
78 |
inline void particles(const std::vector<GenParticle> & aVec)
|
79 |
{
|
80 |
particles_=aVec;
|
81 |
};
|
82 |
|
83 |
inline void genjets(const std::vector<GenJet> & aVec)
|
84 |
{
|
85 |
genjets_=aVec;
|
86 |
};
|
87 |
|
88 |
inline void partonjets(const std::vector<GenJet> & aVec)
|
89 |
{
|
90 |
partonjets_=aVec;
|
91 |
};
|
92 |
|
93 |
inline void pfjets(const std::vector<Jet> & aVec)
|
94 |
{
|
95 |
pfjets_=aVec;
|
96 |
};
|
97 |
|
98 |
inline void lheParticles(const std::vector<GenParticle> & aVec)
|
99 |
{
|
100 |
lheParticles_=aVec;
|
101 |
};
|
102 |
|
103 |
inline void p4total(const P4Total & aVec)
|
104 |
{
|
105 |
p4total_=aVec;
|
106 |
};
|
107 |
|
108 |
inline void event(const unsigned int aMCEvent) {
|
109 |
event_ = aMCEvent;
|
110 |
};
|
111 |
|
112 |
inline void run(const unsigned int aHbbRun) {
|
113 |
run_ = aHbbRun;
|
114 |
};
|
115 |
|
116 |
void Clear(){
|
117 |
particles_.clear();
|
118 |
lheParticles_.clear();
|
119 |
genjets_.clear();
|
120 |
partonjets_.clear();
|
121 |
pfjets_.clear();
|
122 |
p4total_.Clear();
|
123 |
};
|
124 |
|
125 |
|
126 |
private:
|
127 |
P4Total p4total_;
|
128 |
std::vector<GenParticle> particles_;
|
129 |
std::vector<GenParticle> lheParticles_;
|
130 |
std::vector<GenJet> genjets_;
|
131 |
std::vector<GenJet> partonjets_;
|
132 |
std::vector<Jet> pfjets_;
|
133 |
unsigned int event_;
|
134 |
unsigned int run_;
|
135 |
|
136 |
};//class
|
137 |
|
138 |
}//namespace
|
139 |
|
140 |
#endif //HbbAnalysis_MCEvent_hh
|