CMS 3D CMS Logo

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

#include <JetTesterPostProcessor.h>

Inheritance diagram for JetTesterPostProcessor:
DQMEDHarvester edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 JetTesterPostProcessor (const edm::ParameterSet &)
 
 ~JetTesterPostProcessor () override
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQMEDHarvester ()
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
void endJob () final
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &, edm::EventSetup const &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () 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 Member Functions

void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 

Private Attributes

edm::InputTag inputJetLabelMiniAOD_
 
edm::InputTag inputJetLabelRECO_
 
std::vector< std::string > jet_dirs
 
MonitorElementmchargedHadronEnergyFraction_MiniAOD_over_Reco
 
MonitorElementmchargedHadronMultiplicity_MiniAOD_over_Reco
 
MonitorElementmCorrJetEta_MiniAOD_over_Reco
 
MonitorElementmCorrJetPhi_MiniAOD_over_Reco
 
MonitorElementmCorrJetPt_MiniAOD_over_Reco
 
MonitorElementmDeltaEta_MiniAOD_over_Reco
 
MonitorElementmDeltaPhi_MiniAOD_over_Reco
 
MonitorElementmDeltaPt_MiniAOD_over_Reco
 
MonitorElementmEta_MiniAOD_over_Reco
 
MonitorElementmGenEta_MiniAOD_over_Reco
 
MonitorElementmGenPhi_MiniAOD_over_Reco
 
MonitorElementmGenPt_MiniAOD_over_Reco
 
MonitorElementmMjj_MiniAOD_over_Reco
 
MonitorElementmneutralHadronEnergyFraction_MiniAOD_over_Reco
 
MonitorElementmneutralHadronMultiplicity_MiniAOD_over_Reco
 
MonitorElementmNJets40_MiniAOD_over_Reco
 
MonitorElementmPhi_MiniAOD_over_Reco
 
MonitorElementmphotonEnergyFraction_MiniAOD_over_Reco
 
MonitorElementmphotonMultiplicity_MiniAOD_over_Reco
 
MonitorElementmPt_MiniAOD_over_Reco
 
MonitorElementmPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco
 
MonitorElementmPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco
 
MonitorElementmPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco
 
MonitorElementmPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco
 
MonitorElementmPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco
 

Additional Inherited Members

- 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::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 DQMEDHarvester
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 28 of file JetTesterPostProcessor.h.

Constructor & Destructor Documentation

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

Definition at line 18 of file JetTesterPostProcessor.cc.

References edm::ParameterSet::getParameter(), inputJetLabelMiniAOD_, and inputJetLabelRECO_.

18  {
19  inputJetLabelRECO_ = iConfig.getParameter<edm::InputTag>("JetTypeRECO");
20  inputJetLabelMiniAOD_ = iConfig.getParameter<edm::InputTag>("JetTypeMiniAOD");
21 }
T getParameter(std::string const &) const
JetTesterPostProcessor::~JetTesterPostProcessor ( )
override

Definition at line 23 of file JetTesterPostProcessor.cc.

23 {}

Member Function Documentation

void JetTesterPostProcessor::dqmEndJob ( DQMStore::IBooker ibook_,
DQMStore::IGetter iget_ 
)
overrideprivatevirtual

Implements DQMEDHarvester.

Definition at line 26 of file JetTesterPostProcessor.cc.

References DQMStore::IBooker::book1D(), DQMStore::IGetter::get(), MonitorElement::getBinContent(), MonitorElement::getNbinsX(), MonitorElement::getRootObject(), DQMStore::IGetter::getSubdirs(), mps_fire::i, inputJetLabelMiniAOD_, inputJetLabelRECO_, createfilelist::int, jet_dirs, edm::InputTag::label(), mchargedHadronEnergyFraction_MiniAOD_over_Reco, mchargedHadronMultiplicity_MiniAOD_over_Reco, mCorrJetEta_MiniAOD_over_Reco, mCorrJetPhi_MiniAOD_over_Reco, mCorrJetPt_MiniAOD_over_Reco, mDeltaEta_MiniAOD_over_Reco, mDeltaPhi_MiniAOD_over_Reco, mDeltaPt_MiniAOD_over_Reco, mEta_MiniAOD_over_Reco, mGenEta_MiniAOD_over_Reco, mGenPhi_MiniAOD_over_Reco, mGenPt_MiniAOD_over_Reco, mMjj_MiniAOD_over_Reco, mneutralHadronEnergyFraction_MiniAOD_over_Reco, mneutralHadronMultiplicity_MiniAOD_over_Reco, mNJets40_MiniAOD_over_Reco, mPhi_MiniAOD_over_Reco, mphotonEnergyFraction_MiniAOD_over_Reco, mphotonMultiplicity_MiniAOD_over_Reco, mPt_MiniAOD_over_Reco, mPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco, mPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco, mPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco, mPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco, mPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco, MonitorElement::setBinContent(), DQMStore::IBooker::setCurrentFolder(), DQMStore::IGetter::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

26  {
27  std::vector<std::string> subDirVec;
28  std::string RunDir = "JetMET/JetValidation/";
29  iget_.setCurrentFolder(RunDir);
30  jet_dirs = iget_.getSubdirs();
31  bool found_reco_dir = false;
32  bool found_miniaod_dir = false;
33  // loop over jet subdirectories
34  for (int i = 0; i < int(jet_dirs.size()); i++) {
35  ibook_.setCurrentFolder(jet_dirs[i]);
36  if (jet_dirs[i] == (RunDir + inputJetLabelRECO_.label())) {
37  found_reco_dir = true;
38  }
39  if (jet_dirs[i] == (RunDir + inputJetLabelMiniAOD_.label())) {
40  found_miniaod_dir = true;
41  }
42  }
43  if (found_miniaod_dir && found_reco_dir) {
44  std::string rundir_reco = RunDir + inputJetLabelRECO_.label();
45  std::string rundir_miniaod = RunDir + inputJetLabelMiniAOD_.label();
46 
47  MonitorElement *mGenPt_Reco = iget_.get(rundir_reco + "/" + "GenPt");
48  MonitorElement *mGenPhi_Reco = iget_.get(rundir_reco + "/" + "GenPhi");
49  MonitorElement *mGenEta_Reco = iget_.get(rundir_reco + "/" + "GenEta");
50  MonitorElement *mPt_Reco = iget_.get(rundir_reco + "/" + "Pt");
51  MonitorElement *mPhi_Reco = iget_.get(rundir_reco + "/" + "Phi");
52  MonitorElement *mEta_Reco = iget_.get(rundir_reco + "/" + "Eta");
53  MonitorElement *mCorrJetPt_Reco = iget_.get(rundir_reco + "/" + "CorrJetPt");
54  MonitorElement *mCorrJetPhi_Reco = iget_.get(rundir_reco + "/" + "CorrJetPhi");
55  MonitorElement *mCorrJetEta_Reco = iget_.get(rundir_reco + "/" + "CorrJetEta");
56  /*
57  map_string_vec.push_back("Pt");
58  map_string_vec.push_back("Phi");
59  map_string_vec.push_back("Eta");
60  map_string_vec.push_back("CorrJetPt");
61  map_string_vec.push_back("CorrJetPhi");
62  map_string_vec.push_back("CorrJetEta");
63  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Pt"
64  ,mPt_Reco));
65  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Phi"
66  ,mPhi_Reco));
67  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Eta"
68  ,mEta_Reco));
69  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetPt"
70  ,mCorrJetPt_Reco));
71  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetPhi"
72  ,mCorrJetPhi_Reco));
73  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetEta"
74  ,mCorrJetEta_Reco));
75  */
76  MonitorElement *mPtCorrOverReco_Eta_20_40_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_20_40");
77  MonitorElement *mPtCorrOverReco_Eta_200_600_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_200_600");
78  MonitorElement *mPtCorrOverReco_Eta_1500_3500_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_1500_3500");
79  MonitorElement *mPtCorrOverGen_GenEta_40_200_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverGen_GenEta_40_200");
80  MonitorElement *mPtCorrOverGen_GenEta_600_1500_Reco =
81  iget_.get(rundir_reco + "/" + "PtCorrOverGen_GenEta_600_1500");
82  MonitorElement *mDeltaEta_Reco = iget_.get(rundir_reco + "/" + "DeltaEta");
83  MonitorElement *mDeltaPhi_Reco = iget_.get(rundir_reco + "/" + "DeltaPhi");
84  MonitorElement *mDeltaPt_Reco = iget_.get(rundir_reco + "/" + "DeltaPt");
85  MonitorElement *mMjj_Reco = iget_.get(rundir_reco + "/" + "Mjj");
86  MonitorElement *mNJets40_Reco = iget_.get(rundir_reco + "/" + "NJets");
87  MonitorElement *mchargedHadronMultiplicity_Reco = iget_.get(rundir_reco + "/" + "chargedHadronMultiplicity");
88  MonitorElement *mneutralHadronMultiplicity_Reco = iget_.get(rundir_reco + "/" + "neutralHadronMultiplicity");
89  MonitorElement *mphotonMultiplicity_Reco = iget_.get(rundir_reco + "/" + "photonMultiplicity");
90  MonitorElement *mphotonEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "photonEnergyFraction");
91  MonitorElement *mneutralHadronEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "neutralHadronEnergyFraction");
92  MonitorElement *mchargedHadronEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "chargedHadronEnergyFraction");
93 
94  std::vector<MonitorElement *> ME_Reco;
95  ME_Reco.push_back(mGenPt_Reco);
96  ME_Reco.push_back(mGenPhi_Reco);
97  ME_Reco.push_back(mGenEta_Reco);
98  ME_Reco.push_back(mPt_Reco);
99  ME_Reco.push_back(mPhi_Reco);
100  ME_Reco.push_back(mEta_Reco);
101  ME_Reco.push_back(mCorrJetPt_Reco);
102  ME_Reco.push_back(mCorrJetPhi_Reco);
103  ME_Reco.push_back(mCorrJetEta_Reco);
104  ME_Reco.push_back(mPtCorrOverReco_Eta_20_40_Reco);
105  ME_Reco.push_back(mPtCorrOverReco_Eta_200_600_Reco);
106  ME_Reco.push_back(mPtCorrOverReco_Eta_1500_3500_Reco);
107  ME_Reco.push_back(mPtCorrOverGen_GenEta_40_200_Reco);
108  ME_Reco.push_back(mPtCorrOverGen_GenEta_600_1500_Reco);
109  ME_Reco.push_back(mDeltaEta_Reco);
110  ME_Reco.push_back(mDeltaPhi_Reco);
111  ME_Reco.push_back(mDeltaPt_Reco);
112  ME_Reco.push_back(mMjj_Reco);
113  ME_Reco.push_back(mNJets40_Reco);
114  ME_Reco.push_back(mchargedHadronMultiplicity_Reco);
115  ME_Reco.push_back(mneutralHadronMultiplicity_Reco);
116  ME_Reco.push_back(mphotonMultiplicity_Reco);
117  ME_Reco.push_back(mphotonEnergyFraction_Reco);
118  ME_Reco.push_back(mneutralHadronEnergyFraction_Reco);
119  ME_Reco.push_back(mchargedHadronEnergyFraction_Reco);
120 
121  MonitorElement *mGenPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenPt");
122  MonitorElement *mGenPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenPhi");
123  MonitorElement *mGenEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenEta");
124  MonitorElement *mPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "Pt");
125  MonitorElement *mPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "Phi");
126  MonitorElement *mEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "Eta");
127  MonitorElement *mCorrJetPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetPt");
128  MonitorElement *mCorrJetPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetPhi");
129  MonitorElement *mCorrJetEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetEta");
130  MonitorElement *mPtCorrOverReco_Eta_20_40_MiniAOD = iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_20_40");
131  MonitorElement *mPtCorrOverReco_Eta_200_600_MiniAOD =
132  iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_200_600");
133  MonitorElement *mPtCorrOverReco_Eta_1500_3500_MiniAOD =
134  iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_1500_3500");
135  MonitorElement *mPtCorrOverGen_GenEta_40_200_MiniAOD =
136  iget_.get(rundir_miniaod + "/" + "PtCorrOverGen_GenEta_40_200");
137  MonitorElement *mPtCorrOverGen_GenEta_600_1500_MiniAOD =
138  iget_.get(rundir_miniaod + "/" + "PtCorrOverGen_GenEta_600_1500");
139  MonitorElement *mDeltaEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaEta");
140  MonitorElement *mDeltaPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaPhi");
141  MonitorElement *mDeltaPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaPt");
142  MonitorElement *mMjj_MiniAOD = iget_.get(rundir_miniaod + "/" + "Mjj");
143  MonitorElement *mNJets40_MiniAOD = iget_.get(rundir_miniaod + "/" + "NJets");
144  MonitorElement *mchargedHadronMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "chargedHadronMultiplicity");
145  MonitorElement *mneutralHadronMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "neutralHadronMultiplicity");
146  MonitorElement *mphotonMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "photonMultiplicity");
147  MonitorElement *mphotonEnergyFraction_MiniAOD = iget_.get(rundir_miniaod + "/" + "photonEnergyFraction");
148  MonitorElement *mneutralHadronEnergyFraction_MiniAOD =
149  iget_.get(rundir_miniaod + "/" + "neutralHadronEnergyFraction");
150  MonitorElement *mchargedHadronEnergyFraction_MiniAOD =
151  iget_.get(rundir_miniaod + "/" + "chargedHadronEnergyFraction");
152 
153  std::vector<MonitorElement *> ME_MiniAOD;
154  ME_MiniAOD.push_back(mGenPt_MiniAOD);
155  ME_MiniAOD.push_back(mGenPhi_MiniAOD);
156  ME_MiniAOD.push_back(mGenEta_MiniAOD);
157  ME_MiniAOD.push_back(mPt_MiniAOD);
158  ME_MiniAOD.push_back(mPhi_MiniAOD);
159  ME_MiniAOD.push_back(mEta_MiniAOD);
160  ME_MiniAOD.push_back(mCorrJetPt_MiniAOD);
161  ME_MiniAOD.push_back(mCorrJetPhi_MiniAOD);
162  ME_MiniAOD.push_back(mCorrJetEta_MiniAOD);
163  ME_MiniAOD.push_back(mPtCorrOverReco_Eta_20_40_MiniAOD);
164  ME_MiniAOD.push_back(mPtCorrOverReco_Eta_200_600_MiniAOD);
165  ME_MiniAOD.push_back(mPtCorrOverReco_Eta_1500_3500_MiniAOD);
166  ME_MiniAOD.push_back(mPtCorrOverGen_GenEta_40_200_MiniAOD);
167  ME_MiniAOD.push_back(mPtCorrOverGen_GenEta_600_1500_MiniAOD);
168  ME_MiniAOD.push_back(mDeltaEta_MiniAOD);
169  ME_MiniAOD.push_back(mDeltaPhi_MiniAOD);
170  ME_MiniAOD.push_back(mDeltaPt_MiniAOD);
171  ME_MiniAOD.push_back(mMjj_MiniAOD);
172  ME_MiniAOD.push_back(mNJets40_MiniAOD);
173  ME_MiniAOD.push_back(mchargedHadronMultiplicity_MiniAOD);
174  ME_MiniAOD.push_back(mneutralHadronMultiplicity_MiniAOD);
175  ME_MiniAOD.push_back(mphotonMultiplicity_MiniAOD);
176  ME_MiniAOD.push_back(mphotonEnergyFraction_MiniAOD);
177  ME_MiniAOD.push_back(mneutralHadronEnergyFraction_MiniAOD);
178  ME_MiniAOD.push_back(mchargedHadronEnergyFraction_MiniAOD);
179 
180  ibook_.setCurrentFolder(RunDir + "MiniAOD_over_RECO");
181  mGenPt_MiniAOD_over_Reco = ibook_.book1D("GenPt_MiniAOD_over_RECO", (TH1F *)mGenPt_Reco->getRootObject());
182  mGenPhi_MiniAOD_over_Reco = ibook_.book1D("GenPhi_MiniAOD_over_RECO", (TH1F *)mGenPhi_Reco->getRootObject());
183  mGenEta_MiniAOD_over_Reco = ibook_.book1D("GenEta_MiniAOD_over_RECO", (TH1F *)mGenEta_Reco->getRootObject());
184  mPt_MiniAOD_over_Reco = ibook_.book1D("Pt_MiniAOD_over_RECO", (TH1F *)mPt_Reco->getRootObject());
185  mPhi_MiniAOD_over_Reco = ibook_.book1D("Phi_MiniAOD_over_RECO", (TH1F *)mPhi_Reco->getRootObject());
186  mEta_MiniAOD_over_Reco = ibook_.book1D("Eta_MiniAOD_over_RECO", (TH1F *)mEta_Reco->getRootObject());
188  ibook_.book1D("CorrJetPt_MiniAOD_over_RECO", (TH1F *)mCorrJetPt_Reco->getRootObject());
190  ibook_.book1D("CorrJetPhi_MiniAOD_over_RECO", (TH1F *)mCorrJetPhi_Reco->getRootObject());
192  ibook_.book1D("CorrJetEta_MiniAOD_over_RECO", (TH1F *)mCorrJetEta_Reco->getRootObject());
193 
194  // if eta range changed here need change in JetTester as well
195  float etarange[91] = {-6.0, -5.8, -5.6, -5.4, -5.2, -5.0, -4.8, -4.6, -4.4, -4.2, -4.0, -3.8, -3.6,
196  -3.4, -3.2, -3.0, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2.0,
197  -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7,
198  -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6,
199  0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9,
200  2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.2, 3.4,
201  3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0};
202 
204  ibook_.book1D("PtCorrOverReco_Eta_20_40_MiniAOD_over_RECO", "20<genpt<40", 90, etarange);
206  ibook_.book1D("PtCorrOverReco_Eta_200_600_MiniAOD_over_RECO", "200<genpt<600", 90, etarange);
208  ibook_.book1D("PtCorrOverReco_Eta_1500_3500_MiniAOD_over_RECO", "1500<genpt<3500", 90, etarange);
210  ibook_.book1D("PtCorrOverGen_GenEta_40_200_MiniAOD_over_RECO", "40<genpt<200", 90, etarange);
212  ibook_.book1D("PtCorrOverGen_GenEta_600_1500_MiniAOD_over_RECO", "600<genpt<1500", 90, etarange);
213  mDeltaPt_MiniAOD_over_Reco = ibook_.book1D("DeltaPt_MiniAOD_over_RECO", (TH1F *)mDeltaPt_Reco->getRootObject());
214  mDeltaPhi_MiniAOD_over_Reco = ibook_.book1D("DeltaPhi_MiniAOD_over_RECO", (TH1F *)mDeltaPhi_Reco->getRootObject());
215  mDeltaEta_MiniAOD_over_Reco = ibook_.book1D("DeltaEta_MiniAOD_over_RECO", (TH1F *)mDeltaEta_Reco->getRootObject());
216  mMjj_MiniAOD_over_Reco = ibook_.book1D("Mjj_MiniAOD_over_RECO", (TH1F *)mMjj_Reco->getRootObject());
217  mNJets40_MiniAOD_over_Reco = ibook_.book1D("NJets_MiniAOD_over_RECO", (TH1F *)mNJets40_Reco->getRootObject());
219  "chargedHadronMultiplicity_MiniAOD_over_RECO", (TH1F *)mchargedHadronMultiplicity_Reco->getRootObject());
221  "neutralHadronMultiplicity_MiniAOD_over_RECO", (TH1F *)mneutralHadronMultiplicity_Reco->getRootObject());
223  ibook_.book1D("photonMultiplicity_MiniAOD_over_RECO", (TH1F *)mphotonMultiplicity_Reco->getRootObject());
225  "chargedHadronEnergyFraction_MiniAOD_over_RECO", (TH1F *)mchargedHadronEnergyFraction_Reco->getRootObject());
227  "neutralHadronEnergyFraction_MiniAOD_over_RECO", (TH1F *)mneutralHadronEnergyFraction_Reco->getRootObject());
229  ibook_.book1D("photonEnergyFraction_MiniAOD_over_RECO", (TH1F *)mphotonEnergyFraction_Reco->getRootObject());
230 
231  std::vector<MonitorElement *> ME_MiniAOD_over_Reco;
232  ME_MiniAOD_over_Reco.push_back(mGenPt_MiniAOD_over_Reco);
233  ME_MiniAOD_over_Reco.push_back(mGenPhi_MiniAOD_over_Reco);
234  ME_MiniAOD_over_Reco.push_back(mGenEta_MiniAOD_over_Reco);
235  ME_MiniAOD_over_Reco.push_back(mPt_MiniAOD_over_Reco);
236  ME_MiniAOD_over_Reco.push_back(mPhi_MiniAOD_over_Reco);
237  ME_MiniAOD_over_Reco.push_back(mEta_MiniAOD_over_Reco);
238  ME_MiniAOD_over_Reco.push_back(mCorrJetPt_MiniAOD_over_Reco);
239  ME_MiniAOD_over_Reco.push_back(mCorrJetPhi_MiniAOD_over_Reco);
240  ME_MiniAOD_over_Reco.push_back(mCorrJetEta_MiniAOD_over_Reco);
241  ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco);
242  ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco);
243  ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco);
244  ME_MiniAOD_over_Reco.push_back(mPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco);
245  ME_MiniAOD_over_Reco.push_back(mPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco);
246  ME_MiniAOD_over_Reco.push_back(mDeltaEta_MiniAOD_over_Reco);
247  ME_MiniAOD_over_Reco.push_back(mDeltaPhi_MiniAOD_over_Reco);
248  ME_MiniAOD_over_Reco.push_back(mDeltaPt_MiniAOD_over_Reco);
249  ME_MiniAOD_over_Reco.push_back(mMjj_MiniAOD_over_Reco);
250  ME_MiniAOD_over_Reco.push_back(mNJets40_MiniAOD_over_Reco);
251  ME_MiniAOD_over_Reco.push_back(mchargedHadronMultiplicity_MiniAOD_over_Reco);
252  ME_MiniAOD_over_Reco.push_back(mneutralHadronMultiplicity_MiniAOD_over_Reco);
253  ME_MiniAOD_over_Reco.push_back(mphotonMultiplicity_MiniAOD_over_Reco);
254  ME_MiniAOD_over_Reco.push_back(mphotonEnergyFraction_MiniAOD_over_Reco);
255  ME_MiniAOD_over_Reco.push_back(mneutralHadronEnergyFraction_MiniAOD_over_Reco);
256  ME_MiniAOD_over_Reco.push_back(mchargedHadronEnergyFraction_MiniAOD_over_Reco);
257  for (unsigned int j = 0; j < ME_MiniAOD_over_Reco.size(); j++) {
258  MonitorElement *monReco = ME_Reco[j];
259  if (monReco && monReco->getRootObject()) {
260  MonitorElement *monMiniAOD = ME_MiniAOD[j];
261  if (monMiniAOD && monMiniAOD->getRootObject()) {
262  MonitorElement *monMiniAOD_over_RECO = ME_MiniAOD_over_Reco[j];
263  if (monMiniAOD_over_RECO && monMiniAOD_over_RECO->getRootObject()) {
264  for (int i = 0; i <= (monMiniAOD_over_RECO->getNbinsX() + 1); i++) {
265  if (monReco->getBinContent(i) != 0) {
266  monMiniAOD_over_RECO->setBinContent(i, monMiniAOD->getBinContent(i) / monReco->getBinContent(i));
267  } else if (monMiniAOD->getBinContent(i) != 0) {
268  monMiniAOD_over_RECO->setBinContent(i, -0.5);
269  }
270  }
271  }
272  }
273  }
274  }
275  }
276 }
MonitorElement * mDeltaPhi_MiniAOD_over_Reco
MonitorElement * mneutralHadronMultiplicity_MiniAOD_over_Reco
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * mDeltaEta_MiniAOD_over_Reco
TObject * getRootObject() const
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:361
MonitorElement * mPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco
std::vector< std::string > jet_dirs
MonitorElement * mCorrJetPhi_MiniAOD_over_Reco
MonitorElement * mPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco
MonitorElement * mEta_MiniAOD_over_Reco
MonitorElement * mchargedHadronMultiplicity_MiniAOD_over_Reco
MonitorElement * mGenEta_MiniAOD_over_Reco
MonitorElement * mDeltaPt_MiniAOD_over_Reco
MonitorElement * mneutralHadronEnergyFraction_MiniAOD_over_Reco
MonitorElement * mCorrJetPt_MiniAOD_over_Reco
MonitorElement * mchargedHadronEnergyFraction_MiniAOD_over_Reco
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * mphotonEnergyFraction_MiniAOD_over_Reco
MonitorElement * mPhi_MiniAOD_over_Reco
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * mPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco
MonitorElement * mMjj_MiniAOD_over_Reco
MonitorElement * get(std::string const &path)
Definition: DQMStore.cc:303
MonitorElement * mGenPt_MiniAOD_over_Reco
MonitorElement * mphotonMultiplicity_MiniAOD_over_Reco
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * mNJets40_MiniAOD_over_Reco
double getBinContent(int binx) const
get content of bin (1-D)
std::vector< std::string > getSubdirs()
Definition: DQMStore.cc:325
MonitorElement * mCorrJetEta_MiniAOD_over_Reco
MonitorElement * mPt_MiniAOD_over_Reco
int getNbinsX() const
get # of bins in X-axis
MonitorElement * mPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco
MonitorElement * mPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco
MonitorElement * mGenPhi_MiniAOD_over_Reco

Member Data Documentation

edm::InputTag JetTesterPostProcessor::inputJetLabelMiniAOD_
private

Definition at line 37 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob(), and JetTesterPostProcessor().

edm::InputTag JetTesterPostProcessor::inputJetLabelRECO_
private

Definition at line 36 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob(), and JetTesterPostProcessor().

std::vector<std::string> JetTesterPostProcessor::jet_dirs
private

Definition at line 39 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mchargedHadronEnergyFraction_MiniAOD_over_Reco
private

Definition at line 65 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mchargedHadronMultiplicity_MiniAOD_over_Reco
private

Definition at line 60 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mCorrJetEta_MiniAOD_over_Reco
private

Definition at line 49 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mCorrJetPhi_MiniAOD_over_Reco
private

Definition at line 48 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mCorrJetPt_MiniAOD_over_Reco
private

Definition at line 47 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mDeltaEta_MiniAOD_over_Reco
private

Definition at line 55 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mDeltaPhi_MiniAOD_over_Reco
private

Definition at line 56 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mDeltaPt_MiniAOD_over_Reco
private

Definition at line 57 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mEta_MiniAOD_over_Reco
private

Definition at line 46 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mGenEta_MiniAOD_over_Reco
private

Definition at line 43 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mGenPhi_MiniAOD_over_Reco
private

Definition at line 42 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mGenPt_MiniAOD_over_Reco
private

Definition at line 41 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mMjj_MiniAOD_over_Reco
private

Definition at line 58 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mneutralHadronEnergyFraction_MiniAOD_over_Reco
private

Definition at line 64 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mneutralHadronMultiplicity_MiniAOD_over_Reco
private

Definition at line 61 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mNJets40_MiniAOD_over_Reco
private

Definition at line 59 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mPhi_MiniAOD_over_Reco
private

Definition at line 45 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mphotonEnergyFraction_MiniAOD_over_Reco
private

Definition at line 63 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mphotonMultiplicity_MiniAOD_over_Reco
private

Definition at line 62 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mPt_MiniAOD_over_Reco
private

Definition at line 44 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco
private

Definition at line 53 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco
private

Definition at line 54 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco
private

Definition at line 52 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco
private

Definition at line 51 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().

MonitorElement* JetTesterPostProcessor::mPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco
private

Definition at line 50 of file JetTesterPostProcessor.h.

Referenced by dqmEndJob().