CMS 3D CMS Logo

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  class PFMET : public MET {
19  public:
20  PFMET();
21  PFMET(const SpecificPFMETData& pf_data_,
22  double sumet_,
23  const LorentzVector& fP4,
24  const Point& fVertex,
25  bool isWeighted = false)
26  : MET(sumet_, fP4, fVertex, isWeighted), pf_data(pf_data_) {}
27 
28  ~PFMET() override {}
29 
30  //getters
31  double photonEtFraction() const { return pf_data.NeutralEMFraction; }
32  double photonEt() const { return pf_data.NeutralEMFraction * sumEt(); }
33 
35  double neutralHadronEt() const { return pf_data.NeutralHadFraction * sumEt(); }
36 
37  double electronEtFraction() const { return pf_data.ChargedEMFraction; }
38  double electronEt() const { return pf_data.ChargedEMFraction * sumEt(); }
39 
41  double chargedHadronEt() const { return pf_data.ChargedHadFraction * sumEt(); }
42 
43  double muonEtFraction() const { return pf_data.MuonFraction; }
44  double muonEt() const { return pf_data.MuonFraction * sumEt(); }
45 
46  double HFHadronEtFraction() const { return pf_data.Type6Fraction; }
47  double HFHadronEt() const { return pf_data.Type6Fraction * sumEt(); }
48 
49  double HFEMEtFraction() const { return pf_data.Type7Fraction; }
50  double HFEMEt() const { return pf_data.Type7Fraction * sumEt(); }
51 
52  // Old accessors (should be removed in future)
53  double NeutralEMEtFraction() const { return pf_data.NeutralEMFraction; }
54  double NeutralEMEt() const { return pf_data.NeutralEMFraction * sumEt(); }
55  double NeutralHadEtFraction() const { return pf_data.NeutralHadFraction; }
56  double NeutralHadEt() const { return pf_data.NeutralHadFraction * sumEt(); }
57  double ChargedEMEtFraction() const { return pf_data.ChargedEMFraction; }
58  double ChargedEMEt() const { return pf_data.ChargedEMFraction * sumEt(); }
59  double ChargedHadEtFraction() const { return pf_data.ChargedHadFraction; }
60  double ChargedHadEt() const { return pf_data.ChargedHadFraction * sumEt(); }
61  double MuonEtFraction() const { return pf_data.MuonFraction; }
62  double MuonEt() const { return pf_data.MuonFraction * sumEt(); }
63  double Type6EtFraction() const { return pf_data.Type6Fraction; }
64  double Type6Et() const { return pf_data.Type6Fraction * sumEt(); }
65  double Type7EtFraction() const { return pf_data.Type7Fraction; }
66  double Type7Et() const { return pf_data.Type7Fraction * sumEt(); }
67  double NeutralEMFraction() const { return pf_data.NeutralEMFraction; }
68  double NeutralHadFraction() const { return pf_data.NeutralHadFraction; }
69  double ChargedEMFraction() const { return pf_data.ChargedEMFraction; }
70  double ChargedHadFraction() const { return pf_data.ChargedHadFraction; }
71  double MuonFraction() const { return pf_data.MuonFraction; }
72 
73  // block accessors
75 
76  private:
78  };
79 } // namespace reco
80 #endif
double HFEMEt() const
Definition: PFMET.h:50
double neutralHadronEt() const
Definition: PFMET.h:35
double Type6EtFraction() const
Definition: PFMET.h:63
double chargedHadronEt() const
Definition: PFMET.h:41
double chargedHadronEtFraction() const
Definition: PFMET.h:40
double Type7EtFraction() const
Definition: PFMET.h:65
double neutralHadronEtFraction() const
Definition: PFMET.h:34
double ChargedEMFraction() const
Definition: PFMET.h:69
double MuonEt() const
Definition: PFMET.h:62
double HFHadronEtFraction() const
Definition: PFMET.h:46
double sumEt() const
Definition: MET.h:56
double HFHadronEt() const
Definition: PFMET.h:47
double electronEt() const
Definition: PFMET.h:38
double ChargedHadFraction() const
Definition: PFMET.h:70
PFMET(const SpecificPFMETData &pf_data_, double sumet_, const LorentzVector &fP4, const Point &fVertex, bool isWeighted=false)
Definition: PFMET.h:21
double NeutralEMFraction() const
Definition: PFMET.h:67
double muonEt() const
Definition: PFMET.h:44
double HFEMEtFraction() const
Definition: PFMET.h:49
int isWeighted() const
boolean if weights were applied by algorithm (e.g. PUPPI weights)
Definition: MET.h:79
double MuonEtFraction() const
Definition: PFMET.h:61
Definition: MET.h:41
double NeutralHadFraction() const
Definition: PFMET.h:68
double NeutralEMEt() const
Definition: PFMET.h:54
MET made from Particle Flow Candidates.
double MuonFraction() const
Definition: PFMET.h:71
double NeutralHadEtFraction() const
Definition: PFMET.h:55
SpecificPFMETData pf_data
Definition: PFMET.h:77
double photonEt() const
Definition: PFMET.h:32
double ChargedHadEtFraction() const
Definition: PFMET.h:59
~PFMET() override
Definition: PFMET.h:28
double ChargedEMEtFraction() const
Definition: PFMET.h:57
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
double ChargedHadEt() const
Definition: PFMET.h:60
double NeutralEMEtFraction() const
Definition: PFMET.h:53
double electronEtFraction() const
Definition: PFMET.h:37
SpecificPFMETData getSpecific() const
Definition: PFMET.h:74
fixed size matrix
double photonEtFraction() const
Definition: PFMET.h:31
Structure Point Contains parameters of Gaussian fits to DMRs.
double Type6Et() const
Definition: PFMET.h:64
double NeutralHadEt() const
Definition: PFMET.h:56
double ChargedEMEt() const
Definition: PFMET.h:58
double Type7Et() const
Definition: PFMET.h:66
double muonEtFraction() const
Definition: PFMET.h:43