ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Met.h
Revision: 1.16
Committed: Fri Jul 10 14:17:08 2009 UTC (15 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.15: +2 -2 lines
Log Message:
Cleanup

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.16 // $Id: Met.h,v 1.15 2009/04/07 14:59:08 loizides Exp $
3 loizides 1.1 //
4     // Met
5     //
6 loizides 1.9 // Class to store missing transverse energy information.
7 bendavid 1.11 // This is the base class for various specific kinds of met (CaloMet, PFMet, etc.),
8     // but can also be used directly.
9 loizides 1.1 //
10     // Authors: C.Loizides
11     //--------------------------------------------------------------------------------------------------
12    
13 loizides 1.4 #ifndef MITANA_DATATREE_MET_H
14     #define MITANA_DATATREE_MET_H
15 loizides 1.1
16 loizides 1.16 #include "MitAna/DataTree/interface/Particle.h"
17 loizides 1.10 #include "MitAna/DataTree/interface/Types.h"
18 loizides 1.1
19     namespace mithep
20     {
21     class Met : public Particle
22     {
23     public:
24 loizides 1.9 Met() :
25 bendavid 1.11 fMex(0), fMey(0), fSumEt(0), fElongit(0) { }
26 loizides 1.7 Met(Double_t mex, Double_t mey) :
27 bendavid 1.11 fMex(mex), fMey(mey), fSumEt(0), fElongit(0) { }
28    
29 loizides 1.10 const FArrDouble32 &Dmex() const { return fDmex; }
30     const FArrDouble32 &Dmey() const { return fDmey; }
31     const FArrDouble32 &DSumEt() const { return fDSumEt; }
32     Double_t Elongitudinal() const { return fElongit; }
33 loizides 1.15 Bool_t HasCorrections() const;
34 bendavid 1.11 Double_t MetSig() const;
35 loizides 1.13 Double_t Mex() const { return fMex; }
36     Double_t Mey() const { return fMey; }
37 loizides 1.10 EObjType ObjType() const { return kMet; }
38     Double_t SumEt() const { return fSumEt; }
39     void PushCorrectionX(Double_t x) { fDmex.Add(x); }
40     void PushCorrectionY(Double_t x) { fDmey.Add(x); }
41     void PushCorrectionSumEt(Double_t x) { fDSumEt.Add(x); }
42     void SetElongitudinal(Double_t x) { fElongit = x; }
43     void SetSumEt(Double_t x) { fSumEt = x; }
44 ksung 1.5
45 loizides 1.2 protected:
46 loizides 1.7 void Clear(Option_t * /*option*/ ="");
47 loizides 1.9 void GetMom() const;
48 loizides 1.7
49 loizides 1.12 Double32_t fMex; //[0,0,14]x-component
50     Double32_t fMey; //[0,0,14]y-component
51     Double32_t fSumEt; //[0,0,14]scalar sum of ET over all objects
52     Double32_t fElongit; //[0,0,14]z-comp. of vector E sum
53 loizides 1.13 FArrDouble32 fDmex; //||array of all corr. applied to MEx
54     FArrDouble32 fDmey; //||array of all corr. applied to MEy
55     FArrDouble32 fDSumEt; //||array of all corr. applied to SumET
56 ksung 1.6
57 loizides 1.14 ClassDef(Met, 2) // Missing transverse energy class
58 loizides 1.1 };
59     }
60 loizides 1.7
61 loizides 1.9 //--------------------------------------------------------------------------------------------------
62 loizides 1.7 inline void mithep::Met::Clear(Option_t *)
63     {
64     // Clear by deleting the std::vectors.
65    
66 loizides 1.10 fDmex.Clear();
67     fDmey.Clear();
68     fDSumEt.Clear();
69 loizides 1.7 }
70    
71 loizides 1.9 //--------------------------------------------------------------------------------------------------
72     inline void mithep::Met::GetMom() const
73     {
74     // Get momentum values from stored values.
75    
76     Double_t pt = TMath::Sqrt(fMex*fMex+fMey*fMey);
77     Double_t phi = TMath::ATan2(fMey,fMex);
78     fCachedMom.SetCoordinates(pt,0,phi,0);
79     }
80 bendavid 1.11
81     //--------------------------------------------------------------------------------------------------
82     inline Double_t mithep::Met::MetSig() const
83     {
84     // Calculate Met Significance
85    
86     if (fSumEt>0.0)
87     return (Et()/TMath::Sqrt(fSumEt));
88     else
89     return -1.0;
90     }
91 loizides 1.1 #endif