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.1 by peiffer, Tue May 22 09:32:32 2012 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;
14     m_pileup=0;
18       m_numberOfDaughters=0;
19       m_neutralEmEnergyFraction=0;
20       m_neutralHadronEnergyFraction=0;
# Line 30 | Line 33 | class Jet : public Particle{
33       m_btag_combinedSecondaryVertexMVA=0;
34       m_btag_jetBProbability=0;
35       m_btag_jetProbability=0;
33     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;
38 <     m_genjet_energy=0;
39 <     m_genparticles_indices.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(){
46 <    LorentzVector v4;
47 <    v4.SetPt(m_genjet_pt);
48 <    v4.SetEta(m_genjet_eta);
49 <    v4.SetPhi(m_genjet_phi);
50 <    v4.SetE(m_genjet_energy);
51 <    return v4;
45 >  LorentzVector genjet_v4() const{
46 >  
47 >    return genjet().v4();
48    };
49  
50 <  int nTracks(){return m_nTracks;}
51 <  float jetArea(){return m_jetArea;}
52 <  float pileup(){return m_pileup;}
53 <  int numberOfDaughters(){return m_numberOfDaughters;}
54 <  float neutralEmEnergyFraction(){return m_neutralEmEnergyFraction;}
55 <  float neutralHadronEnergyFraction(){return m_neutralHadronEnergyFraction;}
56 <  float chargedEmEnergyFraction(){return m_chargedEmEnergyFraction;}
57 <  float chargedHadronEnergyFraction(){return m_chargedHadronEnergyFraction;}
58 <  float muonEnergyFraction(){return m_muonEnergyFraction;}
59 <  float photonEnergyFraction(){return m_photonEnergyFraction;}
60 <  int chargedMultiplicity(){return m_chargedMultiplicity;}
61 <  int neutralMultiplicity(){return m_neutralMultiplicity;}
62 <  int muonMultiplicity(){return m_muonMultiplicity;}
63 <  int electronMultiplicity(){return m_electronMultiplicity;}
64 <  int photonMultiplicity(){return m_photonMultiplicity;}
65 <  float btag_simpleSecondaryVertexHighEff(){return m_btag_simpleSecondaryVertexHighEff;}
66 <  float btag_simpleSecondaryVertexHighPur(){return m_btag_simpleSecondaryVertexHighPur;}
67 <  float btag_combinedSecondaryVertex(){return m_btag_combinedSecondaryVertex;}
68 <  float btag_combinedSecondaryVertexMVA(){return m_btag_combinedSecondaryVertexMVA;}
69 <  float btag_jetBProbability(){return m_btag_jetBProbability;}
70 <  float btag_jetProbability(){return m_btag_jetProbability;}
71 <  float JEC_uncertainty(){return m_JEC_uncertainty;}
72 <  float JEC_factor_raw(){return m_JEC_factor_raw;}
73 <  float genjet_pt(){return m_genjet_pt;}
74 <  float genjet_eta(){return m_genjet_eta;}
75 <  float genjet_phi(){return m_genjet_phi;}
76 <  float genjet_energy(){return m_genjet_energy;}
77 <  std::vector<unsigned int> genparticles_indices(){return m_genparticles_indices;}
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;}
85  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 101 | 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;}
104  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;}
113 <  void set_genjet_eta(float x){m_genjet_eta=x;}
114 <  void set_genjet_phi(float x){m_genjet_phi=x;}
115 <  void set_genjet_energy(float x){m_genjet_energy=x;}
116 <  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_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;
116  float m_pileup;
143    int m_numberOfDaughters;
144    float m_neutralEmEnergyFraction;
145    float m_neutralHadronEnergyFraction;
# Line 132 | Line 158 | class Jet : public Particle{
158    float m_btag_combinedSecondaryVertexMVA;
159    float m_btag_jetBProbability;
160    float m_btag_jetProbability;
135  float m_JEC_uncertainty;
161    float m_JEC_factor_raw;
162 <  float m_genjet_pt;
163 <  float m_genjet_eta;
164 <  float m_genjet_phi;
165 <  float m_genjet_energy;
162 >  int m_genjet_index;
163 >  Particle* m_genjet;
164 >
165 >  std::vector<unsigned int> m_pfconstituents_indices;
166  
142  std::vector<unsigned int> m_genparticles_indices;
167  
168   };
169  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines