CMS 3D CMS Logo

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

#include <L1TdeCSCTPGClient.h>

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

 L1TdeCSCTPGClient (const edm::ParameterSet &ps)
 Constructor. More...
 
 ~L1TdeCSCTPGClient () override
 Destructor. More...
 
- 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 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 final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () 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
 
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
 
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::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
 
bool registeredToConsumeMany (TypeID const &, 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::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 
void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
 
- 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 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<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)
 

Private Member Functions

void book (DQMStore::IBooker &ibooker)
 
void processHistograms (DQMStore::IGetter &)
 

Private Attributes

MonitorElementalctDataSummary_eff_
 
MonitorElementalctEmulSummary_eff_
 
std::vector< double > alctMaxBin_
 
std::vector< double > alctMinBin_
 
std::vector< unsigned > alctNBin_
 
std::vector< std::string > alctVars_
 
std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos_
 
std::vector< std::string > chambers_
 
MonitorElementclctDataSummary_eff_
 
MonitorElementclctEmulSummary_eff_
 
std::vector< double > clctMaxBin_
 
std::vector< double > clctMinBin_
 
std::vector< unsigned > clctNBin_
 
std::vector< std::string > clctVars_
 
bool isRun3_
 
MonitorElementlctDataSummary_eff_
 
MonitorElementlctEmulSummary_eff_
 
std::vector< double > lctMaxBin_
 
std::vector< double > lctMinBin_
 
std::vector< unsigned > lctNBin_
 
std::vector< std::string > lctVars_
 
bool make1DPlots_
 
std::string monitorDir_
 
bool useB904_
 
bool useB904ME11_
 
bool useB904ME21_
 
bool useB904ME234s2_
 

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

Definition at line 13 of file L1TdeCSCTPGClient.h.

Constructor & Destructor Documentation

◆ L1TdeCSCTPGClient()

L1TdeCSCTPGClient::L1TdeCSCTPGClient ( const edm::ParameterSet ps)

Constructor.

Definition at line 13 of file L1TdeCSCTPGClient.cc.

References or, useB904_, useB904ME11_, useB904ME21_, and useB904ME234s2_.

14  : monitorDir_(ps.getParameter<string>("monitorDir")),
15  chambers_(ps.getParameter<std::vector<std::string>>("chambers")),
16  // variables
17  alctVars_(ps.getParameter<std::vector<std::string>>("alctVars")),
18  clctVars_(ps.getParameter<std::vector<std::string>>("clctVars")),
19  lctVars_(ps.getParameter<std::vector<std::string>>("lctVars")),
20  // binning
21  alctNBin_(ps.getParameter<std::vector<unsigned>>("alctNBin")),
22  clctNBin_(ps.getParameter<std::vector<unsigned>>("clctNBin")),
23  lctNBin_(ps.getParameter<std::vector<unsigned>>("lctNBin")),
24  alctMinBin_(ps.getParameter<std::vector<double>>("alctMinBin")),
25  clctMinBin_(ps.getParameter<std::vector<double>>("clctMinBin")),
26  lctMinBin_(ps.getParameter<std::vector<double>>("lctMinBin")),
27  alctMaxBin_(ps.getParameter<std::vector<double>>("alctMaxBin")),
28  clctMaxBin_(ps.getParameter<std::vector<double>>("clctMaxBin")),
29  lctMaxBin_(ps.getParameter<std::vector<double>>("lctMaxBin")),
30  useB904ME11_(ps.getParameter<bool>("useB904ME11")),
31  useB904ME21_(ps.getParameter<bool>("useB904ME21")),
32  useB904ME234s2_(ps.getParameter<bool>("useB904ME234s2")),
33  isRun3_(ps.getParameter<bool>("isRun3")),
34  // by default the DQM will make 2D summary plots. Do you also want
35  // the very large number of 1D plots? Typically only for testing at B904 or
36  // on select P5 data
37  make1DPlots_(ps.getParameter<bool>("make1DPlots")) {
39 }
std::vector< double > alctMaxBin_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< double > clctMaxBin_
std::vector< std::string > lctVars_
std::vector< double > lctMinBin_
std::vector< std::string > alctVars_
std::string monitorDir_
std::vector< unsigned > alctNBin_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
std::vector< double > alctMinBin_
std::vector< unsigned > lctNBin_
std::vector< double > clctMinBin_
std::vector< double > lctMaxBin_
std::vector< std::string > chambers_
std::vector< std::string > clctVars_
std::vector< unsigned > clctNBin_

◆ ~L1TdeCSCTPGClient()

L1TdeCSCTPGClient::~L1TdeCSCTPGClient ( )
override

Destructor.

Definition at line 41 of file L1TdeCSCTPGClient.cc.

41 {}

Member Function Documentation

◆ book()

void L1TdeCSCTPGClient::book ( DQMStore::IBooker ibooker)
private

Definition at line 57 of file L1TdeCSCTPGClient.cc.

References alctDataSummary_eff_, alctEmulSummary_eff_, alctMaxBin_, alctMinBin_, alctNBin_, alctVars_, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), chamberHistos_, chambers_, clctDataSummary_eff_, clctEmulSummary_eff_, clctMaxBin_, clctMinBin_, clctNBin_, clctVars_, B2GTnPMonitor_cfi::histTitle, isRun3_, crabWrapper::key, lctDataSummary_eff_, lctEmulSummary_eff_, lctMaxBin_, lctMinBin_, lctNBin_, lctVars_, make1DPlots_, monitorDir_, or, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), dqm::impl::MonitorElement::setOption(), AlCaHLTBitMon_QueryRunRegistry::string, groupFilesInBlocks::temp, useB904ME11_, useB904ME21_, and useB904ME234s2_.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

57  {
58  iBooker.setCurrentFolder(monitorDir_);
59 
60  // remove the non-ME1/1 chambers from the list when useB904ME11 is set to true
61  if (useB904ME11_) {
62  chambers_.resize(1);
63  }
64  // similar for ME2/1
65  else if (useB904ME21_) {
66  auto temp = chambers_[3];
67  chambers_.resize(1);
68  chambers_[0] = temp;
69  }
70  // similar for ME4/2
71  else if (useB904ME234s2_) {
72  auto temp = chambers_.back();
73  chambers_.resize(1);
74  chambers_[0] = temp;
75  }
76  // collision data in Run-3
77  else if (isRun3_) {
78  clctVars_.resize(9);
79  lctVars_.resize(9);
80  }
81  // do not analyze Run-3 properties in Run-1 and Run-2 eras
82  else {
83  clctVars_.resize(4);
84  lctVars_.resize(5);
85  }
86 
87  // 1D plots for experts
89  // chamber type
90  for (unsigned iType = 0; iType < chambers_.size(); iType++) {
91  // alct variable
92  for (unsigned iVar = 0; iVar < alctVars_.size(); iVar++) {
93  const std::string key("alct_" + alctVars_[iVar] + "_diff");
94  const std::string histName(key + "_" + chambers_[iType]);
95  const std::string histTitle(chambers_[iType] + " ALCT " + alctVars_[iVar] + " (Emul - Data)");
96  if (chamberHistos_[iType][key] == nullptr)
97  chamberHistos_[iType][key] =
98  iBooker.book1D(histName, histTitle, alctNBin_[iVar], alctMinBin_[iVar], alctMaxBin_[iVar]);
99  else
100  chamberHistos_[iType][key]->Reset();
101  }
102 
103  // clct variable
104  for (unsigned iVar = 0; iVar < clctVars_.size(); iVar++) {
105  const std::string key("clct_" + clctVars_[iVar] + "_diff");
106  const std::string histName(key + "_" + chambers_[iType]);
107  const std::string histTitle(chambers_[iType] + " CLCT " + clctVars_[iVar] + " (Emul - Data)");
108  if (chamberHistos_[iType][key] == nullptr)
109  chamberHistos_[iType][key] =
110  iBooker.book1D(histName, histTitle, clctNBin_[iVar], clctMinBin_[iVar], clctMaxBin_[iVar]);
111  else
112  chamberHistos_[iType][key]->Reset();
113  }
114 
115  // lct variable
116  for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) {
117  const std::string key("lct_" + lctVars_[iVar] + "_diff");
118  const std::string histName(key + "_" + chambers_[iType]);
119  const std::string histTitle(chambers_[iType] + " LCT " + lctVars_[iVar] + " (Emul - Data)");
120  if (chamberHistos_[iType][key] == nullptr)
121  chamberHistos_[iType][key] =
122  iBooker.book1D(histName, histTitle, lctNBin_[iVar], lctMinBin_[iVar], lctMaxBin_[iVar]);
123  else
124  chamberHistos_[iType][key]->Reset();
125  }
126  }
127  }
128 
129  // 2D summary plots
130  lctDataSummary_eff_ = iBooker.book2D(
131  "lct_csctp_data_summary_eff", "Efficiency of data LCT being correctly emulated", 36, 1, 37, 18, 0, 18);
132  alctDataSummary_eff_ = iBooker.book2D(
133  "alct_csctp_data_summary_eff", "Efficiency of data ALCT being correctly emulated", 36, 1, 37, 18, 0, 18);
134  clctDataSummary_eff_ = iBooker.book2D(
135  "clct_csctp_data_summary_eff", "Efficiency of data CLCT being correctly emulated", 36, 1, 37, 18, 0, 18);
136 
137  lctEmulSummary_eff_ = iBooker.book2D(
138  "lct_csctp_emul_summary_eff", "Fraction of emulated LCT without matching data LCT", 36, 1, 37, 18, 0, 18);
139  alctEmulSummary_eff_ = iBooker.book2D(
140  "alct_csctp_emul_summary_eff", "Fraction of emulated ALCT without matching data ALCT", 36, 1, 37, 18, 0, 18);
141  clctEmulSummary_eff_ = iBooker.book2D(
142  "clct_csctp_emul_summary_eff", "Fraction of emulated CLCT without matching data CLCT", 36, 1, 37, 18, 0, 18);
143 
144  // x labels
145  lctDataSummary_eff_->setAxisTitle("Chamber", 1);
146  alctDataSummary_eff_->setAxisTitle("Chamber", 1);
147  clctDataSummary_eff_->setAxisTitle("Chamber", 1);
148 
149  lctEmulSummary_eff_->setAxisTitle("Chamber", 1);
150  alctEmulSummary_eff_->setAxisTitle("Chamber", 1);
151  clctEmulSummary_eff_->setAxisTitle("Chamber", 1);
152 
153  // plotting option
157 
161 
162  // summary plots
163  const std::array<std::string, 9> suffix_label{{"4/2", "4/1", "3/2", "3/1", " 2/2", "2/1", "1/3", "1/2", "1/1"}};
164 
165  // y labels
166  for (int ybin = 1; ybin <= 9; ++ybin) {
167  lctDataSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
168  alctDataSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
169  clctDataSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
170 
171  lctEmulSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
172  alctEmulSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
173  clctEmulSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
174 
175  lctDataSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
176  alctDataSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
177  clctDataSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
178 
179  lctEmulSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
180  alctEmulSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
181  clctEmulSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
182  }
183 }
std::vector< double > alctMaxBin_
MonitorElement * clctDataSummary_eff_
std::vector< double > clctMaxBin_
MonitorElement * lctDataSummary_eff_
std::vector< std::string > lctVars_
std::vector< double > lctMinBin_
std::vector< std::string > alctVars_
virtual void setOption(const char *option)
std::string monitorDir_
MonitorElement * alctEmulSummary_eff_
std::vector< unsigned > alctNBin_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
std::vector< double > alctMinBin_
MonitorElement * clctEmulSummary_eff_
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::vector< unsigned > lctNBin_
std::vector< double > clctMinBin_
MonitorElement * lctEmulSummary_eff_
std::vector< double > lctMaxBin_
std::vector< std::string > chambers_
MonitorElement * alctDataSummary_eff_
std::vector< std::string > clctVars_
std::vector< unsigned > clctNBin_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos_

◆ dqmEndJob()

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

Implements DQMEDHarvester.

Definition at line 52 of file L1TdeCSCTPGClient.cc.

References book(), and processHistograms().

52  {
53  book(ibooker);
54  processHistograms(igetter);
55 }
void book(DQMStore::IBooker &ibooker)
void processHistograms(DQMStore::IGetter &)

◆ dqmEndLuminosityBlock()

void L1TdeCSCTPGClient::dqmEndLuminosityBlock ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter,
edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  c 
)
overrideprotectedvirtual

Reimplemented from DQMEDHarvester.

Definition at line 43 of file L1TdeCSCTPGClient.cc.

References book(), and processHistograms().

46  {
47  book(ibooker);
48  processHistograms(igetter);
49 }
void book(DQMStore::IBooker &ibooker)
void processHistograms(DQMStore::IGetter &)

◆ processHistograms()

void L1TdeCSCTPGClient::processHistograms ( DQMStore::IGetter igetter)
private

Definition at line 185 of file L1TdeCSCTPGClient.cc.

References alctDataSummary_eff_, alctEmulSummary_eff_, alctVars_, chamberHistos_, chambers_, clctDataSummary_eff_, clctEmulSummary_eff_, clctVars_, dqm::implementation::IGetter::get(), dqm::legacy::MonitorElement::getTH1F(), dqm::legacy::MonitorElement::getTH2F(), crabWrapper::key, lctDataSummary_eff_, lctEmulSummary_eff_, lctVars_, make1DPlots_, monitorDir_, or, AlCaHLTBitMon_QueryRunRegistry::string, useB904ME11_, useB904ME21_, and useB904ME234s2_.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

185  {
186  MonitorElement *dataMon;
187  MonitorElement *emulMon;
188 
189  // 1D plots for experts
191  // chamber type
192  for (unsigned iType = 0; iType < chambers_.size(); iType++) {
193  // alct variable
194  for (unsigned iVar = 0; iVar < alctVars_.size(); iVar++) {
195  const std::string key("alct_" + alctVars_[iVar]);
196  const std::string histData(key + "_data_" + chambers_[iType]);
197  const std::string histEmul(key + "_emul_" + chambers_[iType]);
198 
199  dataMon = igetter.get(monitorDir_ + "/" + histData);
200  emulMon = igetter.get(monitorDir_ + "/" + histEmul);
201 
202  TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F();
203 
204  if (dataMon && emulMon) {
205  TH1F *hData = dataMon->getTH1F();
206  TH1F *hEmul = emulMon->getTH1F();
207  hDiff->Add(hEmul, hData, 1, -1);
208  }
209  }
210 
211  // clct variable
212  for (unsigned iVar = 0; iVar < clctVars_.size(); iVar++) {
213  const std::string key("clct_" + clctVars_[iVar]);
214  const std::string histData(key + "_data_" + chambers_[iType]);
215  const std::string histEmul(key + "_emul_" + chambers_[iType]);
216 
217  dataMon = igetter.get(monitorDir_ + "/" + histData);
218  emulMon = igetter.get(monitorDir_ + "/" + histEmul);
219 
220  TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F();
221 
222  if (dataMon && emulMon) {
223  TH1F *hData = dataMon->getTH1F();
224  TH1F *hEmul = emulMon->getTH1F();
225  hDiff->Add(hEmul, hData, 1, -1);
226  }
227  }
228 
229  // lct variable
230  for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) {
231  const std::string key("lct_" + lctVars_[iVar]);
232  const std::string histData(key + "_data_" + chambers_[iType]);
233  const std::string histEmul(key + "_emul_" + chambers_[iType]);
234 
235  dataMon = igetter.get(monitorDir_ + "/" + histData);
236  emulMon = igetter.get(monitorDir_ + "/" + histEmul);
237 
238  TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F();
239 
240  if (dataMon && emulMon) {
241  TH1F *hData = dataMon->getTH1F();
242  TH1F *hEmul = emulMon->getTH1F();
243  hDiff->Add(hEmul, hData, 1, -1);
244  }
245  }
246  }
247  }
248 
249  // 2D summary plot
250  MonitorElement *lctDataSummary_denom_ = igetter.get(monitorDir_ + "/lct_csctp_data_summary_denom");
251  MonitorElement *lctDataSummary_num_ = igetter.get(monitorDir_ + "/lct_csctp_data_summary_num");
252  MonitorElement *alctDataSummary_denom_ = igetter.get(monitorDir_ + "/alct_csctp_data_summary_denom");
253  MonitorElement *alctDataSummary_num_ = igetter.get(monitorDir_ + "/alct_csctp_data_summary_num");
254  MonitorElement *clctDataSummary_denom_ = igetter.get(monitorDir_ + "/clct_csctp_data_summary_denom");
255  MonitorElement *clctDataSummary_num_ = igetter.get(monitorDir_ + "/clct_csctp_data_summary_num");
256 
257  MonitorElement *lctEmulSummary_denom_ = igetter.get(monitorDir_ + "/lct_csctp_emul_summary_denom");
258  MonitorElement *lctEmulSummary_num_ = igetter.get(monitorDir_ + "/lct_csctp_emul_summary_num");
259  MonitorElement *alctEmulSummary_denom_ = igetter.get(monitorDir_ + "/alct_csctp_emul_summary_denom");
260  MonitorElement *alctEmulSummary_num_ = igetter.get(monitorDir_ + "/alct_csctp_emul_summary_num");
261  MonitorElement *clctEmulSummary_denom_ = igetter.get(monitorDir_ + "/clct_csctp_emul_summary_denom");
262  MonitorElement *clctEmulSummary_num_ = igetter.get(monitorDir_ + "/clct_csctp_emul_summary_num");
263 
264  lctDataSummary_eff_->getTH2F()->Divide(lctDataSummary_num_->getTH2F(), lctDataSummary_denom_->getTH2F(), 1, 1, "");
265  alctDataSummary_eff_->getTH2F()->Divide(alctDataSummary_num_->getTH2F(), alctDataSummary_denom_->getTH2F(), 1, 1, "");
266  clctDataSummary_eff_->getTH2F()->Divide(clctDataSummary_num_->getTH2F(), clctDataSummary_denom_->getTH2F(), 1, 1, "");
267 
268  lctEmulSummary_eff_->getTH2F()->Divide(lctEmulSummary_num_->getTH2F(), lctEmulSummary_denom_->getTH2F(), 1, 1, "");
269  alctEmulSummary_eff_->getTH2F()->Divide(alctEmulSummary_num_->getTH2F(), alctEmulSummary_denom_->getTH2F(), 1, 1, "");
270  clctEmulSummary_eff_->getTH2F()->Divide(clctEmulSummary_num_->getTH2F(), clctEmulSummary_denom_->getTH2F(), 1, 1, "");
271 
272  // set minima to 0.95 so the contrast comes out better!
273  lctDataSummary_eff_->getTH2F()->GetZaxis()->SetRangeUser(0.95, 1);
274  alctDataSummary_eff_->getTH2F()->GetZaxis()->SetRangeUser(0.95, 1);
275  clctDataSummary_eff_->getTH2F()->GetZaxis()->SetRangeUser(0.95, 1);
276 }
MonitorElement * clctDataSummary_eff_
MonitorElement * lctDataSummary_eff_
std::vector< std::string > lctVars_
std::vector< std::string > alctVars_
std::string monitorDir_
MonitorElement * alctEmulSummary_eff_
virtual TH2F * getTH2F() const
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
MonitorElement * clctEmulSummary_eff_
virtual TH1F * getTH1F() const
MonitorElement * lctEmulSummary_eff_
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:673
std::vector< std::string > chambers_
MonitorElement * alctDataSummary_eff_
std::vector< std::string > clctVars_
std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos_

Member Data Documentation

◆ alctDataSummary_eff_

MonitorElement* L1TdeCSCTPGClient::alctDataSummary_eff_
private

Definition at line 69 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ alctEmulSummary_eff_

MonitorElement* L1TdeCSCTPGClient::alctEmulSummary_eff_
private

Definition at line 72 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ alctMaxBin_

std::vector<double> L1TdeCSCTPGClient::alctMaxBin_
private

Definition at line 47 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ alctMinBin_

std::vector<double> L1TdeCSCTPGClient::alctMinBin_
private

Definition at line 44 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ alctNBin_

std::vector<unsigned> L1TdeCSCTPGClient::alctNBin_
private

Definition at line 41 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ alctVars_

std::vector<std::string> L1TdeCSCTPGClient::alctVars_
private

Definition at line 37 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ chamberHistos_

std::map<uint32_t, std::map<std::string, MonitorElement *> > L1TdeCSCTPGClient::chamberHistos_
private

Definition at line 66 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ chambers_

std::vector<std::string> L1TdeCSCTPGClient::chambers_
private

Definition at line 35 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ clctDataSummary_eff_

MonitorElement* L1TdeCSCTPGClient::clctDataSummary_eff_
private

Definition at line 70 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ clctEmulSummary_eff_

MonitorElement* L1TdeCSCTPGClient::clctEmulSummary_eff_
private

Definition at line 73 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ clctMaxBin_

std::vector<double> L1TdeCSCTPGClient::clctMaxBin_
private

Definition at line 48 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ clctMinBin_

std::vector<double> L1TdeCSCTPGClient::clctMinBin_
private

Definition at line 45 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ clctNBin_

std::vector<unsigned> L1TdeCSCTPGClient::clctNBin_
private

Definition at line 42 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ clctVars_

std::vector<std::string> L1TdeCSCTPGClient::clctVars_
private

Definition at line 38 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ isRun3_

bool L1TdeCSCTPGClient::isRun3_
private

Definition at line 61 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ lctDataSummary_eff_

MonitorElement* L1TdeCSCTPGClient::lctDataSummary_eff_
private

Definition at line 68 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ lctEmulSummary_eff_

MonitorElement* L1TdeCSCTPGClient::lctEmulSummary_eff_
private

Definition at line 71 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ lctMaxBin_

std::vector<double> L1TdeCSCTPGClient::lctMaxBin_
private

Definition at line 49 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ lctMinBin_

std::vector<double> L1TdeCSCTPGClient::lctMinBin_
private

Definition at line 46 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ lctNBin_

std::vector<unsigned> L1TdeCSCTPGClient::lctNBin_
private

Definition at line 43 of file L1TdeCSCTPGClient.h.

Referenced by book().

◆ lctVars_

std::vector<std::string> L1TdeCSCTPGClient::lctVars_
private

Definition at line 39 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ make1DPlots_

bool L1TdeCSCTPGClient::make1DPlots_
private

Definition at line 62 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ monitorDir_

std::string L1TdeCSCTPGClient::monitorDir_
private

Definition at line 32 of file L1TdeCSCTPGClient.h.

Referenced by book(), and processHistograms().

◆ useB904_

bool L1TdeCSCTPGClient::useB904_
private

Definition at line 56 of file L1TdeCSCTPGClient.h.

Referenced by L1TdeCSCTPGClient().

◆ useB904ME11_

bool L1TdeCSCTPGClient::useB904ME11_
private

Definition at line 57 of file L1TdeCSCTPGClient.h.

Referenced by book(), L1TdeCSCTPGClient(), and processHistograms().

◆ useB904ME21_

bool L1TdeCSCTPGClient::useB904ME21_
private

Definition at line 58 of file L1TdeCSCTPGClient.h.

Referenced by book(), L1TdeCSCTPGClient(), and processHistograms().

◆ useB904ME234s2_

bool L1TdeCSCTPGClient::useB904ME234s2_
private

Definition at line 59 of file L1TdeCSCTPGClient.h.

Referenced by book(), L1TdeCSCTPGClient(), and processHistograms().