CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFMET.h
Go to the documentation of this file.
1 #ifndef METReco_PFMET_h
2 #define METReco_PFMET_h
3 
4 /*
5 class: PFMET
6 description: MET made from Particle Flow candidates
7 authors: R. Remington (UF), R. Cavanaugh (UIC/Fermilab)
8 date: 10/27/08
9 */
10 
11 // Note : Data members refer to transverse quantities as is indicated by the accessors .
12 // Eventually, we will change them accordingly when backward compatibility is not required
13 // Date : 10/14/09
14 
17 namespace reco
18 {
19  class PFMET: public MET {
20  public:
21  PFMET() ;
22  PFMET( SpecificPFMETData pf_data_, double sumet_,
23  const LorentzVector& fP4, const Point& fVertex )
24  : MET( sumet_, fP4, fVertex ), pf_data( pf_data_ ) {}
25 
26  virtual ~PFMET() {}
27 
28  //getters
29  double photonEtFraction() const { return pf_data.NeutralEMFraction; }
30  double photonEt() const { return pf_data.NeutralEMFraction * sumEt(); }
31 
33  double neutralHadronEt() const { return pf_data.NeutralHadFraction * sumEt(); }
34 
35  double electronEtFraction() const { return pf_data.ChargedEMFraction; }
36  double electronEt() const { return pf_data.ChargedEMFraction * sumEt(); }
37 
39  double chargedHadronEt() const { return pf_data.ChargedHadFraction * sumEt(); }
40 
41  double muonEtFraction() const { return pf_data.MuonFraction; }
42  double muonEt() const { return pf_data.MuonFraction * sumEt(); }
43 
44  double HFHadronEtFraction() const { return pf_data.Type6Fraction; }
45  double HFHadronEt() const { return pf_data.Type6Fraction * sumEt(); }
46 
47  double HFEMEtFraction() const { return pf_data.Type7Fraction; }
48  double HFEMEt() const { return pf_data.Type7Fraction * sumEt(); }
49 
50  // Old accessors (should be removed in future)
51  double NeutralEMEtFraction() const { return pf_data.NeutralEMFraction; }
52  double NeutralEMEt() const { return pf_data.NeutralEMFraction * sumEt(); }
53  double NeutralHadEtFraction() const { return pf_data.NeutralHadFraction; }
54  double NeutralHadEt() const { return pf_data.NeutralHadFraction * sumEt(); }
55  double ChargedEMEtFraction() const { return pf_data.ChargedEMFraction; }
56  double ChargedEMEt() const { return pf_data.ChargedEMFraction * sumEt(); }
57  double ChargedHadEtFraction() const { return pf_data.ChargedHadFraction; }
58  double ChargedHadEt() const { return pf_data.ChargedHadFraction * sumEt(); }
59  double MuonEtFraction() const { return pf_data.MuonFraction; }
60  double MuonEt() const { return pf_data.MuonFraction * sumEt(); }
61  double Type6EtFraction() const { return pf_data.Type6Fraction; }
62  double Type6Et() const { return pf_data.Type6Fraction * sumEt(); }
63  double Type7EtFraction() const { return pf_data.Type7Fraction; }
64  double Type7Et() const { return pf_data.Type7Fraction * sumEt(); }
65  double NeutralEMFraction() const { return pf_data.NeutralEMFraction; }
66  double NeutralHadFraction() const { return pf_data.NeutralHadFraction; }
67  double ChargedEMFraction() const { return pf_data.ChargedEMFraction; }
68  double ChargedHadFraction() const { return pf_data.ChargedHadFraction; }
69  double MuonFraction() const { return pf_data.MuonFraction; }
70 
71  // block accessors
73 
74 
75  private:
77  };
78 }
79 #endif
double NeutralHadEt() const
Definition: PFMET.h:54
SpecificPFMETData getSpecific() const
Definition: PFMET.h:72
double HFEMEtFraction() const
Definition: PFMET.h:47
double Type6Et() const
Definition: PFMET.h:62
double ChargedHadEt() const
Definition: PFMET.h:58
double Type7Et() const
Definition: PFMET.h:64
PFMET(SpecificPFMETData pf_data_, double sumet_, const LorentzVector &fP4, const Point &fVertex)
Definition: PFMET.h:22
double ChargedEMFraction() const
Definition: PFMET.h:67
double neutralHadronEtFraction() const
Definition: PFMET.h:32
double muonEt() const
Definition: PFMET.h:42
virtual ~PFMET()
Definition: PFMET.h:26
double Type6EtFraction() const
Definition: PFMET.h:61
double HFHadronEtFraction() const
Definition: PFMET.h:44
double sumEt() const
Definition: MET.h:48
double muonEtFraction() const
Definition: PFMET.h:41
double MuonEtFraction() const
Definition: PFMET.h:59
double HFHadronEt() const
Definition: PFMET.h:45
Definition: MET.h:32
double ChargedEMEtFraction() const
Definition: PFMET.h:55
double photonEtFraction() const
Definition: PFMET.h:29
double MuonEt() const
Definition: PFMET.h:60
double ChargedEMEt() const
Definition: PFMET.h:56
MET made from Particle Flow Candidates.
double HFEMEt() const
Definition: PFMET.h:48
double ChargedHadFraction() const
Definition: PFMET.h:68
SpecificPFMETData pf_data
Definition: PFMET.h:76
double electronEt() const
Definition: PFMET.h:36
double NeutralEMEtFraction() const
Definition: PFMET.h:51
double photonEt() const
Definition: PFMET.h:30
double NeutralEMFraction() const
Definition: PFMET.h:65
double ChargedHadEtFraction() const
Definition: PFMET.h:57
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:38
double electronEtFraction() const
Definition: PFMET.h:35
double chargedHadronEtFraction() const
Definition: PFMET.h:38
double NeutralHadFraction() const
Definition: PFMET.h:66
double MuonFraction() const
Definition: PFMET.h:69
math::XYZPoint Point
point in the space
Definition: Candidate.h:42
double neutralHadronEt() const
Definition: PFMET.h:33
double chargedHadronEt() const
Definition: PFMET.h:39
double NeutralEMEt() const
Definition: PFMET.h:52
double NeutralHadEtFraction() const
Definition: PFMET.h:53
double Type7EtFraction() const
Definition: PFMET.h:63