4 #ifndef DataFormats_PatCandidates_MET_h
5 #define DataFormats_PatCandidates_MET_h
20 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
133 if (!
isCaloMET())
throw cms::Exception(
"pat::MET") <<
"This pat::MET has not been made from a reco::CaloMET\n";
147 if (!
isPFMET())
throw cms::Exception(
"pat::MET") <<
"This pat::MET has not been made from a reco::PFMET\n";
172 double pt()
const {
return hypotf(
px,
py); }
173 double phi()
const {
return std::atan2(
py,
px); }
257 std::map<MET::METCorrectionLevel, std::vector<MET::METCorrectionType> >
corMap_;
Analysis-level MET class.
std::vector< PackedMETUncertainty > uncertaintiesRaw_
double CaloMETInmHF() const
Returns the event MET in HF-.
double shiftedPx(METUncertainty shift, METCorrectionLevel level=Type1) const
Vector2 shiftedP2_74x(METUncertainty shift, METCorrectionLevel level) const
virtual MET * clone() const
required reimplementation of the Candidate's clone method
const PackedMETUncertainty findMETTotalShift(MET::METCorrectionLevel cor, MET::METUncertainty shift) const
double emEtInHF() const
Returns the event electromagnetic energy extracted from HF.
double ChargedHadEtFraction() const
Vector2 caloMETP2() const
std::vector< PackedMETUncertainty > uncertaintiesType1p2_
double MuonEtFraction() const
ROOT::Math::Plane3D::Vector Vector
Vector2 corP2(METCorrectionLevel level=Type1) const
std::vector< MET > METCollection
std::vector< PackedMETUncertainty > uncertainties_
math::XYZTLorentzVector LorentzVector
double NeutralEMFraction() const
LorentzVector shiftedP4(METUncertainty shift, METCorrectionLevel level=Type1) const
void setUncShift(double px, double py, double sumEt, METUncertainty shift, bool isSmeared=false)
double etFractionHadronic() const
Returns the event hadronic energy fraction.
double ChargedEMEtFraction() const
double Type6EtFraction() const
double metSignificance() const
double Type7EtFraction() const
double CaloMETPhiInpHF() const
Returns the event MET-phi in HF+.
double CaloMETPhiInmHF() const
Returns the event MET-phi in HF-.
double corPy(METCorrectionLevel level=Type1) const
Vector corP3(METCorrectionLevel level=Type1) const
double maxEtInHadTowers() const
Returns the maximum energy deposited in HCAL towers.
double NeutralHadEtFraction() const
double CaloSETInpHF() const
Returns the event SET in HF+.
bool isPFMET() const
True if this pat::MET was made from a reco::pfMET.
double emEtInEE() const
Returns the event electromagnetic energy in EE.
double corPt(METCorrectionLevel level=Type1) const
double caloMETSumEt() const
double corSumEt(METCorrectionLevel level=Type1) const
double hadEtInHE() const
Returns the event hadronic energy in HE.
void add(float dpx, float dpy, float dsumEt)
double shiftedPy(METUncertainty shift, METCorrectionLevel level=Type1) const
double corPhi(METCorrectionLevel level=Type1) const
double shiftedPhi(METUncertainty shift, METCorrectionLevel level=Type1) const
double emEtInEB() const
Returns the event electromagnetic energy in EB.
PackedMETUncertainty(float dpx, float dpy, float dsumEt)
bool isRecoMET() const
True if this pat::MET was NOT made from a reco::CaloMET nor a reco::pfMET.
PackedMETUncertainty caloPackedMet_
LorentzVector corP4(METCorrectionLevel level=Type1) const
Vector2 shiftedP2(METUncertainty shift, METCorrectionLevel level=Type1) const
double caloMETPhi() const
double shiftedSumEt(METUncertainty shift, METCorrectionLevel level=Type1) const
double CaloSETInmHF() const
Returns the event SET in HF-.
std::vector< reco::GenMET > genMET_
LorentzVector shiftedP4_74x(METUncertainty shift, METCorrectionLevel level) const
MET made from Particle Flow Candidates.
double corPx(METCorrectionLevel level=Type1) const
const SpecificPFMETData & pfSpecific() const
accessor for the pfMET-specific structure
double shiftedPt(METUncertainty shift, METCorrectionLevel level=Type1) const
double shiftedSumEt_74x(METUncertainty shift, METCorrectionLevel level) const
double uncorSumEt() const
MET & operator=(MET const &)
double hadEtInHB() const
Returns the event hadronic energy in HB.
std::map< MET::METCorrectionLevel, std::vector< MET::METCorrectionType > > corMap_
const reco::GenMET * genMET() const
return the associated GenMET
double hadEtInHO() const
Returns the event hadronic energy in HO.
virtual double px() const
x coordinate of momentum vector
double CaloMETInpHF() const
Returns the event MET in HF+.
bool isCaloMET() const
True if this pat::MET was made from a reco::CaloMET.
std::vector< SpecificCaloMETData > caloMET_
edm::Ref< METCollection > METRef
this below should be private but Reflex doesn't like it
double caloMetSignificance() const
Returns the event MET Significance.
double hadEtInHF() const
Returns the event hadronic energy in HF.
double maxEtInEmTowers() const
Returns the maximum energy deposited in ECAL towers.
std::vector< PackedMETUncertainty > uncertaintiesType1_
std::vector< PackedMETUncertainty > corrections_
static unsigned int const shift
LorentzVector uncorP4() const
edm::RefVector< METCollection > METRefVector
Templated PAT object container.
void setCorShift(double px, double py, double sumEt, METCorrectionType level)
void setGenMET(const reco::GenMET &gm)
set the associated GenMET
std::vector< SpecificPFMETData > pfMET_
double emEtFraction() const
Returns the event electromagnetic energy fraction.
virtual double py() const
y coordinate of momentum vector
void setMETSignificance(const double &metSig)
Vector shiftedP3_74x(METUncertainty shift, METCorrectionLevel level) const
void set(float dpx, float dpy, float dsumEt)
const SpecificCaloMETData & caloSpecific() const
accessor for the CaloMET-specific structure
Vector shiftedP3(METUncertainty shift, METCorrectionLevel level=Type1) const