ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Met.h
Revision: 1.6
Committed: Tue Sep 16 22:04:59 2008 UTC (16 years, 7 months ago) by ksung
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_005, Mit_004
Changes since 1.5: +86 -32 lines
Log Message:
Merged with CaloMet class

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 ksung 1.6 // $Id: Met.h,v 1.5 2008/09/10 17:04:38 ksung Exp $
3 loizides 1.1 //
4     // Met
5     //
6     // Details to be worked out...
7     //
8     // Authors: C.Loizides
9     //--------------------------------------------------------------------------------------------------
10    
11 loizides 1.4 #ifndef MITANA_DATATREE_MET_H
12     #define MITANA_DATATREE_MET_H
13 loizides 1.1
14     #include "MitAna/DataTree/interface/Particle.h"
15     #include "MitAna/DataTree/interface/Track.h"
16    
17     namespace mithep
18     {
19     class Met : public Particle
20     {
21     public:
22 ksung 1.5 Met() : fMex(0), fMey(0) {}
23     Met(Double_t mex, Double_t mey) : fMex(mex), fMey(mey) {}
24 loizides 1.1 ~Met() {}
25    
26 ksung 1.6 Double_t Charge() const { return 0; }
27     Double_t E() const { return Pt();}
28     Double_t Eta() const { return Mom().Eta();}
29     Double_t Mass() const { return TMath::Sqrt(Mom().M2()); }
30     FourVector Mom() const { return FourVector(fMex,fMey,0,Pt()); }
31     Double_t Phi() const { return TMath::ATan2(fMey,fMex); }
32     Double_t Pt() const { return TMath::Sqrt(fMex*fMex+fMey*fMey);}
33     Double_t Px() const { return fMex;}
34     Double_t Py() const { return fMey;}
35     Double_t Pz() const { return 0; }
36     Double_t P() const { return Pt(); }
37 loizides 1.2
38 ksung 1.6 Double_t SumEt() const { return fSumEt; }
39     Double_t MetSig() const { return fMetSig; }
40     Double_t E_longitudinal() const { return fElongit; }
41 ksung 1.5
42 ksung 1.6 const std::vector<Double_t> Dmex() const { return fDmex; }
43     const std::vector<Double_t> Dmey() const { return fDmey; }
44     const std::vector<Double_t> DSumEt() const { return fDSumEt; }
45 ksung 1.5
46 ksung 1.6 Double_t MaxEtInEmTowers() const { return fMaxEtInEmTowers; }
47     Double_t MaxEtInHadTowers() const { return fMaxEtInHadTowers; }
48     Double_t EtFractionHadronic() const { return fEtFractionHadronic; }
49     Double_t EmEtFraction() const { return fEmEtFraction; }
50     Double_t HadEtInHB() const { return fHadEtInHB; }
51     Double_t HadEtInHO() const { return fHadEtInHO; }
52     Double_t HadEtInHE() const { return fHadEtInHE; }
53     Double_t HadEtInHF() const { return fHadEtInHF; }
54     Double_t EmEtInEB() const { return fEmEtInEB; }
55     Double_t EmEtInEE() const { return fEmEtInEE; }
56     Double_t EmEtInHF() const { return fEmEtInHF; }
57     Double_t CaloSumEtInpHF() const { return fCaloSumEtInpHF; }
58     Double_t CaloSumEtInmHF() const { return fCaloSumEtInmHF; }
59     Double_t CaloMetInpHF() const { return fCaloMetInpHF; }
60     Double_t CaloMetInmHF() const { return fCaloMetInmHF; }
61     Double_t CaloMetPhiInpHF() const { return fCaloMetPhiInpHF; }
62     Double_t CaloMetPhiInmHF() const { return fCaloMetPhiInmHF; }
63    
64     void SetSumEt(Double_t x) { fSumEt = x; }
65     void SetE_longitudinal(Double_t x) { fElongit = x; }
66     void SetMetSig(Double_t x) { fMetSig = x; }
67     void PushCorrectionX(Double_t x) { fDmex.push_back(x); }
68     void PushCorrectionY(Double_t x) { fDmey.push_back(x); }
69     void PushCorrectionSumEt(Double_t x) { fDSumEt.push_back(x); }
70    
71     void SetMaxEtInEmTowers(Double_t x) { fMaxEtInEmTowers = x; }
72     void SetMaxEtInHadTowers(Double_t x) { fMaxEtInHadTowers = x; }
73     void SetEtFractionHadronic(Double_t x) { fEtFractionHadronic = x; }
74     void SetEmEtFraction(Double_t x) { fEmEtFraction = x; }
75     void SetHadEtInHB(Double_t x) { fHadEtInHB = x; }
76     void SetHadEtInHO(Double_t x) { fHadEtInHO = x; }
77     void SetHadEtInHE(Double_t x) { fHadEtInHE = x; }
78     void SetHadEtInHF(Double_t x) { fHadEtInHF = x; }
79     void SetEmEtInEB(Double_t x) { fEmEtInEB = x; }
80     void SetEmEtInEE(Double_t x) { fEmEtInEE = x; }
81     void SetEmEtInHF(Double_t x) { fEmEtInHF = x; }
82     void SetCaloSumEtInpHF(Double_t x) { fCaloSumEtInpHF = x; }
83     void SetCaloSumEtInmHF(Double_t x) { fCaloSumEtInmHF = x; }
84     void SetCaloMetInpHF(Double_t x) { fCaloMetInpHF = x; }
85     void SetCaloMetInmHF(Double_t x) { fCaloMetInmHF = x; }
86     void SetCaloMetPhiInpHF(Double_t x) { fCaloMetPhiInpHF = x; }
87     void SetCaloMetPhiInmHF(Double_t x) { fCaloMetPhiInmHF = x; }
88 ksung 1.5
89 loizides 1.2 protected:
90 ksung 1.6 Double_t fMex; // x-component
91     Double_t fMey; // y-component
92     Double_t fSumEt; // scalar sum of ET over all objects
93     Double_t fMetSig; // MET Significance = MET / sqrt(SumET)
94     Double_t fElongit; // z-comp. of vector E sum over all inputs
95     std::vector<Double_t> fDmex; // vector of all corr. applied to MEx
96     std::vector<Double_t> fDmey; // vector of all corr. applied to MEy
97     std::vector<Double_t> fDSumEt; // vector of all corr. applied to SumET
98 loizides 1.2
99 ksung 1.6 Double_t fMaxEtInEmTowers; // max ET deposited in ECAL towers
100     Double_t fMaxEtInHadTowers; // max ET deposited in HCAL towers
101     Double_t fEtFractionHadronic; // event hadronic scaler ET fraction
102     Double_t fEmEtFraction; // event electromagnetic scalar ET fraction
103     Double_t fHadEtInHB; // event hadronic scalar ET in HB
104     Double_t fHadEtInHO; // event hadronic scalar ET in HO
105     Double_t fHadEtInHE; // event hadronic scalar ET in HE
106     Double_t fHadEtInHF; // event hadronic scalar ET in HF
107     Double_t fEmEtInEB; // event electromagnetic scalar ET in EB
108     Double_t fEmEtInEE; // event electromagnetic scalar ET in EE
109     Double_t fEmEtInHF; // event electromagnetic scalar ET from HF
110     Double_t fCaloSumEtInpHF; // SumET in HF+
111     Double_t fCaloSumEtInmHF; // SumET in HF-
112     Double_t fCaloMetInpHF; // MET in HF+
113     Double_t fCaloMetInmHF; // MET in HF-
114     Double_t fCaloMetPhiInpHF; // MET-phi in HF+
115     Double_t fCaloMetPhiInmHF; // MET-phi in HF-
116    
117 loizides 1.2 ClassDef(Met, 1) // Missing Et class
118 loizides 1.1 };
119     }
120     #endif