|
void | beginRun (edm::Run const &, edm::EventSetup const &) override |
|
| HcalOnlineHarvesting (edm::ParameterSet const &) |
|
| ~HcalOnlineHarvesting () override |
|
void | beginRun (edm::Run const &, edm::EventSetup const &) override |
|
| DQHarvester (edm::ParameterSet const &) |
|
void | dqmBeginLuminosityBlock (DQMStore::IBooker &ib, DQMStore::IGetter &ig, edm::LuminosityBlock const &lb, edm::EventSetup const &es) |
|
void | dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override |
|
void | dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override |
|
| ~DQHarvester () override |
|
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 () |
|
| DQMEDHarvester (edm::ParameterSet const &iConfig) |
|
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 |
|
| EDProducer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () 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 |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDProducerBase () override |
|
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 |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > 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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
| DQModule (edm::ParameterSet const &) |
|
virtual | ~DQModule () noexcept(false) |
|
|
void | _dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override |
|
void | _dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override |
|
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 () |
|
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) |
|
file: HcalOnlineHarvesting.h Author: VK Date: .. Description: This is DQMEDAnalyzer which is a edm::one module. edm::one enforces that only 1 run is being processed. https://twiki.cern.ch/twiki/bin/view/CMSPublic/FWMultithreadedFrameworkOneModuleInterface - for details.
HcalOnlineHarvesting is responsible for Status Evaluation and Summary Generation. In this step RAW, DIGI, RECO + TP Data Tiers are evaluated and Summary is generated.
Online: There is always a Current Summary - Summary for the Current LS being Evaluated. It might and might not include the information from previous LSs, depending on the Quantity.
Offline: For Offline only Run Summary is being generated. As it is meaningless to have current LS information being delivered. Only Total Summary makes sense
Definition at line 47 of file HcalOnlineHarvesting.h.
Implements hcaldqm::DQHarvester.
Definition at line 36 of file HcalOnlineHarvesting.cc.
58 for (uint32_t
i = 0;
i <
_vFEDs.size();
i++) {
75 for (uint32_t
i = 0;
i <
_vmarks.size();
i++) {
93 _runSummary =
ib.book2D(
"runSummary",
"runSummary", 1, 0, 1, 1, 0, 1);
99 for (std::vector<uint32_t>::const_iterator it =
_vhashFEDs.begin(); it !=
_vhashFEDs.end(); ++it) {
102 for (uint32_t im = 0; im <
_vmarks.size(); im++)
128 MonitorElement* meOccupancy_HF_depth = ig.
get(
"Hcal/TPTask/OccupancyDataHF_depth/OccupancyDataHF_depth");
130 ig.
get(
"Hcal/TPTask/OccupancyEmulHFNoTDC_depth/OccupancyEmulHFNoTDC_depth");
131 MonitorElement* meOccupancy_HF_ieta = ig.
get(
"Hcal/TPTask/OccupancyDataHF_ieta/OccupancyDataHF_ieta");
133 ig.
get(
"Hcal/TPTask/OccupancyEmulHFNoTDC_ieta/OccupancyEmulHFNoTDC_ieta");
135 if (meOccupancy_HF_depth && meOccupancyNoTDC_HF_depth && meOccupancy_HF_ieta && meOccupancyNoTDC_HF_ieta) {
136 TH2F* hOccupancy_HF_depth = meOccupancy_HF_depth->
getTH2F();
137 TH2F* hOccupancyNoTDC_HF_depth = meOccupancyNoTDC_HF_depth->
getTH2F();
138 TH1F* hOccupancy_HF_ieta = meOccupancy_HF_ieta->
getTH1F();
139 TH1F* hOccupancyNoTDC_HF_ieta = meOccupancyNoTDC_HF_ieta->
getTH1F();
141 TH2F* hEfficiency_HF_depth = (TH2F*)hOccupancy_HF_depth->Clone();
142 hEfficiency_HF_depth->Divide(hOccupancyNoTDC_HF_depth);
143 TH1F* hEfficiency_HF_ieta = (TH1F*)hOccupancy_HF_ieta->Clone();
144 hEfficiency_HF_ieta->Divide(hOccupancyNoTDC_HF_ieta);
146 ib.setCurrentFolder(
"Hcal/TPTask");
148 MonitorElement* meEfficiency_HF_depth =
ib.book2D(
"TDCCutEfficiency_depth", hEfficiency_HF_depth);
150 MonitorElement* meEfficiency_HF_ieta =
ib.book1D(
"TDCCutEfficiency_ieta", hEfficiency_HF_ieta);
153 delete hEfficiency_HF_depth;
154 delete hEfficiency_HF_ieta;
References _cKnownBadChannels_depth, hcaldqm::DQModule::_currentLS, hcaldqm::DQHarvester::_emap, hcaldqm::DQModule::_maxLS, _nBad, _nTotal, hcaldqm::DQModule::_ptype, _reportSummaryMap, _runSummary, hcaldqm::flag::Flag::_state, hcaldqm::DQModule::_subsystem, _thresh_bad_bad, _vcSummaryvsLS, hcaldqm::DQHarvester::_vFEDs, hcaldqm::DQHarvester::_vhashFEDs, _vmarks, _vnames, hcaldqm::DQHarvester::_xQuality, hcaldqm::ContainerXXX< STDTYPE >::begin(), hcaldqm::constants::BIT_AXIS_LS, hcaldqm::constants::BIT_OFFSET, hcaldqm::Container2D::book(), runTauDisplay::eid, hcaldqm::ContainerXXX< STDTYPE >::end(), hcaldqm::flag::fBAD, hcaldqm::hashfunctions::fdepth, fDigi, hcaldqm::flag::fGOOD, hcaldqm::quantity::fieta, hcaldqm::Container2D::fill(), hcaldqm::quantity::fiphi, RemoveAddSevLevel::flag, hcaldqm::quantity::fN, hcaldqm::flag::fNCDAQ, hcaldqm::fOffline, fPedestal, fRaw, fReco, hcaldqm::quantity::fState, fTP, dqm::implementation::IGetter::get(), dqm::legacy::MonitorElement::getTH1(), dqm::legacy::MonitorElement::getTH1F(), dqm::legacy::MonitorElement::getTH2F(), mps_fire::i, cuy::ib, hcaldqm::Container2D::initialize(), name, dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), and dqm::impl::MonitorElement::setEfficiencyFlag().