ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/Objects/Jet.h
Revision: 1.6
Committed: Thu Jan 31 13:08:51 2013 UTC (12 years, 3 months ago) by rkogler
Content type: text/plain
Branch: MAIN
CVS Tags: v1-00, Feb-15-2013-v1, Feb-14-2013, Feb-07-2013-v1
Changes since 1.5: +7 -0 lines
Log Message:
added vector with jet constituents

File Contents

# User Rev Content
1 peiffer 1.1 #ifndef Jet_H
2     #define Jet_H
3    
4     #include "Particle.h"
5    
6 peiffer 1.3 /**
7     * @short jet class
8     * @author Thomas Peiffer
9     */
10 peiffer 1.1
11     class Jet : public Particle{
12    
13     public:
14    
15     Jet(){
16     m_nTracks=0;
17     m_jetArea=0;
18     m_pileup=0;
19     m_numberOfDaughters=0;
20     m_neutralEmEnergyFraction=0;
21     m_neutralHadronEnergyFraction=0;
22     m_chargedEmEnergyFraction=0;
23     m_chargedHadronEnergyFraction=0;
24     m_muonEnergyFraction=0;
25     m_photonEnergyFraction=0;
26     m_chargedMultiplicity=0;
27     m_neutralMultiplicity=0;
28     m_muonMultiplicity=0;
29     m_electronMultiplicity=0;
30     m_photonMultiplicity=0;
31     m_btag_simpleSecondaryVertexHighEff=0;
32     m_btag_simpleSecondaryVertexHighPur=0;
33     m_btag_combinedSecondaryVertex=0;
34     m_btag_combinedSecondaryVertexMVA=0;
35     m_btag_jetBProbability=0;
36     m_btag_jetProbability=0;
37     m_JEC_uncertainty=0;
38     m_JEC_factor_raw=0;
39     m_genjet_pt=0;
40     m_genjet_eta=0;
41     m_genjet_phi=0;
42     m_genjet_energy=0;
43     m_genparticles_indices.clear();
44 rkogler 1.6 m_pfconstituents.clear();
45 peiffer 1.1 };
46    
47     ~Jet(){
48     };
49    
50 peiffer 1.2 LorentzVector genjet_v4() const{
51 peiffer 1.1 LorentzVector v4;
52     v4.SetPt(m_genjet_pt);
53     v4.SetEta(m_genjet_eta);
54     v4.SetPhi(m_genjet_phi);
55     v4.SetE(m_genjet_energy);
56     return v4;
57     };
58    
59 rkogler 1.6 std::vector<Particle> pfconstituents() const{return m_pfconstituents;}
60    
61     void add_pfconstituents(Particle p){m_pfconstituents.push_back(p);}
62    
63 peiffer 1.2 int nTracks() const{return m_nTracks;}
64     float jetArea() const{return m_jetArea;}
65     float pileup() const{return m_pileup;}
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_uncertainty() const{return m_JEC_uncertainty;}
85     float JEC_factor_raw() const{return m_JEC_factor_raw;}
86     float genjet_pt() const{return m_genjet_pt;}
87     float genjet_eta() const{return m_genjet_eta;}
88     float genjet_phi() const{return m_genjet_phi;}
89     float genjet_energy() const{return m_genjet_energy;}
90     std::vector<unsigned int> genparticles_indices() const{return m_genparticles_indices;}
91 peiffer 1.1
92     void set_nTracks(int x){m_nTracks=x;}
93     void set_jetArea(float x){m_jetArea=x;}
94     void set_pileup(float x){m_pileup=x;}
95     void set_numberOfDaughters(int x){m_numberOfDaughters=x;}
96     void set_neutralEmEnergyFraction(float x){m_neutralEmEnergyFraction=x;}
97     void set_neutralHadronEnergyFraction(float x){m_neutralHadronEnergyFraction=x;}
98     void set_chargedEmEnergyFraction(float x){m_chargedEmEnergyFraction=x;}
99     void set_chargedHadronEnergyFraction(float x){m_chargedHadronEnergyFraction=x;}
100     void set_muonEnergyFraction(float x){m_muonEnergyFraction=x;}
101     void set_photonEnergyFraction(float x){m_photonEnergyFraction=x;}
102     void set_chargedMultiplicity(int x){m_chargedMultiplicity=x;}
103     void set_neutralMultiplicity(int x){m_neutralMultiplicity=x;}
104     void set_muonMultiplicity(int x){m_muonMultiplicity=x;}
105     void set_electronMultiplicity(int x){m_electronMultiplicity=x;}
106     void set_photonMultiplicity(int x){m_photonMultiplicity=x;}
107     void set_btag_simpleSecondaryVertexHighEff(float x){m_btag_simpleSecondaryVertexHighEff=x;}
108     void set_btag_simpleSecondaryVertexHighPur(float x){m_btag_simpleSecondaryVertexHighPur=x;}
109     void set_btag_combinedSecondaryVertex(float x){m_btag_combinedSecondaryVertex=x;}
110     void set_btag_combinedSecondaryVertexMVA(float x){m_btag_combinedSecondaryVertexMVA=x;}
111     void set_btag_jetBProbability(float x){m_btag_jetBProbability=x;}
112     void set_btag_jetProbability(float x){m_btag_jetProbability=x;}
113     void set_JEC_uncertainty(float x){m_JEC_uncertainty=x;}
114     void set_JEC_factor_raw(float x){m_JEC_factor_raw=x;}
115     void set_genjet_pt(float x){m_genjet_pt=x;}
116     void set_genjet_eta(float x){m_genjet_eta=x;}
117     void set_genjet_phi(float x){m_genjet_phi=x;}
118     void set_genjet_energy(float x){m_genjet_energy=x;}
119     void add_genparticles_index(unsigned int x){m_genparticles_indices.push_back(x);}
120    
121 peiffer 1.4 bool has_genjet() const{return m_genjet_pt>0;}
122    
123 peiffer 1.5 bool pfID(){
124     //pf ID has already been applied when using goodPatJets
125     if(numberOfDaughters()>1
126     && neutralHadronEnergyFraction()<0.99
127     && neutralEmEnergyFraction()<0.99){
128    
129     if(fabs(eta())>=2.4)
130     return true;
131    
132     if(chargedEmEnergyFraction()<0.99
133     && chargedHadronEnergyFraction()>0
134     && chargedMultiplicity()>0)
135     return true;
136     }
137     return false;
138     }
139    
140 peiffer 1.1 private:
141    
142     int m_nTracks;
143     float m_jetArea;
144     float m_pileup;
145     int m_numberOfDaughters;
146     float m_neutralEmEnergyFraction;
147     float m_neutralHadronEnergyFraction;
148     float m_chargedEmEnergyFraction;
149     float m_chargedHadronEnergyFraction;
150     float m_muonEnergyFraction;
151     float m_photonEnergyFraction;
152     int m_chargedMultiplicity;
153     int m_neutralMultiplicity;
154     int m_muonMultiplicity;
155     int m_electronMultiplicity;
156     int m_photonMultiplicity;
157     float m_btag_simpleSecondaryVertexHighEff;
158     float m_btag_simpleSecondaryVertexHighPur;
159     float m_btag_combinedSecondaryVertex;
160     float m_btag_combinedSecondaryVertexMVA;
161     float m_btag_jetBProbability;
162     float m_btag_jetProbability;
163     float m_JEC_uncertainty;
164     float m_JEC_factor_raw;
165     float m_genjet_pt;
166     float m_genjet_eta;
167     float m_genjet_phi;
168     float m_genjet_energy;
169    
170     std::vector<unsigned int> m_genparticles_indices;
171    
172 rkogler 1.6 std::vector<Particle> m_pfconstituents;
173    
174 peiffer 1.1 };
175    
176     #endif