237 std::cout << __FUNCTION__ <<
":" << __LINE__ <<
":pvHandle handle not found!" << std::endl;
240 const int nvtx = pvHandle->size();
259 if (
isCaloMET) { met = caloMETs->front();}
260 if (
isPFMET) { met = pfMETs->front() ;}
261 if (
isGenMET) { met = genMETs->front() ;}
264 const double SumET = met.
sumEt();
265 const double METSig = met.
mEtSig();
266 const double MET = met.
pt();
267 const double MEx = met.
px();
268 const double MEy = met.
py();
269 const double METPhi = met.
phi();
282 bool isvalidgenmet=
false;
290 genMetTrue = &(genmetcol->front());
293 genMetTrue=patMET->front().genMET();
298 double genMET = genMetTrue->
pt();
299 double genMETPhi = genMetTrue->
phi();
319 edm::LogInfo(
"OutputInfo") <<
" failed to retrieve data required by MET Task: genMetTrue";
328 const double genMET = genMetCalo->
pt();
329 const double genMETPhi = genMetCalo->
phi();
334 edm::LogInfo(
"OutputInfo") <<
" failed to retrieve data required by MET Task: genMetCalo";
344 const double caloEmEtFraction = calomet->
emEtFraction();
345 const double caloHadEtInHB = calomet->
hadEtInHB();
346 const double caloHadEtInHO = calomet->
hadEtInHO();
347 const double caloHadEtInHE = calomet->
hadEtInHE();
348 const double caloHadEtInHF = calomet->
hadEtInHF();
349 const double caloEmEtInEB = calomet->
emEtInEB();
350 const double caloEmEtInEE = calomet->
emEtInEE();
351 const double caloEmEtInHF = calomet->
emEtInHF();
373 genmet = &(genMETs->front());
410 const pat::MET *patmet = &(patMET->front());
Analysis-level MET class.
virtual double pt() const final
transverse momentum
MonitorElement * mChargedEMEtFraction
MonitorElement * mMuonEtFraction
double HFEMEtFraction() const
double ChargedHadEtFraction() const
MonitorElement * mMETDifference_GenMETTrue
MonitorElement * mMETUnc_MuonEnUp
double CaloSETInmHF() const
MonitorElement * mMETUnc_ElectronEnDown
double MuonEtFraction() const
MonitorElement * mMETUnc_ElectronEnUp
MonitorElement * mMETDifference_GenMETTrue_MET400to500
MonitorElement * mMETUnc_TauEnDown
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * mPFelectronEtFraction
double maxEtInHadTowers() const
double neutralHadronEtFraction() const
MonitorElement * mCaloMaxEtInEmTowers
MonitorElement * mCaloSETInpHF
genmet
do same things for GEN
MonitorElement * mCaloHadEtInHF
double MuonEtFraction() const
MonitorElement * mPFphotonEtFraction
double NeutralEMFraction() const
double ChargedEMEtFraction() const
MonitorElement * mPFHFEMEt
genMetCalo
____________________________________________________________________________||
double maxEtInEmTowers() const
MonitorElement * mMETDifference_GenMETTrue_MET40to60
double Type6EtFraction() const
double Type7EtFraction() const
MonitorElement * mCaloEmEtFraction
MonitorElement * mCaloEmEtInEE
MonitorElement * mCaloSETInmHF
double NeutralHadEtFraction() const
MonitorElement * mNeutralEMEtFraction
MonitorElement * mMETDifference_GenMETTrue_MET20to40
MonitorElement * mMETDifference_GenMETTrue_MET60to80
MonitorElement * mCaloMaxEtInHadTowers
bool isPFMET() const
True if this pat::MET was made from a reco::pfMET.
MonitorElement * mInvisibleEtFraction
MonitorElement * mCaloEtFractionHadronic
MonitorElement * mPFmuonEt
MonitorElement * mMETUnc_UnclusteredEnUp
virtual double phi() const final
momentum azimuthal angle
MonitorElement * mPFelectronEt
MonitorElement * mPFphotonEt
MonitorElement * mCaloEmEtInEB
MonitorElement * mMETUnc_JetEnUp
MonitorElement * mCaloHadEtInHE
double HFHadronEtFraction() const
edm::EDGetTokenT< reco::PFMETCollection > pfMETsToken_
edm::EDGetTokenT< reco::CaloMETCollection > caloMETsToken_
MonitorElement * mPFneutralHadronEtFraction
double muonEtFraction() const
MonitorElement * mMETUnc_JetResUp
double HFHadronEt() const
MonitorElement * mPFHFHadronEt
virtual double px() const final
x coordinate of momentum vector
double photonEtFraction() const
edm::EDGetTokenT< std::vector< reco::Vertex > > pvToken_
double ChargedEMEtFraction() const
edm::EDGetTokenT< reco::GenMETCollection > genMETsToken_
MonitorElement * mMETUnc_JetEnDown
MonitorElement * mMETDifference_GenMETTrue_MET150to200
MonitorElement * mMETDeltaPhi_GenMETCalo
MonitorElement * mMETDifference_GenMETTrue_MET100to150
MonitorElement * mCaloHadEtInHB
MonitorElement * mMETUnc_PhotonEnDown
double CaloSETInpHF() const
double InvisibleEtFraction() const
MonitorElement * mMETDifference_GenMETTrue_MET300to400
MonitorElement * mMETDifference_GenMETCalo
MonitorElement * mMETUnc_JetResDown
double shiftedPt(METUncertainty shift, METCorrectionLevel level=Type1) const
MonitorElement * mCaloHadEtInHO
double electronEt() const
MonitorElement * mMETDifference_GenMETTrue_MET500
MonitorElement * mPFchargedHadronEt
double etFractionHadronic() const
T const * product() const
MonitorElement * mChargedHadEtFraction
MonitorElement * mMETDeltaPhi_GenMETTrue
MonitorElement * mPFneutralHadronEt
MonitorElement * mMETUnc_TauEnUp
edm::EDGetTokenT< reco::GenMETCollection > genMETsCaloToken_
edm::EDGetTokenT< reco::GenMETCollection > genMETsTrueToken_
MonitorElement * mPFmuonEtFraction
double NeutralEMEtFraction() const
double electronEtFraction() const
MonitorElement * mMETFine
MonitorElement * mMETUnc_MuonEnDown
double chargedHadronEtFraction() const
MonitorElement * mNeutralHadEtFraction
edm::EDGetTokenT< pat::METCollection > patMETToken_
MonitorElement * mPFHFEMEtFraction
MonitorElement * mMETUnc_UnclusteredEnDown
genMetTrue
____________________________________________________________________________||
double NeutralHadEtFraction() const
MonitorElement * mMETUnc_PhotonEnUp
MonitorElement * mNvertex
MonitorElement * mMET_Nvtx
MonitorElement * mPFchargedHadronEtFraction
MonitorElement * mMETDifference_GenMETTrue_MET0to20
double neutralHadronEt() const
double ChargedHadEtFraction() const
MonitorElement * mMETDifference_GenMETTrue_MET200to300
MonitorElement * mMETDifference_GenMETTrue_MET80to100
virtual double py() const final
y coordinate of momentum vector
double emEtFraction() const
double chargedHadronEt() const
MonitorElement * mCaloEmEtInHF
MonitorElement * mPFHFHadronEtFraction