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::one::WatchRuns, edm::one::WatchLuminosityBlocks, edm::one::SharedResources, edm::EndLuminosityBlockProducer > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 JetTesterPostProcessor (const edm::ParameterSet &)
 
 ~JetTesterPostProcessor ()
 
- Public Member Functions inherited from DQMEDHarvester
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQMEDHarvester (void)
 
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 endRun (edm::Run const &, edm::EventSetup const &) override
 
void produce (edm::Event &, edm::EventSetup const &) final
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks, edm::one::SharedResources, edm::EndLuminosityBlockProducer >
 EDProducer ()=default
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () 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)
 
virtual ~ProducerBase () noexcept(false)
 
- 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
 
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
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

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

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 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)
 

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_.

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

Definition at line 25 of file JetTesterPostProcessor.cc.

26 {
27 }

Member Function Documentation

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

Implements DQMEDHarvester.

Definition at line 32 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.

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