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.17 by bendavid, Thu Feb 26 20:28:59 2009 UTC vs.
Revision 1.22 by bendavid, Tue Jul 7 08:30:28 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 "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   {
# Line 31 | Line 30 | namespace mithep
30          Custom
31        };
32      
33 <      Jet() : fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0), fEnergyFractionEm(0),
34 <              fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0), fHadEnergyInHF(0),
35 <              fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0), fTowersArea(0), fN(0),
36 <              fN60(0), fN90(0), fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
37 <              fJetProbabilityBJetTagsDisc(0), fJetBProbabilityBJetTagsDisc(0),
38 <              fSimpleSecondaryVertexBJetTagsDisc(0), fCombinedSecondaryVertexBJetTagsDisc(0),
39 <              fCombinedSecondaryVertexMVABJetTagsDisc(0), fImpactParameterMVABJetTagsDisc(0),
40 <              fTrackCountingHighEffBJetTagsDisc(0), fTrackCountingHighPurBJetTagsDisc(0),
41 <              fSoftMuonBJetTagsDisc(0), fSoftMuonNoIPBJetTagsDisc(0),
42 <              fSoftElectronBJetTagsDisc(0), fL2RelativeCorrectionScale(0),
43 <              fL3AbsoluteCorrectionScale(0), fL4EMFCorrectionScale(0),
44 <              fL5FlavorCorrectionScale(0), fL7PartonCorrectionScale(0)
45 <              {}
46 <      Jet(Double_t px, Double_t py, Double_t pz, Double_t e) : fRawMom(FourVector(px,py,pz,e)),
47 <              fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0), fEnergyFractionEm(0),
48 <              fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0), fHadEnergyInHF(0),
49 <              fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0), fTowersArea(0), fN(0),
50 <              fN60(0), fN90(0), fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
51 <              fJetProbabilityBJetTagsDisc(0), fJetBProbabilityBJetTagsDisc(0),
52 <              fSimpleSecondaryVertexBJetTagsDisc(0), fCombinedSecondaryVertexBJetTagsDisc(0),
53 <              fCombinedSecondaryVertexMVABJetTagsDisc(0), fImpactParameterMVABJetTagsDisc(0),
54 <              fTrackCountingHighEffBJetTagsDisc(0), fTrackCountingHighPurBJetTagsDisc(0),
55 <              fSoftMuonBJetTagsDisc(0), fSoftMuonNoIPBJetTagsDisc(0),
56 <              fSoftElectronBJetTagsDisc(0), fL2RelativeCorrectionScale(0),
57 <              fL3AbsoluteCorrectionScale(0), fL4EMFCorrectionScale(0),
58 <              fL5FlavorCorrectionScale(0), fL7PartonCorrectionScale(0)
59 <              {}
60 <
61 <      Double_t   Alpha()                       const { return fAlpha;                     }
62 <      Double_t   Beta()                        const { return fBeta;                      }
63 <      Double_t   CombinedSecondaryVertexBJetTagsDisc()          const
64 <                   { return fCombinedSecondaryVertexBJetTagsDisc;    }
65 <      Double_t   CombinedSecondaryVertexMVABJetTagsDisc()       const
66 <                   { return fCombinedSecondaryVertexMVABJetTagsDisc; }
67 <      Double_t   CustomCorrectionScale()       const { return fCustomCorrectionScale;     }
68 <      void       DisableCorrection(ECorr c)          { fCorrections.ClearBit(c); ClearMom(); }
69 <      void       DisableCorrections()                { fCorrections.Clear(); ClearMom();  }
70 <      Double_t   EmEnergyInEB()                const { return fEmEnergyInEB;              }
71 <      Double_t   EmEnergyInEE()                const { return fEmEnergyInEE;              }
72 <      Double_t   EmEnergyInHF()                const { return fEmEnergyInHF;              }
73 <      void       EnableCorrection(ECorr c)           { fCorrections.SetBit(c); ClearMom();}
74 <      Bool_t     CorrectionActive(ECorr c)     const { return fCorrections.TestBit(c);  }
75 <      Double_t   EnergyFractionH()             const { return fEnergyFractionH;           }
76 <      Double_t   EnergyFractionEm()            const { return fEnergyFractionEm;          }
77 <      Double_t   HadEnergyInHO()               const { return fHadEnergyInHO;             }
78 <      Double_t   HadEnergyInHB()               const { return fHadEnergyInHB;             }
79 <      Double_t   HadEnergyInHF()               const { return fHadEnergyInHF;             }
80 <      Double_t   HadEnergyInHE()               const { return fHadEnergyInHE;             }
81 <      Bool_t     HasTower(const CaloTower *t)  const { return fTowers.HasObject(t);       }
82 <      Double_t   ImpactParameterMVABJetTagsDisc()               const
83 <                   { return fImpactParameterMVABJetTagsDisc;         }
84 <      Double_t   JetProbabilityBJetTagsDisc()                   const
85 <                   { return fJetProbabilityBJetTagsDisc;             }
86 <      Double_t   JetBProbabilityBJetTagsDisc()                  const
87 <                   { return fJetBProbabilityBJetTagsDisc;            }
88 <      Int_t      MatchedMCFlavor()             const { return fMatchedMCFlavor;           }
89 <      Double_t   MaxEInEmTowers()              const { return fMaxEInEmTowers;            }
90 <      Double_t   MaxEInHadTowers()             const { return fMaxEInHadTowers;           }
91 <      UShort_t   N()                           const { return fN;                         }
92 <      UShort_t   N60()                         const { return fN60;                       }
93 <      UShort_t   N90()                         const { return fN90;                       }
94 <      UInt_t     NTowers()                     const { return fTowers.GetEntries();       }
95 <      Double_t   L2RelativeCorrectionScale()   const { return fL2RelativeCorrectionScale; }
96 <      Double_t   L3AbsoluteCorrectionScale()   const { return fL3AbsoluteCorrectionScale; }
97 <      Double_t   L4EMFCorrectionScale()        const { return fL4EMFCorrectionScale;      }
98 <      Double_t   L5FlavorCorrectionScale()     const { return fL5FlavorCorrectionScale;   }
99 <      Double_t   L7PartonCorrectionScale()     const { return fL7PartonCorrectionScale;   }
100 <      EObjType   ObjType()                     const { return kJet;                       }      
101 <      Double_t   SimpleSecondaryVertexBJetTagsDisc()            const
102 <                   { return fSimpleSecondaryVertexBJetTagsDisc; }
103 <      Double_t   SoftMuonBJetTagsDisc()                         const
104 <                   { return fSoftMuonBJetTagsDisc;              }
105 <      Double_t   SoftMuonNoIPBJetTagsDisc()                     const
106 <                   { return fSoftMuonNoIPBJetTagsDisc;          }
107 <      Double_t   SoftElectronBJetTagsDisc()                     const
108 <                   { return fSoftElectronBJetTagsDisc;          }
109 <      Double_t   TrackCountingHighEffBJetTagsDisc()             const
110 <                   { return fTrackCountingHighEffBJetTagsDisc;  }
111 <      Double_t   TrackCountingHighPurBJetTagsDisc()             const
112 <                   { return fTrackCountingHighPurBJetTagsDisc;  }
113 <      const CaloTower  
114 <                *Tower(UInt_t i)               const { return fTowers.At(i);           }
115 <      Double_t   TowersArea()                  const { return fTowersArea;             }
116 <      void       AddTower(const CaloTower *tower)  { fTowers.Add(tower);               }
117 <      const FourVectorM &RawMom()              const { return fRawMom;                 }
118 <      void       SetAlpha(Double_t val)            { fAlpha            = val;          }
119 <      void       SetBeta(Double_t val)             { fBeta             = val;          }
120 <      void       SetCombinedSecondaryVertexBJetTagsDisc(Double_t d)
121 <                                                   { fCombinedSecondaryVertexBJetTagsDisc = d;    }
122 <      void       SetCombinedSecondaryVertexMVABJetTagsDisc(Double_t d)
123 <                                                   { fCombinedSecondaryVertexMVABJetTagsDisc = d; }                                      
124 <      void       SetEmEnergyInEB(Double_t val)     { fEmEnergyInEB     = val;          }
125 <      void       SetEmEnergyInEE(Double_t val)     { fEmEnergyInEE     = val;          }
126 <      void       SetEmEnergyInHF(Double_t val)     { fEmEnergyInHF     = val;          }
127 <      void       SetEnergyFractionH(Double_t val)  { fEnergyFractionH  = val;          }
128 <      void       SetEnergyFractionEm(Double_t val) { fEnergyFractionEm = val;          }
129 <      void       SetHadEnergyInHO(Double_t val)    { fHadEnergyInHO    = val;          }
130 <      void       SetHadEnergyInHB(Double_t val)    { fHadEnergyInHB    = val;          }
131 <      void       SetHadEnergyInHF(Double_t val)    { fHadEnergyInHF    = val;          }
132 <      void       SetHadEnergyInHE(Double_t val)    { fHadEnergyInHE    = val;          }
133 <      void       SetImpactParameterMVABJetTagsDisc (Double_t d)
135 <                                                   { fImpactParameterMVABJetTagsDisc = d;        }
136 <      void       SetJetProbabilityBJetTagsDisc(Double_t d)  { fJetProbabilityBJetTagsDisc = d;   }
137 <      void       SetJetBProbabilityBJetTagsDisc(Double_t d) { fJetBProbabilityBJetTagsDisc = d;  }
138 <      void       SetRawMom(const FourVectorM &mom) { fRawMom = mom; ClearMom(); }
139 <      void       SetN(UShort_t n)                  { fN                = n;            }
140 <      void       SetN60(UShort_t n)                { fN60              = n;            }
141 <      void       SetN90(UShort_t n)                { fN90              = n;            }
142 <      void       SetMatchedMCFlavor(Int_t flavor)  { fMatchedMCFlavor = flavor;        }
143 <      void       SetMaxEInEmTowers(Double_t val)   { fMaxEInEmTowers   = val;          }
144 <      void       SetMaxEInHadTowers(Double_t val)  { fMaxEInHadTowers  = val;          }
145 <      void       SetL2RelativeCorrectionScale(Double_t s )   { fL2RelativeCorrectionScale = s; ClearMom(); }
146 <      void       SetL3AbsoluteCorrectionScale(Double_t s )   { fL3AbsoluteCorrectionScale = s; ClearMom(); }
147 <      void       SetL4EMFCorrectionScale(Double_t s )        { fL4EMFCorrectionScale = s; ClearMom();    }
148 <      void       SetL5FlavorCorrectionScale(Double_t s )     { fL5FlavorCorrectionScale = s; ClearMom(); }
149 <      void       SetL7PartonCorrectionScale(Double_t s )     { fL7PartonCorrectionScale = s; ClearMom(); }
150 <      void       SetCustomCorrectionScale(Double_t s)        { fCustomCorrectionScale = s; ClearMom(); }
151 <      void       SetSimpleSecondaryVertexBJetTagsDisc(Double_t d)
152 <                                                   { fSimpleSecondaryVertexBJetTagsDisc = d;     }
153 <      void       SetSoftMuonBJetTagsDisc(Double_t d)         { fSoftMuonBJetTagsDisc = d;        }
154 <      void       SetSoftMuonNoIPBJetTagsDisc(Double_t d)     { fSoftMuonNoIPBJetTagsDisc = d;    }
155 <      void       SetSoftElectronBJetTagsDisc(Double_t d)     { fSoftElectronBJetTagsDisc = d;    }
156 <      void       SetTowersArea(Double_t val)       { fTowersArea       = val;          }
157 <      void       SetTrackCountingHighEffBJetTagsDisc(Double_t d)
158 <                                                   { fTrackCountingHighEffBJetTagsDisc = d;      }
159 <      void       SetTrackCountingHighPurBJetTagsDisc(Double_t d)
160 <                                                   { fTrackCountingHighPurBJetTagsDisc = d;      }
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      CustomCorrectionScale()       const { return fCustomCorrectionScale;        }
64 >      void          DisableCorrection(ECorr c)          { fCorrections.ClearBit(c); ClearMom(); }
65 >      void          DisableCorrections()                { fCorrections.Clear(); ClearMom();     }
66 >      void          EnableCorrection(ECorr c)           { fCorrections.SetBit(c); ClearMom();   }
67 >      Bool_t        CorrectionActive(ECorr c)     const { return fCorrections.TestBit(c);       }
68 >      Double_t      JetProbabilityBJetTagsDisc()                   const
69 >                      { return fJetProbabilityBJetTagsDisc;     }
70 >      Double_t      JetBProbabilityBJetTagsDisc()                  const
71 >                      { return fJetBProbabilityBJetTagsDisc;    }
72 >      Int_t         MatchedMCFlavor()             const { return fMatchedMCFlavor;           }
73 >      virtual
74 >      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;      }
79 >      Double_t      L5FlavorCorrectionScale()     const { return fL5FlavorCorrectionScale;   }
80 >      Double_t      L7PartonCorrectionScale()     const { return fL7PartonCorrectionScale;   }
81 >      EObjType      ObjType()                     const { return kJet;                       }      
82 >      Double_t      SimpleSecondaryVertexBJetTagsDisc()            const
83 >                      { return fSimpleSecondaryVertexBJetTagsDisc; }
84 >      Double_t      SoftMuonBJetTagsDisc()                         const
85 >                      { return fSoftMuonBJetTagsDisc;              }
86 >      Double_t      SoftMuonByIP3dBJetTagsDisc()                     const
87 >                      { return fSoftMuonByIP3dBJetTagsDisc;          }
88 >      Double_t      SoftMuonByPtBJetTagsDisc()                     const
89 >                      { return fSoftMuonByPtBJetTagsDisc;          }
90 >      Double_t      SoftElectronByIP3dBJetTagsDisc()                     const
91 >                      { return fSoftElectronByIP3dBJetTagsDisc;          }
92 >      Double_t      SoftElectronByPtBJetTagsDisc()                     const
93 >                      { return fSoftElectronByPtBJetTagsDisc;          }
94 >      Double_t      TrackCountingHighEffBJetTagsDisc()             const
95 >                      { return fTrackCountingHighEffBJetTagsDisc;  }
96 >      Double_t      TrackCountingHighPurBJetTagsDisc()             const
97 >                      { return fTrackCountingHighPurBJetTagsDisc;  }
98 >      FourVectorM   RawMom()                      const { return fRawMom.V();                }
99 >      void          SetAlpha(Double_t val)              { fAlpha = val;                      }
100 >      void          SetBeta(Double_t val)               { fBeta  = val;                      }
101 >      void          SetCombinedSecondaryVertexBJetTagsDisc(Double_t d)
102 >                      { fCombinedSecondaryVertexBJetTagsDisc = d;    }
103 >      void          SetCombinedSecondaryVertexMVABJetTagsDisc(Double_t d)
104 >                      { fCombinedSecondaryVertexMVABJetTagsDisc = d; }
105 >      void          SetJetProbabilityBJetTagsDisc(Double_t d)  
106 >                      { fJetProbabilityBJetTagsDisc = d;     }
107 >      void          SetJetBProbabilityBJetTagsDisc(Double_t d)
108 >                      { fJetBProbabilityBJetTagsDisc = d;    }
109 >      void          SetRawMom(const FourVectorM &mom) { fRawMom = mom; ClearMom();           }
110 >      void          SetMatchedMCFlavor(Int_t flavor)  { fMatchedMCFlavor = flavor;           }
111 >      void          SetL2RelativeCorrectionScale(Double_t s )  
112 >                      { fL2RelativeCorrectionScale = s; ClearMom(); }
113 >      void          SetL3AbsoluteCorrectionScale(Double_t s )  
114 >                      { fL3AbsoluteCorrectionScale = s; ClearMom(); }
115 >      void          SetL4EMFCorrectionScale(Double_t s )        
116 >                      { fL4EMFCorrectionScale = s; ClearMom();      }
117 >      void          SetL5FlavorCorrectionScale(Double_t s )    
118 >                      { fL5FlavorCorrectionScale = s; ClearMom();   }
119 >      void          SetL7PartonCorrectionScale(Double_t s )    
120 >                      { fL7PartonCorrectionScale = s; ClearMom();   }
121 >      void          SetCustomCorrectionScale(Double_t s)        
122 >                      { fCustomCorrectionScale = s; ClearMom(); }
123 >      void          SetSimpleSecondaryVertexBJetTagsDisc(Double_t d)
124 >                      { fSimpleSecondaryVertexBJetTagsDisc = d;     }
125 >      void          SetSoftMuonBJetTagsDisc(Double_t d)     { fSoftMuonBJetTagsDisc = d;     }
126 >      void          SetSoftMuonByIP3dBJetTagsDisc(Double_t d) { fSoftMuonByIP3dBJetTagsDisc = d; }
127 >      void          SetSoftMuonByPtBJetTagsDisc(Double_t d) { fSoftMuonByPtBJetTagsDisc = d; }
128 >      void          SetSoftElectronByIP3dBJetTagsDisc(Double_t d) { fSoftElectronByIP3dBJetTagsDisc = d; }
129 >      void          SetSoftElectronByPtBJetTagsDisc(Double_t d) { fSoftElectronByPtBJetTagsDisc = d; }
130 >      void          SetTrackCountingHighEffBJetTagsDisc(Double_t d)
131 >                      { fTrackCountingHighEffBJetTagsDisc = d;      }
132 >      void          SetTrackCountingHighPurBJetTagsDisc(Double_t d)
133 >                      { fTrackCountingHighPurBJetTagsDisc = d;      }
134  
135      protected:
136 <      void       GetMom()                      const;
136 >      void          GetMom()                   const;
137  
138 <      FourVectorM32 fRawMom;              //uncorrected four momentum of jet
139 <      Double_t   fMaxEInEmTowers;         //maximum energy in EM towers
140 <      Double_t   fMaxEInHadTowers;        //maximum energy in HCAL towers
141 <      Double_t   fEnergyFractionH;        //hadronic energy fraction
142 <      Double_t   fEnergyFractionEm;       //electromagnetic energy fraction
143 <      Double_t   fHadEnergyInHB;          //hadronic energy in HB
144 <      Double_t   fHadEnergyInHO;          //hadronic energy in HO
145 <      Double_t   fHadEnergyInHE;          //hadronic energy in HE
146 <      Double_t   fHadEnergyInHF;          //hadronic energy in HF
147 <      Double_t   fEmEnergyInEB;           //electromagnetic energy in EB
148 <      Double_t   fEmEnergyInEE;           //electromagnetic energy in EE
149 <      Double_t   fEmEnergyInHF;           //electromagnetic energy extracted from HF
150 <      Double_t   fTowersArea;             //area of contributing towers
151 <      UShort_t   fN;                      //number of constituents
152 <      UShort_t   fN60;                    //number constituents with 60% of total energy
153 <      UShort_t   fN90;                    //number constituents with 90% of total energy
154 <      Double_t   fAlpha;                  //jet vertex association alpha variable
155 <      Double_t   fBeta;                   //jet vertex association beta variable
156 <      Int_t      fMatchedMCFlavor;        //pdgID of the quark flavor that the jet matched to
157 <      Double_t   fJetProbabilityBJetTagsDisc;              //Discriminants for b-tagging algos
158 <      Double_t   fJetBProbabilityBJetTagsDisc;             //
159 <      Double_t   fSimpleSecondaryVertexBJetTagsDisc;       //
160 <      Double_t   fCombinedSecondaryVertexBJetTagsDisc;     //
188 <      Double_t   fCombinedSecondaryVertexMVABJetTagsDisc;  //
189 <      Double_t   fImpactParameterMVABJetTagsDisc;          //
190 <      Double_t   fTrackCountingHighEffBJetTagsDisc;        //
191 <      Double_t   fTrackCountingHighPurBJetTagsDisc;        //
192 <      Double_t   fSoftMuonBJetTagsDisc;                    //
193 <      Double_t   fSoftMuonNoIPBJetTagsDisc;                //
194 <      Double_t   fSoftElectronBJetTagsDisc;                //
195 <      Double_t   fL2RelativeCorrectionScale;           //
196 <      Double_t   fL3AbsoluteCorrectionScale;           //
197 <      Double_t   fL4EMFCorrectionScale;                //
198 <      Double_t   fL5FlavorCorrectionScale;             //
199 <      Double_t   fL7PartonCorrectionScale;             //
200 <      Double_t   fCustomCorrectionScale;               //
201 <      BitMask8   fCorrections;                         //mask of which corrections should be applied
202 <      RefArray<CaloTower>      fTowers;                //calo towers assigned to this jet
138 >      Vect4M        fRawMom;                                 //uncorrected four momentum of jet
139 >      Double32_t    fAlpha;                                  //[0,0,14]jet vertex alpha variable
140 >      Double32_t    fBeta;                                   //[0,0,14]jet vertex beta variable
141 >      Int_t         fMatchedMCFlavor;                        //[0,0,14]pdg of matched quark flavor
142 >      Double32_t    fJetProbabilityBJetTagsDisc;             //[0,0,14]discriminants b-tagging algos
143 >      Double32_t    fJetBProbabilityBJetTagsDisc;            //[0,0,14]discriminants b-tagging algos
144 >      Double32_t    fSimpleSecondaryVertexBJetTagsDisc;      //[0,0,14]discriminants b-tagging algos
145 >      Double32_t    fCombinedSecondaryVertexBJetTagsDisc;    //[0,0,14]discriminants b-tagging algos
146 >      Double32_t    fCombinedSecondaryVertexMVABJetTagsDisc; //[0,0,14]discriminants b-tagging algos
147 >      Double32_t    fTrackCountingHighEffBJetTagsDisc;       //[0,0,14]discriminants b-tagging algos
148 >      Double32_t    fTrackCountingHighPurBJetTagsDisc;       //[0,0,14]discriminants b-tagging algos
149 >      Double32_t    fSoftMuonBJetTagsDisc;                   //[0,0,14]discriminants b-tagging algos
150 >      Double32_t    fSoftMuonByIP3dBJetTagsDisc;             //[0,0,14]discriminants b-tagging algos
151 >      Double32_t    fSoftMuonByPtBJetTagsDisc;               //[0,0,14]discriminants b-tagging algos
152 >      Double32_t    fSoftElectronByIP3dBJetTagsDisc;         //[0,0,14]discriminants b-tagging algos
153 >      Double32_t    fSoftElectronByPtBJetTagsDisc;           //[0,0,14]discriminants b-tagging algos
154 >      Double32_t    fL2RelativeCorrectionScale;              //[0,0,14]L2 correction scale
155 >      Double32_t    fL3AbsoluteCorrectionScale;              //[0,0,14]L3 correction scale
156 >      Double32_t    fL4EMFCorrectionScale;                   //[0,0,14]L4 correction scale
157 >      Double32_t    fL5FlavorCorrectionScale;                //[0,0,14]L5 correction scale
158 >      Double32_t    fL7PartonCorrectionScale;                //[0,0,14]L7 correction scale
159 >      Double32_t    fCustomCorrectionScale;                  //[0,0,14]custom correction scale
160 >      BitMask8      fCorrections;                            //mask of corrections to be applied
161  
162 <    ClassDef(Jet, 1) // Jet class
162 >    ClassDef(Jet, 2) // Jet class
163    };
164   }
165  
166   //--------------------------------------------------------------------------------------------------
167   inline void mithep::Jet::GetMom() const
168   {
169 <  // Get momentum values from stored values.
169 >  // Get raw momentum values from stored values and apply all enabled corrections.
170 >
171 >  fCachedMom.SetCoordinates(fRawMom.Pt(),fRawMom.Eta(),fRawMom.Phi(),fRawMom.M());
172  
213  fCachedMom = fRawMom;
214  
173    if (CorrectionActive(L2))
174      fCachedMom *= fL2RelativeCorrectionScale;
175      

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines