ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Jet.h
(Generate patch)

Comparing UserCode/MitAna/DataTree/interface/Jet.h (file contents):
Revision 1.19 by bendavid, Thu Mar 5 10:55:21 2009 UTC vs.
Revision 1.20 by bendavid, Wed Mar 11 18:11:18 2009 UTC

# Line 3 | Line 3
3   //
4   // Jet
5   //
6 < // Jet class to hold reconstructed jet information.
6 > // Base jet class to hold reconstructed jet information.
7   //
8 < // Authors: S.Xie, C.Loizides
8 > // Authors: S.Xie, C.Loizides, J.Bendavid
9   //--------------------------------------------------------------------------------------------------
10  
11   #ifndef MITANA_DATATREE_JET_H
12   #define MITANA_DATATREE_JET_H
13  
14   #include "MitAna/DataTree/interface/Particle.h"
15 #include "MitAna/DataTree/interface/Track.h"
16 #include "MitAna/DataTree/interface/CaloTower.h"
15  
16   namespace mithep
17   {
# Line 32 | Line 30 | namespace mithep
30        };
31      
32        Jet() :
33 <        fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0), fEnergyFractionEm(0),
36 <        fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0), fHadEnergyInHF(0),
37 <        fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0), fTowersArea(0), fN(0),
38 <        fN60(0), fN90(0), fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
33 >        fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
34          fJetProbabilityBJetTagsDisc(0), fJetBProbabilityBJetTagsDisc(0),
35          fSimpleSecondaryVertexBJetTagsDisc(0), fCombinedSecondaryVertexBJetTagsDisc(0),
36          fCombinedSecondaryVertexMVABJetTagsDisc(0), fImpactParameterMVABJetTagsDisc(0),
# Line 47 | Line 42 | namespace mithep
42          fCustomCorrectionScale(0) {}
43        Jet(Double_t px, Double_t py, Double_t pz, Double_t e) :
44          fRawMom(FourVector(px,py,pz,e)),
45 <        fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0), fEnergyFractionEm(0),
51 <        fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0), fHadEnergyInHF(0),
52 <        fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0), fTowersArea(0), fN(0),
53 <        fN60(0), fN90(0), fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
45 >        fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
46          fJetProbabilityBJetTagsDisc(0), fJetBProbabilityBJetTagsDisc(0),
47          fSimpleSecondaryVertexBJetTagsDisc(0), fCombinedSecondaryVertexBJetTagsDisc(0),
48          fCombinedSecondaryVertexMVABJetTagsDisc(0), fImpactParameterMVABJetTagsDisc(0),
# Line 70 | Line 62 | namespace mithep
62        Double_t   CustomCorrectionScale()       const { return fCustomCorrectionScale;        }
63        void       DisableCorrection(ECorr c)          { fCorrections.ClearBit(c); ClearMom(); }
64        void       DisableCorrections()                { fCorrections.Clear(); ClearMom();     }
73      Double_t   EmEnergyInEB()                const { return fEmEnergyInEB;                 }
74      Double_t   EmEnergyInEE()                const { return fEmEnergyInEE;                 }
75      Double_t   EmEnergyInHF()                const { return fEmEnergyInHF;                 }
65        void       EnableCorrection(ECorr c)           { fCorrections.SetBit(c); ClearMom();   }
66        Bool_t     CorrectionActive(ECorr c)     const { return fCorrections.TestBit(c);       }
78      Double_t   EnergyFractionH()             const { return fEnergyFractionH;              }
79      Double_t   EnergyFractionEm()            const { return fEnergyFractionEm;             }
80      Double_t   HadEnergyInHO()               const { return fHadEnergyInHO;                }
81      Double_t   HadEnergyInHB()               const { return fHadEnergyInHB;                }
82      Double_t   HadEnergyInHF()               const { return fHadEnergyInHF;                }
83      Double_t   HadEnergyInHE()               const { return fHadEnergyInHE;                }
84      Bool_t     HasTower(const CaloTower *t)  const { return fTowers.HasObject(t);          }
67        Double_t   ImpactParameterMVABJetTagsDisc()               const
68                     { return fImpactParameterMVABJetTagsDisc; }
69        Double_t   JetProbabilityBJetTagsDisc()                   const
# Line 89 | Line 71 | namespace mithep
71        Double_t   JetBProbabilityBJetTagsDisc()                  const
72                     { return fJetBProbabilityBJetTagsDisc;    }
73        Int_t      MatchedMCFlavor()             const { return fMatchedMCFlavor;           }
74 <      Double_t   MaxEInEmTowers()              const { return fMaxEInEmTowers;            }
75 <      Double_t   MaxEInHadTowers()             const { return fMaxEInHadTowers;           }
94 <      UShort_t   N()                           const { return fN;                         }
95 <      UShort_t   N60()                         const { return fN60;                       }
96 <      UShort_t   N90()                         const { return fN90;                       }
97 <      UInt_t     NTowers()                     const { return fTowers.GetEntries();       }
74 >      virtual UInt_t NConstituents()           const { return 0;                          }
75 >      UInt_t     N()                           const { return NConstituents();            }
76        Double_t   L2RelativeCorrectionScale()   const { return fL2RelativeCorrectionScale; }
77        Double_t   L3AbsoluteCorrectionScale()   const { return fL3AbsoluteCorrectionScale; }
78        Double_t   L4EMFCorrectionScale()        const { return fL4EMFCorrectionScale;      }
# Line 113 | Line 91 | namespace mithep
91                     { return fTrackCountingHighEffBJetTagsDisc;  }
92        Double_t   TrackCountingHighPurBJetTagsDisc()             const
93                     { return fTrackCountingHighPurBJetTagsDisc;  }
116      const CaloTower  
117                *Tower(UInt_t i)               const { return fTowers.At(i);           }
118      Double_t   TowersArea()                  const { return fTowersArea;             }
119      void       AddTower(const CaloTower *tower)  { fTowers.Add(tower);               }
94        const FourVectorM &RawMom()              const { return fRawMom;                 }
95        void       SetAlpha(Double_t val)            { fAlpha            = val;          }
96        void       SetBeta(Double_t val)             { fBeta             = val;          }
# Line 124 | Line 98 | namespace mithep
98                     { fCombinedSecondaryVertexBJetTagsDisc = d;    }
99        void       SetCombinedSecondaryVertexMVABJetTagsDisc(Double_t d)
100                     { fCombinedSecondaryVertexMVABJetTagsDisc = d; }
127      void       SetEmEnergyInEB(Double_t val)     { fEmEnergyInEB     = val;          }
128      void       SetEmEnergyInEE(Double_t val)     { fEmEnergyInEE     = val;          }
129      void       SetEmEnergyInHF(Double_t val)     { fEmEnergyInHF     = val;          }
130      void       SetEnergyFractionH(Double_t val)  { fEnergyFractionH  = val;          }
131      void       SetEnergyFractionEm(Double_t val) { fEnergyFractionEm = val;          }
132      void       SetHadEnergyInHO(Double_t val)    { fHadEnergyInHO    = val;          }
133      void       SetHadEnergyInHB(Double_t val)    { fHadEnergyInHB    = val;          }
134      void       SetHadEnergyInHF(Double_t val)    { fHadEnergyInHF    = val;          }
135      void       SetHadEnergyInHE(Double_t val)    { fHadEnergyInHE    = val;          }
101        void       SetImpactParameterMVABJetTagsDisc (Double_t d)
102                     { fImpactParameterMVABJetTagsDisc = d; }
103        void       SetJetProbabilityBJetTagsDisc(Double_t d)  
# Line 140 | Line 105 | namespace mithep
105        void       SetJetBProbabilityBJetTagsDisc(Double_t d)
106                     { fJetBProbabilityBJetTagsDisc = d;    }
107        void       SetRawMom(const FourVectorM &mom) { fRawMom = mom; ClearMom();        }
143      void       SetN(UShort_t n)                  { fN                = n;            }
144      void       SetN60(UShort_t n)                { fN60              = n;            }
145      void       SetN90(UShort_t n)                { fN90              = n;            }
108        void       SetMatchedMCFlavor(Int_t flavor)  { fMatchedMCFlavor = flavor;        }
147      void       SetMaxEInEmTowers(Double_t val)   { fMaxEInEmTowers   = val;          }
148      void       SetMaxEInHadTowers(Double_t val)  { fMaxEInHadTowers  = val;          }
109        void       SetL2RelativeCorrectionScale(Double_t s )  
110                     { fL2RelativeCorrectionScale = s; ClearMom(); }
111        void       SetL3AbsoluteCorrectionScale(Double_t s )  
# Line 163 | Line 123 | namespace mithep
123        void       SetSoftMuonBJetTagsDisc(Double_t d)         { fSoftMuonBJetTagsDisc = d;        }
124        void       SetSoftMuonNoIPBJetTagsDisc(Double_t d)     { fSoftMuonNoIPBJetTagsDisc = d;    }
125        void       SetSoftElectronBJetTagsDisc(Double_t d)     { fSoftElectronBJetTagsDisc = d;    }
166      void       SetTowersArea(Double_t val)       { fTowersArea = val;                          }
126        void       SetTrackCountingHighEffBJetTagsDisc(Double_t d)
127                                                     { fTrackCountingHighEffBJetTagsDisc = d;      }
128        void       SetTrackCountingHighPurBJetTagsDisc(Double_t d)
# Line 172 | Line 131 | namespace mithep
131      protected:
132        void          GetMom()                   const;
133  
134 <      FourVectorM32 fRawMom;              //uncorrected four momentum of jet
135 <      Double32_t    fMaxEInEmTowers;      //maximum energy in EM towers
136 <      Double32_t    fMaxEInHadTowers;     //maximum energy in HCAL towers
137 <      Double32_t    fEnergyFractionH;     //hadronic energy fraction
179 <      Double32_t    fEnergyFractionEm;    //electromagnetic energy fraction
180 <      Double32_t    fHadEnergyInHB;       //hadronic energy in HB
181 <      Double32_t    fHadEnergyInHO;       //hadronic energy in HO
182 <      Double32_t    fHadEnergyInHE;       //hadronic energy in HE
183 <      Double32_t    fHadEnergyInHF;       //hadronic energy in HF
184 <      Double32_t    fEmEnergyInEB;        //electromagnetic energy in EB
185 <      Double32_t    fEmEnergyInEE;        //electromagnetic energy in EE
186 <      Double32_t    fEmEnergyInHF;        //electromagnetic energy extracted from HF
187 <      Double32_t    fTowersArea;          //area of contributing towers
188 <      UShort_t      fN;                   //number of constituents
189 <      UShort_t      fN60;                 //number constituents with 60% of total energy
190 <      UShort_t      fN90;                 //number constituents with 90% of total energy
191 <      Double32_t    fAlpha;               //jet vertex association alpha variable
192 <      Double32_t    fBeta;                //jet vertex association beta variable
193 <      Int_t         fMatchedMCFlavor;     //pdg of the quark flavor that the jet matched to
134 >      FourVectorM32 fRawMom;                                 //uncorrected four momentum of jet
135 >      Double32_t    fAlpha;                                  //jet vertex association alpha variable
136 >      Double32_t    fBeta;                                   //jet vertex association beta variable
137 >      Int_t         fMatchedMCFlavor;                        //pdg of the quark flavor that the jet matched to
138        Double32_t    fJetProbabilityBJetTagsDisc;             //discriminants from b-tagging algos
139        Double32_t    fJetBProbabilityBJetTagsDisc;            //discriminants from b-tagging algos
140        Double32_t    fSimpleSecondaryVertexBJetTagsDisc;      //discriminants from b-tagging algos
# Line 200 | Line 144 | namespace mithep
144        Double32_t    fTrackCountingHighEffBJetTagsDisc;       //discriminants from b-tagging algos
145        Double32_t    fTrackCountingHighPurBJetTagsDisc;       //discriminants from b-tagging algos
146        Double32_t    fSoftMuonBJetTagsDisc;                   //discriminants from b-tagging algos
147 <      Double32_t    fSoftMuonNoIPBJetTagsDisc;               // discriminants from b-tagging algos
147 >      Double32_t    fSoftMuonNoIPBJetTagsDisc;               //discriminants from b-tagging algos
148        Double32_t    fSoftElectronBJetTagsDisc;               //discriminants from b-tagging algos
149 <      Double32_t          fL2RelativeCorrectionScale;        //L2 correction scale
150 <      Double32_t          fL3AbsoluteCorrectionScale;        //L3 correction scale
151 <      Double32_t          fL4EMFCorrectionScale;             //L4 correction scale
152 <      Double32_t          fL5FlavorCorrectionScale;          //L5 correction scale
153 <      Double32_t          fL7PartonCorrectionScale;          //L7 correction scale
154 <      Double32_t          fCustomCorrectionScale;            //custom correction scale
155 <      BitMask8            fCorrections;                      //mask of corrections to be applied
212 <      RefArray<CaloTower> fTowers;                           //calo towers assigned to this jet
149 >      Double32_t    fL2RelativeCorrectionScale;              //L2 correction scale
150 >      Double32_t    fL3AbsoluteCorrectionScale;              //L3 correction scale
151 >      Double32_t    fL4EMFCorrectionScale;                   //L4 correction scale
152 >      Double32_t    fL5FlavorCorrectionScale;                //L5 correction scale
153 >      Double32_t    fL7PartonCorrectionScale;                //L7 correction scale
154 >      Double32_t    fCustomCorrectionScale;                  //custom correction scale
155 >      BitMask8      fCorrections;                            //mask of corrections to be applied
156  
157      ClassDef(Jet, 1) // Jet class
158    };
# Line 218 | Line 161 | namespace mithep
161   //--------------------------------------------------------------------------------------------------
162   inline void mithep::Jet::GetMom() const
163   {
164 <  // Get momentum values from stored values.
164 >  // Get raw momentum values from stored values and apply all enabled corrections.
165  
166    fCachedMom = fRawMom;
167    

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines