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.7 by sixie, Tue Sep 9 12:51:38 2008 UTC vs.
Revision 1.25 by sixie, Fri Mar 26 14:31:31 2010 UTC

# Line 3 | Line 3
3   //
4   // Jet
5   //
6 < // Details to be worked out...
6 > // Base jet class to hold reconstructed jet information.
7   //
8 < // Authors: C.Loizides
8 > // Authors: S.Xie, C.Loizides, J.Bendavid
9   //--------------------------------------------------------------------------------------------------
10  
11 < #ifndef DATATREE_JET_H
12 < #define DATATREE_JET_H
11 > #ifndef MITANA_DATATREE_JET_H
12 > #define MITANA_DATATREE_JET_H
13  
14 + #include "MitCommon/DataFormats/interface/Vect4M.h"
15   #include "MitAna/DataTree/interface/Particle.h"
15 #include "MitAna/DataTree/interface/Track.h"
16 #include "MitAna/DataTree/interface/CaloTower.h"
16  
17   namespace mithep
18   {
19    class Jet : public Particle
20    {
21      public:
22 <      Jet() : fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0), fEnergyFractionEm(0),
23 <              fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0), fHadEnergyInHF(0),
24 <              fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0), fTowersArea(0), fN(0),
25 <              fN60(0), fN90(0), fMatchedMCFlavor(0) {}
26 <      Jet(Double_t px, Double_t py, Double_t pz, Double_t e) : fMom(px,py,pz,e),
27 <              fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0), fEnergyFractionEm(0),
28 <              fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0), fHadEnergyInHF(0),
29 <              fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0), fTowersArea(0), fN(0),
30 <              fN60(0), fN90(0), fMatchedMCFlavor(0) {}
31 <      ~Jet() {}
32 <
33 <      FourVector            Mom()                             const { return fMom; }
34 <
35 <      Double_t              Charge()                          const { return 0; }
36 <      Double_t              MaxEInEmTowers()                  const { return fMaxEInEmTowers; }
37 <      Double_t              MaxEInHadTowers()                 const { return fMaxEInHadTowers; }
38 <      Double_t              HadEnergyInHO()                   const { return fHadEnergyInHO; }
39 <      Double_t              HadEnergyInHB()                   const { return fHadEnergyInHB; }
40 <      Double_t              HadEnergyInHF()                   const { return fHadEnergyInHF; }
41 <      Double_t              HadEnergyInHE()                   const { return fHadEnergyInHE; }
42 <      Double_t              EmEnergyInEB()                    const { return fEmEnergyInEB; }
43 <      Double_t              EmEnergyInEE()                    const { return fEmEnergyInEE; }
44 <      Double_t              EmEnergyInHF()                    const { return fEmEnergyInHF; }
45 <      Double_t              EnergyFractionH()                 const { return fEnergyFractionH; }
46 <      Double_t              EnergyFractionEm()                const { return fEnergyFractionEm; }
47 <      const CaloTower      *Tower(UInt_t i)                   const { return fTowers.At(i); }
48 <      Double_t              TowersArea()                      const { return fTowersArea; }
49 <      UShort_t              N()                               const { return fN; }
50 <      UShort_t              N60()                             const { return fN60; }
51 <      UShort_t              N90()                             const { return fN90; }
52 <      UInt_t                NTowers()                         const { return fTowers.GetEntries(); }
53 <      Int_t                 MatchedMCFlavor()                 const { return fMatchedMCFlavor; }
54 <      Double_t JetProbabilityBJetTagsDisc()                   const
55 <      { return fJetProbabilityBJetTagsDisc;             }
56 <      Double_t JetBProbabilityBJetTagsDisc()                  const
57 <      { return fJetBProbabilityBJetTagsDisc;            }
58 <      Double_t SimpleSecondaryVertexBJetTagsDisc()            const
59 <      { return fSimpleSecondaryVertexBJetTagsDisc;      }
60 <      Double_t CombinedSecondaryVertexBJetTagsDisc()          const
61 <      { return fCombinedSecondaryVertexBJetTagsDisc;    }
62 <      Double_t CombinedSecondaryVertexMVABJetTagsDisc()       const
63 <      { return fCombinedSecondaryVertexMVABJetTagsDisc; }
64 <      Double_t ImpactParameterMVABJetTagsDisc()               const
65 <      { return fImpactParameterMVABJetTagsDisc;         }
66 <      Double_t TrackCountingHighEffBJetTagsDisc()             const
67 <      { return fTrackCountingHighEffBJetTagsDisc;       }
68 <      Double_t TrackCountingHighPurBJetTagsDisc()             const
69 <      { return fTrackCountingHighPurBJetTagsDisc;       }
70 <      Double_t SoftMuonBJetTagsDisc()                         const
71 <      { return fSoftMuonBJetTagsDisc;                   }
72 <      Double_t SoftMuonNoIPBJetTagsDisc()                     const
73 <      { return fSoftMuonNoIPBJetTagsDisc;               }
74 <      Double_t SoftElectronBJetTagsDisc()                     const
75 <      { return fSoftElectronBJetTagsDisc;               }
76 <
77 <      void                  AddTower(CaloTower *tower)         { fTowers.Add(tower);      }
78 <      void                  SetMaxEInEmTowers(Double_t val)    { fMaxEInEmTowers   = val;   }
79 <      void                  SetMaxEInHadTowers(Double_t val)   { fMaxEInHadTowers  = val;   }
80 <      void                  SetHadEnergyInHO(Double_t val)     { fHadEnergyInHO    = val;   }
81 <      void                  SetHadEnergyInHB(Double_t val)     { fHadEnergyInHB    = val;   }
82 <      void                  SetHadEnergyInHF(Double_t val)     { fHadEnergyInHF    = val;   }
83 <      void                  SetHadEnergyInHE(Double_t val)     { fHadEnergyInHE    = val;   }
84 <      void                  SetEmEnergyInEB(Double_t val)      { fEmEnergyInEB     = val;   }
85 <      void                  SetEmEnergyInEE(Double_t val)      { fEmEnergyInEE     = val;   }
86 <      void                  SetEmEnergyInHF(Double_t val)      { fEmEnergyInHF     = val;   }
87 <      void                  SetEnergyFractionH(Double_t val)   { fEnergyFractionH  = val;   }
88 <      void                  SetEnergyFractionEm(Double_t val)  { fEnergyFractionEm = val;   }
89 <      void                  SetTowersArea(Double_t val)        { fTowersArea       = val;   }
90 <      void                  SetN(UShort_t n)                   { fN = n;                    }
91 <      void                  SetN60(UShort_t n)                 { fN60 = n;                  }
92 <      void                  SetN90(UShort_t n)                 { fN90 = n;                  }
93 <      void                  SetMatchedMCFlavor(Int_t flavor)   { fMatchedMCFlavor = flavor; }
94 <      void       SetJetProbabilityBJetTagsDisc ( Double_t d )  { fJetProbabilityBJetTagsDisc = d;  }
95 <      void       SetJetBProbabilityBJetTagsDisc ( Double_t d ) { fJetBProbabilityBJetTagsDisc = d; }
96 <      void       SetSimpleSecondaryVertexBJetTagsDisc ( Double_t d )
97 <                                                   { fSimpleSecondaryVertexBJetTagsDisc = d;       }
98 <      void       SetCombinedSecondaryVertexBJetTagsDisc ( Double_t d )
99 <                                                   { fCombinedSecondaryVertexBJetTagsDisc = d;     }
100 <      void       SetCombinedSecondaryVertexMVABJetTagsDisc ( Double_t d )
101 <                                                   { fCombinedSecondaryVertexMVABJetTagsDisc = d;  }
102 <      void       SetImpactParameterMVABJetTagsDisc ( Double_t d )
103 <                                                   {   fImpactParameterMVABJetTagsDisc = d;        }
104 <      void       SetTrackCountingHighEffBJetTagsDisc ( Double_t d )
105 <                                                   { fTrackCountingHighEffBJetTagsDisc = d;        }
106 <      void       SetTrackCountingHighPurBJetTagsDisc ( Double_t d )
107 <                                                   { fTrackCountingHighPurBJetTagsDisc = d;        }
108 <      void       SetSoftMuonBJetTagsDisc ( Double_t d )        { fSoftMuonBJetTagsDisc = d;        }
109 <      void       SetSoftMuonNoIPBJetTagsDisc ( Double_t d )    { fSoftMuonNoIPBJetTagsDisc = d;    }
110 <      void       SetSoftElectronBJetTagsDisc ( Double_t d )    { fSoftElectronBJetTagsDisc = d;    }
111 <      
22 >      enum ECorr {
23 >        L1 = 0,
24 >        L2,
25 >        L3,
26 >        L4,
27 >        L5,
28 >        L6,
29 >        L7,
30 >        Custom
31 >      };
32 >    
33 >      Jet() :
34 >        fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
35 >        fJetProbabilityBJetTagsDisc(0), fJetBProbabilityBJetTagsDisc(0),
36 >        fSimpleSecondaryVertexBJetTagsDisc(0), fCombinedSecondaryVertexBJetTagsDisc(0),
37 >        fCombinedSecondaryVertexMVABJetTagsDisc(0), fTrackCountingHighEffBJetTagsDisc(0),
38 >        fTrackCountingHighPurBJetTagsDisc(0), fSoftMuonBJetTagsDisc(0),
39 >        fSoftMuonByIP3dBJetTagsDisc(0), fSoftMuonByPtBJetTagsDisc(0),
40 >        fSoftElectronByIP3dBJetTagsDisc(0), fSoftElectronByPtBJetTagsDisc(0),
41 >        fL2RelativeCorrectionScale(0), fL3AbsoluteCorrectionScale(0),
42 >        fL4EMFCorrectionScale(0), fL5FlavorCorrectionScale(0), fL7PartonCorrectionScale(0),
43 >        fCustomCorrectionScale(0) {}
44 >      Jet(Double_t px, Double_t py, Double_t pz, Double_t e) :
45 >        fRawMom(FourVector(px,py,pz,e)),
46 >        fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
47 >        fJetProbabilityBJetTagsDisc(0), fJetBProbabilityBJetTagsDisc(0),
48 >        fSimpleSecondaryVertexBJetTagsDisc(0), fCombinedSecondaryVertexBJetTagsDisc(0),
49 >        fCombinedSecondaryVertexMVABJetTagsDisc(0), fTrackCountingHighEffBJetTagsDisc(0),
50 >        fTrackCountingHighPurBJetTagsDisc(0), fSoftMuonBJetTagsDisc(0),
51 >        fSoftMuonByIP3dBJetTagsDisc(0), fSoftMuonByPtBJetTagsDisc(0),
52 >        fSoftElectronByIP3dBJetTagsDisc(0), fSoftElectronByPtBJetTagsDisc(0),
53 >        fL2RelativeCorrectionScale(0), fL3AbsoluteCorrectionScale(0),
54 >        fL4EMFCorrectionScale(0), fL5FlavorCorrectionScale(0), fL7PartonCorrectionScale(0),
55 >        fCustomCorrectionScale(0) {}
56 >
57 >      Double_t      Alpha()                       const { return fAlpha;                        }
58 >      Double_t      Beta()                        const { return fBeta;                         }
59 >      Double_t      CombinedSecondaryVertexBJetTagsDisc()          const
60 >                      { return fCombinedSecondaryVertexBJetTagsDisc;    }
61 >      Double_t      CombinedSecondaryVertexMVABJetTagsDisc()       const
62 >                      { return fCombinedSecondaryVertexMVABJetTagsDisc; }
63 >      Double_t      CombinedCorrectionScale()     const;
64 >      Double_t      CustomCorrectionScale()       const { return fCustomCorrectionScale;        }
65 >      void          DisableCorrection(ECorr c)          { fCorrections.ClearBit(c); ClearMom(); }
66 >      void          DisableCorrections()                { fCorrections.Clear(); ClearMom();     }
67 >      void          EnableCorrection(ECorr c)           { fCorrections.SetBit(c); ClearMom();   }
68 >      Bool_t        CorrectionActive(ECorr c)     const { return fCorrections.TestBit(c);       }
69 >      Double_t      JetProbabilityBJetTagsDisc()                   const
70 >                      { return fJetProbabilityBJetTagsDisc;     }
71 >      Double_t      JetBProbabilityBJetTagsDisc()                  const
72 >                      { return fJetBProbabilityBJetTagsDisc;    }
73 >      Int_t         MatchedMCFlavor()             const { return fMatchedMCFlavor;           }
74 >      virtual Jet  *MakeCopy()                    const { return new Jet(*this);             }
75 >      virtual
76 >      UInt_t        NConstituents()               const { return 0;                          }
77 >      UInt_t        N()                           const { return NConstituents();            }
78 >      Double_t      L2RelativeCorrectionScale()   const { return fL2RelativeCorrectionScale; }
79 >      Double_t      L3AbsoluteCorrectionScale()   const { return fL3AbsoluteCorrectionScale; }
80 >      Double_t      L4EMFCorrectionScale()        const { return fL4EMFCorrectionScale;      }
81 >      Double_t      L5FlavorCorrectionScale()     const { return fL5FlavorCorrectionScale;   }
82 >      Double_t      L7PartonCorrectionScale()     const { return fL7PartonCorrectionScale;   }
83 >      EObjType      ObjType()                     const { return kJet;                       }      
84 >      Double_t      SimpleSecondaryVertexBJetTagsDisc()            const
85 >                      { return fSimpleSecondaryVertexBJetTagsDisc; }
86 >      Double_t      SoftMuonBJetTagsDisc()                         const
87 >                      { return fSoftMuonBJetTagsDisc;              }
88 >      Double_t      SoftMuonByIP3dBJetTagsDisc()                     const
89 >                      { return fSoftMuonByIP3dBJetTagsDisc;          }
90 >      Double_t      SoftMuonByPtBJetTagsDisc()                     const
91 >                      { return fSoftMuonByPtBJetTagsDisc;          }
92 >      Double_t      SoftElectronByIP3dBJetTagsDisc()                     const
93 >                      { return fSoftElectronByIP3dBJetTagsDisc;          }
94 >      Double_t      SoftElectronByPtBJetTagsDisc()                     const
95 >                      { return fSoftElectronByPtBJetTagsDisc;          }
96 >      Double_t      TrackCountingHighEffBJetTagsDisc()             const
97 >                      { return fTrackCountingHighEffBJetTagsDisc;  }
98 >      Double_t      TrackCountingHighPurBJetTagsDisc()             const
99 >                      { return fTrackCountingHighPurBJetTagsDisc;  }
100 >      FourVectorM   RawMom()                      const { return fRawMom.V();                }
101 >      Double_t      SigmaEta()                    const { return fSigmaEta;                  }
102 >      Double_t      SigmaPhi()                    const { return fSigmaPhi;                  }
103 >      void          SetAlpha(Double_t val)              { fAlpha = val;                      }
104 >      void          SetBeta(Double_t val)               { fBeta  = val;                      }
105 >      void          SetSigmaEta(Double_t val)           { fSigmaEta = val;                   }
106 >      void          SetSigmaPhi(Double_t val)           { fSigmaPhi = val;                   }
107 >      void          SetCombinedSecondaryVertexBJetTagsDisc(Double_t d)
108 >                      { fCombinedSecondaryVertexBJetTagsDisc = d;    }
109 >      void          SetCombinedSecondaryVertexMVABJetTagsDisc(Double_t d)
110 >                      { fCombinedSecondaryVertexMVABJetTagsDisc = d; }
111 >      void          SetJetProbabilityBJetTagsDisc(Double_t d)  
112 >                      { fJetProbabilityBJetTagsDisc = d;     }
113 >      void          SetJetBProbabilityBJetTagsDisc(Double_t d)
114 >                      { fJetBProbabilityBJetTagsDisc = d;    }
115 >      void          SetRawMom(const FourVectorM &mom) { fRawMom = mom; ClearMom();           }
116 >      void          SetMatchedMCFlavor(Int_t flavor)  { fMatchedMCFlavor = flavor;           }
117 >      void          SetL2RelativeCorrectionScale(Double_t s )  
118 >                      { fL2RelativeCorrectionScale = s; ClearMom(); }
119 >      void          SetL3AbsoluteCorrectionScale(Double_t s )  
120 >                      { fL3AbsoluteCorrectionScale = s; ClearMom(); }
121 >      void          SetL4EMFCorrectionScale(Double_t s )        
122 >                      { fL4EMFCorrectionScale = s; ClearMom();      }
123 >      void          SetL5FlavorCorrectionScale(Double_t s )    
124 >                      { fL5FlavorCorrectionScale = s; ClearMom();   }
125 >      void          SetL7PartonCorrectionScale(Double_t s )    
126 >                      { fL7PartonCorrectionScale = s; ClearMom();   }
127 >      void          SetCustomCorrectionScale(Double_t s)        
128 >                      { fCustomCorrectionScale = s; ClearMom(); }
129 >      void          SetSimpleSecondaryVertexBJetTagsDisc(Double_t d)
130 >                      { fSimpleSecondaryVertexBJetTagsDisc = d;     }
131 >      void          SetSoftMuonBJetTagsDisc(Double_t d)     { fSoftMuonBJetTagsDisc = d;     }
132 >      void          SetSoftMuonByIP3dBJetTagsDisc(Double_t d) { fSoftMuonByIP3dBJetTagsDisc = d; }
133 >      void          SetSoftMuonByPtBJetTagsDisc(Double_t d) { fSoftMuonByPtBJetTagsDisc = d; }
134 >      void          SetSoftElectronByIP3dBJetTagsDisc(Double_t d) { fSoftElectronByIP3dBJetTagsDisc = d; }
135 >      void          SetSoftElectronByPtBJetTagsDisc(Double_t d) { fSoftElectronByPtBJetTagsDisc = d; }
136 >      void          SetTrackCountingHighEffBJetTagsDisc(Double_t d)
137 >                      { fTrackCountingHighEffBJetTagsDisc = d;      }
138 >      void          SetTrackCountingHighPurBJetTagsDisc(Double_t d)
139 >                      { fTrackCountingHighPurBJetTagsDisc = d;      }
140 >
141      protected:
142 <      FourVector fMom;                    //four momentum of jet
115 <      Double_t   fMaxEInEmTowers;         //maximum energy in EM towers
116 <      Double_t   fMaxEInHadTowers;        //maximum energy in HCAL towers
117 <      Double_t   fEnergyFractionH;        //hadronic energy fraction
118 <      Double_t   fEnergyFractionEm;       //electromagnetic energy fraction
119 <      Double_t   fHadEnergyInHB;          //hadronic energy in HB
120 <      Double_t   fHadEnergyInHO;          //hadronic energy in HO
121 <      Double_t   fHadEnergyInHE;          //hadronic energy in HE
122 <      Double_t   fHadEnergyInHF;          //hadronic energy in HF
123 <      Double_t   fEmEnergyInEB;           //electromagnetic energy in EB
124 <      Double_t   fEmEnergyInEE;           //electromagnetic energy in EE
125 <      Double_t   fEmEnergyInHF;           //electromagnetic energy extracted from HF
126 <      Double_t   fTowersArea;             //area of contributing towers
127 <      UShort_t   fN;                      //number of constituents
128 <      UShort_t   fN60;                    //number constituents with 60% of total energy
129 <      UShort_t   fN90;                    //number constituents with 90% of total energy
130 <      Int_t      fMatchedMCFlavor;        //pdgID of the quark flavor that the jet matched to
131 <      Double_t   fJetProbabilityBJetTagsDisc;              //Discriminants for various b-tagging
132 <      Double_t   fJetBProbabilityBJetTagsDisc;             //algorithms
133 <      Double_t   fSimpleSecondaryVertexBJetTagsDisc;
134 <      Double_t   fCombinedSecondaryVertexBJetTagsDisc;
135 <      Double_t   fCombinedSecondaryVertexMVABJetTagsDisc;
136 <      Double_t   fImpactParameterMVABJetTagsDisc;
137 <      Double_t   fTrackCountingHighEffBJetTagsDisc;
138 <      Double_t   fTrackCountingHighPurBJetTagsDisc;
139 <      Double_t   fSoftMuonBJetTagsDisc;
140 <      Double_t   fSoftMuonNoIPBJetTagsDisc;
141 <      Double_t   fSoftElectronBJetTagsDisc;
142 >      void          GetMom()                   const;
143  
144 <      RefArray<CaloTower> fTowers;        //||CaloTowers in this jet
144 >      Vect4M        fRawMom;                                 //uncorrected four momentum of jet
145 >      Double32_t    fAlpha;                                  //[0,0,14]jet vertex alpha variable
146 >      Double32_t    fBeta;                                   //[0,0,14]jet vertex beta variable
147 >      Int_t         fMatchedMCFlavor;                        //[0,0,14]pdg of matched quark flavor
148 >      Double32_t    fSigmaEta;                               //[0,0,14]sqrt(etaetaMoment)
149 >      Double32_t    fSigmaPhi;                               //[0,0,14]sqrt(phiphiMoment)
150 >      Double32_t    fJetProbabilityBJetTagsDisc;             //[0,0,14]discriminants b-tagging algos
151 >      Double32_t    fJetBProbabilityBJetTagsDisc;            //[0,0,14]discriminants b-tagging algos
152 >      Double32_t    fSimpleSecondaryVertexBJetTagsDisc;      //[0,0,14]discriminants b-tagging algos
153 >      Double32_t    fCombinedSecondaryVertexBJetTagsDisc;    //[0,0,14]discriminants b-tagging algos
154 >      Double32_t    fCombinedSecondaryVertexMVABJetTagsDisc; //[0,0,14]discriminants b-tagging algos
155 >      Double32_t    fTrackCountingHighEffBJetTagsDisc;       //[0,0,14]discriminants b-tagging algos
156 >      Double32_t    fTrackCountingHighPurBJetTagsDisc;       //[0,0,14]discriminants b-tagging algos
157 >      Double32_t    fSoftMuonBJetTagsDisc;                   //[0,0,14]discriminants b-tagging algos
158 >      Double32_t    fSoftMuonByIP3dBJetTagsDisc;             //[0,0,14]discriminants b-tagging algos
159 >      Double32_t    fSoftMuonByPtBJetTagsDisc;               //[0,0,14]discriminants b-tagging algos
160 >      Double32_t    fSoftElectronByIP3dBJetTagsDisc;         //[0,0,14]discriminants b-tagging algos
161 >      Double32_t    fSoftElectronByPtBJetTagsDisc;           //[0,0,14]discriminants b-tagging algos
162 >      Double32_t    fL2RelativeCorrectionScale;              //[0,0,14]L2 correction scale
163 >      Double32_t    fL3AbsoluteCorrectionScale;              //[0,0,14]L3 correction scale
164 >      Double32_t    fL4EMFCorrectionScale;                   //[0,0,14]L4 correction scale
165 >      Double32_t    fL5FlavorCorrectionScale;                //[0,0,14]L5 correction scale
166 >      Double32_t    fL7PartonCorrectionScale;                //[0,0,14]L7 correction scale
167 >      Double32_t    fCustomCorrectionScale;                  //[0,0,14]custom correction scale
168 >      BitMask8      fCorrections;                            //mask of corrections to be applied
169  
170 <    ClassDef(Jet, 1) // Jet class
170 >    ClassDef(Jet, 3) // Jet class
171    };
172   }
173 +
174 + //--------------------------------------------------------------------------------------------------
175 + inline Double_t mithep::Jet::CombinedCorrectionScale() const
176 + {
177 +  // compute combined correction scale from all enabled corrections
178 +  Double_t scale = 1.0;
179 +
180 +  if (CorrectionActive(L2))
181 +    scale *= fL2RelativeCorrectionScale;
182 +    
183 +  if (CorrectionActive(L3))
184 +    scale *= fL3AbsoluteCorrectionScale;
185 +  
186 +  if (CorrectionActive(L4))
187 +    scale *= fL4EMFCorrectionScale;
188 +    
189 +  if (CorrectionActive(L5))
190 +    scale *= fL5FlavorCorrectionScale;
191 +    
192 +  if (CorrectionActive(L7))
193 +    scale *= fL7PartonCorrectionScale;
194 +    
195 +  if (CorrectionActive(Custom))
196 +    scale *= fCustomCorrectionScale;
197 +
198 +  return scale;
199 + }
200 +
201 + //--------------------------------------------------------------------------------------------------
202 + inline void mithep::Jet::GetMom() const
203 + {
204 +  // Get raw momentum values from stored values and apply all enabled corrections.
205 +
206 +  fCachedMom.SetCoordinates(fRawMom.Pt(),fRawMom.Eta(),fRawMom.Phi(),fRawMom.M());
207 +
208 +  fCachedMom *= CombinedCorrectionScale();
209 +
210 + }
211   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines