ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Met.h
Revision: 1.5
Committed: Wed Sep 10 17:04:38 2008 UTC (16 years, 7 months ago) by ksung
Content type: text/plain
Branch: MAIN
Changes since 1.4: +37 -16 lines
Log Message:
Added more details to class definition

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 ksung 1.5 // $Id: Met.h,v 1.4 2008/09/10 03:33:27 loizides 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.5 virtual Double_t Charge() const { return 0; }
27     virtual Double_t E() const { return Pt();}
28     virtual Double_t Eta() const { return Mom().Eta();}
29     virtual Double_t Mass() const { return TMath::Sqrt(Mom().M2()); }
30     virtual FourVector Mom() const { return FourVector(fMex,fMey,0,Pt()); }
31     virtual Double_t Phi() const { return TMath::ATan2(fMey,fMex); }
32     virtual Double_t Pt() const { return TMath::Sqrt(fMex*fMex+fMey*fMey);}
33     virtual Double_t Px() const { return fMex;}
34     virtual Double_t Py() const { return fMey;}
35     virtual Double_t Pz() const { return 0; }
36     virtual Double_t P() const { return Pt(); }
37 loizides 1.2
38 ksung 1.5 virtual Double_t SumEt() const { return fSumEt; }
39     virtual Double_t MetSig() const { return fMetSig; }
40     virtual Double_t E_longitudinal() const { return fElongit; }
41    
42     virtual const std::vector<Double_t> Dmex() const { return fDmex; }
43     virtual const std::vector<Double_t> Dmey() const { return fDmey; }
44     virtual const std::vector<Double_t> DSumEt() const { return fDSumEt; }
45    
46     virtual void SetSumEt(Double_t x) { fSumEt = x; }
47     virtual void SetE_longitudinal(Double_t x) { fElongit = x; }
48     virtual void SetMetSig(Double_t x) { fMetSig = x; }
49     virtual void PushCorrectionX(Double_t x) { fDmex.push_back(x); }
50     virtual void PushCorrectionY(Double_t x) { fDmey.push_back(x); }
51     virtual void PushCorrectionSumEt(Double_t x) { fDSumEt.push_back(x); }
52    
53 loizides 1.2 protected:
54 ksung 1.5 Double_t fMex; // x-component
55     Double_t fMey; // y-component
56     Double_t fSumEt; // scalar sum of ET over all objects
57     Double_t fMetSig; // MET Significance = MET / sqrt(SumET)
58     Double_t fElongit; // z-comp. of vector E sum over all inputs
59     std::vector<Double_t> fDmex; // vector of all corr. applied to MEx
60     std::vector<Double_t> fDmey; // vector of all corr. applied to MEy
61     std::vector<Double_t> fDSumEt; // vector of all corr. applied to SumET
62 loizides 1.2
63     ClassDef(Met, 1) // Missing Et class
64 loizides 1.1 };
65     }
66     #endif