ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/Objects/Jet.h
(Generate patch)

Comparing UserCode/UHHAnalysis/NtupleWriter/Objects/Jet.h (file contents):
Revision 1.6 by rkogler, Thu Jan 31 13:08:51 2013 UTC vs.
Revision 1.10 by rkogler, Wed Jun 19 22:08:51 2013 UTC

# Line 1 | Line 1
1   #ifndef Jet_H
2   #define Jet_H
3  
4 < #include "Particle.h"
4 > #include "FlavorParticle.h"
5  
6   /**
7   *  @short jet class
8   *  @author Thomas Peiffer
9   */
10  
11 < class Jet : public Particle{
11 > class Jet : public FlavorParticle{
12  
13   public:
14  
15    Jet(){
16       m_nTracks=0;
17       m_jetArea=0;
18     m_pileup=0;
18       m_numberOfDaughters=0;
19       m_neutralEmEnergyFraction=0;
20       m_neutralHadronEnergyFraction=0;
# Line 34 | Line 33 | class Jet : public Particle{
33       m_btag_combinedSecondaryVertexMVA=0;
34       m_btag_jetBProbability=0;
35       m_btag_jetProbability=0;
37     m_JEC_uncertainty=0;
36       m_JEC_factor_raw=0;
37 <     m_genjet_pt=0;
38 <     m_genjet_eta=0;
39 <     m_genjet_phi=0;
42 <     m_genjet_energy=0;
43 <     m_genparticles_indices.clear();
44 <     m_pfconstituents.clear();
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 <    LorentzVector v4;
47 <    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;
46 >  
47 >    return genjet().v4();
48    };
49  
50 <  std::vector<Particle> pfconstituents() const{return m_pfconstituents;}
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(Particle p){m_pfconstituents.push_back(p);}
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;}
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;}
# Line 81 | Line 81 | class Jet : public Particle{
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;}
84    float JEC_factor_raw() const{return m_JEC_factor_raw;}
85 <  float genjet_pt() const{return m_genjet_pt;}
86 <  float genjet_eta() const{return m_genjet_eta;}
87 <  float genjet_phi() const{return m_genjet_phi;}
88 <  float genjet_energy() const{return m_genjet_energy;}
89 <  std::vector<unsigned int> genparticles_indices() const{return m_genparticles_indices;}
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;}
94  void set_pileup(float x){m_pileup=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;}
# Line 110 | Line 108 | class Jet : public Particle{
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;}
113  void set_JEC_uncertainty(float x){m_JEC_uncertainty=x;}
111    void set_JEC_factor_raw(float x){m_JEC_factor_raw=x;}
112 <  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);}
112 >  void set_genjet_index(int x){m_genjet_index=x;}
113  
114 <  bool has_genjet() const{return m_genjet_pt>0;}
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
# Line 141 | Line 140 | class Jet : public Particle{
140    
141    int m_nTracks;
142    float m_jetArea;
144  float m_pileup;
143    int m_numberOfDaughters;
144    float m_neutralEmEnergyFraction;
145    float m_neutralHadronEnergyFraction;
# Line 160 | Line 158 | class Jet : public Particle{
158    float m_btag_combinedSecondaryVertexMVA;
159    float m_btag_jetBProbability;
160    float m_btag_jetProbability;
163  float m_JEC_uncertainty;
161    float m_JEC_factor_raw;
162 <  float m_genjet_pt;
163 <  float m_genjet_eta;
167 <  float m_genjet_phi;
168 <  float m_genjet_energy;
162 >  int m_genjet_index;
163 >  Particle* m_genjet;
164  
165 <  std::vector<unsigned int> m_genparticles_indices;
165 >  std::vector<unsigned int> m_pfconstituents_indices;
166  
172  std::vector<Particle> m_pfconstituents;
167  
168   };
169  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines