CMS 3D CMS Logo

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

#include <PhotonOfflineClient.h>

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

Public Member Functions

void book2DHistoVector (DQMStore::IBooker &iBooker, std::vector< std::vector< MonitorElement *> > &vecOfHist, std::string histoType, std::string histoName, std::string title, int xbin, double xmin, double xmax, int ybin=1, double ymin=1, double ymax=2)
 
void book3DHistoVector (DQMStore::IBooker &iBooker, std::vector< std::vector< std::vector< MonitorElement *> > > &vecOfHist, std::string histoType, std::string histoName, std::string title, int xbin, double xmin, double xmax, int ybin=1, double ymin=1, double ymax=2)
 
MonitorElementbookHisto (DQMStore::IBooker &iBooker, std::string histoName, std::string title, int bin, double min, double max)
 
void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 
 PhotonOfflineClient (const edm::ParameterSet &pset)
 
MonitorElementretrieveHisto (DQMStore::IGetter &iGetter, std::string dir, std::string name)
 
virtual void runClient (DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)
 
 ~PhotonOfflineClient () override
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginJob () override
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &) override
 
virtual void dqmAnalyze (DQMStore::IBooker &, DQMStore::IGetter &, edm::Event const &, edm::EventSetup const &)
 
 DQMEDHarvester (edm::ParameterSet const &iConfig)
 
 DQMEDHarvester ()
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (DQMStore::IBooker &, DQMStore::IGetter &, edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &es) final
 
void endProcessBlockProduce (edm::ProcessBlock &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &es) final
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::EndProcessBlockProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void dividePlots (MonitorElement *dividend, MonitorElement *numerator, MonitorElement *denominator)
 
void dividePlots (MonitorElement *dividend, MonitorElement *numerator, double denominator)
 

Private Attributes

std::string analyzerName_
 
bool batch_
 
std::stringstream currentFolder_
 
double cutStep_
 
int etaBin
 
double etaMax
 
double etaMin
 
int etBin
 
double etMax
 
double etMin
 
bool excludeBkgHistos_
 
int histo_index_conversions_
 
int histo_index_efficiency_
 
int histo_index_invMass_
 
int histo_index_photons_
 
std::string inputFileName_
 
bool minimalSetOfHistos_
 
int numberOfSteps_
 
std::string outputFileName_
 
std::vector< std::vector< MonitorElement * > > p_badChannelsFractionVsEt_
 
std::vector< std::vector< MonitorElement * > > p_badChannelsFractionVsEta_
 
std::vector< std::vector< MonitorElement * > > p_badChannelsFractionVsPhi_
 
std::vector< std::vector< MonitorElement * > > p_convFractionVsEt_
 
std::vector< std::vector< MonitorElement * > > p_convFractionVsEta_
 
MonitorElementp_convFractionVsEtaLoose_
 
MonitorElementp_convFractionVsEtaTight_
 
MonitorElementp_convFractionVsEtLoose_
 
MonitorElementp_convFractionVsEtTight_
 
std::vector< std::vector< std::vector< MonitorElement * > > > p_convFractionVsPhi_
 
MonitorElementp_efficiencyVsEtaHLT_
 
MonitorElementp_efficiencyVsEtaLoose_
 
MonitorElementp_efficiencyVsEtaTight_
 
MonitorElementp_efficiencyVsEtHLT_
 
MonitorElementp_efficiencyVsEtLoose_
 
MonitorElementp_efficiencyVsEtTight_
 
MonitorElementp_vertexReconstructionEfficiencyVsEta_
 
edm::ParameterSet parameters_
 
std::vector< std::string > parts_
 
int phiBin
 
double phiMax
 
double phiMin
 
bool standAlone_
 
std::vector< std::string > types_
 
int verbosity_
 

Additional Inherited Members

- Public Types inherited from DQMEDHarvester
typedef dqm::harvesting::DQMStore DQMStore
 
typedef dqm::harvesting::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 
- Protected Attributes inherited from DQMEDHarvester
DQMStoredqmstore_
 
edm::GetterOfProducts< DQMTokenjobmegetter_
 
edm::EDPutTokenT< DQMTokenjobToken_
 
edm::GetterOfProducts< DQMTokenlumimegetter_
 
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::GetterOfProducts< DQMTokenrunmegetter_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

$Id: PhotonOfflineClient authors: Nancy Marinelli, U. of Notre Dame, US Jamie Antonelli, U. of Notre Dame, US

Definition at line 60 of file PhotonOfflineClient.h.

Constructor & Destructor Documentation

◆ PhotonOfflineClient()

PhotonOfflineClient::PhotonOfflineClient ( const edm::ParameterSet pset)
explicit

Definition at line 22 of file PhotonOfflineClient.cc.

References muonRecoAnalyzer_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, photonAnalyzer_cfi::etBin, cosmicPhotonAnalyzer_cfi::etMax, photonAnalyzer_cfi::etMin, BeamMonitor_cff::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, and muonDTDigis_cfi::pset.

22  {
23  //dbe_ = 0;
24  //dbe_ = edm::Service<DQMStore>().operator->();
25  // dbe_->setVerbose(0);
26  parameters_ = pset;
27 
28  analyzerName_ = pset.getParameter<string>("analyzerName");
29  cutStep_ = pset.getParameter<double>("cutStep");
30  numberOfSteps_ = pset.getParameter<int>("numberOfSteps");
31 
32  etMin = pset.getParameter<double>("etMin");
33  etMax = pset.getParameter<double>("etMax");
34  etBin = pset.getParameter<int>("etBin");
35  etaMin = pset.getParameter<double>("etaMin");
36  etaMax = pset.getParameter<double>("etaMax");
37  etaBin = pset.getParameter<int>("etaBin");
38  phiMin = pset.getParameter<double>("phiMin");
39  phiMax = pset.getParameter<double>("phiMax");
40  phiBin = pset.getParameter<int>("phiBin");
41 
42  standAlone_ = pset.getParameter<bool>("standAlone");
43  batch_ = pset.getParameter<bool>("batch");
44  excludeBkgHistos_ = pset.getParameter<bool>("excludeBkgHistos");
45 
46  outputFileName_ = pset.getParameter<string>("OutputFileName");
47  inputFileName_ = pset.getUntrackedParameter<string>("InputFileName");
48 
53 
54  types_.push_back("All");
55  types_.push_back("GoodCandidate");
56  if (!excludeBkgHistos_)
57  types_.push_back("Background");
58 
59  parts_.push_back("AllEcal");
60  parts_.push_back("Barrel");
61  parts_.push_back("Endcaps");
62 }
std::vector< std::string > parts_
std::vector< std::string > types_
edm::ParameterSet parameters_

◆ ~PhotonOfflineClient()

PhotonOfflineClient::~PhotonOfflineClient ( )
override

Definition at line 64 of file PhotonOfflineClient.cc.

64 {}

Member Function Documentation

◆ book2DHistoVector()

void PhotonOfflineClient::book2DHistoVector ( DQMStore::IBooker iBooker,
std::vector< std::vector< MonitorElement *> > &  vecOfHist,
std::string  histoType,
std::string  histoName,
std::string  title,
int  xbin,
double  xmin,
double  xmax,
int  ybin = 1,
double  ymin = 1,
double  ymax = 2 
)

Definition at line 418 of file PhotonOfflineClient.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), TkAlMuonSelectors_cfi::cut, HltBtagPostValidation_cff::histoName, CalibrationSummaryClient_cfi::kind, dqm::implementation::NavigatorBase::pwd(), dqm::implementation::NavigatorBase::setCurrentFolder(), runGCPTkAlMap::title, parallelization::uint, TrackerOfflineValidation_Dqm_cff::xmax, TrackerOfflineValidation_Dqm_cff::xmin, L1TOccupancyClient_cfi::ymax, and L1TOccupancyClient_cfi::ymin.

428  {
429  int histo_index = 0;
430 
431  vector<MonitorElement*> temp1DVector;
432 
433  //determining which folder we're in
434  bool conversionPlot = false;
435  if (iBooker.pwd().find("Conversions") != string::npos)
436  conversionPlot = true;
437 
438  if (conversionPlot) {
440  histo_index = histo_index_conversions_;
441  } else {
443  histo_index = histo_index_photons_;
444  }
445 
446  stringstream histo_number_stream;
447  histo_number_stream << "h_";
448  if (histo_index < 10)
449  histo_number_stream << "0";
450  histo_number_stream << histo_index << "_";
451 
452  for (int cut = 0; cut != numberOfSteps_; ++cut) { //looping over Et cut values
453 
454  for (uint type = 0; type != types_.size(); ++type) { //looping over isolation type
455 
456  currentFolder_.str("");
457  currentFolder_ << "Egamma/" + analyzerName_ + "/" << types_[type] << "Photons/Et above " << (cut + 1) * cutStep_
458  << " GeV";
459  if (conversionPlot)
460  currentFolder_ << "/Conversions";
461 
462  iBooker.setCurrentFolder(currentFolder_.str());
463 
464  string kind;
465  if (conversionPlot)
466  kind = " Conversions: ";
467  else
468  kind = " Photons: ";
469 
470  if (histoType == "1D")
471  temp1DVector.push_back(
472  iBooker.book1D(histo_number_stream.str() + histoName, types_[type] + kind + title, xbin, xmin, xmax));
473  else if (histoType == "2D")
474  temp1DVector.push_back(iBooker.book2D(
475  histo_number_stream.str() + histoName, types_[type] + kind + title, xbin, xmin, xmax, ybin, ymin, ymax));
476  else if (histoType == "Profile")
477  temp1DVector.push_back(iBooker.bookProfile(
478  histo_number_stream.str() + histoName, types_[type] + kind + title, xbin, xmin, xmax, ybin, ymin, ymax, ""));
479  //else cout << "bad histoType\n";
480  }
481 
482  temp2DVector.push_back(temp1DVector);
483  temp1DVector.clear();
484  }
485 }
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
virtual std::string pwd()
Definition: DQMStore.cc:20
std::vector< std::string > types_
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:408
std::stringstream currentFolder_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:221
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

◆ book3DHistoVector()

void PhotonOfflineClient::book3DHistoVector ( DQMStore::IBooker iBooker,
std::vector< std::vector< std::vector< MonitorElement *> > > &  vecOfHist,
std::string  histoType,
std::string  histoName,
std::string  title,
int  xbin,
double  xmin,
double  xmax,
int  ybin = 1,
double  ymin = 1,
double  ymax = 2 
)

Definition at line 487 of file PhotonOfflineClient.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), TkAlMuonSelectors_cfi::cut, HltBtagPostValidation_cff::histoName, CalibrationSummaryClient_cfi::kind, dqm::implementation::NavigatorBase::pwd(), dqm::implementation::NavigatorBase::setCurrentFolder(), runGCPTkAlMap::title, parallelization::uint, TrackerOfflineValidation_Dqm_cff::xmax, TrackerOfflineValidation_Dqm_cff::xmin, L1TOccupancyClient_cfi::ymax, and L1TOccupancyClient_cfi::ymin.

497  {
498  int histo_index = 0;
499 
500  vector<MonitorElement*> temp1DVector;
501  vector<vector<MonitorElement*> > temp2DVector;
502 
503  //determining which folder we're in
504  bool conversionPlot = false;
505  if (iBooker.pwd().find("Conversions") != string::npos)
506  conversionPlot = true;
507 
508  if (conversionPlot) {
510  histo_index = histo_index_conversions_;
511  } else {
513  histo_index = histo_index_photons_;
514  }
515 
516  stringstream histo_number_stream;
517  histo_number_stream << "h_";
518  if (histo_index < 10)
519  histo_number_stream << "0";
520  histo_number_stream << histo_index << "_";
521 
522  for (int cut = 0; cut != numberOfSteps_; ++cut) { //looping over Et cut values
523 
524  for (uint type = 0; type != types_.size(); ++type) { //looping over isolation type
525 
526  for (uint part = 0; part != parts_.size(); ++part) { //looping over different parts of the ecal
527 
528  currentFolder_.str("");
529  currentFolder_ << "Egamma/" + analyzerName_ + "/" << types_[type] << "Photons/Et above " << (cut + 1) * cutStep_
530  << " GeV";
531  if (conversionPlot)
532  currentFolder_ << "/Conversions";
533 
534  iBooker.setCurrentFolder(currentFolder_.str());
535 
536  string kind;
537  if (conversionPlot)
538  kind = " Conversions: ";
539  else
540  kind = " Photons: ";
541 
542  if (histoType == "1D")
543  temp1DVector.push_back(iBooker.book1D(histo_number_stream.str() + histoName + parts_[part],
544  types_[type] + kind + parts_[part] + ": " + title,
545  xbin,
546  xmin,
547  xmax));
548  else if (histoType == "2D")
549  temp1DVector.push_back(iBooker.book2D(histo_number_stream.str() + histoName + parts_[part],
550  types_[type] + kind + parts_[part] + ": " + title,
551  xbin,
552  xmin,
553  xmax,
554  ybin,
555  ymin,
556  ymax));
557  else if (histoType == "Profile")
558  temp1DVector.push_back(iBooker.bookProfile(histo_number_stream.str() + histoName + parts_[part],
559  types_[type] + kind + parts_[part] + ": " + title,
560  xbin,
561  xmin,
562  xmax,
563  ybin,
564  ymin,
565  ymax,
566  ""));
567  //else cout << "bad histoType\n";
568  }
569 
570  temp2DVector.push_back(temp1DVector);
571  temp1DVector.clear();
572  }
573 
574  temp3DVector.push_back(temp2DVector);
575  temp2DVector.clear();
576  }
577 }
std::vector< std::string > parts_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
virtual std::string pwd()
Definition: DQMStore.cc:20
std::vector< std::string > types_
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:408
std::stringstream currentFolder_
part
Definition: HCALResponse.h:20
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:221
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

◆ bookHisto()

PhotonOfflineClient::MonitorElement * PhotonOfflineClient::bookHisto ( DQMStore::IBooker iBooker,
std::string  histoName,
std::string  title,
int  bin,
double  min,
double  max 
)

Definition at line 396 of file PhotonOfflineClient.cc.

References newFWLiteAna::bin, dqm::implementation::IBooker::book1D(), HltBtagPostValidation_cff::histoName, SiStripPI::max, SiStripPI::min, dqm::implementation::NavigatorBase::pwd(), and runGCPTkAlMap::title.

397  {
398  int histo_index = 0;
399  stringstream histo_number_stream;
400 
401  //determining which folder we're in
402  if (iBooker.pwd().find("InvMass") != string::npos) {
404  histo_index = histo_index_invMass_;
405  }
406  if (iBooker.pwd().find("Efficiencies") != string::npos) {
408  histo_index = histo_index_efficiency_;
409  }
410  histo_number_stream << "h_";
411  if (histo_index < 10)
412  histo_number_stream << "0";
413  histo_number_stream << histo_index;
414 
415  return iBooker.book1D(histo_number_stream.str() + "_" + histoName, title, bin, min, max);
416 }
virtual std::string pwd()
Definition: DQMStore.cc:20
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

◆ dividePlots() [1/2]

void PhotonOfflineClient::dividePlots ( MonitorElement dividend,
MonitorElement numerator,
MonitorElement denominator 
)
private

Definition at line 357 of file PhotonOfflineClient.cc.

References bTagMiniDQMDeepCSV::denominator, submitPVResolutionJobs::err, dqmiolumiharvest::j, bTagMiniDQMDeepCSV::numerator, dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinError(), dqm::impl::MonitorElement::setEfficiencyFlag(), dqm::impl::MonitorElement::setEntries(), mathSSE::sqrt(), and relativeConstraints::value.

359  {
360  double value, err;
361 
362  dividend->setEfficiencyFlag();
363  if (denominator->getEntries() == 0)
364  return;
365 
366  for (int j = 1; j <= numerator->getNbinsX(); j++) {
367  if (denominator->getBinContent(j) != 0) {
368  value = ((double)numerator->getBinContent(j)) / ((double)denominator->getBinContent(j));
369  err = sqrt(value * (1 - value) / ((double)denominator->getBinContent(j)));
370  dividend->setBinContent(j, value);
371  dividend->setBinError(j, err);
372  } else {
373  dividend->setBinContent(j, 0);
374  dividend->setBinError(j, 0);
375  }
376  dividend->setEntries(numerator->getEntries());
377  }
378 }
virtual void setEntries(double nentries)
set # of entries
T sqrt(T t)
Definition: SSEVec.h:23
Definition: value.py:1
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
virtual void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)

◆ dividePlots() [2/2]

void PhotonOfflineClient::dividePlots ( MonitorElement dividend,
MonitorElement numerator,
double  denominator 
)
private

Definition at line 380 of file PhotonOfflineClient.cc.

References bTagMiniDQMDeepCSV::denominator, submitPVResolutionJobs::err, dqmiolumiharvest::j, bTagMiniDQMDeepCSV::numerator, dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinError(), dqm::impl::MonitorElement::setEfficiencyFlag(), mathSSE::sqrt(), and relativeConstraints::value.

380  {
381  double value, err;
382 
383  dividend->setEfficiencyFlag();
384  for (int j = 1; j <= numerator->getNbinsX(); j++) {
385  if (denominator != 0) {
386  value = ((double)numerator->getBinContent(j)) / denominator;
387  err = sqrt(value * (1 - value) / denominator);
388  dividend->setBinContent(j, value);
389  dividend->setBinError(j, err);
390  } else {
391  dividend->setBinContent(j, 0);
392  }
393  }
394 }
T sqrt(T t)
Definition: SSEVec.h:23
Definition: value.py:1
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
virtual void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)

◆ dqmEndJob()

void PhotonOfflineClient::dqmEndJob ( DQMStore::IBooker iBooker,
DQMStore::IGetter iGetter 
)
overridevirtual

Implements DQMEDHarvester.

Definition at line 68 of file PhotonOfflineClient.cc.

68  {
69  if (!standAlone_)
70  runClient(iBooker, iGetter);
71 }
virtual void runClient(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)

◆ retrieveHisto()

PhotonOfflineClient::MonitorElement * PhotonOfflineClient::retrieveHisto ( DQMStore::IGetter iGetter,
std::string  dir,
std::string  name 
)

Definition at line 579 of file PhotonOfflineClient.cc.

References DeadROC_duringRun::dir, dqm::implementation::IGetter::getContents(), Skims_PA_cff::name, and parallelization::uint.

581  {
582  //cout << "dir = " << dir << endl;
583  //cout << "name = " << name << endl;
584  vector<MonitorElement*> histoVector;
585  uint indexOfRelevantHistogram = 0;
586  string fullMEName = "";
587  histoVector = iGetter.getContents(dir);
588  for (uint index = 0; index != histoVector.size(); index++) {
589  string MEName = histoVector[index]->getName();
590  if (MEName.find(name) != string::npos) {
591  indexOfRelevantHistogram = index;
592  break;
593  }
594  }
595  return histoVector[indexOfRelevantHistogram];
596 }
virtual std::vector< dqm::harvesting::MonitorElement * > getContents(std::string const &path) const
Definition: DQMStore.cc:625

◆ runClient()

void PhotonOfflineClient::runClient ( DQMStore::IBooker iBooker,
DQMStore::IGetter iGetter 
)
virtual

Definition at line 74 of file PhotonOfflineClient.cc.

References gather_cfg::cout, TkAlMuonSelectors_cfi::cut, bTagMiniDQMDeepCSV::denominator, dqm::implementation::IGetter::dirExists(), muonRecoAnalyzer_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, photonAnalyzer_cfi::etBin, cosmicPhotonAnalyzer_cfi::etMax, photonAnalyzer_cfi::etMin, dqm::implementation::IGetter::get(), dqm::impl::MonitorElement::getIntValue(), bTagMiniDQMDeepCSV::numerator, BeamMonitor_cff::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, dqm::implementation::NavigatorBase::setCurrentFolder(), and parallelization::uint.

74  {
75  // if(!dbe_) return;
76 
77  //if(batch_) dbe_->open(inputFileName_);
78 
79  //std::cout << " PostProcessing analyzer name " << analyzerName_ << std::endl;
80  if (!iGetter.dirExists("Egamma/" + analyzerName_)) {
81  std::cout << "Folder Egamma/" + analyzerName_ + " does not exist - Abort the efficiency calculation " << std::endl;
82  return;
83  }
84 
85  //find out how many histograms are in the various folders
86  histo_index_photons_ = iGetter.get("Egamma/" + analyzerName_ + "/numberOfHistogramsInPhotonsFolder")->getIntValue();
88  iGetter.get("Egamma/" + analyzerName_ + "/numberOfHistogramsInConversionsFolder")->getIntValue();
90  iGetter.get("Egamma/" + analyzerName_ + "/numberOfHistogramsInEfficiencyFolder")->getIntValue();
91  histo_index_invMass_ = iGetter.get("Egamma/" + analyzerName_ + "/numberOfHistogramsInInvMassFolder")->getIntValue();
92 
93  iGetter.setCurrentFolder("Egamma/" + analyzerName_ + "/");
94 
95  string AllPath = "Egamma/" + analyzerName_ + "/AllPhotons/";
96  string IsoPath = "Egamma/" + analyzerName_ + "/GoodCandidatePhotons/";
97  string NonisoPath = "Egamma/" + analyzerName_ + "/BackgroundPhotons/";
98  string EffPath = "Egamma/" + analyzerName_ + "/Efficiencies/";
99 
100  //booking efficiency histograms
101  iGetter.setCurrentFolder(EffPath);
102 
104  "EfficiencyVsEtaLoose",
105  "Fraction of Photons passing Loose Isolation vs #eta;#eta",
106  etaBin,
107  etaMin,
108  etaMax);
110  "EfficiencyVsEtLoose",
111  "Fraction of Photons passing Loose Isolation vs E_{T};E_{T} (GeV)",
112  etBin,
113  etMin,
114  etMax);
116  "EfficiencyVsEtaTight",
117  "Fraction of Photons passing Tight Isolation vs #eta;#eta",
118  etaBin,
119  etaMin,
120  etaMax);
122  "EfficiencyVsEtTight",
123  "Fraction of Photons passing Tight Isolation vs E_{T};E_{T} (GeV)",
124  etBin,
125  etMin,
126  etMax);
127 
129  bookHisto(iBooker, "EfficiencyVsEtaHLT", "Fraction of Photons firing HLT vs #eta;#eta", etaBin, etaMin, etaMax);
131  iBooker, "EfficiencyVsEtHLT", "Fraction of Photons firing HLT vs E_{T};E_{T} (GeV)", etBin, etMin, etMax);
132 
134  bookHisto(iBooker,
135  "ConvFractionVsEtaLoose",
136  "Fraction of Loosely Isolated Photons which are matched to two tracks vs #eta;#eta",
137  etaBin,
138  etaMin,
139  etaMax);
141  bookHisto(iBooker,
142  "ConvFractionVsEtLoose",
143  "Fraction of Loosely Isolated Photons which are matched to two tracks vs E_{T};E_{T} (GeV)",
144  etBin,
145  etMin,
146  etMax);
148  bookHisto(iBooker,
149  "ConvFractionVsEtaTight",
150  "Fraction of Tightly Isolated Photons which are matched to two tracks vs #eta;#eta",
151  etaBin,
152  etaMin,
153  etaMax);
155  bookHisto(iBooker,
156  "ConvFractionVsEtTight",
157  "Fraction of Tightly Isolated Photons which are matched to two tracks vs E_{T};E_{T} (GeV)",
158  etBin,
159  etMin,
160  etMax);
161 
163  bookHisto(iBooker,
164  "VertexReconstructionEfficiencyVsEta",
165  "Fraction of Converted Photons which have a valid vertex vs #eta;#eta",
166  etaBin,
167  etaMin,
168  etaMax);
169 
170  //booking conversion fraction histograms
171  iGetter.setCurrentFolder(AllPath + "Et above 20 GeV/Conversions");
172  book2DHistoVector(iBooker,
174  "1D",
175  "convFractionVsEt",
176  "Fraction of Converted Photons vs E_{T};E_{T} (GeV)",
177  etBin,
178  etMin,
179  etMax);
180  book3DHistoVector(iBooker,
182  "1D",
183  "convFractionVsPhi",
184  "Fraction of Converted Photons vs #phi;#phi",
185  phiBin,
186  phiMin,
187  phiMax);
188  book2DHistoVector(iBooker,
190  "1D",
191  "convFractionVsEta",
192  "Fraction of Converted Photons vs #eta;#eta",
193  etaBin,
194  etaMin,
195  etaMax);
196 
197  //booking bad channel fraction histograms
198  iGetter.setCurrentFolder(AllPath + "Et above 20 GeV/");
199  book2DHistoVector(iBooker,
201  "1D",
202  "badChannelsFractionVsPhi",
203  "Fraction of Photons which have at least one bad channel vs #phi;#phi",
204  phiBin,
205  phiMin,
206  phiMax);
207  book2DHistoVector(iBooker,
209  "1D",
210  "badChannelsFractionVsEta",
211  "Fraction of Photons which have at least one bad channel vs #eta;#eta",
212  etaBin,
213  etaMin,
214  etaMax);
215  book2DHistoVector(iBooker,
217  "1D",
218  "badChannelsFractionVsEt",
219  "Fraction of Photons which have at least one bad channel vs E_{T};E_{T} (GeV)",
220  etBin,
221  etMin,
222  etMax);
223 
224  //making efficiency plots
225  MonitorElement* dividend;
228 
229  currentFolder_.str("");
230  currentFolder_ << AllPath << "Et above 20 GeV/";
231 
232  //HLT efficiency plots
233  dividend = retrieveHisto(iGetter, EffPath, "EfficiencyVsEtaHLT");
234  numerator = retrieveHisto(iGetter, EffPath, "phoEtaPostHLT");
235  denominator = retrieveHisto(iGetter, EffPath, "phoEtaPreHLT");
236  dividePlots(dividend, numerator, denominator);
237 
238  dividend = retrieveHisto(iGetter, EffPath, "EfficiencyVsEtHLT");
239  numerator = retrieveHisto(iGetter, EffPath, "phoEtPostHLT");
240  denominator = retrieveHisto(iGetter, EffPath, "phoEtPreHLT");
241  dividePlots(dividend, numerator, denominator);
242 
243  //efficiencies vs Eta
244  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoEta");
245 
246  dividend = retrieveHisto(iGetter, EffPath, "EfficiencyVsEtaLoose");
247  numerator = retrieveHisto(iGetter, EffPath, "phoEtaLoose");
248  dividePlots(dividend, numerator, denominator);
249 
250  dividend = retrieveHisto(iGetter, EffPath, "EfficiencyVsEtaTight");
251  numerator = retrieveHisto(iGetter, EffPath, "phoEtaTight");
252  dividePlots(dividend, numerator, denominator);
253 
254  //efficiencies vs Et
255  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoEtAllEcal");
256 
257  dividend = retrieveHisto(iGetter, EffPath, "EfficiencyVsEtLoose");
258  numerator = retrieveHisto(iGetter, EffPath, "phoEtLoose");
259  dividePlots(dividend, numerator, denominator);
260 
261  dividend = retrieveHisto(iGetter, EffPath, "EfficiencyVsEtTight");
262  numerator = retrieveHisto(iGetter, EffPath, "phoEtTight");
263  dividePlots(dividend, numerator, denominator);
264 
265  //conversion fractions vs Eta
266  dividend = retrieveHisto(iGetter, EffPath, "ConvFractionVsEtaLoose");
267  numerator = retrieveHisto(iGetter, EffPath, "convEtaLoose");
268  denominator = retrieveHisto(iGetter, EffPath, "phoEtaLoose");
269  dividePlots(dividend, numerator, denominator);
270 
271  dividend = retrieveHisto(iGetter, EffPath, "ConvFractionVsEtaTight");
272  numerator = retrieveHisto(iGetter, EffPath, "convEtaTight");
273  denominator = retrieveHisto(iGetter, EffPath, "phoEtaTight");
274  dividePlots(dividend, numerator, denominator);
275 
276  //conversion fractions vs Et
277  dividend = retrieveHisto(iGetter, EffPath, "ConvFractionVsEtLoose");
278  numerator = retrieveHisto(iGetter, EffPath, "convEtLoose");
279  denominator = retrieveHisto(iGetter, EffPath, "phoEtLoose");
280  dividePlots(dividend, numerator, denominator);
281 
282  dividend = retrieveHisto(iGetter, EffPath, "ConvFractionVsEtTight");
283  numerator = retrieveHisto(iGetter, EffPath, "convEtTight");
284  denominator = retrieveHisto(iGetter, EffPath, "phoEtTight");
285  dividePlots(dividend, numerator, denominator);
286 
287  //conversion vertex recontruction efficiency
288  dividend = retrieveHisto(iGetter, EffPath, "VertexReconstructionEfficiencyVsEta");
289  numerator = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "phoConvEta");
290  denominator = retrieveHisto(iGetter, EffPath, "phoEtaVertex");
291  dividePlots(dividend, numerator, denominator);
292 
293  iGetter.setCurrentFolder(EffPath);
294 
295  for (uint type = 0; type != types_.size(); ++type) {
296  for (int cut = 0; cut != numberOfSteps_; ++cut) {
297  currentFolder_.str("");
298  currentFolder_ << "Egamma/" + analyzerName_ + "/" << types_[type] << "Photons/Et above " << (cut + 1) * cutStep_
299  << " GeV/";
300 
301  //making bad channel histograms
302 
303  //vs Et
304  dividend = retrieveHisto(iGetter, currentFolder_.str(), "badChannelsFractionVsEt");
305  numerator = retrieveHisto(iGetter, currentFolder_.str(), "phoEtBadChannels");
306  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoEtAllEcal");
307  dividePlots(dividend, numerator, denominator);
308 
309  //vs eta
310  dividend = retrieveHisto(iGetter, currentFolder_.str(), "badChannelsFractionVsEta");
311  numerator = retrieveHisto(iGetter, currentFolder_.str(), "phoEtaBadChannels");
312  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoEta");
313  dividePlots(dividend, numerator, denominator);
314 
315  //vs phi
316  dividend = retrieveHisto(iGetter, currentFolder_.str(), "badChannelsFractionVsPhi");
317  numerator = retrieveHisto(iGetter, currentFolder_.str(), "phoPhiBadChannels");
318  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoPhiAllEcal");
319  dividePlots(dividend, numerator, denominator);
320 
321  //making conversion fraction histograms
322 
323  //vs Et
324  dividend = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "convFractionVsEt");
325  numerator = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "phoConvEtAllEcal");
326  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoEtAllEcal");
327  dividePlots(dividend, numerator, denominator);
328 
329  //vs eta
330  dividend = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "convFractionVsEta");
331  numerator = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "phoConvEtaForEfficiency");
332  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoEta");
333  dividePlots(dividend, numerator, denominator);
334 
335  //vs phi
336  dividend = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "convFractionVsPhiAllEcal");
337  numerator = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "phoConvPhiForEfficiencyAllEcal");
338  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoPhiAllEcal");
339  dividePlots(dividend, numerator, denominator);
340  dividend = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "convFractionVsPhiBarrel");
341  numerator = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "phoConvPhiForEfficiencyBarrel");
342  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoPhiBarrel");
343  dividePlots(dividend, numerator, denominator);
344  dividend = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "convFractionVsPhiEndcaps");
345  numerator = retrieveHisto(iGetter, currentFolder_.str() + "Conversions/", "phoConvPhiForEfficiencyEndcaps");
346  denominator = retrieveHisto(iGetter, currentFolder_.str(), "phoPhiEndcaps");
347  dividePlots(dividend, numerator, denominator);
348 
349  iGetter.setCurrentFolder(currentFolder_.str() + "Conversions/");
350  }
351  }
352 
353  // if(standAlone_) dbe_->save(outputFileName_);
354  //else if(batch_) dbe_->save(inputFileName_);
355 }
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
virtual bool dirExists(std::string const &path) const
Definition: DQMStore.cc:769
std::vector< std::vector< MonitorElement * > > p_badChannelsFractionVsEta_
std::vector< std::string > types_
std::vector< std::vector< MonitorElement * > > p_convFractionVsEta_
MonitorElement * retrieveHisto(DQMStore::IGetter &iGetter, std::string dir, std::string name)
std::vector< std::vector< MonitorElement * > > p_convFractionVsEt_
MonitorElement * p_convFractionVsEtaLoose_
MonitorElement * p_vertexReconstructionEfficiencyVsEta_
std::vector< std::vector< MonitorElement * > > p_badChannelsFractionVsPhi_
void book2DHistoVector(DQMStore::IBooker &iBooker, std::vector< std::vector< MonitorElement *> > &vecOfHist, std::string histoType, std::string histoName, std::string title, int xbin, double xmin, double xmax, int ybin=1, double ymin=1, double ymax=2)
MonitorElement * p_efficiencyVsEtHLT_
void dividePlots(MonitorElement *dividend, MonitorElement *numerator, MonitorElement *denominator)
std::stringstream currentFolder_
MonitorElement * p_efficiencyVsEtaLoose_
MonitorElement * p_convFractionVsEtaTight_
void book3DHistoVector(DQMStore::IBooker &iBooker, std::vector< std::vector< std::vector< MonitorElement *> > > &vecOfHist, std::string histoType, std::string histoName, std::string title, int xbin, double xmin, double xmax, int ybin=1, double ymin=1, double ymax=2)
MonitorElement * bookHisto(DQMStore::IBooker &iBooker, std::string histoName, std::string title, int bin, double min, double max)
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:712
MonitorElement * p_efficiencyVsEtaHLT_
MonitorElement * p_efficiencyVsEtLoose_
MonitorElement * p_efficiencyVsEtaTight_
MonitorElement * p_convFractionVsEtTight_
std::vector< std::vector< MonitorElement * > > p_badChannelsFractionVsEt_
MonitorElement * p_convFractionVsEtLoose_
std::vector< std::vector< std::vector< MonitorElement * > > > p_convFractionVsPhi_
MonitorElement * p_efficiencyVsEtTight_
virtual int64_t getIntValue() const

Member Data Documentation

◆ analyzerName_

std::string PhotonOfflineClient::analyzerName_
private

Definition at line 98 of file PhotonOfflineClient.h.

◆ batch_

bool PhotonOfflineClient::batch_
private

Definition at line 144 of file PhotonOfflineClient.h.

◆ currentFolder_

std::stringstream PhotonOfflineClient::currentFolder_
private

Definition at line 149 of file PhotonOfflineClient.h.

◆ cutStep_

double PhotonOfflineClient::cutStep_
private

Definition at line 128 of file PhotonOfflineClient.h.

◆ etaBin

int PhotonOfflineClient::etaBin
private

Definition at line 138 of file PhotonOfflineClient.h.

◆ etaMax

double PhotonOfflineClient::etaMax
private

Definition at line 137 of file PhotonOfflineClient.h.

◆ etaMin

double PhotonOfflineClient::etaMin
private

Definition at line 136 of file PhotonOfflineClient.h.

◆ etBin

int PhotonOfflineClient::etBin
private

Definition at line 135 of file PhotonOfflineClient.h.

◆ etMax

double PhotonOfflineClient::etMax
private

Definition at line 134 of file PhotonOfflineClient.h.

◆ etMin

double PhotonOfflineClient::etMin
private

Definition at line 133 of file PhotonOfflineClient.h.

◆ excludeBkgHistos_

bool PhotonOfflineClient::excludeBkgHistos_
private

Definition at line 131 of file PhotonOfflineClient.h.

◆ histo_index_conversions_

int PhotonOfflineClient::histo_index_conversions_
private

Definition at line 152 of file PhotonOfflineClient.h.

◆ histo_index_efficiency_

int PhotonOfflineClient::histo_index_efficiency_
private

Definition at line 153 of file PhotonOfflineClient.h.

◆ histo_index_invMass_

int PhotonOfflineClient::histo_index_invMass_
private

Definition at line 154 of file PhotonOfflineClient.h.

◆ histo_index_photons_

int PhotonOfflineClient::histo_index_photons_
private

Definition at line 151 of file PhotonOfflineClient.h.

◆ inputFileName_

std::string PhotonOfflineClient::inputFileName_
private

Definition at line 147 of file PhotonOfflineClient.h.

◆ minimalSetOfHistos_

bool PhotonOfflineClient::minimalSetOfHistos_
private

Definition at line 130 of file PhotonOfflineClient.h.

◆ numberOfSteps_

int PhotonOfflineClient::numberOfSteps_
private

Definition at line 129 of file PhotonOfflineClient.h.

◆ outputFileName_

std::string PhotonOfflineClient::outputFileName_
private

Definition at line 146 of file PhotonOfflineClient.h.

◆ p_badChannelsFractionVsEt_

std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_badChannelsFractionVsEt_
private

Definition at line 117 of file PhotonOfflineClient.h.

◆ p_badChannelsFractionVsEta_

std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_badChannelsFractionVsEta_
private

Definition at line 115 of file PhotonOfflineClient.h.

◆ p_badChannelsFractionVsPhi_

std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_badChannelsFractionVsPhi_
private

Definition at line 116 of file PhotonOfflineClient.h.

◆ p_convFractionVsEt_

std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_convFractionVsEt_
private

Definition at line 113 of file PhotonOfflineClient.h.

◆ p_convFractionVsEta_

std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_convFractionVsEta_
private

Definition at line 111 of file PhotonOfflineClient.h.

◆ p_convFractionVsEtaLoose_

MonitorElement* PhotonOfflineClient::p_convFractionVsEtaLoose_
private

Definition at line 106 of file PhotonOfflineClient.h.

◆ p_convFractionVsEtaTight_

MonitorElement* PhotonOfflineClient::p_convFractionVsEtaTight_
private

Definition at line 108 of file PhotonOfflineClient.h.

◆ p_convFractionVsEtLoose_

MonitorElement* PhotonOfflineClient::p_convFractionVsEtLoose_
private

Definition at line 107 of file PhotonOfflineClient.h.

◆ p_convFractionVsEtTight_

MonitorElement* PhotonOfflineClient::p_convFractionVsEtTight_
private

Definition at line 109 of file PhotonOfflineClient.h.

◆ p_convFractionVsPhi_

std::vector<std::vector<std::vector<MonitorElement*> > > PhotonOfflineClient::p_convFractionVsPhi_
private

Definition at line 112 of file PhotonOfflineClient.h.

◆ p_efficiencyVsEtaHLT_

MonitorElement* PhotonOfflineClient::p_efficiencyVsEtaHLT_
private

Definition at line 103 of file PhotonOfflineClient.h.

◆ p_efficiencyVsEtaLoose_

MonitorElement* PhotonOfflineClient::p_efficiencyVsEtaLoose_
private

Definition at line 99 of file PhotonOfflineClient.h.

◆ p_efficiencyVsEtaTight_

MonitorElement* PhotonOfflineClient::p_efficiencyVsEtaTight_
private

Definition at line 101 of file PhotonOfflineClient.h.

◆ p_efficiencyVsEtHLT_

MonitorElement* PhotonOfflineClient::p_efficiencyVsEtHLT_
private

Definition at line 104 of file PhotonOfflineClient.h.

◆ p_efficiencyVsEtLoose_

MonitorElement* PhotonOfflineClient::p_efficiencyVsEtLoose_
private

Definition at line 100 of file PhotonOfflineClient.h.

◆ p_efficiencyVsEtTight_

MonitorElement* PhotonOfflineClient::p_efficiencyVsEtTight_
private

Definition at line 102 of file PhotonOfflineClient.h.

◆ p_vertexReconstructionEfficiencyVsEta_

MonitorElement* PhotonOfflineClient::p_vertexReconstructionEfficiencyVsEta_
private

Definition at line 119 of file PhotonOfflineClient.h.

◆ parameters_

edm::ParameterSet PhotonOfflineClient::parameters_
private

◆ parts_

std::vector<std::string> PhotonOfflineClient::parts_
private

Definition at line 157 of file PhotonOfflineClient.h.

◆ phiBin

int PhotonOfflineClient::phiBin
private

Definition at line 141 of file PhotonOfflineClient.h.

◆ phiMax

double PhotonOfflineClient::phiMax
private

Definition at line 140 of file PhotonOfflineClient.h.

◆ phiMin

double PhotonOfflineClient::phiMin
private

Definition at line 139 of file PhotonOfflineClient.h.

◆ standAlone_

bool PhotonOfflineClient::standAlone_
private

Definition at line 143 of file PhotonOfflineClient.h.

◆ types_

std::vector<std::string> PhotonOfflineClient::types_
private

Definition at line 156 of file PhotonOfflineClient.h.

◆ verbosity_

int PhotonOfflineClient::verbosity_
private

Definition at line 124 of file PhotonOfflineClient.h.