CMS 3D CMS Logo

MEzCalculator.h
Go to the documentation of this file.
1 #ifndef TopTools_MEzCalculator_h
2 #define TopTools_MEzCalculator_h
3 
15 
16 #include "TLorentzVector.h"
17 
19 
20  public:
22  MEzCalculator();
26  void SetMET(const pat::MET& MET) { MET_ = MET; } ;
27  void SetMET(const TLorentzVector& MET) {
28  pat::Particle::LorentzVector p(MET.Px(),MET.Py(),MET.Pz(),MET.E());
29  MET_.setP4(p);
30  }
32  void SetLepton(const pat::Particle& lepton, bool isMuon = true) {
33  lepton_ = lepton;
34  isMuon_ = isMuon;
35  };
36  void SetLepton(const TLorentzVector& lepton) {
37  pat::Particle::LorentzVector p(lepton.Px(), lepton.Py(), lepton.Pz(), lepton.E() );
38  lepton_.setP4(p);
39  }
50  double Calculate(int type = 1);
52  bool IsComplex() const { return isComplex_; };
54  void Print() {
55  std::cout << " METzCalculator: pxmu = " << lepton_.px() << " pzmu= " << lepton_.pz() << std::endl;
56  std::cout << " METzCalculator: pxnu = " << MET_.px() << " pynu= " << MET_.py() << std::endl;
57  }
58 
59  private:
60 
61  bool isComplex_;
64  bool isMuon_;
65 };
66 
67 #endif
type
Definition: HCALResponse.h:21
Analysis-level MET class.
Definition: MET.h:40
void SetLepton(const pat::Particle &lepton, bool isMuon=true)
Set lepton.
Definition: MEzCalculator.h:32
bool isMuon(const Candidate &part)
Definition: pdgIdUtils.h:11
double px() const final
x coordinate of momentum vector
~MEzCalculator()
destructor
void SetMET(const pat::MET &MET)
Set MET.
Definition: MEzCalculator.h:26
double Calculate(int type=1)
member functions
void Print()
verbose
Definition: MEzCalculator.h:54
double pz() const final
z coordinate of momentum vector
MEzCalculator()
constructor
Definition: MEzCalculator.cc:5
pat::Particle lepton_
Definition: MEzCalculator.h:62
void SetMET(const TLorentzVector &MET)
Definition: MEzCalculator.h:27
Analysis-level particle class.
Definition: Particle.h:32
void SetLepton(const TLorentzVector &lepton)
Definition: MEzCalculator.h:36
double py() const final
y coordinate of momentum vector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
bool IsComplex() const
check for complex root
Definition: MEzCalculator.h:52
void setP4(const LorentzVector &p4) final
set 4-momentum
pat::MET MET_
Definition: MEzCalculator.h:63