CMS 3D CMS Logo

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

#include <EfficiencyPlotter.h>

Inheritance diagram for EfficiencyPlotter:
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

 EfficiencyPlotter (const edm::ParameterSet &ps)
 Constructor. More...
 
 ~EfficiencyPlotter () override
 Destructor. More...
 
- 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
 
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)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 DQM Client Diagnostic. More...
 
- 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)
 

Private Attributes

int etaBin
 
double etaMax
 
double etaMin
 
MonitorElementh_eff_eta_ID
 
MonitorElementh_eff_hp_eta_ID
 
MonitorElementh_eff_inner_eta_ID
 
MonitorElementh_eff_inner_phi_ID
 
MonitorElementh_eff_inner_pt_ID
 
MonitorElementh_eff_phi_ID
 
MonitorElementh_eff_pt_detIsoID
 
MonitorElementh_eff_pt_EB_detIsoID
 
MonitorElementh_eff_pt_EB_ID
 
MonitorElementh_eff_pt_EB_pfIsodBID
 
MonitorElementh_eff_pt_EB_pfIsoID
 
MonitorElementh_eff_pt_EE_detIsoID
 
MonitorElementh_eff_pt_EE_ID
 
MonitorElementh_eff_pt_EE_pfIsodBID
 
MonitorElementh_eff_pt_EE_pfIsoID
 
MonitorElementh_eff_pt_ID
 
MonitorElementh_eff_pt_pfIsodBID
 
MonitorElementh_eff_pt_pfIsoID
 
MonitorElementh_eff_vtx_detIsoID
 
MonitorElementh_eff_vtx_EB_detIsoID
 
MonitorElementh_eff_vtx_EB_pfIsodBID
 
MonitorElementh_eff_vtx_EB_pfIsoID
 
MonitorElementh_eff_vtx_EE_detIsoID
 
MonitorElementh_eff_vtx_EE_pfIsodBID
 
MonitorElementh_eff_vtx_EE_pfIsoID
 
MonitorElementh_eff_vtx_pfIsodBID
 
MonitorElementh_eff_vtx_pfIsoID
 
std::string ID_
 
std::string metname
 
int nevents
 
unsigned int nLumiSegs
 
edm::ParameterSet parameters
 
int phiBin
 
double phiMax
 
double phiMin
 
int prescaleFactor
 
int ptBin
 
double ptMax
 
double ptMin
 
int run
 
DQMStoretheDbe
 
std::string theFolder
 
int vtxBin
 
double vtxMax
 
double vtxMin
 

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

Detailed Description

Definition at line 26 of file EfficiencyPlotter.h.

Constructor & Destructor Documentation

EfficiencyPlotter::EfficiencyPlotter ( const edm::ParameterSet ps)

Constructor.

Definition at line 29 of file EfficiencyPlotter.cc.

References gather_cfg::cout, conversionPostprocessing_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, conversionPostprocessing_cfi::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, electronConversionRejectionValidator::ptBin, AlignmentTrackSelector_cfi::ptMax, and ptMin.

29  {
30 #ifdef DEBUG
31  cout << "EfficiencyPlotter(): Constructor " << endl;
32 #endif
33  parameters = ps;
34 
35  etaBin = parameters.getParameter<int>("etaBin");
36  etaMin = parameters.getParameter<double>("etaMin");
37  etaMax = parameters.getParameter<double>("etaMax");
38 
39  phiBin = parameters.getParameter<int>("phiBin");
40  phiMin = parameters.getParameter<double>("phiMin");
41  phiMax = parameters.getParameter<double>("phiMax");
42 
43  ptBin = parameters.getParameter<int>("ptBin");
44  ptMin = parameters.getParameter<double>("ptMin");
45  ptMax = parameters.getParameter<double>("ptMax");
46 
47  vtxBin = parameters.getParameter<int>("vtxBin");
48  vtxMin = parameters.getParameter<double>("vtxMin");
49  vtxMax = parameters.getParameter<double>("vtxMax");
50 
51  ID_ = parameters.getParameter<string>("MuonID");
52  theFolder = parameters.getParameter<string>("folder");
53 }
EfficiencyPlotter::~EfficiencyPlotter ( )
override

Destructor.

Definition at line 54 of file EfficiencyPlotter.cc.

54 {}

Member Function Documentation

void EfficiencyPlotter::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overrideprotectedvirtual

DQM Client Diagnostic.

— Tight Muon efficiency vs muon Pt

— Tight Muon efficiency vs muon inner Pt

— Tight Muon efficiency vs muon inner eta

— Tight Muon efficiency vs muon inner phi

— Tight Muon efficiency vs muon Pt [EB]

— Tight Muon efficiency vs muon Pt [EE]

— Tight Muon efficiency vs muon Eta

— Tight Muon efficiency vs muon Eta [ pt > 20 ]

— Tight Muon efficiency vs muon Phi

— Tight Muon + Detector Isolation efficiency vs muon Pt

— Tight Muon + Detector Isolation efficiency vs muon Pt [EB]

— Tight Muon + Detector Isolation efficiency vs muon Pt [EE]

— Tight Muon + PF Isolation efficiency vs muon Pt

— Tight Muon + PF Isolation efficiency vs muon Pt [EB]

— Tight Muon + PF Isolation efficiency vs muon Pt [EE]

— Tight Muon + PF Isolation efficiency vs muon number of reco Vertex

— Tight Muon + detector-Based Isolation efficiency vs muon number of reco Vertex

— Tight Muon + detector-Based Isolation efficiency vs muon number of reco Vertex [EB]

— Tight Muon + detector-Based Isolation efficiency vs muon number of reco Vertex [EE]

— Tight Muon + PF-Based Isolation efficiency vs muon number of reco Vertex [EB]

— Tight Muon + PF-Based Isolation efficiency vs muon number of reco Vertex [EE]

— Tight Muon + PF IsodBlation corrected by deltaBeta efficiency vs muon Pt

— Tight Muon + PF IsodBlation corrected by deltaBeta efficiency vs muon Pt [EB]

— Tight Muon + PF IsodBlation corrected by deltaBeta efficiency vs muon Pt [EE]

— Tight Muon + PF Isolation corrected by deltaBeta efficiency vs muon number of reco Vertex

— Tight Muon + PF-Based Isolation corrected by deltaBeta efficiency vs muon number of reco Vertex [EB]

— Tight Muon + PF-Based Isolation corrected by deltaBeta efficiency vs muon number of reco Vertex [EE]

Implements DQMEDHarvester.

Definition at line 56 of file EfficiencyPlotter.cc.

References DQMStore::IBooker::book1D(), conversionPostprocessing_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, DQMStore::IGetter::get(), MonitorElement::getTH1F(), specificLumi::inputdir, conversionPostprocessing_cfi::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, electronConversionRejectionValidator::ptBin, AlignmentTrackSelector_cfi::ptMax, ptMin, DQMStore::IBooker::setCurrentFolder(), and MonitorElement::setEfficiencyFlag().

56  {
57 
58  ibooker.setCurrentFolder(theFolder);
59 
60  // efficiency plot
61  h_eff_eta_ID = ibooker.book1D("Eff_eta_"+ID_, ID_+" Eff. vs #eta", etaBin, etaMin, etaMax);
62  h_eff_inner_pt_ID = ibooker.book1D("Eff_inner_pt_"+ID_, ID_+" Eff. vs pt", ptBin, ptMin, ptMax);
63  h_eff_inner_eta_ID = ibooker.book1D("Eff_inner_eta_"+ID_, ID_+" Eff. vs #eta", etaBin, etaMin, etaMax);
64  h_eff_inner_phi_ID = ibooker.book1D("Eff_inner_phi_"+ID_, ID_+" Eff. vs #phi", phiBin, phiMin, phiMax);
65  h_eff_hp_eta_ID = ibooker.book1D("Eff_hp_eta_"+ID_, "High Pt "+ID_+" Eff. vs #eta", etaBin, etaMin, etaMax);
66  h_eff_phi_ID = ibooker.book1D("Eff_phi_"+ID_, ID_+" Eff. vs #phi", phiBin, phiMin, phiMax);
67  h_eff_pt_ID = ibooker.book1D("Eff_pt_"+ID_, ID_+" Eff. vs Pt", ptBin, ptMin, ptMax);
68  h_eff_pt_EB_ID = ibooker.book1D("Eff_pt_EB_"+ID_, "Barrel: "+ID_+" Eff. vs Pt", ptBin, ptMin, ptMax);
69  h_eff_pt_EE_ID = ibooker.book1D("Eff_pt_EE_"+ID_, "Endcap: "+ID_+" Eff. vs Pt", ptBin, ptMin, ptMax);
70  h_eff_pt_detIsoID = ibooker.book1D("Eff_pt_detIso"+ID_, "detIso"+ID_+" Efficiency vs Pt", ptBin, ptMin, ptMax);
71  h_eff_pt_EB_detIsoID = ibooker.book1D("Eff_pt_EB_detIso"+ID_, "Barrel: detIso"+ID_+" Eff. vs Pt", ptBin, ptMin, ptMax);
72  h_eff_pt_EE_detIsoID = ibooker.book1D("Eff_pt_EE_detIso"+ID_, "Endcap: detIso"+ID_+" Eff. vs Pt", ptBin, ptMin, ptMax);
73  h_eff_pt_pfIsoID = ibooker.book1D("Eff_pt_pfIso"+ID_, "pfIso"+ID_+" Eff. vs Pt", ptBin, ptMin, ptMax);
74  h_eff_pt_EB_pfIsoID = ibooker.book1D("Eff_pt_EB_pfIso"+ID_, "Barrel: pfIso"+ID_+" Eff. vs Pt", ptBin, ptMin, ptMax);
75  h_eff_pt_EE_pfIsoID = ibooker.book1D("Eff_pt_EE_pfIso"+ID_, "Endcap: pfIso"+ID_+" Eff. vs Pt", ptBin, ptMin, ptMax);
76  h_eff_vtx_detIsoID = ibooker.book1D("Eff_vtx_detIso"+ID_, "detIso"+ID_+" Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
77  h_eff_vtx_pfIsoID = ibooker.book1D("Eff_vtx_pfIso"+ID_, "pfIso"+ID_+" Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
78  h_eff_vtx_EB_detIsoID = ibooker.book1D("Eff_vtx_EB_detIso"+ID_, "Barrel: detIso"+ID_+" Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
79  h_eff_vtx_EB_pfIsoID = ibooker.book1D("Eff_vtx_EB_pfIso"+ID_, "Barrel: pfIso"+ID_+" Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
80  h_eff_vtx_EE_detIsoID = ibooker.book1D("Eff_vtx_EE_detIso"+ID_, "Endcap: detIso"+ID_+" Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
81  h_eff_vtx_EE_pfIsoID = ibooker.book1D("Eff_vtx_EE_pfIso"+ID_, "Endcap: pfIso"+ID_+" Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
82 
83  h_eff_pt_pfIsodBID = ibooker.book1D("Eff_pt_pfIsodB"+ID_, "pfIso"+ID_+" (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
84  h_eff_pt_EB_pfIsodBID = ibooker.book1D("Eff_pt_EB_pfIsodB"+ID_, "Barrel: pfIso"+ID_+" (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
85  h_eff_pt_EE_pfIsodBID = ibooker.book1D("Eff_pt_EE_pfIsodB"+ID_, "Endcap: pfIso"+ID_+" (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
86  h_eff_vtx_pfIsodBID = ibooker.book1D("Eff_vtx_pfIsodB"+ID_, "pfIso"+ID_+" (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
87  h_eff_vtx_EB_pfIsodBID = ibooker.book1D("Eff_vtx_EB_pfIsodB"+ID_, "Barrel: pfIso"+ID_+" (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
88  h_eff_vtx_EE_pfIsodBID = ibooker.book1D("Eff_vtx_EE_pfIsodB"+ID_, "Endcap: pfIso"+ID_+" (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
89 
90  // This prevents this ME to be normalized when drawn into the GUI
112 
119 
120 
121  // AXIS TITLES....
122  h_eff_hp_eta_ID ->setAxisTitle("#eta", 1);
123  h_eff_inner_eta_ID ->setAxisTitle("#eta", 1);
124  h_eff_inner_pt_ID ->setAxisTitle("#eta", 1);
125  h_eff_inner_phi_ID ->setAxisTitle("#eta", 1);
126  h_eff_eta_ID ->setAxisTitle("#eta", 1);
127  h_eff_phi_ID ->setAxisTitle("#phi", 1);
128  h_eff_pt_ID ->setAxisTitle("p_{T} (GeV)", 1);
129  h_eff_pt_EB_ID ->setAxisTitle("p_{T} (GeV)", 1);
130  h_eff_pt_EE_ID ->setAxisTitle("p_{T} (GeV)", 1);
131  h_eff_pt_detIsoID ->setAxisTitle("p_{T} (GeV)", 1);
132  h_eff_pt_EB_detIsoID ->setAxisTitle("p_{T} (GeV)", 1);
133  h_eff_pt_EE_detIsoID ->setAxisTitle("p_{T} (GeV)", 1);
134  h_eff_pt_pfIsoID ->setAxisTitle("p_{T} (GeV)", 1);
135  h_eff_pt_EB_pfIsoID ->setAxisTitle("p_{T} (GeV)", 1);
136  h_eff_pt_EE_pfIsoID ->setAxisTitle("p_{T} (GeV)", 1);
137  h_eff_vtx_detIsoID ->setAxisTitle("Number of PV", 1);
138  h_eff_vtx_pfIsoID ->setAxisTitle("Number of PV", 1);
139  h_eff_vtx_EB_detIsoID->setAxisTitle("Number of PV", 1);
140  h_eff_vtx_EB_pfIsoID ->setAxisTitle("Number of PV", 1);
141  h_eff_vtx_EE_detIsoID->setAxisTitle("Number of PV", 1);
142  h_eff_vtx_EE_pfIsoID ->setAxisTitle("Number of PV", 1);
143 
144  h_eff_pt_pfIsodBID ->setAxisTitle("p_{T} (GeV)", 1);
145  h_eff_pt_EB_pfIsodBID ->setAxisTitle("p_{T} (GeV)", 1);
146  h_eff_pt_EE_pfIsodBID ->setAxisTitle("p_{T} (GeV)", 1);
147  h_eff_vtx_pfIsodBID ->setAxisTitle("Number of PV", 1);
148  h_eff_vtx_EB_pfIsodBID ->setAxisTitle("Number of PV", 1);
149  h_eff_vtx_EE_pfIsodBID ->setAxisTitle("Number of PV", 1);
150 
151 
153  string inputdir = "Muons/EfficiencyAnalyzer/"+ID_;
154  string numpath_pt = inputdir+"/passProbes_ID_pt";
155  string denpath_pt = inputdir+"/allProbes_pt";
156 
157  MonitorElement *Numerator_pt = igetter.get(numpath_pt);
158  MonitorElement *Denominator_pt = igetter.get(denpath_pt);
159 
160  if (Numerator_pt && Denominator_pt){
161  TH1F *h_numerator_pt = Numerator_pt->getTH1F();
162  TH1F *h_denominator_pt = Denominator_pt->getTH1F();
163  TH1F *h_eff_pt = h_eff_pt_ID->getTH1F();
164 
165  if (h_eff_pt->GetSumw2N() == 0) h_eff_pt->Sumw2();
166  h_eff_pt->Divide(h_numerator_pt, h_denominator_pt, 1., 1., "B");
167  }
168 
170  string numpath_inner_pt = inputdir+"/passProbes_ID_inner_pt";
171  string denpath_inner_pt = inputdir+"/allProbes_inner_pt";
172 
173  MonitorElement *Numerator_inner_pt = igetter.get(numpath_inner_pt);
174  MonitorElement *Denominator_inner_pt = igetter.get(denpath_inner_pt);
175 
176  if (Numerator_inner_pt && Denominator_inner_pt){
177  TH1F *h_numerator_inner_pt = Numerator_inner_pt->getTH1F();
178  TH1F *h_denominator_inner_pt = Denominator_inner_pt->getTH1F();
179  TH1F *h_eff_inner_pt = h_eff_inner_pt_ID->getTH1F();
180 
181  if (h_eff_inner_pt->GetSumw2N() == 0) h_eff_inner_pt->Sumw2();
182  h_eff_inner_pt->Divide(h_numerator_inner_pt, h_denominator_inner_pt, 1., 1., "B");
183  }
184 
186  string numpath_inner_eta = inputdir+"/passProbes_ID_inner_eta";
187  string denpath_inner_eta = inputdir+"/allProbes_inner_eta";
188 
189  MonitorElement *Numerator_inner_eta = igetter.get(numpath_inner_eta);
190  MonitorElement *Denominator_inner_eta = igetter.get(denpath_inner_eta);
191 
192  if (Numerator_inner_eta && Denominator_inner_eta){
193  TH1F *h_numerator_inner_eta = Numerator_inner_eta->getTH1F();
194  TH1F *h_denominator_inner_eta = Denominator_inner_eta->getTH1F();
195  TH1F *h_eff_inner_eta = h_eff_inner_eta_ID->getTH1F();
196 
197  if (h_eff_inner_eta->GetSumw2N() == 0) h_eff_inner_eta->Sumw2();
198  h_eff_inner_eta->Divide(h_numerator_inner_eta, h_denominator_inner_eta, 1., 1., "B");
199  }
200 
202  string numpath_inner_phi = inputdir+"/passProbes_ID_inner_phi";
203  string denpath_inner_phi = inputdir+"/allProbes_inner_phi";
204 
205  MonitorElement *Numerator_inner_phi = igetter.get(numpath_inner_phi);
206  MonitorElement *Denominator_inner_phi = igetter.get(denpath_inner_phi);
207 
208  if (Numerator_inner_phi && Denominator_inner_phi){
209  TH1F *h_numerator_inner_phi = Numerator_inner_phi->getTH1F();
210  TH1F *h_denominator_inner_phi = Denominator_inner_phi->getTH1F();
211  TH1F *h_eff_inner_phi = h_eff_inner_phi_ID->getTH1F();
212 
213  if (h_eff_inner_phi->GetSumw2N() == 0) h_eff_inner_phi->Sumw2();
214  h_eff_inner_phi->Divide(h_numerator_inner_phi, h_denominator_inner_phi, 1., 1., "B");
215  }
216 
218  string numpath_EB_pt = inputdir+"/passProbes_ID_EB_pt";
219  string denpath_EB_pt = inputdir+"/allProbes_EB_pt";
220 
221  MonitorElement *Numerator_EB_pt = igetter.get(numpath_EB_pt);
222  MonitorElement *Denominator_EB_pt = igetter.get(denpath_EB_pt);
223 
224  if (Numerator_EB_pt && Denominator_EB_pt){
225  TH1F *h_numerator_EB_pt = Numerator_EB_pt->getTH1F();
226  TH1F *h_denominator_EB_pt = Denominator_EB_pt->getTH1F();
227  TH1F *h_eff_EB_pt = h_eff_pt_EB_ID->getTH1F();
228 
229  if (h_eff_EB_pt->GetSumw2N() == 0) h_eff_EB_pt->Sumw2();
230  h_eff_EB_pt->Divide(h_numerator_EB_pt, h_denominator_EB_pt, 1., 1., "B");
231  }
232 
234  string numpath_EE_pt = inputdir+"/passProbes_ID_EE_pt";
235  string denpath_EE_pt = inputdir+"/allProbes_EE_pt";
236 
237  MonitorElement *Numerator_EE_pt = igetter.get(numpath_EE_pt);
238  MonitorElement *Denominator_EE_pt = igetter.get(denpath_EE_pt);
239 
240  if (Numerator_EE_pt && Denominator_EE_pt){
241  TH1F *h_numerator_EE_pt = Numerator_EE_pt->getTH1F();
242  TH1F *h_denominator_EE_pt = Denominator_EE_pt->getTH1F();
243  TH1F *h_eff_EE_pt = h_eff_pt_EE_ID->getTH1F();
244 
245  if (h_eff_EE_pt->GetSumw2N() == 0) h_eff_EE_pt->Sumw2();
246  h_eff_EE_pt->Divide(h_numerator_EE_pt, h_denominator_EE_pt, 1., 1., "B");
247  }
248 
250  string numpath_eta = inputdir+"/passProbes_ID_eta";
251  string denpath_eta = inputdir+"/allProbes_eta";
252 
253  MonitorElement *Numerator_eta = igetter.get(numpath_eta);
254  MonitorElement *Denominator_eta = igetter.get(denpath_eta);
255 
256  if (Numerator_eta && Denominator_eta){
257 
258  TH1F *h_numerator_eta = Numerator_eta->getTH1F();
259  TH1F *h_denominator_eta = Denominator_eta->getTH1F();
260 
261  TH1F *h_eff_eta = h_eff_eta_ID->getTH1F();
262 
263  if (h_eff_eta->GetSumw2N() == 0) h_eff_eta->Sumw2();
264 
265  h_eff_eta->Divide(h_numerator_eta, h_denominator_eta, 1., 1., "B");
266 
267  }
268 
270 
271  string numpath_hp_eta = inputdir+"/passProbes_ID_hp_eta";
272  string denpath_hp_eta = inputdir+"/allProbes_hp_eta";
273 
274  MonitorElement *Numerator_hp_eta = igetter.get(numpath_hp_eta);
275  MonitorElement *Denominator_hp_eta = igetter.get(denpath_hp_eta);
276 
277  if (Numerator_hp_eta && Denominator_hp_eta){
278 
279  TH1F *h_numerator_hp_eta = Numerator_hp_eta->getTH1F();
280  TH1F *h_denominator_hp_eta = Denominator_hp_eta->getTH1F();
281 
282  TH1F *h_eff_hp_eta = h_eff_hp_eta_ID->getTH1F();
283 
284  if (h_eff_hp_eta->GetSumw2N() == 0) h_eff_hp_eta->Sumw2();
285 
286  h_eff_hp_eta->Divide(h_numerator_hp_eta, h_denominator_hp_eta, 1., 1., "B");
287 
288  }
289 
291 
292  string numpath_phi = inputdir+"/passProbes_ID_phi";
293  string denpath_phi = inputdir+"/allProbes_phi";
294 
295  MonitorElement *Numerator_phi = igetter.get(numpath_phi);
296  MonitorElement *Denominator_phi = igetter.get(denpath_phi);
297 
298  if (Numerator_phi && Denominator_phi){
299 
300  TH1F *h_numerator_phi = Numerator_phi->getTH1F();
301  TH1F *h_denominator_phi = Denominator_phi->getTH1F();
302 
303  TH1F *h_eff_phi = h_eff_phi_ID->getTH1F();
304 
305  if (h_eff_phi->GetSumw2N() == 0) h_eff_phi->Sumw2();
306 
307  h_eff_phi->Divide(h_numerator_phi, h_denominator_phi, 1., 1., "B");
308 
309  }
310 
311 
313  string numpath_detIso_pt = inputdir+"/passProbes_detIsoID_pt";
314  string denpath_detIso_pt = inputdir+"/allProbes_ID_pt";
315 
316  MonitorElement *Numerator_detIso_pt = igetter.get(numpath_detIso_pt);
317  MonitorElement *Denominator_detIso_pt = igetter.get(denpath_detIso_pt);
318 
319  if (Numerator_detIso_pt && Denominator_detIso_pt){
320 
321  TH1F *h_numerator_detIso_pt = Numerator_detIso_pt->getTH1F();
322  TH1F *h_denominator_detIso_pt = Denominator_detIso_pt->getTH1F();
323 
324  TH1F *h_eff_detIso_pt = h_eff_pt_detIsoID->getTH1F();
325 
326  if (h_eff_detIso_pt->GetSumw2N() == 0) h_eff_detIso_pt->Sumw2();
327  h_eff_detIso_pt->Divide(h_numerator_detIso_pt, h_denominator_detIso_pt, 1., 1., "B");
328 
329  }
330 
331 
333  string numpath_detIso_EB_pt = inputdir+"/passProbes_EB_detIsoID_pt";
334  string denpath_detIso_EB_pt = inputdir+"/allProbes_EB_ID_pt";
335 
336  MonitorElement *Numerator_detIso_EB_pt = igetter.get(numpath_detIso_EB_pt);
337  MonitorElement *Denominator_detIso_EB_pt = igetter.get(denpath_detIso_EB_pt);
338 
339  if (Numerator_detIso_EB_pt && Denominator_detIso_EB_pt){
340 
341  TH1F *h_numerator_detIso_EB_pt = Numerator_detIso_EB_pt->getTH1F();
342  TH1F *h_denominator_detIso_EB_pt = Denominator_detIso_EB_pt->getTH1F();
343 
344  TH1F *h_eff_detIso_EB_pt = h_eff_pt_EB_detIsoID->getTH1F();
345 
346  if (h_eff_detIso_EB_pt->GetSumw2N() == 0) h_eff_detIso_EB_pt->Sumw2();
347 
348  h_eff_detIso_EB_pt->Divide(h_numerator_detIso_EB_pt, h_denominator_detIso_EB_pt, 1., 1., "B");
349 
350  }
351 
352 
354  string numpath_detIso_EE_pt = inputdir+"/passProbes_EE_detIsoID_pt";
355  string denpath_detIso_EE_pt = inputdir+"/allProbes_EE_ID_pt";
356 
357  MonitorElement *Numerator_detIso_EE_pt = igetter.get(numpath_detIso_EE_pt);
358  MonitorElement *Denominator_detIso_EE_pt = igetter.get(denpath_detIso_EE_pt);
359 
360  if (Numerator_detIso_EE_pt && Denominator_detIso_EE_pt){
361 
362  TH1F *h_numerator_detIso_EE_pt = Numerator_detIso_EE_pt->getTH1F();
363  TH1F *h_denominator_detIso_EE_pt = Denominator_detIso_EE_pt->getTH1F();
364 
365  TH1F *h_eff_detIso_EE_pt = h_eff_pt_EE_detIsoID->getTH1F();
366 
367  if (h_eff_detIso_EE_pt->GetSumw2N() == 0) h_eff_detIso_EE_pt->Sumw2();
368 
369  h_eff_detIso_EE_pt->Divide(h_numerator_detIso_EE_pt, h_denominator_detIso_EE_pt, 1., 1., "B");
370 
371  }
372 
373 
375  string numpath_pfIso_pt = inputdir+"/passProbes_pfIsoID_pt";
376  string denpath_pfIso_pt = inputdir+"/allProbes_ID_pt";
377 
378  MonitorElement *Numerator_pfIso_pt = igetter.get(numpath_pfIso_pt);
379  MonitorElement *Denominator_pfIso_pt = igetter.get(denpath_pfIso_pt);
380 
381  if (Numerator_pfIso_pt && Denominator_pfIso_pt){
382 
383  TH1F *h_numerator_pfIso_pt = Numerator_pfIso_pt->getTH1F();
384  TH1F *h_denominator_pfIso_pt = Denominator_pfIso_pt->getTH1F();
385 
386  TH1F *h_eff_pfIso_pt = h_eff_pt_pfIsoID->getTH1F();
387 
388  if (h_eff_pfIso_pt->GetSumw2N() == 0) h_eff_pfIso_pt->Sumw2();
389 
390  h_eff_pfIso_pt->Divide(h_numerator_pfIso_pt, h_denominator_pfIso_pt, 1., 1., "B");
391  }
392 
393 
395 
396  string numpath_pfIso_EB_pt = inputdir+"/passProbes_EB_pfIsoID_pt";
397  string denpath_pfIso_EB_pt = inputdir+"/allProbes_EB_ID_pt";
398 
399  MonitorElement *Numerator_pfIso_EB_pt = igetter.get(numpath_pfIso_EB_pt);
400  MonitorElement *Denominator_pfIso_EB_pt = igetter.get(denpath_pfIso_EB_pt);
401 
402  if (Numerator_pfIso_EB_pt && Denominator_pfIso_EB_pt){
403 
404  TH1F *h_numerator_pfIso_EB_pt = Numerator_pfIso_EB_pt->getTH1F();
405  TH1F *h_denominator_pfIso_EB_pt = Denominator_pfIso_EB_pt->getTH1F();
406 
407  TH1F *h_eff_pfIso_EB_pt = h_eff_pt_EB_pfIsoID->getTH1F();
408 
409  if (h_eff_pfIso_EB_pt->GetSumw2N() == 0) h_eff_pfIso_EB_pt->Sumw2();
410  h_eff_pfIso_EB_pt->Divide(h_numerator_pfIso_EB_pt, h_denominator_pfIso_EB_pt, 1., 1., "B");
411 
412  }
413 
414 
416  string numpath_pfIso_EE_pt = inputdir+"/passProbes_EE_pfIsoID_pt";
417  string denpath_pfIso_EE_pt = inputdir+"/allProbes_EE_ID_pt";
418 
419  MonitorElement *Numerator_pfIso_EE_pt = igetter.get(numpath_pfIso_EE_pt);
420  MonitorElement *Denominator_pfIso_EE_pt = igetter.get(denpath_pfIso_EE_pt);
421 
422  if (Numerator_pfIso_EE_pt && Denominator_pfIso_EE_pt){
423 
424  TH1F *h_numerator_pfIso_EE_pt = Numerator_pfIso_EE_pt->getTH1F();
425  TH1F *h_denominator_pfIso_EE_pt = Denominator_pfIso_EE_pt->getTH1F();
426 
427  TH1F *h_eff_pfIso_EE_pt = h_eff_pt_EE_pfIsoID->getTH1F();
428 
429  if (h_eff_pfIso_EE_pt->GetSumw2N() == 0) h_eff_pfIso_EE_pt->Sumw2();
430 
431  h_eff_pfIso_EE_pt->Divide(h_numerator_pfIso_EE_pt, h_denominator_pfIso_EE_pt, 1., 1., "B");
432 
433  }
434 
435 
437 
438  string numpath_pfIso_nvtx = inputdir+"/passProbes_pfIsoID_nVtx";
439  string denpath_pfIso_nvtx = inputdir+"/allProbes_ID_nVtx";
440 
441  MonitorElement *Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
442  MonitorElement *Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
443 
444  if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx){
445 
446  TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
447  TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
448 
449  TH1F *h_eff_pfIso_nvtx = h_eff_vtx_pfIsoID->getTH1F();
450 
451  if (h_eff_pfIso_nvtx->GetSumw2N() == 0) h_eff_pfIso_nvtx->Sumw2();
452 
453  h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
454 
455  }
456 
457 
458 
460  string numpath_detIso_nvtx = inputdir+"/passProbes_detIsoID_nVtx";
461  string denpath_detIso_nvtx = inputdir+"/allProbes_ID_nVtx";
462 
463  MonitorElement *Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
464  MonitorElement *Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
465 
466  if (Numerator_detIso_nvtx && Denominator_detIso_nvtx){
467 
468  TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
469  TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
470 
471  TH1F *h_eff_detIso_nvtx = h_eff_vtx_detIsoID->getTH1F();
472 
473  if (h_eff_detIso_nvtx->GetSumw2N() == 0) h_eff_detIso_nvtx->Sumw2();
474 
475  h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
476 
477  }
478 
479 
481  numpath_detIso_nvtx = inputdir+"/passProbes_EB_detIsoID_nVtx";
482  denpath_detIso_nvtx = inputdir+"/allProbes_EB_ID_nVtx";
483 
484  Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
485  Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
486 
487  if (Numerator_detIso_nvtx && Denominator_detIso_nvtx){
488  TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
489  TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
490 
491  TH1F *h_eff_detIso_nvtx = h_eff_vtx_EB_detIsoID->getTH1F();
492 
493  if (h_eff_detIso_nvtx->GetSumw2N() == 0) h_eff_detIso_nvtx->Sumw2();
494  h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
495  }
496 
498  numpath_detIso_nvtx = inputdir+"/passProbes_EE_detIsoID_nVtx";
499  denpath_detIso_nvtx = inputdir+"/allProbes_EE_ID_nVtx";
500 
501  Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
502  Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
503 
504  if (Numerator_detIso_nvtx && Denominator_detIso_nvtx){
505 
506  TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
507  TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
508 
509  TH1F *h_eff_detIso_nvtx = h_eff_vtx_EE_detIsoID->getTH1F();
510 
511  if (h_eff_detIso_nvtx->GetSumw2N() == 0) h_eff_detIso_nvtx->Sumw2();
512 
513  h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
514 
515  }
516 
517 
519  numpath_pfIso_nvtx = inputdir+"/passProbes_EB_pfIsoID_nVtx";
520  denpath_pfIso_nvtx = inputdir+"/allProbes_EB_ID_nVtx";
521 
522  Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
523  Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
524 
525  if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx){
526 
527  TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
528  TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
529 
530  TH1F *h_eff_pfIso_nvtx = h_eff_vtx_EB_pfIsoID->getTH1F();
531 
532  if (h_eff_pfIso_nvtx->GetSumw2N() == 0) h_eff_pfIso_nvtx->Sumw2();
533 
534  h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
535  }
536 
538  numpath_pfIso_nvtx = inputdir+"/passProbes_EE_pfIsoID_nVtx";
539  denpath_pfIso_nvtx = inputdir+"/allProbes_EE_ID_nVtx";
540 
541  Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
542  Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
543 
544  if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx){
545 
546  TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
547  TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
548 
549  TH1F *h_eff_pfIso_nvtx = h_eff_vtx_EE_pfIsoID->getTH1F();
550 
551  if (h_eff_pfIso_nvtx->GetSumw2N() == 0) h_eff_pfIso_nvtx->Sumw2();
552 
553  h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
554 
555  }
556 
557 
558 
560  string numpath_pfIsodB_pt = inputdir+"/passProbes_pfIsodBID_pt";
561  string denpath_pfIsodB_pt = inputdir+"/allProbes_ID_pt";
562 
563  MonitorElement *Numerator_pfIsodB_pt = igetter.get(numpath_pfIsodB_pt);
564  MonitorElement *Denominator_pfIsodB_pt = igetter.get(denpath_pfIsodB_pt);
565 
566  if (Numerator_pfIsodB_pt && Denominator_pfIsodB_pt){
567 
568  TH1F *h_numerator_pfIsodB_pt = Numerator_pfIsodB_pt->getTH1F();
569  TH1F *h_denominator_pfIsodB_pt = Denominator_pfIsodB_pt->getTH1F();
570 
571  TH1F *h_eff_pfIsodB_pt = h_eff_pt_pfIsodBID->getTH1F();
572 
573  if (h_eff_pfIsodB_pt->GetSumw2N() == 0) h_eff_pfIsodB_pt->Sumw2();
574 
575  h_eff_pfIsodB_pt->Divide(h_numerator_pfIsodB_pt, h_denominator_pfIsodB_pt, 1., 1., "B");
576  }
577 
578 
580 
581  string numpath_pfIsodB_EB_pt = inputdir+"/passProbes_EB_pfIsodBID_pt";
582  string denpath_pfIsodB_EB_pt = inputdir+"/allProbes_EB_ID_pt";
583 
584  MonitorElement *Numerator_pfIsodB_EB_pt = igetter.get(numpath_pfIsodB_EB_pt);
585  MonitorElement *Denominator_pfIsodB_EB_pt = igetter.get(denpath_pfIsodB_EB_pt);
586 
587  if (Numerator_pfIsodB_EB_pt && Denominator_pfIsodB_EB_pt){
588 
589  TH1F *h_numerator_pfIsodB_EB_pt = Numerator_pfIsodB_EB_pt->getTH1F();
590  TH1F *h_denominator_pfIsodB_EB_pt = Denominator_pfIsodB_EB_pt->getTH1F();
591 
592  TH1F *h_eff_pfIsodB_EB_pt = h_eff_pt_EB_pfIsodBID->getTH1F();
593 
594  if (h_eff_pfIsodB_EB_pt->GetSumw2N() == 0) h_eff_pfIsodB_EB_pt->Sumw2();
595  h_eff_pfIsodB_EB_pt->Divide(h_numerator_pfIsodB_EB_pt, h_denominator_pfIsodB_EB_pt, 1., 1., "B");
596 
597  }
598 
599 
601  string numpath_pfIsodB_EE_pt = inputdir+"/passProbes_EE_pfIsodBID_pt";
602  string denpath_pfIsodB_EE_pt = inputdir+"/allProbes_EE_ID_pt";
603 
604  MonitorElement *Numerator_pfIsodB_EE_pt = igetter.get(numpath_pfIsodB_EE_pt);
605  MonitorElement *Denominator_pfIsodB_EE_pt = igetter.get(denpath_pfIsodB_EE_pt);
606 
607  if (Numerator_pfIsodB_EE_pt && Denominator_pfIsodB_EE_pt){
608 
609  TH1F *h_numerator_pfIsodB_EE_pt = Numerator_pfIsodB_EE_pt->getTH1F();
610  TH1F *h_denominator_pfIsodB_EE_pt = Denominator_pfIsodB_EE_pt->getTH1F();
611 
612  TH1F *h_eff_pfIsodB_EE_pt = h_eff_pt_EE_pfIsodBID->getTH1F();
613 
614  if (h_eff_pfIsodB_EE_pt->GetSumw2N() == 0) h_eff_pfIsodB_EE_pt->Sumw2();
615 
616  h_eff_pfIsodB_EE_pt->Divide(h_numerator_pfIsodB_EE_pt, h_denominator_pfIsodB_EE_pt, 1., 1., "B");
617 
618  }
619 
620 
622 
623  string numpath_pfIsodB_nvtx = inputdir+"/passProbes_pfIsodBID_nVtx";
624  string denpath_pfIsodB_nvtx = inputdir+"/allProbes_ID_nVtx";
625 
626  MonitorElement *Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
627  MonitorElement *Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
628 
629  if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx){
630 
631  TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
632  TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
633 
634  TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_pfIsodBID->getTH1F();
635 
636  if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0) h_eff_pfIsodB_nvtx->Sumw2();
637 
638  h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
639 
640  }
641 
642 
644  numpath_pfIsodB_nvtx = inputdir+"/passProbes_EB_pfIsodBID_nVtx";
645  denpath_pfIsodB_nvtx = inputdir+"/allProbes_EB_ID_nVtx";
646 
647  Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
648  Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
649 
650  if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx){
651 
652  TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
653  TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
654 
655  TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_EB_pfIsodBID->getTH1F();
656 
657  if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0) h_eff_pfIsodB_nvtx->Sumw2();
658 
659  h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
660  }
661 
662 
664  numpath_pfIsodB_nvtx = inputdir+"/passProbes_EE_pfIsodBID_nVtx";
665  denpath_pfIsodB_nvtx = inputdir+"/allProbes_EE_ID_nVtx";
666 
667  Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
668  Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
669 
670  if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx){
671 
672  TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
673  TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
674 
675  TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_EE_pfIsodBID->getTH1F();
676 
677  if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0) h_eff_pfIsodB_nvtx->Sumw2();
678 
679  h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
680 
681  }
682 
683 
684 }
MonitorElement * h_eff_vtx_EE_detIsoID
TH1F * getTH1F() const
MonitorElement * h_eff_pt_EE_pfIsoID
MonitorElement * h_eff_inner_eta_ID
MonitorElement * h_eff_pt_EB_pfIsodBID
void setEfficiencyFlag()
MonitorElement * h_eff_pt_EB_pfIsoID
MonitorElement * h_eff_pt_pfIsoID
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * h_eff_vtx_EB_pfIsodBID
MonitorElement * h_eff_pt_EB_detIsoID
MonitorElement * h_eff_pt_ID
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * h_eff_inner_phi_ID
MonitorElement * h_eff_inner_pt_ID
MonitorElement * h_eff_vtx_EE_pfIsoID
MonitorElement * get(std::string const &path)
Definition: DQMStore.cc:303
MonitorElement * h_eff_vtx_detIsoID
MonitorElement * h_eff_phi_ID
MonitorElement * h_eff_eta_ID
MonitorElement * h_eff_pt_detIsoID
MonitorElement * h_eff_vtx_pfIsodBID
MonitorElement * h_eff_vtx_EE_pfIsodBID
MonitorElement * h_eff_hp_eta_ID
MonitorElement * h_eff_pt_EE_pfIsodBID
MonitorElement * h_eff_pt_pfIsodBID
MonitorElement * h_eff_vtx_pfIsoID
MonitorElement * h_eff_pt_EE_detIsoID
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * h_eff_vtx_EB_pfIsoID
MonitorElement * h_eff_pt_EB_ID
MonitorElement * h_eff_pt_EE_ID
MonitorElement * h_eff_vtx_EB_detIsoID

Member Data Documentation

int EfficiencyPlotter::etaBin
private

Definition at line 56 of file EfficiencyPlotter.h.

double EfficiencyPlotter::etaMax
private

Definition at line 58 of file EfficiencyPlotter.h.

double EfficiencyPlotter::etaMin
private

Definition at line 57 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_eta_ID
private

Definition at line 81 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_hp_eta_ID
private

Definition at line 82 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_inner_eta_ID
private

Definition at line 77 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_inner_phi_ID
private

Definition at line 78 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_inner_pt_ID
private

Definition at line 76 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_phi_ID
private

Definition at line 83 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_detIsoID
private

Definition at line 84 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_EB_detIsoID
private

Definition at line 85 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_EB_ID
private

Definition at line 79 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_EB_pfIsodBID
private

Definition at line 99 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_EB_pfIsoID
private

Definition at line 88 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_EE_detIsoID
private

Definition at line 86 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_EE_ID
private

Definition at line 80 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_EE_pfIsodBID
private

Definition at line 100 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_EE_pfIsoID
private

Definition at line 89 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_ID
private

Definition at line 75 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_pfIsodBID
private

Definition at line 98 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_pt_pfIsoID
private

Definition at line 87 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_detIsoID
private

Definition at line 91 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_EB_detIsoID
private

Definition at line 93 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_EB_pfIsodBID
private

Definition at line 103 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_EB_pfIsoID
private

Definition at line 95 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_EE_detIsoID
private

Definition at line 94 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_EE_pfIsodBID
private

Definition at line 104 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_EE_pfIsoID
private

Definition at line 96 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_pfIsodBID
private

Definition at line 102 of file EfficiencyPlotter.h.

MonitorElement* EfficiencyPlotter::h_eff_vtx_pfIsoID
private

Definition at line 92 of file EfficiencyPlotter.h.

std::string EfficiencyPlotter::ID_
private

Definition at line 72 of file EfficiencyPlotter.h.

std::string EfficiencyPlotter::metname
private

Definition at line 50 of file EfficiencyPlotter.h.

int EfficiencyPlotter::nevents
private

Definition at line 45 of file EfficiencyPlotter.h.

unsigned int EfficiencyPlotter::nLumiSegs
private

Definition at line 46 of file EfficiencyPlotter.h.

edm::ParameterSet EfficiencyPlotter::parameters
private
int EfficiencyPlotter::phiBin
private

Definition at line 64 of file EfficiencyPlotter.h.

double EfficiencyPlotter::phiMax
private

Definition at line 66 of file EfficiencyPlotter.h.

double EfficiencyPlotter::phiMin
private

Definition at line 65 of file EfficiencyPlotter.h.

int EfficiencyPlotter::prescaleFactor
private

Definition at line 47 of file EfficiencyPlotter.h.

int EfficiencyPlotter::ptBin
private

Definition at line 60 of file EfficiencyPlotter.h.

double EfficiencyPlotter::ptMax
private

Definition at line 62 of file EfficiencyPlotter.h.

double EfficiencyPlotter::ptMin
private

Definition at line 61 of file EfficiencyPlotter.h.

int EfficiencyPlotter::run
private
DQMStore* EfficiencyPlotter::theDbe
private

Definition at line 52 of file EfficiencyPlotter.h.

std::string EfficiencyPlotter::theFolder
private

Definition at line 105 of file EfficiencyPlotter.h.

int EfficiencyPlotter::vtxBin
private

Definition at line 68 of file EfficiencyPlotter.h.

double EfficiencyPlotter::vtxMax
private

Definition at line 70 of file EfficiencyPlotter.h.

double EfficiencyPlotter::vtxMin
private

Definition at line 69 of file EfficiencyPlotter.h.