CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
METTester Class Reference

#include <METTester.h>

Inheritance diagram for METTester:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 METTester (const edm::ParameterSet &)
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

edm::EDGetTokenT< reco::CaloMETCollectioncaloMETsToken_
 
edm::EDGetTokenT< reco::GenMETCollectiongenMETsCaloToken_
 
edm::EDGetTokenT< reco::GenMETCollectiongenMETsToken_
 
edm::EDGetTokenT< reco::GenMETCollectiongenMETsTrueToken_
 
edm::InputTag inputCaloMETLabel_
 
edm::InputTag inputMETLabel_
 
bool isCaloMET
 
bool isGenMET
 
bool isMiniAODMET
 
bool isPFMET
 
MonitorElementmCaloEmEtFraction
 
MonitorElementmCaloEmEtInEB
 
MonitorElementmCaloEmEtInEE
 
MonitorElementmCaloEmEtInHF
 
MonitorElementmCaloEtFractionHadronic
 
MonitorElementmCaloHadEtInEB
 
MonitorElementmCaloHadEtInEE
 
MonitorElementmCaloHadEtInHB
 
MonitorElementmCaloHadEtInHE
 
MonitorElementmCaloHadEtInHF
 
MonitorElementmCaloHadEtInHO
 
MonitorElementmCaloMaxEtInEmTowers
 
MonitorElementmCaloMaxEtInHadTowers
 
MonitorElementmCaloSETInmHF
 
MonitorElementmCaloSETInpHF
 
MonitorElementmChargedEMEtFraction
 
MonitorElementmChargedHadEtFraction
 
std::map< std::string, MonitorElement * > me
 
std::string METType_
 
edm::InputTag mInputCollection_
 
MonitorElementmInvisibleEtFraction
 
MonitorElementmMET
 
MonitorElementmMET_Nvtx
 
MonitorElementmMETDeltaPhi_GenMETCalo
 
MonitorElementmMETDeltaPhi_GenMETTrue
 
MonitorElementmMETDifference_GenMETCalo
 
MonitorElementmMETDifference_GenMETTrue
 
MonitorElementmMETDifference_GenMETTrue_MET0to20
 
MonitorElementmMETDifference_GenMETTrue_MET100to150
 
MonitorElementmMETDifference_GenMETTrue_MET150to200
 
MonitorElementmMETDifference_GenMETTrue_MET200to300
 
MonitorElementmMETDifference_GenMETTrue_MET20to40
 
MonitorElementmMETDifference_GenMETTrue_MET300to400
 
MonitorElementmMETDifference_GenMETTrue_MET400to500
 
MonitorElementmMETDifference_GenMETTrue_MET40to60
 
MonitorElementmMETDifference_GenMETTrue_MET500
 
MonitorElementmMETDifference_GenMETTrue_MET60to80
 
MonitorElementmMETDifference_GenMETTrue_MET80to100
 
MonitorElementmMETFine
 
MonitorElementmMETPhi
 
MonitorElementmMETSig
 
MonitorElementmMETUnc_ElectronEnDown
 
MonitorElementmMETUnc_ElectronEnUp
 
MonitorElementmMETUnc_JetEnDown
 
MonitorElementmMETUnc_JetEnUp
 
MonitorElementmMETUnc_JetResDown
 
MonitorElementmMETUnc_JetResUp
 
MonitorElementmMETUnc_MuonEnDown
 
MonitorElementmMETUnc_MuonEnUp
 
MonitorElementmMETUnc_PhotonEnDown
 
MonitorElementmMETUnc_PhotonEnUp
 
MonitorElementmMETUnc_TauEnDown
 
MonitorElementmMETUnc_TauEnUp
 
MonitorElementmMETUnc_UnclusteredEnDown
 
MonitorElementmMETUnc_UnclusteredEnUp
 
MonitorElementmMEx
 
MonitorElementmMEy
 
MonitorElementmMuonEtFraction
 
MonitorElementmNeutralEMEtFraction
 
MonitorElementmNeutralHadEtFraction
 
MonitorElementmNvertex
 
MonitorElementmPFchargedHadronEt
 
MonitorElementmPFchargedHadronEtFraction
 
MonitorElementmPFelectronEt
 
MonitorElementmPFelectronEtFraction
 
MonitorElementmPFHFEMEt
 
MonitorElementmPFHFEMEtFraction
 
MonitorElementmPFHFHadronEt
 
MonitorElementmPFHFHadronEtFraction
 
MonitorElementmPFmuonEt
 
MonitorElementmPFmuonEtFraction
 
MonitorElementmPFneutralHadronEt
 
MonitorElementmPFneutralHadronEtFraction
 
MonitorElementmPFphotonEt
 
MonitorElementmPFphotonEtFraction
 
MonitorElementmSumET
 
edm::EDGetTokenT< pat::METCollectionpatMETToken_
 
edm::EDGetTokenT< reco::PFMETCollectionpfMETsToken_
 
edm::EDGetTokenT< std::vector< reco::Vertex > > pvToken_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 50 of file METTester.h.

Constructor & Destructor Documentation

METTester::METTester ( const edm::ParameterSet iConfig)
explicit

Definition at line 33 of file METTester.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HLT_2018_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

33  {
34  inputMETLabel_ = iConfig.getParameter<edm::InputTag>("InputMETLabel");
35  METType_ = iConfig.getUntrackedParameter<std::string>("METType");
36 
37  std::string inputMETCollectionLabel(inputMETLabel_.label());
38 
39  isCaloMET = (std::string("calo") == METType_);
40  isPFMET = (std::string("pf") == METType_);
41  isGenMET = (std::string("gen") == METType_);
42  isMiniAODMET = (std::string("miniaod") == METType_);
43 
44  pvToken_ = consumes<std::vector<reco::Vertex>>(iConfig.getParameter<edm::InputTag>("PrimaryVertices"));
45  if (isCaloMET)
46  caloMETsToken_ = consumes<reco::CaloMETCollection>(inputMETLabel_);
47  if (isPFMET)
48  pfMETsToken_ = consumes<reco::PFMETCollection>(inputMETLabel_);
49  if (isMiniAODMET)
50  patMETToken_ = consumes<pat::METCollection>(inputMETLabel_);
51  if (isGenMET)
52  genMETsToken_ = consumes<reco::GenMETCollection>(inputMETLabel_);
53  if (!isMiniAODMET) {
54  genMETsTrueToken_ = consumes<reco::GenMETCollection>(edm::InputTag("genMetTrue"));
55  genMETsCaloToken_ = consumes<reco::GenMETCollection>(edm::InputTag("genMetCalo"));
56  }
57 
58  // Events variables
59  mNvertex = nullptr;
60 
61  // Common variables
62  mMEx = nullptr;
63  mMEy = nullptr;
64  mMETSig = nullptr;
65  mMET = nullptr;
66  mMETFine = nullptr;
67  mMET_Nvtx = nullptr;
68  mMETPhi = nullptr;
69  mSumET = nullptr;
70  mMETDifference_GenMETTrue = nullptr;
71  mMETDeltaPhi_GenMETTrue = nullptr;
72  mMETDifference_GenMETCalo = nullptr;
73  mMETDeltaPhi_GenMETCalo = nullptr;
74 
75  // MET Uncertainities: Only for MiniAOD
76  mMETUnc_JetResUp = nullptr;
77  mMETUnc_JetResDown = nullptr;
78  mMETUnc_JetEnUp = nullptr;
79  mMETUnc_JetEnDown = nullptr;
80  mMETUnc_MuonEnUp = nullptr;
81  mMETUnc_MuonEnDown = nullptr;
82  mMETUnc_ElectronEnUp = nullptr;
83  mMETUnc_ElectronEnDown = nullptr;
84  mMETUnc_TauEnUp = nullptr;
85  mMETUnc_TauEnDown = nullptr;
86  mMETUnc_UnclusteredEnUp = nullptr;
87  mMETUnc_UnclusteredEnDown = nullptr;
88  mMETUnc_PhotonEnUp = nullptr;
89  mMETUnc_PhotonEnDown = nullptr;
90 
91  // CaloMET variables
92  mCaloMaxEtInEmTowers = nullptr;
93  mCaloMaxEtInHadTowers = nullptr;
94  mCaloEtFractionHadronic = nullptr;
95  mCaloEmEtFraction = nullptr;
96  mCaloHadEtInHB = nullptr;
97  mCaloHadEtInHO = nullptr;
98  mCaloHadEtInHE = nullptr;
99  mCaloHadEtInHF = nullptr;
100  mCaloEmEtInHF = nullptr;
101  mCaloSETInpHF = nullptr;
102  mCaloSETInmHF = nullptr;
103  mCaloEmEtInEE = nullptr;
104  mCaloEmEtInEB = nullptr;
105 
106  // GenMET variables
107  mNeutralEMEtFraction = nullptr;
108  mNeutralHadEtFraction = nullptr;
109  mChargedEMEtFraction = nullptr;
110  mChargedHadEtFraction = nullptr;
111  mMuonEtFraction = nullptr;
112  mInvisibleEtFraction = nullptr;
113 
114  // MET variables
115 
116  // PFMET variables
128 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * mChargedEMEtFraction
Definition: METTester.h:132
MonitorElement * mMuonEtFraction
Definition: METTester.h:134
MonitorElement * mMETPhi
Definition: METTester.h:88
MonitorElement * mMET
Definition: METTester.h:85
MonitorElement * mMETDifference_GenMETTrue
Definition: METTester.h:90
MonitorElement * mMETUnc_MuonEnUp
Definition: METTester.h:100
MonitorElement * mMETUnc_ElectronEnDown
Definition: METTester.h:103
MonitorElement * mMETUnc_ElectronEnUp
Definition: METTester.h:102
MonitorElement * mMETDifference_GenMETTrue_MET400to500
Definition: METTester.h:164
MonitorElement * mMETUnc_TauEnDown
Definition: METTester.h:105
MonitorElement * mMETSig
Definition: METTester.h:84
MonitorElement * mCaloMaxEtInEmTowers
Definition: METTester.h:113
MonitorElement * mMEy
Definition: METTester.h:83
MonitorElement * mCaloSETInpHF
Definition: METTester.h:124
MonitorElement * mCaloHadEtInHF
Definition: METTester.h:120
MonitorElement * mMETDifference_GenMETTrue_MET40to60
Definition: METTester.h:157
bool isPFMET
Definition: METTester.h:172
MonitorElement * mCaloEmEtFraction
Definition: METTester.h:116
MonitorElement * mCaloEmEtInEE
Definition: METTester.h:126
std::string METType_
Definition: METTester.h:64
MonitorElement * mCaloSETInmHF
Definition: METTester.h:125
MonitorElement * mNeutralEMEtFraction
Definition: METTester.h:130
MonitorElement * mMETDifference_GenMETTrue_MET20to40
Definition: METTester.h:156
MonitorElement * mMETDifference_GenMETTrue_MET60to80
Definition: METTester.h:158
MonitorElement * mCaloMaxEtInHadTowers
Definition: METTester.h:114
MonitorElement * mInvisibleEtFraction
Definition: METTester.h:135
MonitorElement * mCaloEtFractionHadronic
Definition: METTester.h:115
bool isMiniAODMET
Definition: METTester.h:174
MonitorElement * mMETUnc_UnclusteredEnUp
Definition: METTester.h:106
MonitorElement * mCaloEmEtInEB
Definition: METTester.h:127
MonitorElement * mMETUnc_JetEnUp
Definition: METTester.h:98
MonitorElement * mCaloHadEtInHE
Definition: METTester.h:119
edm::EDGetTokenT< reco::PFMETCollection > pfMETsToken_
Definition: METTester.h:71
edm::EDGetTokenT< reco::CaloMETCollection > caloMETsToken_
Definition: METTester.h:70
MonitorElement * mMETUnc_JetResUp
Definition: METTester.h:96
bool isGenMET
Definition: METTester.h:173
edm::EDGetTokenT< std::vector< reco::Vertex > > pvToken_
Definition: METTester.h:69
edm::EDGetTokenT< reco::GenMETCollection > genMETsToken_
Definition: METTester.h:73
MonitorElement * mMETUnc_JetEnDown
Definition: METTester.h:99
MonitorElement * mMETDifference_GenMETTrue_MET150to200
Definition: METTester.h:161
bool isCaloMET
Definition: METTester.h:169
MonitorElement * mMETDeltaPhi_GenMETCalo
Definition: METTester.h:93
MonitorElement * mMETDifference_GenMETTrue_MET100to150
Definition: METTester.h:160
MonitorElement * mCaloHadEtInHB
Definition: METTester.h:117
MonitorElement * mMETUnc_PhotonEnDown
Definition: METTester.h:109
MonitorElement * mMETDifference_GenMETTrue_MET300to400
Definition: METTester.h:163
MonitorElement * mMETDifference_GenMETCalo
Definition: METTester.h:92
MonitorElement * mMETUnc_JetResDown
Definition: METTester.h:97
MonitorElement * mCaloHadEtInHO
Definition: METTester.h:118
MonitorElement * mMETDifference_GenMETTrue_MET500
Definition: METTester.h:165
MonitorElement * mMEx
Definition: METTester.h:82
MonitorElement * mChargedHadEtFraction
Definition: METTester.h:133
MonitorElement * mMETDeltaPhi_GenMETTrue
Definition: METTester.h:91
MonitorElement * mMETUnc_TauEnUp
Definition: METTester.h:104
edm::EDGetTokenT< reco::GenMETCollection > genMETsCaloToken_
Definition: METTester.h:75
edm::EDGetTokenT< reco::GenMETCollection > genMETsTrueToken_
Definition: METTester.h:74
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * mMETFine
Definition: METTester.h:86
MonitorElement * mMETUnc_MuonEnDown
Definition: METTester.h:101
MonitorElement * mNeutralHadEtFraction
Definition: METTester.h:131
edm::EDGetTokenT< pat::METCollection > patMETToken_
Definition: METTester.h:76
MonitorElement * mMETUnc_UnclusteredEnDown
Definition: METTester.h:107
MonitorElement * mMETUnc_PhotonEnUp
Definition: METTester.h:108
MonitorElement * mNvertex
Definition: METTester.h:79
MonitorElement * mMET_Nvtx
Definition: METTester.h:87
MonitorElement * mMETDifference_GenMETTrue_MET0to20
Definition: METTester.h:155
MonitorElement * mSumET
Definition: METTester.h:89
edm::InputTag inputMETLabel_
Definition: METTester.h:63
MonitorElement * mMETDifference_GenMETTrue_MET200to300
Definition: METTester.h:162
MonitorElement * mMETDifference_GenMETTrue_MET80to100
Definition: METTester.h:159
MonitorElement * mCaloEmEtInHF
Definition: METTester.h:123

Member Function Documentation

void METTester::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 234 of file METTester.cc.

References reco::CaloMET::CaloSETInmHF(), reco::CaloMET::CaloSETInpHF(), reco::GenMET::ChargedEMEtFraction(), pat::MET::ChargedEMEtFraction(), reco::GenMET::ChargedHadEtFraction(), 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, edm::Event::getByToken(), reco::CaloMET::hadEtInHB(), reco::CaloMET::hadEtInHE(), reco::CaloMET::hadEtInHF(), reco::CaloMET::hadEtInHO(), reco::PFMET::HFEMEt(), reco::PFMET::HFEMEtFraction(), reco::PFMET::HFHadronEt(), reco::PFMET::HFHadronEtFraction(), reco::GenMET::InvisibleEtFraction(), 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, reco::MET::mEtSig(), pat::MET::MuonEnDown, pat::MET::MuonEnUp, reco::PFMET::muonEt(), reco::PFMET::muonEtFraction(), reco::GenMET::MuonEtFraction(), pat::MET::MuonEtFraction(), reco::GenMET::NeutralEMEtFraction(), pat::MET::NeutralEMFraction(), reco::GenMET::NeutralHadEtFraction(), pat::MET::NeutralHadEtFraction(), reco::PFMET::neutralHadronEt(), reco::PFMET::neutralHadronEtFraction(), reco::LeafCandidate::phi(), pat::MET::PhotonEnDown, pat::MET::PhotonEnUp, reco::PFMET::photonEt(), reco::PFMET::photonEtFraction(), edm::Handle< T >::product(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), pat::MET::shiftedPt(), reco::MET::sumEt(), pat::MET::TauEnDown, pat::MET::TauEnUp, pat::MET::Type6EtFraction(), pat::MET::Type7EtFraction(), pat::MET::UnclusteredEnDown, and pat::MET::UnclusteredEnUp.

235  { // int counter(0);
236 
238  iEvent.getByToken(pvToken_, pvHandle);
239  if (!pvHandle.isValid()) {
240  std::cout << __FUNCTION__ << ":" << __LINE__ << ":pvHandle handle not found!" << std::endl;
241  assert(false);
242  }
243  const int nvtx = pvHandle->size();
244  mNvertex->Fill(nvtx);
245  // Collections for all MET collections
246 
251 
252  if (isCaloMET)
253  iEvent.getByToken(caloMETsToken_, caloMETs);
254  if (isPFMET)
255  iEvent.getByToken(pfMETsToken_, pfMETs);
256  if (isGenMET)
257  iEvent.getByToken(genMETsToken_, genMETs);
258  if (isMiniAODMET)
259  iEvent.getByToken(patMETToken_, patMET);
260  if ((isCaloMET) and !caloMETs.isValid())
261  return;
262  if ((isPFMET) and !pfMETs.isValid())
263  return;
264  if ((isGenMET) and !genMETs.isValid())
265  return;
266  if ((isMiniAODMET) and !patMET.isValid())
267  return;
268 
269  reco::MET met;
270  if (isCaloMET) {
271  met = caloMETs->front();
272  }
273  if (isPFMET) {
274  met = pfMETs->front();
275  }
276  if (isGenMET) {
277  met = genMETs->front();
278  }
279  if (isMiniAODMET) {
280  met = patMET->front();
281  }
282 
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();
289  mMEx->Fill(MEx);
290  mMEy->Fill(MEy);
291  mMET->Fill(MET);
292  mMETFine->Fill(MET);
293  mMET_Nvtx->Fill((double)nvtx, MET);
294  mMETPhi->Fill(METPhi);
295  mSumET->Fill(SumET);
296  mMETSig->Fill(METSig);
297 
298  // Get Generated MET for Resolution plots
299  const reco::GenMET *genMetTrue = nullptr;
300  bool isvalidgenmet = false;
301 
302  if (!isMiniAODMET) {
304  iEvent.getByToken(genMETsTrueToken_, genTrue);
305  if (genTrue.isValid()) {
306  isvalidgenmet = true;
307  const GenMETCollection *genmetcol = genTrue.product();
308  genMetTrue = &(genmetcol->front());
309  }
310  } else {
311  genMetTrue = patMET->front().genMET();
312  isvalidgenmet = true;
313  }
314 
315  if (isvalidgenmet) {
316  double genMET = genMetTrue->pt();
317  double genMETPhi = genMetTrue->phi();
318 
319  mMETDifference_GenMETTrue->Fill(MET - genMET);
320  mMETDeltaPhi_GenMETTrue->Fill(TMath::ACos(TMath::Cos(METPhi - genMETPhi)));
321 
322  if (!isGenMET) {
323  // pfMET resolution in pfMET bins : Sam, Feb, 2012
324  if (MET > 0 && MET < 20)
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)
344  else if (MET > 500)
345  mMETDifference_GenMETTrue_MET500->Fill(MET - genMET);
346 
347  } else {
348  edm::LogInfo("OutputInfo") << " failed to retrieve data required by MET Task: genMetTrue";
349  }
350  }
351  if (!isMiniAODMET) {
353  iEvent.getByToken(genMETsCaloToken_, genCalo);
354  if (genCalo.isValid()) {
355  const GenMETCollection *genmetcol = genCalo.product();
356  const GenMET *genMetCalo = &(genmetcol->front());
357  const double genMET = genMetCalo->pt();
358  const double genMETPhi = genMetCalo->phi();
359 
360  mMETDifference_GenMETCalo->Fill(MET - genMET);
361  mMETDeltaPhi_GenMETCalo->Fill(TMath::ACos(TMath::Cos(METPhi - genMETPhi)));
362  } else {
363  edm::LogInfo("OutputInfo") << " failed to retrieve data required by MET Task: genMetCalo";
364  }
365  }
366  if (isCaloMET) {
367  const reco::CaloMET *calomet = &(caloMETs->front());
368  // ==========================================================
369  // Reconstructed MET Information
370  const double caloMaxEtInEMTowers = calomet->maxEtInEmTowers();
371  const double caloMaxEtInHadTowers = calomet->maxEtInHadTowers();
372  const double caloEtFractionHadronic = calomet->etFractionHadronic();
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();
381  const double caloSETInpHF = calomet->CaloSETInpHF();
382  const double caloSETInmHF = calomet->CaloSETInmHF();
383 
384  mCaloMaxEtInEmTowers->Fill(caloMaxEtInEMTowers);
385  mCaloMaxEtInHadTowers->Fill(caloMaxEtInHadTowers);
386  mCaloEtFractionHadronic->Fill(caloEtFractionHadronic);
387  mCaloEmEtFraction->Fill(caloEmEtFraction);
388  mCaloHadEtInHB->Fill(caloHadEtInHB);
389  mCaloHadEtInHO->Fill(caloHadEtInHO);
390  mCaloHadEtInHE->Fill(caloHadEtInHE);
391  mCaloHadEtInHF->Fill(caloHadEtInHF);
392  mCaloEmEtInEB->Fill(caloEmEtInEB);
393  mCaloEmEtInEE->Fill(caloEmEtInEE);
394  mCaloEmEtInHF->Fill(caloEmEtInHF);
395  mCaloSETInpHF->Fill(caloSETInpHF);
396  mCaloSETInmHF->Fill(caloSETInmHF);
397  }
398  if (isGenMET) {
399  const GenMET *genmet;
400  // Get Generated MET
401  genmet = &(genMETs->front());
402 
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();
409 
410  mNeutralEMEtFraction->Fill(NeutralEMEtFraction);
411  mNeutralHadEtFraction->Fill(NeutralHadEtFraction);
412  mChargedEMEtFraction->Fill(ChargedEMEtFraction);
413  mChargedHadEtFraction->Fill(ChargedHadEtFraction);
414  mMuonEtFraction->Fill(MuonEtFraction);
415  mInvisibleEtFraction->Fill(InvisibleEtFraction);
416  }
417  if (isPFMET) {
418  const reco::PFMET *pfmet = &(pfMETs->front());
420  mPFphotonEt->Fill(pfmet->photonEt());
424  mPFelectronEt->Fill(pfmet->electronEt());
428  mPFmuonEt->Fill(pfmet->muonEt());
430  mPFHFHadronEt->Fill(pfmet->HFHadronEt());
432  mPFHFEMEt->Fill(pfmet->HFEMEt());
433  // Reconstructed MET Information
434  }
435  if (isMiniAODMET) {
436  const pat::MET *patmet = &(patMET->front());
451 
452  if (patmet->isPFMET()) {
458  mPFHFHadronEtFraction->Fill(patmet->Type6EtFraction()); // HFHadrons
459  mPFHFEMEtFraction->Fill(patmet->Type7EtFraction()); // HFEMEt
460  }
461  }
462 }
Analysis-level MET class.
Definition: MET.h:40
MonitorElement * mChargedEMEtFraction
Definition: METTester.h:132
double hadEtInHE() const
Definition: CaloMET.h:49
Collection of Gen MET.
MonitorElement * mMuonEtFraction
Definition: METTester.h:134
double HFEMEtFraction() const
Definition: PFMET.h:45
double hadEtInHF() const
Definition: CaloMET.h:51
double ChargedHadEtFraction() const
Definition: MET.h:140
MonitorElement * mMETPhi
Definition: METTester.h:88
MonitorElement * mMET
Definition: METTester.h:85
MonitorElement * mMETDifference_GenMETTrue
Definition: METTester.h:90
MonitorElement * mMETUnc_MuonEnUp
Definition: METTester.h:100
double CaloSETInmHF() const
Definition: CaloMET.h:63
MonitorElement * mMETUnc_ElectronEnDown
Definition: METTester.h:103
double MuonEtFraction() const
Definition: MET.h:141
MonitorElement * mMETUnc_ElectronEnUp
Definition: METTester.h:102
MonitorElement * mMETDifference_GenMETTrue_MET400to500
Definition: METTester.h:164
MonitorElement * mMETUnc_TauEnDown
Definition: METTester.h:105
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
MonitorElement * mPFelectronEtFraction
Definition: METTester.h:144
double maxEtInHadTowers() const
Definition: CaloMET.h:39
MonitorElement * mMETSig
Definition: METTester.h:84
double neutralHadronEtFraction() const
Definition: PFMET.h:30
MonitorElement * mCaloMaxEtInEmTowers
Definition: METTester.h:113
MonitorElement * mMEy
Definition: METTester.h:83
MonitorElement * mCaloSETInpHF
Definition: METTester.h:124
double px() const final
x coordinate of momentum vector
genmet
do same things for GEN
MonitorElement * mCaloHadEtInHF
Definition: METTester.h:120
double muonEt() const
Definition: PFMET.h:40
double MuonEtFraction() const
Definition: GenMET.h:54
MonitorElement * mPFphotonEtFraction
Definition: METTester.h:140
double pt() const final
transverse momentum
double NeutralEMFraction() const
Definition: MET.h:137
double ChargedEMEtFraction() const
Definition: MET.h:139
MonitorElement * mPFHFEMEt
Definition: METTester.h:153
genMetCalo
____________________________________________________________________________||
double maxEtInEmTowers() const
Definition: CaloMET.h:37
MonitorElement * mMETDifference_GenMETTrue_MET40to60
Definition: METTester.h:157
double Type6EtFraction() const
Definition: MET.h:142
double Type7EtFraction() const
Definition: MET.h:143
bool isPFMET
Definition: METTester.h:172
MonitorElement * mCaloEmEtFraction
Definition: METTester.h:116
MonitorElement * mCaloEmEtInEE
Definition: METTester.h:126
MonitorElement * mCaloSETInmHF
Definition: METTester.h:125
double NeutralHadEtFraction() const
Definition: MET.h:138
MonitorElement * mNeutralEMEtFraction
Definition: METTester.h:130
MonitorElement * mMETDifference_GenMETTrue_MET20to40
Definition: METTester.h:156
MonitorElement * mMETDifference_GenMETTrue_MET60to80
Definition: METTester.h:158
MonitorElement * mCaloMaxEtInHadTowers
Definition: METTester.h:114
bool isPFMET() const
True if this pat::MET was made from a reco::pfMET.
Definition: MET.h:88
MonitorElement * mInvisibleEtFraction
Definition: METTester.h:135
MonitorElement * mCaloEtFractionHadronic
Definition: METTester.h:115
bool isMiniAODMET
Definition: METTester.h:174
MonitorElement * mPFmuonEt
Definition: METTester.h:149
void Fill(long long x)
MonitorElement * mMETUnc_UnclusteredEnUp
Definition: METTester.h:106
MonitorElement * mPFelectronEt
Definition: METTester.h:145
MonitorElement * mPFphotonEt
Definition: METTester.h:141
MonitorElement * mCaloEmEtInEB
Definition: METTester.h:127
MonitorElement * mMETUnc_JetEnUp
Definition: METTester.h:98
MonitorElement * mCaloHadEtInHE
Definition: METTester.h:119
double mEtSig() const
Definition: MET.h:54
double HFHadronEtFraction() const
Definition: PFMET.h:42
double sumEt() const
Definition: MET.h:52
edm::EDGetTokenT< reco::PFMETCollection > pfMETsToken_
Definition: METTester.h:71
edm::EDGetTokenT< reco::CaloMETCollection > caloMETsToken_
Definition: METTester.h:70
MonitorElement * mPFneutralHadronEtFraction
Definition: METTester.h:142
double muonEtFraction() const
Definition: PFMET.h:39
MonitorElement * mMETUnc_JetResUp
Definition: METTester.h:96
double HFHadronEt() const
Definition: PFMET.h:43
MonitorElement * mPFHFHadronEt
Definition: METTester.h:151
Definition: MET.h:41
bool isGenMET
Definition: METTester.h:173
double photonEtFraction() const
Definition: PFMET.h:27
edm::EDGetTokenT< std::vector< reco::Vertex > > pvToken_
Definition: METTester.h:69
double ChargedEMEtFraction() const
Definition: GenMET.h:36
edm::EDGetTokenT< reco::GenMETCollection > genMETsToken_
Definition: METTester.h:73
MonitorElement * mMETUnc_JetEnDown
Definition: METTester.h:99
double emEtInEB() const
Definition: CaloMET.h:53
MonitorElement * mMETDifference_GenMETTrue_MET150to200
Definition: METTester.h:161
bool isCaloMET
Definition: METTester.h:169
MonitorElement * mMETDeltaPhi_GenMETCalo
Definition: METTester.h:93
MonitorElement * mMETDifference_GenMETTrue_MET100to150
Definition: METTester.h:160
MonitorElement * mCaloHadEtInHB
Definition: METTester.h:117
MonitorElement * mMETUnc_PhotonEnDown
Definition: METTester.h:109
bool isValid() const
Definition: HandleBase.h:70
double CaloSETInpHF() const
Definition: CaloMET.h:61
double InvisibleEtFraction() const
Definition: GenMET.h:60
double HFEMEt() const
Definition: PFMET.h:46
MonitorElement * mMETDifference_GenMETTrue_MET300to400
Definition: METTester.h:163
MonitorElement * mMETDifference_GenMETCalo
Definition: METTester.h:92
MonitorElement * mMETUnc_JetResDown
Definition: METTester.h:97
double shiftedPt(METUncertainty shift, METCorrectionLevel level=Type1) const
Definition: MET.h:220
double hadEtInHO() const
Definition: CaloMET.h:47
MonitorElement * mCaloHadEtInHO
Definition: METTester.h:118
double electronEt() const
Definition: PFMET.h:34
MonitorElement * mMETDifference_GenMETTrue_MET500
Definition: METTester.h:165
MonitorElement * mPFchargedHadronEt
Definition: METTester.h:147
MonitorElement * mMEx
Definition: METTester.h:82
double etFractionHadronic() const
Definition: CaloMET.h:41
T const * product() const
Definition: Handle.h:69
MonitorElement * mChargedHadEtFraction
Definition: METTester.h:133
double photonEt() const
Definition: PFMET.h:28
MonitorElement * mMETDeltaPhi_GenMETTrue
Definition: METTester.h:91
MonitorElement * mPFneutralHadronEt
Definition: METTester.h:143
MonitorElement * mMETUnc_TauEnUp
Definition: METTester.h:104
edm::EDGetTokenT< reco::GenMETCollection > genMETsCaloToken_
Definition: METTester.h:75
double py() const final
y coordinate of momentum vector
edm::EDGetTokenT< reco::GenMETCollection > genMETsTrueToken_
Definition: METTester.h:74
MonitorElement * mPFmuonEtFraction
Definition: METTester.h:148
double NeutralEMEtFraction() const
Definition: GenMET.h:30
double emEtInEE() const
Definition: CaloMET.h:55
double electronEtFraction() const
Definition: PFMET.h:33
MonitorElement * mMETFine
Definition: METTester.h:86
MonitorElement * mMETUnc_MuonEnDown
Definition: METTester.h:101
double chargedHadronEtFraction() const
Definition: PFMET.h:36
MonitorElement * mNeutralHadEtFraction
Definition: METTester.h:131
edm::EDGetTokenT< pat::METCollection > patMETToken_
Definition: METTester.h:76
MonitorElement * mPFHFEMEtFraction
Definition: METTester.h:152
MonitorElement * mMETUnc_UnclusteredEnDown
Definition: METTester.h:107
genMetTrue
____________________________________________________________________________||
double NeutralHadEtFraction() const
Definition: GenMET.h:42
MonitorElement * mMETUnc_PhotonEnUp
Definition: METTester.h:108
MonitorElement * mNvertex
Definition: METTester.h:79
MonitorElement * mMET_Nvtx
Definition: METTester.h:87
MonitorElement * mPFchargedHadronEtFraction
Definition: METTester.h:146
double emEtInHF() const
Definition: CaloMET.h:57
MonitorElement * mMETDifference_GenMETTrue_MET0to20
Definition: METTester.h:155
double neutralHadronEt() const
Definition: PFMET.h:31
MonitorElement * mSumET
Definition: METTester.h:89
double ChargedHadEtFraction() const
Definition: GenMET.h:48
MonitorElement * mMETDifference_GenMETTrue_MET200to300
Definition: METTester.h:162
double phi() const final
momentum azimuthal angle
MonitorElement * mMETDifference_GenMETTrue_MET80to100
Definition: METTester.h:159
double hadEtInHB() const
Definition: CaloMET.h:45
double emEtFraction() const
Definition: CaloMET.h:43
double chargedHadronEt() const
Definition: PFMET.h:37
MonitorElement * mCaloEmEtInHF
Definition: METTester.h:123
MonitorElement * mPFHFHadronEtFraction
Definition: METTester.h:150
void METTester::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 129 of file METTester.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), and dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder().

129  {
130  ibooker.setCurrentFolder("JetMET/METValidation/" + inputMETLabel_.label());
131 
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); // 10GeV
141  mMETDifference_GenMETTrue = ibooker.book1D("METDifference_GenMETTrue", "METDifference_GenMETTrue", 500, -500, 500);
142  mMETDeltaPhi_GenMETTrue = ibooker.book1D("METDeltaPhi_GenMETTrue", "METDeltaPhi_GenMETTrue", 80, 0, 4);
143 
144  if (isMiniAODMET) {
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);
152  mMETUnc_ElectronEnDown = ibooker.book1D("METUnc_ElectronEnDown", "METUnc_ElectronEnDown", 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);
155  mMETUnc_UnclusteredEnUp = ibooker.book1D("METUnc_UnclusteredEnUp", "METUnc_UnclusteredEnUp", 200, -10, 10);
156  mMETUnc_UnclusteredEnDown = ibooker.book1D("METUnc_UnclusteredEnDown", "METUnc_UnclusteredEnDown", 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);
159  }
160  if (!isMiniAODMET) {
161  mMETDifference_GenMETCalo = ibooker.book1D("METDifference_GenMETCalo", "METDifference_GenMETCalo", 500, -500, 500);
162  mMETDeltaPhi_GenMETCalo = ibooker.book1D("METDeltaPhi_GenMETCalo", "METDeltaPhi_GenMETCalo", 80, 0, 4);
163  }
164  if (!isGenMET) {
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);
187  }
188  if (isCaloMET) {
189  mCaloMaxEtInEmTowers = ibooker.book1D("CaloMaxEtInEmTowers", "CaloMaxEtInEmTowers", 300, 0, 1500); // 5GeV
190  mCaloMaxEtInHadTowers = ibooker.book1D("CaloMaxEtInHadTowers", "CaloMaxEtInHadTowers", 300, 0, 1500); // 5GeV
191  mCaloEtFractionHadronic = ibooker.book1D("CaloEtFractionHadronic", "CaloEtFractionHadronic", 100, 0, 1);
192  mCaloEmEtFraction = ibooker.book1D("CaloEmEtFraction", "CaloEmEtFraction", 100, 0, 1);
193  mCaloHadEtInHB = ibooker.book1D("CaloHadEtInHB", "CaloHadEtInHB", 200, 0, 2000); // 5GeV
194  mCaloHadEtInHE = ibooker.book1D("CaloHadEtInHE", "CaloHadEtInHE", 100, 0, 500); // 5GeV
195  mCaloHadEtInHO = ibooker.book1D("CaloHadEtInHO", "CaloHadEtInHO", 100, 0, 200); // 5GeV
196  mCaloHadEtInHF = ibooker.book1D("CaloHadEtInHF", "CaloHadEtInHF", 100, 0, 200); // 5GeV
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); // 5GeV
200  mCaloEmEtInEB = ibooker.book1D("CaloEmEtInEB", "CaloEmEtInEB", 100, 0, 500); // 5GeV
201  mCaloEmEtInHF = ibooker.book1D("CaloEmEtInHF", "CaloEmEtInHF", 100, 0, 500); // 5GeV
202  }
203 
204  if (isGenMET) {
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);
211  }
212 
213  if (isPFMET || isMiniAODMET) {
214  mPFphotonEtFraction = ibooker.book1D("photonEtFraction", "photonEtFraction", 100, 0, 1);
215  mPFneutralHadronEtFraction = ibooker.book1D("neutralHadronEtFraction", "neutralHadronEtFraction", 100, 0, 1);
216  mPFelectronEtFraction = ibooker.book1D("electronEtFraction", "electronEtFraction", 100, 0, 1);
217  mPFchargedHadronEtFraction = ibooker.book1D("chargedHadronEtFraction", "chargedHadronEtFraction", 100, 0, 1);
218  mPFHFHadronEtFraction = ibooker.book1D("HFHadronEtFraction", "HFHadronEtFraction", 100, 0, 1);
219  mPFmuonEtFraction = ibooker.book1D("muonEtFraction", "muonEtFraction", 100, 0, 1);
220  mPFHFEMEtFraction = ibooker.book1D("HFEMEtFraction", "HFEMEtFraction", 100, 0, 1);
221 
222  if (!isMiniAODMET) {
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);
230  }
231  }
232 }
MonitorElement * mChargedEMEtFraction
Definition: METTester.h:132
MonitorElement * mMuonEtFraction
Definition: METTester.h:134
MonitorElement * mMETPhi
Definition: METTester.h:88
MonitorElement * mMET
Definition: METTester.h:85
MonitorElement * mMETDifference_GenMETTrue
Definition: METTester.h:90
MonitorElement * mMETUnc_MuonEnUp
Definition: METTester.h:100
MonitorElement * mMETUnc_ElectronEnDown
Definition: METTester.h:103
MonitorElement * mMETUnc_ElectronEnUp
Definition: METTester.h:102
MonitorElement * mMETDifference_GenMETTrue_MET400to500
Definition: METTester.h:164
MonitorElement * mMETUnc_TauEnDown
Definition: METTester.h:105
MonitorElement * mPFelectronEtFraction
Definition: METTester.h:144
MonitorElement * mMETSig
Definition: METTester.h:84
MonitorElement * mCaloMaxEtInEmTowers
Definition: METTester.h:113
MonitorElement * mMEy
Definition: METTester.h:83
MonitorElement * mCaloSETInpHF
Definition: METTester.h:124
MonitorElement * mCaloHadEtInHF
Definition: METTester.h:120
MonitorElement * mPFphotonEtFraction
Definition: METTester.h:140
MonitorElement * mPFHFEMEt
Definition: METTester.h:153
MonitorElement * mMETDifference_GenMETTrue_MET40to60
Definition: METTester.h:157
bool isPFMET
Definition: METTester.h:172
MonitorElement * mCaloEmEtFraction
Definition: METTester.h:116
MonitorElement * mCaloEmEtInEE
Definition: METTester.h:126
MonitorElement * mCaloSETInmHF
Definition: METTester.h:125
MonitorElement * mNeutralEMEtFraction
Definition: METTester.h:130
MonitorElement * mMETDifference_GenMETTrue_MET20to40
Definition: METTester.h:156
MonitorElement * mMETDifference_GenMETTrue_MET60to80
Definition: METTester.h:158
MonitorElement * mCaloMaxEtInHadTowers
Definition: METTester.h:114
MonitorElement * mInvisibleEtFraction
Definition: METTester.h:135
MonitorElement * mCaloEtFractionHadronic
Definition: METTester.h:115
bool isMiniAODMET
Definition: METTester.h:174
MonitorElement * mPFmuonEt
Definition: METTester.h:149
MonitorElement * mMETUnc_UnclusteredEnUp
Definition: METTester.h:106
MonitorElement * mPFelectronEt
Definition: METTester.h:145
MonitorElement * mPFphotonEt
Definition: METTester.h:141
MonitorElement * mCaloEmEtInEB
Definition: METTester.h:127
MonitorElement * mMETUnc_JetEnUp
Definition: METTester.h:98
MonitorElement * mCaloHadEtInHE
Definition: METTester.h:119
MonitorElement * mPFneutralHadronEtFraction
Definition: METTester.h:142
MonitorElement * mMETUnc_JetResUp
Definition: METTester.h:96
MonitorElement * mPFHFHadronEt
Definition: METTester.h:151
bool isGenMET
Definition: METTester.h:173
MonitorElement * mMETUnc_JetEnDown
Definition: METTester.h:99
MonitorElement * mMETDifference_GenMETTrue_MET150to200
Definition: METTester.h:161
bool isCaloMET
Definition: METTester.h:169
MonitorElement * mMETDeltaPhi_GenMETCalo
Definition: METTester.h:93
MonitorElement * mMETDifference_GenMETTrue_MET100to150
Definition: METTester.h:160
MonitorElement * mCaloHadEtInHB
Definition: METTester.h:117
MonitorElement * mMETUnc_PhotonEnDown
Definition: METTester.h:109
MonitorElement * mMETDifference_GenMETTrue_MET300to400
Definition: METTester.h:163
MonitorElement * mMETDifference_GenMETCalo
Definition: METTester.h:92
MonitorElement * mMETUnc_JetResDown
Definition: METTester.h:97
MonitorElement * mCaloHadEtInHO
Definition: METTester.h:118
MonitorElement * mMETDifference_GenMETTrue_MET500
Definition: METTester.h:165
MonitorElement * mPFchargedHadronEt
Definition: METTester.h:147
MonitorElement * mMEx
Definition: METTester.h:82
MonitorElement * mChargedHadEtFraction
Definition: METTester.h:133
MonitorElement * mMETDeltaPhi_GenMETTrue
Definition: METTester.h:91
MonitorElement * mPFneutralHadronEt
Definition: METTester.h:143
MonitorElement * mMETUnc_TauEnUp
Definition: METTester.h:104
MonitorElement * mPFmuonEtFraction
Definition: METTester.h:148
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * mMETFine
Definition: METTester.h:86
MonitorElement * mMETUnc_MuonEnDown
Definition: METTester.h:101
MonitorElement * mNeutralHadEtFraction
Definition: METTester.h:131
MonitorElement * mPFHFEMEtFraction
Definition: METTester.h:152
MonitorElement * mMETUnc_UnclusteredEnDown
Definition: METTester.h:107
MonitorElement * mMETUnc_PhotonEnUp
Definition: METTester.h:108
MonitorElement * mNvertex
Definition: METTester.h:79
MonitorElement * mMET_Nvtx
Definition: METTester.h:87
MonitorElement * mPFchargedHadronEtFraction
Definition: METTester.h:146
MonitorElement * mMETDifference_GenMETTrue_MET0to20
Definition: METTester.h:155
MonitorElement * mSumET
Definition: METTester.h:89
edm::InputTag inputMETLabel_
Definition: METTester.h:63
MonitorElement * mMETDifference_GenMETTrue_MET200to300
Definition: METTester.h:162
MonitorElement * mMETDifference_GenMETTrue_MET80to100
Definition: METTester.h:159
MonitorElement * mCaloEmEtInHF
Definition: METTester.h:123
MonitorElement * mPFHFHadronEtFraction
Definition: METTester.h:150

Member Data Documentation

edm::EDGetTokenT<reco::CaloMETCollection> METTester::caloMETsToken_
private

Definition at line 70 of file METTester.h.

edm::EDGetTokenT<reco::GenMETCollection> METTester::genMETsCaloToken_
private

Definition at line 75 of file METTester.h.

edm::EDGetTokenT<reco::GenMETCollection> METTester::genMETsToken_
private

Definition at line 73 of file METTester.h.

edm::EDGetTokenT<reco::GenMETCollection> METTester::genMETsTrueToken_
private

Definition at line 74 of file METTester.h.

edm::InputTag METTester::inputCaloMETLabel_
private

Definition at line 66 of file METTester.h.

edm::InputTag METTester::inputMETLabel_
private

Definition at line 63 of file METTester.h.

bool METTester::isCaloMET
private

Definition at line 169 of file METTester.h.

bool METTester::isGenMET
private

Definition at line 173 of file METTester.h.

bool METTester::isMiniAODMET
private

Definition at line 174 of file METTester.h.

bool METTester::isPFMET
private

Definition at line 172 of file METTester.h.

MonitorElement* METTester::mCaloEmEtFraction
private

Definition at line 116 of file METTester.h.

MonitorElement* METTester::mCaloEmEtInEB
private

Definition at line 127 of file METTester.h.

MonitorElement* METTester::mCaloEmEtInEE
private

Definition at line 126 of file METTester.h.

MonitorElement* METTester::mCaloEmEtInHF
private

Definition at line 123 of file METTester.h.

MonitorElement* METTester::mCaloEtFractionHadronic
private

Definition at line 115 of file METTester.h.

MonitorElement* METTester::mCaloHadEtInEB
private

Definition at line 121 of file METTester.h.

MonitorElement* METTester::mCaloHadEtInEE
private

Definition at line 122 of file METTester.h.

MonitorElement* METTester::mCaloHadEtInHB
private

Definition at line 117 of file METTester.h.

MonitorElement* METTester::mCaloHadEtInHE
private

Definition at line 119 of file METTester.h.

MonitorElement* METTester::mCaloHadEtInHF
private

Definition at line 120 of file METTester.h.

MonitorElement* METTester::mCaloHadEtInHO
private

Definition at line 118 of file METTester.h.

MonitorElement* METTester::mCaloMaxEtInEmTowers
private

Definition at line 113 of file METTester.h.

MonitorElement* METTester::mCaloMaxEtInHadTowers
private

Definition at line 114 of file METTester.h.

MonitorElement* METTester::mCaloSETInmHF
private

Definition at line 125 of file METTester.h.

MonitorElement* METTester::mCaloSETInpHF
private

Definition at line 124 of file METTester.h.

MonitorElement* METTester::mChargedEMEtFraction
private

Definition at line 132 of file METTester.h.

MonitorElement* METTester::mChargedHadEtFraction
private

Definition at line 133 of file METTester.h.

std::map<std::string, MonitorElement *> METTester::me
private

Definition at line 58 of file METTester.h.

std::string METTester::METType_
private

Definition at line 64 of file METTester.h.

edm::InputTag METTester::mInputCollection_
private

Definition at line 62 of file METTester.h.

MonitorElement* METTester::mInvisibleEtFraction
private

Definition at line 135 of file METTester.h.

MonitorElement* METTester::mMET
private

Definition at line 85 of file METTester.h.

MonitorElement* METTester::mMET_Nvtx
private

Definition at line 87 of file METTester.h.

MonitorElement* METTester::mMETDeltaPhi_GenMETCalo
private

Definition at line 93 of file METTester.h.

MonitorElement* METTester::mMETDeltaPhi_GenMETTrue
private

Definition at line 91 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETCalo
private

Definition at line 92 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue
private

Definition at line 90 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET0to20
private

Definition at line 155 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET100to150
private

Definition at line 160 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET150to200
private

Definition at line 161 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET200to300
private

Definition at line 162 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET20to40
private

Definition at line 156 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET300to400
private

Definition at line 163 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET400to500
private

Definition at line 164 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET40to60
private

Definition at line 157 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET500
private

Definition at line 165 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET60to80
private

Definition at line 158 of file METTester.h.

MonitorElement* METTester::mMETDifference_GenMETTrue_MET80to100
private

Definition at line 159 of file METTester.h.

MonitorElement* METTester::mMETFine
private

Definition at line 86 of file METTester.h.

MonitorElement* METTester::mMETPhi
private

Definition at line 88 of file METTester.h.

MonitorElement* METTester::mMETSig
private

Definition at line 84 of file METTester.h.

MonitorElement* METTester::mMETUnc_ElectronEnDown
private

Definition at line 103 of file METTester.h.

MonitorElement* METTester::mMETUnc_ElectronEnUp
private

Definition at line 102 of file METTester.h.

MonitorElement* METTester::mMETUnc_JetEnDown
private

Definition at line 99 of file METTester.h.

MonitorElement* METTester::mMETUnc_JetEnUp
private

Definition at line 98 of file METTester.h.

MonitorElement* METTester::mMETUnc_JetResDown
private

Definition at line 97 of file METTester.h.

MonitorElement* METTester::mMETUnc_JetResUp
private

Definition at line 96 of file METTester.h.

MonitorElement* METTester::mMETUnc_MuonEnDown
private

Definition at line 101 of file METTester.h.

MonitorElement* METTester::mMETUnc_MuonEnUp
private

Definition at line 100 of file METTester.h.

MonitorElement* METTester::mMETUnc_PhotonEnDown
private

Definition at line 109 of file METTester.h.

MonitorElement* METTester::mMETUnc_PhotonEnUp
private

Definition at line 108 of file METTester.h.

MonitorElement* METTester::mMETUnc_TauEnDown
private

Definition at line 105 of file METTester.h.

MonitorElement* METTester::mMETUnc_TauEnUp
private

Definition at line 104 of file METTester.h.

MonitorElement* METTester::mMETUnc_UnclusteredEnDown
private

Definition at line 107 of file METTester.h.

MonitorElement* METTester::mMETUnc_UnclusteredEnUp
private

Definition at line 106 of file METTester.h.

MonitorElement* METTester::mMEx
private

Definition at line 82 of file METTester.h.

MonitorElement* METTester::mMEy
private

Definition at line 83 of file METTester.h.

MonitorElement* METTester::mMuonEtFraction
private

Definition at line 134 of file METTester.h.

MonitorElement* METTester::mNeutralEMEtFraction
private

Definition at line 130 of file METTester.h.

MonitorElement* METTester::mNeutralHadEtFraction
private

Definition at line 131 of file METTester.h.

MonitorElement* METTester::mNvertex
private

Definition at line 79 of file METTester.h.

MonitorElement* METTester::mPFchargedHadronEt
private

Definition at line 147 of file METTester.h.

MonitorElement* METTester::mPFchargedHadronEtFraction
private

Definition at line 146 of file METTester.h.

MonitorElement* METTester::mPFelectronEt
private

Definition at line 145 of file METTester.h.

MonitorElement* METTester::mPFelectronEtFraction
private

Definition at line 144 of file METTester.h.

MonitorElement* METTester::mPFHFEMEt
private

Definition at line 153 of file METTester.h.

MonitorElement* METTester::mPFHFEMEtFraction
private

Definition at line 152 of file METTester.h.

MonitorElement* METTester::mPFHFHadronEt
private

Definition at line 151 of file METTester.h.

MonitorElement* METTester::mPFHFHadronEtFraction
private

Definition at line 150 of file METTester.h.

MonitorElement* METTester::mPFmuonEt
private

Definition at line 149 of file METTester.h.

MonitorElement* METTester::mPFmuonEtFraction
private

Definition at line 148 of file METTester.h.

MonitorElement* METTester::mPFneutralHadronEt
private

Definition at line 143 of file METTester.h.

MonitorElement* METTester::mPFneutralHadronEtFraction
private

Definition at line 142 of file METTester.h.

MonitorElement* METTester::mPFphotonEt
private

Definition at line 141 of file METTester.h.

MonitorElement* METTester::mPFphotonEtFraction
private

Definition at line 140 of file METTester.h.

MonitorElement* METTester::mSumET
private

Definition at line 89 of file METTester.h.

edm::EDGetTokenT<pat::METCollection> METTester::patMETToken_
private

Definition at line 76 of file METTester.h.

edm::EDGetTokenT<reco::PFMETCollection> METTester::pfMETsToken_
private

Definition at line 71 of file METTester.h.

edm::EDGetTokenT<std::vector<reco::Vertex> > METTester::pvToken_
private

Definition at line 69 of file METTester.h.