#include <EmDQMPostProcessor.h>
Private Member Functions | |
TH2F * | get2DHistogram (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &histoPath) |
TH1F * | getHistogram (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &histoPath) |
Static Private Member Functions | |
static void | Efficiency (int passing, int total, double level, double &mode, double &lowerBound, double &upperBound) |
Private Attributes | |
std::string | dataSet_ |
bool | ignoreEmpty |
bool | noPhiPlots |
bool | normalizeToReco |
std::string | subDir_ |
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 | |
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<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
declare what type of product will make and with which optional label More... | |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
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) |
template<Transition B> | |
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 (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () noexcept |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) noexcept |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
Protected Attributes inherited from DQMEDHarvester | |
DQMStore * | dqmstore_ |
edm::GetterOfProducts< DQMToken > | jobmegetter_ |
edm::EDPutTokenT< DQMToken > | jobToken_ |
edm::GetterOfProducts< DQMToken > | lumimegetter_ |
edm::EDPutTokenT< DQMToken > | lumiToken_ |
edm::GetterOfProducts< DQMToken > | runmegetter_ |
edm::EDPutTokenT< DQMToken > | runToken_ |
Definition at line 7 of file EmDQMPostProcessor.h.
EmDQMPostProcessor::EmDQMPostProcessor | ( | const edm::ParameterSet & | pset | ) |
Definition at line 17 of file EmDQMPostProcessor.cc.
References dataSet_, ignoreEmpty, noPhiPlots, normalizeToReco, muonDTDigis_cfi::pset, AlCaHLTBitMon_QueryRunRegistry::string, and subDir_.
|
inlineoverride |
Definition at line 10 of file EmDQMPostProcessor.h.
TProfile * EmDQMPostProcessor::dividehistos | ( | DQMStore::IBooker & | ibooker, |
DQMStore::IGetter & | igetter, | ||
const std::string & | num, | ||
const std::string & | denom, | ||
const std::string & | out, | ||
const std::string & | label, | ||
const std::string & | titel = "" |
||
) |
Definition at line 396 of file EmDQMPostProcessor.cc.
References dqm::implementation::IBooker::bookProfile(), makePileupJSON::denom, MillePedeFileConverter_cfg::e, Efficiency(), submitPVResolutionJobs::err, getHistogram(), dqm::legacy::MonitorElement::getTProfile(), LaserClient_cfi::high, mps_fire::i, createfilelist::int, label, LaserClient_cfi::low, EgammaValidation_cff::num, MillePedeFileConverter_cfg::out, dataset::outName, dqm::impl::MonitorElement::setEfficiencyFlag(), and mathSSE::sqrt().
Referenced by dqmEndJob().
TH2F * EmDQMPostProcessor::dividehistos2D | ( | DQMStore::IBooker & | ibooker, |
DQMStore::IGetter & | igetter, | ||
const std::string & | num, | ||
const std::string & | denom, | ||
const std::string & | out, | ||
const std::string & | label, | ||
const std::string & | titel = "" |
||
) |
Definition at line 446 of file EmDQMPostProcessor.cc.
References dqm::implementation::IBooker::book2D(), makePileupJSON::denom, get2DHistogram(), dqm::legacy::MonitorElement::getTH2F(), label, EgammaValidation_cff::num, MillePedeFileConverter_cfg::out, and dataset::outName.
Referenced by dqmEndJob().
|
overridevirtual |
Implements DQMEDHarvester.
Definition at line 31 of file EmDQMPostProcessor.cc.
References newFWLiteAna::bin, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), dqm::implementation::NavigatorBase::cd(), dataSet_, DeadROC_duringRun::dir, dqm::implementation::IGetter::dirExists(), dividehistos(), dividehistos2D(), Efficiency(), relativeConstraints::error, ALCARECOTkAlBeamHalo_cff::filter, pdwgDoubleElectron_cfi::filterName, getHistogram(), dqm::implementation::IGetter::getSubdirs(), dqm::legacy::MonitorElement::getTProfile(), dqm::implementation::NavigatorBase::goUp(), HltBtagPostValidation_cff::histoName, ignoreEmpty, createfilelist::int, noPhiPlots, normalizeToReco, dqm::implementation::NavigatorBase::pwd(), dqm::impl::MonitorElement::setEfficiencyFlag(), mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, subDir_, personalPlayback::subdirectories, groupFilesInBlocks::temp, dqmMemoryStats::total, EgHLTOffTrigSelection_cfi::trigName, relativeConstraints::value, trigObjTnPSource_cfi::var, and varNames.
|
staticprivate |
a replacement for the function TGraphAsymmErrors::Efficiency(..) used with earlier versions of ROOT (this functionality has been moved to a separate class TEfficiency)
Definition at line 509 of file EmDQMPostProcessor.cc.
References personalPlayback::level, ALCARECOPromptCalibProdSiPixelAli0T_cff::mode, TagProbeFitTreeAnalyzer_cfi::passing, and dqmMemoryStats::total.
Referenced by dividehistos(), and dqmEndJob().
|
private |
Definition at line 497 of file EmDQMPostProcessor.cc.
References dqm::implementation::IGetter::get(), and dqm::legacy::MonitorElement::getTH2F().
Referenced by dividehistos2D().
|
private |
convenience method to get a histogram but checks first whether the corresponding MonitorElement is non-null.
Definition at line 487 of file EmDQMPostProcessor.cc.
References dqm::implementation::IGetter::get(), and dqm::legacy::MonitorElement::getTH1F().
Referenced by dividehistos(), and dqmEndJob().
|
private |
dataset with which these histograms were produced. This is set by a user parameter in the configuration file.
It is just used for writing it to the DQM output file. Useful to remember with which dataset a histogram file was produced. This code does not do much with this information (apart from copying it to the output file) but it can be used when generating reports.
Definition at line 61 of file EmDQMPostProcessor.h.
Referenced by dqmEndJob(), and EmDQMPostProcessor().
|
private |
Definition at line 42 of file EmDQMPostProcessor.h.
Referenced by dqmEndJob(), and EmDQMPostProcessor().
|
private |
read from the configuration: if set to true, efficiencies are calculated with respect to reconstructed objects (instead of generated objects). This is e.g. a useful option when running on data.
Definition at line 40 of file EmDQMPostProcessor.h.
Referenced by dqmEndJob(), and EmDQMPostProcessor().
|
private |
Definition at line 41 of file EmDQMPostProcessor.h.
Referenced by dqmEndJob(), and EmDQMPostProcessor().
|
private |
Definition at line 49 of file EmDQMPostProcessor.h.
Referenced by dqmEndJob(), and EmDQMPostProcessor().