|
|
#include <METTester.h>
Definition at line 50 of file METTester.h.
◆ METTester()
◆ analyze()
Reimplemented from DQMEDAnalyzer.
Definition at line 234 of file METTester.cc.
240 std::cout << __FUNCTION__ <<
":" << __LINE__ <<
":pvHandle handle not found!" << std::endl;
243 const int nvtx = pvHandle->size();
271 met = caloMETs->front();
274 met = pfMETs->front();
277 met = genMETs->front();
280 met = patMET->front();
283 const double SumET =
met.sumEt();
284 const double METSig =
met.mEtSig();
285 const double MET =
met.pt();
286 const double MEx =
met.px();
287 const double MEy =
met.py();
288 const double METPhi =
met.phi();
300 bool isvalidgenmet =
false;
306 isvalidgenmet =
true;
312 isvalidgenmet =
true;
326 else if (
MET > 20 &&
MET < 40)
328 else if (
MET > 40 &&
MET < 60)
330 else if (
MET > 60 &&
MET < 80)
332 else if (
MET > 80 &&
MET < 100)
334 else if (
MET > 100 &&
MET < 150)
336 else if (
MET > 150 &&
MET < 200)
338 else if (
MET > 200 &&
MET < 300)
340 else if (
MET > 300 &&
MET < 400)
342 else if (
MET > 400 &&
MET < 500)
348 edm::LogInfo(
"OutputInfo") <<
" failed to retrieve data required by MET Task: genMetTrue";
363 edm::LogInfo(
"OutputInfo") <<
" failed to retrieve data required by MET Task: genMetCalo";
373 const double caloEmEtFraction = calomet->
emEtFraction();
374 const double caloHadEtInHB = calomet->
hadEtInHB();
375 const double caloHadEtInHO = calomet->
hadEtInHO();
376 const double caloHadEtInHE = calomet->
hadEtInHE();
377 const double caloHadEtInHF = calomet->
hadEtInHF();
378 const double caloEmEtInEB = calomet->
emEtInEB();
379 const double caloEmEtInEE = calomet->
emEtInEE();
380 const double caloEmEtInHF = calomet->
emEtInHF();
401 genmet = &(genMETs->front());
403 const double NeutralEMEtFraction =
genmet->NeutralEMEtFraction();
404 const double NeutralHadEtFraction =
genmet->NeutralHadEtFraction();
405 const double ChargedEMEtFraction =
genmet->ChargedEMEtFraction();
406 const double ChargedHadEtFraction =
genmet->ChargedHadEtFraction();
407 const double MuonEtFraction =
genmet->MuonEtFraction();
408 const double InvisibleEtFraction =
genmet->InvisibleEtFraction();
436 const pat::MET *patmet = &(patMET->front());
References cms::cuda::assert(), reco::CaloMET::CaloSETInmHF(), reco::CaloMET::CaloSETInpHF(), pat::MET::ChargedEMEtFraction(), pat::MET::ChargedHadEtFraction(), reco::PFMET::chargedHadronEt(), reco::PFMET::chargedHadronEtFraction(), gather_cfg::cout, pat::MET::ElectronEnDown, pat::MET::ElectronEnUp, reco::PFMET::electronEt(), reco::PFMET::electronEtFraction(), reco::CaloMET::emEtFraction(), reco::CaloMET::emEtInEB(), reco::CaloMET::emEtInEE(), reco::CaloMET::emEtInHF(), reco::CaloMET::etFractionHadronic(), RazorAnalyzer::genmet, genMetCalo_cfi::genMetCalo, genMetTrue_cfi::genMetTrue, reco::CaloMET::hadEtInHB(), reco::CaloMET::hadEtInHE(), reco::CaloMET::hadEtInHF(), reco::CaloMET::hadEtInHO(), reco::PFMET::HFEMEt(), reco::PFMET::HFEMEtFraction(), reco::PFMET::HFHadronEt(), reco::PFMET::HFHadronEtFraction(), iEvent, pat::MET::isPFMET(), edm::HandleBase::isValid(), pat::MET::JetEnDown, pat::MET::JetEnUp, pat::MET::JetResDown, pat::MET::JetResUp, reco::CaloMET::maxEtInEmTowers(), reco::CaloMET::maxEtInHadTowers(), BTaggingMonitor_cfi::met, pat::MET::MuonEnDown, pat::MET::MuonEnUp, reco::PFMET::muonEt(), reco::PFMET::muonEtFraction(), pat::MET::MuonEtFraction(), pat::MET::NeutralEMFraction(), pat::MET::NeutralHadEtFraction(), reco::PFMET::neutralHadronEt(), reco::PFMET::neutralHadronEtFraction(), pat::MET::PhotonEnDown, pat::MET::PhotonEnUp, reco::PFMET::photonEt(), reco::PFMET::photonEtFraction(), edm::Handle< T >::product(), pat::MET::shiftedPt(), pat::MET::TauEnDown, pat::MET::TauEnUp, pat::MET::Type6EtFraction(), pat::MET::Type7EtFraction(), pat::MET::UnclusteredEnDown, and pat::MET::UnclusteredEnUp.
◆ bookHistograms()
Implements DQMEDAnalyzer.
Definition at line 129 of file METTester.cc.
132 mNvertex = ibooker.book1D(
"Nvertex",
"Nvertex", 80, 0, 80);
133 mMEx = ibooker.book1D(
"MEx",
"MEx", 160, -800, 800);
134 mMEy = ibooker.book1D(
"MEy",
"MEy", 160, -800, 800);
135 mMETSig = ibooker.book1D(
"METSig",
"METSig", 25, 0, 24.5);
136 mMET = ibooker.book1D(
"MET",
"MET (20 GeV binning)", 100, 0, 2000);
137 mMETFine = ibooker.book1D(
"METFine",
"MET (2 GeV binning)", 1000, 0, 2000);
138 mMET_Nvtx = ibooker.bookProfile(
"MET_Nvtx",
"MET vs. nvtx", 60, 0., 60., 0., 2000.,
" ");
139 mMETPhi = ibooker.book1D(
"METPhi",
"METPhi", 80, -4, 4);
140 mSumET = ibooker.book1D(
"SumET",
"SumET", 200, 0, 4000);
145 mMETUnc_JetResUp = ibooker.book1D(
"METUnc_JetResUp",
"METUnc_JetResUp", 200, -10, 10);
146 mMETUnc_JetResDown = ibooker.book1D(
"METUnc_JetResDown",
"METUnc_JetResDown", 200, -10, 10);
147 mMETUnc_JetEnUp = ibooker.book1D(
"METUnc_JetEnUp",
"METUnc_JetEnUp", 200, -10, 10);
148 mMETUnc_JetEnDown = ibooker.book1D(
"METUnc_JetEnDown",
"METUnc_JetEnDown", 200, -10, 10);
149 mMETUnc_MuonEnUp = ibooker.book1D(
"METUnc_MuonEnUp",
"METUnc_MuonEnUp", 200, -10, 10);
150 mMETUnc_MuonEnDown = ibooker.book1D(
"METUnc_MuonEnDown",
"METUnc_MuonEnDown", 200, -10, 10);
151 mMETUnc_ElectronEnUp = ibooker.book1D(
"METUnc_ElectronEnUp",
"METUnc_ElectronEnUp", 200, -10, 10);
153 mMETUnc_TauEnUp = ibooker.book1D(
"METUnc_TauEnUp",
"METUnc_TauEnUp", 200, -10, 10);
154 mMETUnc_TauEnDown = ibooker.book1D(
"METUnc_TauEnDown",
"METUnc_TauEnDown", 200, -10, 10);
157 mMETUnc_PhotonEnUp = ibooker.book1D(
"METUnc_UnclusteredEnDown",
"METUnc_UnclusteredEnDown", 200, -10, 10);
158 mMETUnc_PhotonEnDown = ibooker.book1D(
"METUnc_PhotonEnDown",
"METUnc_PhotonEnDown", 200, -10, 10);
166 ibooker.book1D(
"METResolution_GenMETTrue_MET0to20",
"METResolution_GenMETTrue_MET0to20", 500, -500, 500);
168 ibooker.book1D(
"METResolution_GenMETTrue_MET20to40",
"METResolution_GenMETTrue_MET20to40", 500, -500, 500);
170 ibooker.book1D(
"METResolution_GenMETTrue_MET40to60",
"METResolution_GenMETTrue_MET40to60", 500, -500, 500);
172 ibooker.book1D(
"METResolution_GenMETTrue_MET60to80",
"METResolution_GenMETTrue_MET60to80", 500, -500, 500);
174 ibooker.book1D(
"METResolution_GenMETTrue_MET80to100",
"METResolution_GenMETTrue_MET80to100", 500, -500, 500);
176 ibooker.book1D(
"METResolution_GenMETTrue_MET100to150",
"METResolution_GenMETTrue_MET100to150", 500, -500, 500);
178 ibooker.book1D(
"METResolution_GenMETTrue_MET150to200",
"METResolution_GenMETTrue_MET150to200", 500, -500, 500);
180 ibooker.book1D(
"METResolution_GenMETTrue_MET200to300",
"METResolution_GenMETTrue_MET200to300", 500, -500, 500);
182 ibooker.book1D(
"METResolution_GenMETTrue_MET300to400",
"METResolution_GenMETTrue_MET300to400", 500, -500, 500);
184 ibooker.book1D(
"METResolution_GenMETTrue_MET400to500",
"METResolution_GenMETTrue_MET400to500", 500, -500, 500);
186 ibooker.book1D(
"METResolution_GenMETTrue_MET500",
"METResolution_GenMETTrue_MET500", 500, -500, 500);
189 mCaloMaxEtInEmTowers = ibooker.book1D(
"CaloMaxEtInEmTowers",
"CaloMaxEtInEmTowers", 300, 0, 1500);
190 mCaloMaxEtInHadTowers = ibooker.book1D(
"CaloMaxEtInHadTowers",
"CaloMaxEtInHadTowers", 300, 0, 1500);
192 mCaloEmEtFraction = ibooker.book1D(
"CaloEmEtFraction",
"CaloEmEtFraction", 100, 0, 1);
193 mCaloHadEtInHB = ibooker.book1D(
"CaloHadEtInHB",
"CaloHadEtInHB", 200, 0, 2000);
194 mCaloHadEtInHE = ibooker.book1D(
"CaloHadEtInHE",
"CaloHadEtInHE", 100, 0, 500);
195 mCaloHadEtInHO = ibooker.book1D(
"CaloHadEtInHO",
"CaloHadEtInHO", 100, 0, 200);
196 mCaloHadEtInHF = ibooker.book1D(
"CaloHadEtInHF",
"CaloHadEtInHF", 100, 0, 200);
197 mCaloSETInpHF = ibooker.book1D(
"CaloSETInpHF",
"CaloSETInpHF", 100, 0, 500);
198 mCaloSETInmHF = ibooker.book1D(
"CaloSETInmHF",
"CaloSETInmHF", 100, 0, 500);
199 mCaloEmEtInEE = ibooker.book1D(
"CaloEmEtInEE",
"CaloEmEtInEE", 100, 0, 500);
200 mCaloEmEtInEB = ibooker.book1D(
"CaloEmEtInEB",
"CaloEmEtInEB", 100, 0, 500);
201 mCaloEmEtInHF = ibooker.book1D(
"CaloEmEtInHF",
"CaloEmEtInHF", 100, 0, 500);
205 mNeutralEMEtFraction = ibooker.book1D(
"GenNeutralEMEtFraction",
"GenNeutralEMEtFraction", 120, 0.0, 1.2);
206 mNeutralHadEtFraction = ibooker.book1D(
"GenNeutralHadEtFraction",
"GenNeutralHadEtFraction", 120, 0.0, 1.2);
207 mChargedEMEtFraction = ibooker.book1D(
"GenChargedEMEtFraction",
"GenChargedEMEtFraction", 120, 0.0, 1.2);
208 mChargedHadEtFraction = ibooker.book1D(
"GenChargedHadEtFraction",
"GenChargedHadEtFraction", 120, 0.0, 1.2);
209 mMuonEtFraction = ibooker.book1D(
"GenMuonEtFraction",
"GenMuonEtFraction", 120, 0.0, 1.2);
210 mInvisibleEtFraction = ibooker.book1D(
"GenInvisibleEtFraction",
"GenInvisibleEtFraction", 120, 0.0, 1.2);
219 mPFmuonEtFraction = ibooker.book1D(
"muonEtFraction",
"muonEtFraction", 100, 0, 1);
220 mPFHFEMEtFraction = ibooker.book1D(
"HFEMEtFraction",
"HFEMEtFraction", 100, 0, 1);
223 mPFphotonEt = ibooker.book1D(
"photonEt",
"photonEt", 100, 0, 1000);
224 mPFneutralHadronEt = ibooker.book1D(
"neutralHadronEt",
"neutralHadronEt", 100, 0, 1000);
225 mPFelectronEt = ibooker.book1D(
"electronEt",
"electronEt", 100, 0, 1000);
226 mPFchargedHadronEt = ibooker.book1D(
"chargedHadronEt",
"chargedHadronEt", 100, 0, 1000);
227 mPFmuonEt = ibooker.book1D(
"muonEt",
"muonEt", 100, 0, 1000);
228 mPFHFHadronEt = ibooker.book1D(
"HFHadronEt",
"HFHadronEt", 100, 0, 500);
229 mPFHFEMEt = ibooker.book1D(
"HFEMEt",
"HFEMEt", 100, 0, 300);
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), and dqm::implementation::NavigatorBase::setCurrentFolder().
◆ caloMETsToken_
◆ genMETsCaloToken_
◆ genMETsToken_
◆ genMETsTrueToken_
◆ inputCaloMETLabel_
◆ inputMETLabel_
◆ isCaloMET
bool METTester::isCaloMET |
|
private |
◆ isGenMET
◆ isMiniAODMET
bool METTester::isMiniAODMET |
|
private |
◆ isPFMET
◆ mCaloEmEtFraction
◆ mCaloEmEtInEB
◆ mCaloEmEtInEE
◆ mCaloEmEtInHF
◆ mCaloEtFractionHadronic
◆ mCaloHadEtInEB
◆ mCaloHadEtInEE
◆ mCaloHadEtInHB
◆ mCaloHadEtInHE
◆ mCaloHadEtInHF
◆ mCaloHadEtInHO
◆ mCaloMaxEtInEmTowers
◆ mCaloMaxEtInHadTowers
◆ mCaloSETInmHF
◆ mCaloSETInpHF
◆ mChargedEMEtFraction
◆ mChargedHadEtFraction
◆ me
◆ METType_
std::string METTester::METType_ |
|
private |
◆ mInputCollection_
◆ mInvisibleEtFraction
◆ mMET
◆ mMET_Nvtx
◆ mMETDeltaPhi_GenMETCalo
◆ mMETDeltaPhi_GenMETTrue
◆ mMETDifference_GenMETCalo
◆ mMETDifference_GenMETTrue
◆ mMETDifference_GenMETTrue_MET0to20
◆ mMETDifference_GenMETTrue_MET100to150
◆ mMETDifference_GenMETTrue_MET150to200
◆ mMETDifference_GenMETTrue_MET200to300
◆ mMETDifference_GenMETTrue_MET20to40
◆ mMETDifference_GenMETTrue_MET300to400
◆ mMETDifference_GenMETTrue_MET400to500
◆ mMETDifference_GenMETTrue_MET40to60
◆ mMETDifference_GenMETTrue_MET500
◆ mMETDifference_GenMETTrue_MET60to80
◆ mMETDifference_GenMETTrue_MET80to100
◆ mMETFine
◆ mMETPhi
◆ mMETSig
◆ mMETUnc_ElectronEnDown
◆ mMETUnc_ElectronEnUp
◆ mMETUnc_JetEnDown
◆ mMETUnc_JetEnUp
◆ mMETUnc_JetResDown
◆ mMETUnc_JetResUp
◆ mMETUnc_MuonEnDown
◆ mMETUnc_MuonEnUp
◆ mMETUnc_PhotonEnDown
◆ mMETUnc_PhotonEnUp
◆ mMETUnc_TauEnDown
◆ mMETUnc_TauEnUp
◆ mMETUnc_UnclusteredEnDown
◆ mMETUnc_UnclusteredEnUp
◆ mMEx
◆ mMEy
◆ mMuonEtFraction
◆ mNeutralEMEtFraction
◆ mNeutralHadEtFraction
◆ mNvertex
◆ mPFchargedHadronEt
◆ mPFchargedHadronEtFraction
◆ mPFelectronEt
◆ mPFelectronEtFraction
◆ mPFHFEMEt
◆ mPFHFEMEtFraction
◆ mPFHFHadronEt
◆ mPFHFHadronEtFraction
◆ mPFmuonEt
◆ mPFmuonEtFraction
◆ mPFneutralHadronEt
◆ mPFneutralHadronEtFraction
◆ mPFphotonEt
◆ mPFphotonEtFraction
◆ mSumET
◆ patMETToken_
◆ pfMETsToken_
◆ pvToken_
MonitorElement * mMETDifference_GenMETTrue
double NeutralEMFraction() const
MonitorElement * mMETDifference_GenMETTrue_MET200to300
MonitorElement * mMETDifference_GenMETTrue_MET60to80
double muonEtFraction() const
MonitorElement * mMETUnc_UnclusteredEnDown
MonitorElement * mMETFine
double emEtFraction() const
T const * product() const
double neutralHadronEtFraction() const
MonitorElement * mCaloHadEtInHO
MonitorElement * mMETUnc_TauEnUp
MonitorElement * mMETDifference_GenMETTrue_MET20to40
double etFractionHadronic() const
MonitorElement * mPFHFHadronEtFraction
MonitorElement * mMETUnc_UnclusteredEnUp
double ChargedHadEtFraction() const
double maxEtInEmTowers() const
bool isPFMET() const
True if this pat::MET was made from a reco::pfMET.
edm::EDGetTokenT< reco::CaloMETCollection > caloMETsToken_
MonitorElement * mMETUnc_MuonEnDown
MonitorElement * mMETDifference_GenMETTrue_MET150to200
double chargedHadronEt() const
double shiftedPt(METUncertainty shift, METCorrectionLevel level=Type1) const
MonitorElement * mNeutralHadEtFraction
double HFHadronEt() const
MonitorElement * mMET_Nvtx
MonitorElement * mPFHFEMEt
MonitorElement * mCaloEmEtInEE
double CaloSETInpHF() const
T getUntrackedParameter(std::string const &, T const &) const
double MuonEtFraction() const
genmet
do same things for GEN
edm::InputTag inputMETLabel_
MonitorElement * mMETUnc_MuonEnUp
MonitorElement * mPFHFEMEtFraction
double Type6EtFraction() const
MonitorElement * mCaloEmEtInHF
double photonEtFraction() const
MonitorElement * mCaloHadEtInHF
MonitorElement * mCaloMaxEtInHadTowers
MonitorElement * mPFchargedHadronEt
double electronEt() const
MonitorElement * mCaloEtFractionHadronic
edm::EDGetTokenT< reco::GenMETCollection > genMETsToken_
MonitorElement * mMETUnc_TauEnDown
double maxEtInHadTowers() const
MonitorElement * mMuonEtFraction
MonitorElement * mNeutralEMEtFraction
MonitorElement * mMETDifference_GenMETTrue_MET100to150
double ChargedEMEtFraction() const
MonitorElement * mCaloHadEtInHB
double neutralHadronEt() const
MonitorElement * mChargedHadEtFraction
MonitorElement * mMETDifference_GenMETTrue_MET80to100
MonitorElement * mMETDeltaPhi_GenMETTrue
double HFEMEtFraction() const
MonitorElement * mCaloEmEtInEB
edm::EDGetTokenT< reco::GenMETCollection > genMETsTrueToken_
MonitorElement * mPFelectronEtFraction
MonitorElement * mPFmuonEtFraction
MonitorElement * mMETUnc_PhotonEnUp
MonitorElement * mPFphotonEtFraction
double HFHadronEtFraction() const
double NeutralHadEtFraction() const
MonitorElement * mPFneutralHadronEtFraction
edm::EDGetTokenT< reco::PFMETCollection > pfMETsToken_
MonitorElement * mPFHFHadronEt
MonitorElement * mMETDifference_GenMETTrue_MET0to20
edm::EDGetTokenT< pat::METCollection > patMETToken_
Analysis-level MET class.
MonitorElement * mMETUnc_JetResUp
MonitorElement * mNvertex
double electronEtFraction() const
MonitorElement * mCaloSETInpHF
MonitorElement * mMETUnc_ElectronEnUp
MonitorElement * mMETDifference_GenMETTrue_MET300to400
MonitorElement * mPFphotonEt
MonitorElement * mMETUnc_JetEnDown
MonitorElement * mMETDeltaPhi_GenMETCalo
MonitorElement * mMETDifference_GenMETTrue_MET500
T getParameter(std::string const &) const
MonitorElement * mCaloSETInmHF
MonitorElement * mPFchargedHadronEtFraction
MonitorElement * mMETUnc_JetEnUp
MonitorElement * mInvisibleEtFraction
double CaloSETInmHF() const
double chargedHadronEtFraction() const
genMetTrue
____________________________________________________________________________||
MonitorElement * mCaloMaxEtInEmTowers
MonitorElement * mMETDifference_GenMETCalo
MonitorElement * mChargedEMEtFraction
genMetCalo
____________________________________________________________________________||
edm::EDGetTokenT< reco::GenMETCollection > genMETsCaloToken_
MonitorElement * mMETUnc_PhotonEnDown
MonitorElement * mCaloHadEtInHE
edm::EDGetTokenT< std::vector< reco::Vertex > > pvToken_
double Type7EtFraction() const
MonitorElement * mPFneutralHadronEt
MonitorElement * mMETUnc_JetResDown
MonitorElement * mMETUnc_ElectronEnDown
MonitorElement * mCaloEmEtFraction
MonitorElement * mMETDifference_GenMETTrue_MET40to60
MonitorElement * mMETDifference_GenMETTrue_MET400to500
MonitorElement * mPFelectronEt
MonitorElement * mPFmuonEt