ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/Objects/Jet.h
Revision: 1.10
Committed: Wed Jun 19 22:08:51 2013 UTC (11 years, 10 months ago) by rkogler
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.9: +0 -13 lines
Log Message:
clean up: removed some not needed data members

File Contents

# Content
1 #ifndef Jet_H
2 #define Jet_H
3
4 #include "FlavorParticle.h"
5
6 /**
7 * @short jet class
8 * @author Thomas Peiffer
9 */
10
11 class Jet : public FlavorParticle{
12
13 public:
14
15 Jet(){
16 m_nTracks=0;
17 m_jetArea=0;
18 m_numberOfDaughters=0;
19 m_neutralEmEnergyFraction=0;
20 m_neutralHadronEnergyFraction=0;
21 m_chargedEmEnergyFraction=0;
22 m_chargedHadronEnergyFraction=0;
23 m_muonEnergyFraction=0;
24 m_photonEnergyFraction=0;
25 m_chargedMultiplicity=0;
26 m_neutralMultiplicity=0;
27 m_muonMultiplicity=0;
28 m_electronMultiplicity=0;
29 m_photonMultiplicity=0;
30 m_btag_simpleSecondaryVertexHighEff=0;
31 m_btag_simpleSecondaryVertexHighPur=0;
32 m_btag_combinedSecondaryVertex=0;
33 m_btag_combinedSecondaryVertexMVA=0;
34 m_btag_jetBProbability=0;
35 m_btag_jetProbability=0;
36 m_JEC_factor_raw=0;
37 m_genjet_index=-1;
38 m_pfconstituents_indices.clear();
39 m_genjet=NULL;
40 };
41
42 ~Jet(){
43 };
44
45 LorentzVector genjet_v4() const{
46
47 return genjet().v4();
48 };
49
50 Particle genjet() const{
51 if(m_genjet)
52 return *m_genjet;
53 else{
54 //return 0 particle
55 Particle p;
56 return p;
57 }
58 };
59
60 std::vector<unsigned int> pfconstituents_indices() const{return m_pfconstituents_indices;}
61
62 void add_pfconstituents_index(int ind){m_pfconstituents_indices.push_back(ind);}
63
64 int nTracks() const{return m_nTracks;}
65 float jetArea() const{return m_jetArea;}
66 int numberOfDaughters() const{return m_numberOfDaughters;}
67 float neutralEmEnergyFraction() const{return m_neutralEmEnergyFraction;}
68 float neutralHadronEnergyFraction() const{return m_neutralHadronEnergyFraction;}
69 float chargedEmEnergyFraction() const{return m_chargedEmEnergyFraction;}
70 float chargedHadronEnergyFraction() const{return m_chargedHadronEnergyFraction;}
71 float muonEnergyFraction() const{return m_muonEnergyFraction;}
72 float photonEnergyFraction() const{return m_photonEnergyFraction;}
73 int chargedMultiplicity() const{return m_chargedMultiplicity;}
74 int neutralMultiplicity() const{return m_neutralMultiplicity;}
75 int muonMultiplicity() const{return m_muonMultiplicity;}
76 int electronMultiplicity() const{return m_electronMultiplicity;}
77 int photonMultiplicity() const{return m_photonMultiplicity;}
78 float btag_simpleSecondaryVertexHighEff() const{return m_btag_simpleSecondaryVertexHighEff;}
79 float btag_simpleSecondaryVertexHighPur() const{return m_btag_simpleSecondaryVertexHighPur;}
80 float btag_combinedSecondaryVertex() const{return m_btag_combinedSecondaryVertex;}
81 float btag_combinedSecondaryVertexMVA() const{return m_btag_combinedSecondaryVertexMVA;}
82 float btag_jetBProbability() const{return m_btag_jetBProbability;}
83 float btag_jetProbability() const{return m_btag_jetProbability;}
84 float JEC_factor_raw() const{return m_JEC_factor_raw;}
85 float genjet_pt() const{return genjet().pt();}
86 float genjet_eta() const{return genjet().eta();}
87 float genjet_phi() const{return genjet().phi();}
88 float genjet_energy() const{return genjet().energy();}
89 float genjet_index() const{return m_genjet_index;}
90
91 void set_nTracks(int x){m_nTracks=x;}
92 void set_jetArea(float x){m_jetArea=x;}
93 void set_numberOfDaughters(int x){m_numberOfDaughters=x;}
94 void set_neutralEmEnergyFraction(float x){m_neutralEmEnergyFraction=x;}
95 void set_neutralHadronEnergyFraction(float x){m_neutralHadronEnergyFraction=x;}
96 void set_chargedEmEnergyFraction(float x){m_chargedEmEnergyFraction=x;}
97 void set_chargedHadronEnergyFraction(float x){m_chargedHadronEnergyFraction=x;}
98 void set_muonEnergyFraction(float x){m_muonEnergyFraction=x;}
99 void set_photonEnergyFraction(float x){m_photonEnergyFraction=x;}
100 void set_chargedMultiplicity(int x){m_chargedMultiplicity=x;}
101 void set_neutralMultiplicity(int x){m_neutralMultiplicity=x;}
102 void set_muonMultiplicity(int x){m_muonMultiplicity=x;}
103 void set_electronMultiplicity(int x){m_electronMultiplicity=x;}
104 void set_photonMultiplicity(int x){m_photonMultiplicity=x;}
105 void set_btag_simpleSecondaryVertexHighEff(float x){m_btag_simpleSecondaryVertexHighEff=x;}
106 void set_btag_simpleSecondaryVertexHighPur(float x){m_btag_simpleSecondaryVertexHighPur=x;}
107 void set_btag_combinedSecondaryVertex(float x){m_btag_combinedSecondaryVertex=x;}
108 void set_btag_combinedSecondaryVertexMVA(float x){m_btag_combinedSecondaryVertexMVA=x;}
109 void set_btag_jetBProbability(float x){m_btag_jetBProbability=x;}
110 void set_btag_jetProbability(float x){m_btag_jetProbability=x;}
111 void set_JEC_factor_raw(float x){m_JEC_factor_raw=x;}
112 void set_genjet_index(int x){m_genjet_index=x;}
113
114 bool has_genjet() const{return m_genjet_index>=0;}
115
116 void set_genjet(std::vector<Particle>* genjets){
117 if(!genjets) return;
118 if(m_genjet_index<0 || m_genjet_index>(int)genjets->size()) return;
119 m_genjet = &genjets->at(m_genjet_index);
120 }
121
122 bool pfID(){
123 //pf ID has already been applied when using goodPatJets
124 if(numberOfDaughters()>1
125 && neutralHadronEnergyFraction()<0.99
126 && neutralEmEnergyFraction()<0.99){
127
128 if(fabs(eta())>=2.4)
129 return true;
130
131 if(chargedEmEnergyFraction()<0.99
132 && chargedHadronEnergyFraction()>0
133 && chargedMultiplicity()>0)
134 return true;
135 }
136 return false;
137 }
138
139 private:
140
141 int m_nTracks;
142 float m_jetArea;
143 int m_numberOfDaughters;
144 float m_neutralEmEnergyFraction;
145 float m_neutralHadronEnergyFraction;
146 float m_chargedEmEnergyFraction;
147 float m_chargedHadronEnergyFraction;
148 float m_muonEnergyFraction;
149 float m_photonEnergyFraction;
150 int m_chargedMultiplicity;
151 int m_neutralMultiplicity;
152 int m_muonMultiplicity;
153 int m_electronMultiplicity;
154 int m_photonMultiplicity;
155 float m_btag_simpleSecondaryVertexHighEff;
156 float m_btag_simpleSecondaryVertexHighPur;
157 float m_btag_combinedSecondaryVertex;
158 float m_btag_combinedSecondaryVertexMVA;
159 float m_btag_jetBProbability;
160 float m_btag_jetProbability;
161 float m_JEC_factor_raw;
162 int m_genjet_index;
163 Particle* m_genjet;
164
165 std::vector<unsigned int> m_pfconstituents_indices;
166
167
168 };
169
170 #endif