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.8 by rkogler, Wed Jun 19 13:28:24 2013 UTC

# Line 3 | Line 3
3  
4   #include "Particle.h"
5  
6 + /**
7 + *  @short jet class
8 + *  @author Thomas Peiffer
9 + */
10  
11   class Jet : public Particle{
12  
# Line 32 | Line 36 | class Jet : public Particle{
36       m_btag_jetProbability=0;
37       m_JEC_uncertainty=0;
38       m_JEC_factor_raw=0;
39 <     m_genjet_pt=0;
36 <     m_genjet_eta=0;
37 <     m_genjet_phi=0;
38 <     m_genjet_energy=0;
39 >     m_genjet_index=-1;
40       m_genparticles_indices.clear();
41 +     m_pfconstituents_indices.clear();
42 +     m_genjet=NULL;
43    };
44  
45    ~Jet(){
46    };
47  
48 <  LorentzVector genjet_v4(){
49 <    LorentzVector v4;
50 <    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;
48 >  LorentzVector genjet_v4() const{
49 >  
50 >    return genjet().v4();
51    };
52  
53 <  int nTracks(){return m_nTracks;}
54 <  float jetArea(){return m_jetArea;}
55 <  float pileup(){return m_pileup;}
56 <  int numberOfDaughters(){return m_numberOfDaughters;}
57 <  float neutralEmEnergyFraction(){return m_neutralEmEnergyFraction;}
58 <  float neutralHadronEnergyFraction(){return m_neutralHadronEnergyFraction;}
59 <  float chargedEmEnergyFraction(){return m_chargedEmEnergyFraction;}
60 <  float chargedHadronEnergyFraction(){return m_chargedHadronEnergyFraction;}
61 <  float muonEnergyFraction(){return m_muonEnergyFraction;}
62 <  float photonEnergyFraction(){return m_photonEnergyFraction;}
63 <  int chargedMultiplicity(){return m_chargedMultiplicity;}
64 <  int neutralMultiplicity(){return m_neutralMultiplicity;}
65 <  int muonMultiplicity(){return m_muonMultiplicity;}
66 <  int electronMultiplicity(){return m_electronMultiplicity;}
67 <  int photonMultiplicity(){return m_photonMultiplicity;}
68 <  float btag_simpleSecondaryVertexHighEff(){return m_btag_simpleSecondaryVertexHighEff;}
69 <  float btag_simpleSecondaryVertexHighPur(){return m_btag_simpleSecondaryVertexHighPur;}
70 <  float btag_combinedSecondaryVertex(){return m_btag_combinedSecondaryVertex;}
71 <  float btag_combinedSecondaryVertexMVA(){return m_btag_combinedSecondaryVertexMVA;}
72 <  float btag_jetBProbability(){return m_btag_jetBProbability;}
73 <  float btag_jetProbability(){return m_btag_jetProbability;}
74 <  float JEC_uncertainty(){return m_JEC_uncertainty;}
75 <  float JEC_factor_raw(){return m_JEC_factor_raw;}
76 <  float genjet_pt(){return m_genjet_pt;}
77 <  float genjet_eta(){return m_genjet_eta;}
78 <  float genjet_phi(){return m_genjet_phi;}
79 <  float genjet_energy(){return m_genjet_energy;}
80 <  std::vector<unsigned int> genparticles_indices(){return m_genparticles_indices;}
53 >  Particle genjet() const{
54 >    if(m_genjet)
55 >      return *m_genjet;
56 >    else{
57 >      //return 0 particle
58 >      Particle p;
59 >      return p;
60 >    }
61 >  };
62 >
63 >  std::vector<unsigned int> pfconstituents_indices() const{return m_pfconstituents_indices;}
64 >
65 >  void add_pfconstituents_index(int ind){m_pfconstituents_indices.push_back(ind);}
66 >
67 >  int nTracks() const{return m_nTracks;}
68 >  float jetArea() const{return m_jetArea;}
69 >  float pileup() const{return m_pileup;}
70 >  int numberOfDaughters() const{return m_numberOfDaughters;}
71 >  float neutralEmEnergyFraction() const{return m_neutralEmEnergyFraction;}
72 >  float neutralHadronEnergyFraction() const{return m_neutralHadronEnergyFraction;}
73 >  float chargedEmEnergyFraction() const{return m_chargedEmEnergyFraction;}
74 >  float chargedHadronEnergyFraction() const{return m_chargedHadronEnergyFraction;}
75 >  float muonEnergyFraction() const{return m_muonEnergyFraction;}
76 >  float photonEnergyFraction() const{return m_photonEnergyFraction;}
77 >  int chargedMultiplicity() const{return m_chargedMultiplicity;}
78 >  int neutralMultiplicity() const{return m_neutralMultiplicity;}
79 >  int muonMultiplicity() const{return m_muonMultiplicity;}
80 >  int electronMultiplicity() const{return m_electronMultiplicity;}
81 >  int photonMultiplicity() const{return m_photonMultiplicity;}
82 >  float btag_simpleSecondaryVertexHighEff() const{return m_btag_simpleSecondaryVertexHighEff;}
83 >  float btag_simpleSecondaryVertexHighPur() const{return m_btag_simpleSecondaryVertexHighPur;}
84 >  float btag_combinedSecondaryVertex() const{return m_btag_combinedSecondaryVertex;}
85 >  float btag_combinedSecondaryVertexMVA() const{return m_btag_combinedSecondaryVertexMVA;}
86 >  float btag_jetBProbability() const{return m_btag_jetBProbability;}
87 >  float btag_jetProbability() const{return m_btag_jetProbability;}
88 >  float JEC_uncertainty() const{return m_JEC_uncertainty;}
89 >  float JEC_factor_raw() const{return m_JEC_factor_raw;}
90 >  float genjet_pt() const{return genjet().pt();}
91 >  float genjet_eta() const{return genjet().eta();}
92 >  float genjet_phi() const{return genjet().phi();}
93 >  float genjet_energy() const{return genjet().energy();}
94 >  float genjet_index() const{return m_genjet_index;}
95 >  std::vector<unsigned int> genparticles_indices() const{return m_genparticles_indices;}
96  
97    void set_nTracks(int x){m_nTracks=x;}
98    void set_jetArea(float x){m_jetArea=x;}
# Line 103 | Line 117 | class Jet : public Particle{
117    void set_btag_jetProbability(float x){m_btag_jetProbability=x;}
118    void set_JEC_uncertainty(float x){m_JEC_uncertainty=x;}
119    void set_JEC_factor_raw(float x){m_JEC_factor_raw=x;}
120 <  void set_genjet_pt(float x){m_genjet_pt=x;}
107 <  void set_genjet_eta(float x){m_genjet_eta=x;}
108 <  void set_genjet_phi(float x){m_genjet_phi=x;}
109 <  void set_genjet_energy(float x){m_genjet_energy=x;}
120 >  void set_genjet_index(int x){m_genjet_index=x;}
121    void add_genparticles_index(unsigned int x){m_genparticles_indices.push_back(x);}
122  
123 +  bool has_genjet() const{return m_genjet_index>=0;}
124 +
125 +  void set_genjet(std::vector<Particle>* genjets){
126 +    if(!genjets) return;
127 +    if(m_genjet_index<0 || m_genjet_index>(int)genjets->size()) return;
128 +    m_genjet = &genjets->at(m_genjet_index);
129 +  }
130 +
131 +  bool pfID(){
132 +    //pf ID has already been applied when using goodPatJets
133 +    if(numberOfDaughters()>1
134 +       && neutralHadronEnergyFraction()<0.99
135 +       && neutralEmEnergyFraction()<0.99){
136 +      
137 +      if(fabs(eta())>=2.4)
138 +        return true;
139 +      
140 +      if(chargedEmEnergyFraction()<0.99
141 +         && chargedHadronEnergyFraction()>0
142 +         && chargedMultiplicity()>0)
143 +        return true;  
144 +    }
145 +    return false;
146 +  }
147 +
148   private:
149    
150    int m_nTracks;
# Line 134 | Line 170 | class Jet : public Particle{
170    float m_btag_jetProbability;
171    float m_JEC_uncertainty;
172    float m_JEC_factor_raw;
173 <  float m_genjet_pt;
174 <  float m_genjet_eta;
139 <  float m_genjet_phi;
140 <  float m_genjet_energy;
173 >  int m_genjet_index;
174 >  Particle* m_genjet;
175  
176    std::vector<unsigned int> m_genparticles_indices;
177  
178 +  std::vector<unsigned int> m_pfconstituents_indices;
179 +
180 +
181   };
182  
183   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines