CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/TopQuarkAnalysis/TopPairBSM/interface/METzCalculator.h

Go to the documentation of this file.
00001 #ifndef METzCalculator_h
00002 #define METzCalculator_h
00003 
00013 //#include "FWCore/Framework/interface/Event.h"
00014 //#include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 
00016 #include "DataFormats/PatCandidates/interface/Particle.h"
00017 #include "DataFormats/PatCandidates/interface/MET.h"
00018 
00019 #include "TLorentzVector.h"
00020 
00021 class METzCalculator {
00022 
00023   public:
00025         METzCalculator();
00026                 //METzCalculator(const edm::ParameterSEt& iConf);
00028         virtual ~METzCalculator();
00030         void SetMET(const pat::MET &MET) { MET_ = MET; } ;
00031         void SetMET(TLorentzVector MET) {
00032                 pat::Particle::LorentzVector p(MET.Px(),MET.Py(),MET.Pz(),MET.E());
00033                 MET_.setP4(p);
00034         }
00036         void SetMuon(const pat::Particle &lepton) { lepton_ = lepton; };
00037         void SetMuon(TLorentzVector lepton) {
00038                 pat::Particle::LorentzVector p(lepton.Px(), lepton.Py(), lepton.Pz(), lepton.E() );
00039                 lepton_.setP4(p);
00040         }
00052         double Calculate(int type = 0);
00054         bool IsComplex() const { return isComplex_; };
00055 
00056         void Print() {
00057                 std::cout << " METzCalculator: pxmu = " << lepton_.px() << " pzmu= " << lepton_.pz() << std::endl;
00058                 std::cout << " METzCalculator: pxnu = " << MET_.px() << " pynu= " << MET_.py() << std::endl;
00059         }
00060         
00061   private:
00062 
00063         bool isComplex_;
00064         pat::Particle lepton_;
00065         pat::MET MET_;
00066         
00067 };
00068 
00069 #endif