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.21 by loizides, Wed Mar 18 15:44:32 2009 UTC vs.
Revision 1.25 by sixie, Fri Mar 26 14:31:31 2010 UTC

# Line 34 | Line 34 | namespace mithep
34          fAlpha(0), fBeta(0), fMatchedMCFlavor(0),
35          fJetProbabilityBJetTagsDisc(0), fJetBProbabilityBJetTagsDisc(0),
36          fSimpleSecondaryVertexBJetTagsDisc(0), fCombinedSecondaryVertexBJetTagsDisc(0),
37 <        fCombinedSecondaryVertexMVABJetTagsDisc(0), fImpactParameterMVABJetTagsDisc(0),
38 <        fTrackCountingHighEffBJetTagsDisc(0), fTrackCountingHighPurBJetTagsDisc(0),
39 <        fSoftMuonBJetTagsDisc(0), fSoftMuonNoIPBJetTagsDisc(0),
40 <        fSoftElectronBJetTagsDisc(0), fL2RelativeCorrectionScale(0),
41 <        fL3AbsoluteCorrectionScale(0), fL4EMFCorrectionScale(0),
42 <        fL5FlavorCorrectionScale(0), fL7PartonCorrectionScale(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), fImpactParameterMVABJetTagsDisc(0),
50 <        fTrackCountingHighEffBJetTagsDisc(0), fTrackCountingHighPurBJetTagsDisc(0),
51 <        fSoftMuonBJetTagsDisc(0), fSoftMuonNoIPBJetTagsDisc(0),
52 <        fSoftElectronBJetTagsDisc(0), fL2RelativeCorrectionScale(0),
53 <        fL3AbsoluteCorrectionScale(0), fL4EMFCorrectionScale(0),
54 <        fL5FlavorCorrectionScale(0), fL7PartonCorrectionScale(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;                        }
# Line 60 | Line 60 | namespace mithep
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);       }
68      Double_t      ImpactParameterMVABJetTagsDisc()               const
69                      { return fImpactParameterMVABJetTagsDisc; }
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();            }
# Line 85 | Line 85 | namespace mithep
85                        { return fSimpleSecondaryVertexBJetTagsDisc; }
86        Double_t      SoftMuonBJetTagsDisc()                         const
87                        { return fSoftMuonBJetTagsDisc;              }
88 <      Double_t      SoftMuonNoIPBJetTagsDisc()                     const
89 <                      { return fSoftMuonNoIPBJetTagsDisc;          }
90 <      Double_t      SoftElectronBJetTagsDisc()                     const
91 <                      { return fSoftElectronBJetTagsDisc;          }
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; }
103      void          SetImpactParameterMVABJetTagsDisc (Double_t d)
104                      { fImpactParameterMVABJetTagsDisc = d; }
111        void          SetJetProbabilityBJetTagsDisc(Double_t d)  
112                        { fJetProbabilityBJetTagsDisc = d;     }
113        void          SetJetBProbabilityBJetTagsDisc(Double_t d)
# Line 123 | Line 129 | namespace mithep
129        void          SetSimpleSecondaryVertexBJetTagsDisc(Double_t d)
130                        { fSimpleSecondaryVertexBJetTagsDisc = d;     }
131        void          SetSoftMuonBJetTagsDisc(Double_t d)     { fSoftMuonBJetTagsDisc = d;     }
132 <      void          SetSoftMuonNoIPBJetTagsDisc(Double_t d) { fSoftMuonNoIPBJetTagsDisc = d; }
133 <      void          SetSoftElectronBJetTagsDisc(Double_t d) { fSoftElectronBJetTagsDisc = 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)
# Line 137 | Line 145 | namespace mithep
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
145      Double32_t    fImpactParameterMVABJetTagsDisc;         //[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    fSoftMuonNoIPBJetTagsDisc;               //[0,0,14]discriminants b-tagging algos
159 <      Double32_t    fSoftElectronBJetTagsDisc;               //[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
# Line 156 | Line 167 | namespace mithep
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 void mithep::Jet::GetMom() const
175 > inline Double_t mithep::Jet::CombinedCorrectionScale() const
176   {
177 <  // Get raw momentum values from stored values and apply all enabled corrections.
178 <
168 <  fCachedMom.SetCoordinates(fRawMom.Pt(),fRawMom.Eta(),fRawMom.Phi(),fRawMom.M());
177 >  // compute combined correction scale from all enabled corrections
178 >  Double_t scale = 1.0;
179  
180    if (CorrectionActive(L2))
181 <    fCachedMom *= fL2RelativeCorrectionScale;
181 >    scale *= fL2RelativeCorrectionScale;
182      
183    if (CorrectionActive(L3))
184 <    fCachedMom *= fL3AbsoluteCorrectionScale;
184 >    scale *= fL3AbsoluteCorrectionScale;
185    
186    if (CorrectionActive(L4))
187 <    fCachedMom *= fL4EMFCorrectionScale;
187 >    scale *= fL4EMFCorrectionScale;
188      
189    if (CorrectionActive(L5))
190 <    fCachedMom *= fL5FlavorCorrectionScale;
190 >    scale *= fL5FlavorCorrectionScale;
191      
192    if (CorrectionActive(L7))
193 <    fCachedMom *= fL7PartonCorrectionScale;
193 >    scale *= fL7PartonCorrectionScale;
194      
195    if (CorrectionActive(Custom))
196 <    fCachedMom *= fCustomCorrectionScale;
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