4 #ifndef DataFormats_PatCandidates_MET_h 5 #define DataFormats_PatCandidates_MET_h 19 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 132 throw cms::Exception(
"pat::MET") <<
"This pat::MET has not been made from a reco::CaloMET\n";
147 throw cms::Exception(
"pat::MET") <<
"This pat::MET has not been made from a reco::PFMET\n";
211 double pt()
const {
return hypotf(px, py); }
212 double phi()
const {
return std::atan2(py, px); }
297 void set(
float dpx,
float dpy,
float dsumEt) {
333 std::map<MET::METCorrectionLevel, std::vector<MET::METCorrectionType> >
corMap_;
Analysis-level MET class.
std::vector< double > dsumEt() const
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
const PackedMETUncertainty findMETTotalShift(MET::METCorrectionLevel cor, MET::METUncertainty shift) const
double emEtInHF() const
Returns the event electromagnetic energy extracted from HF.
double ChargedHadEtFraction() const
math::XYZVector Vector
point in the space
Vector2 caloMETP2() const
std::vector< PackedMETUncertainty > uncertaintiesType1p2_
double MuonEtFraction() const
Vector2 corP2(METCorrectionLevel level=Type1) const
std::vector< MET > METCollection
std::vector< PackedMETUncertainty > uncertainties_
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.
~MET() override
destructor
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
MET * clone() const override
required reimplementation of the Candidate's clone method
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.
void setMETSumPtUnclustered(const double &sumPtUnclustered)
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.
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.
math::XYZTLorentzVector LorentzVector
Lorentz vector.
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.
double metSumPtUnclustered() const
void setMETSignificance(const double &metSig)
Vector shiftedP3_74x(METUncertainty shift, METCorrectionLevel level) const
const SpecificCaloMETData & caloSpecific() const
accessor for the CaloMET-specific structure
Vector shiftedP3(METUncertainty shift, METCorrectionLevel level=Type1) const