CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
LumiMonitor Class Reference
Inheritance diagram for LumiMonitor:
DQMGlobalEDAnalyzer< Histograms > DQMGlobalEDAnalyzerBase< Histograms, Args... > edm::global::EDProducer< edm::RunCache< Histograms >, edm::EndRunProducer, edm::Accumulator, Args... > edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 LumiMonitor (const edm::ParameterSet &)
 
 ~LumiMonitor () override=default
 
- Public Member Functions inherited from DQMGlobalEDAnalyzer< Histograms >
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &, Histograms const &) const
 
void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup) const final
 
- Public Member Functions inherited from DQMGlobalEDAnalyzerBase< Histograms, Args... >
void accumulate (edm::StreamID id, edm::Event const &event, edm::EventSetup const &setup) const final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &, Histograms &) const
 
 DQMGlobalEDAnalyzerBase ()
 
std::shared_ptr< HistogramsglobalBeginRun (edm::Run const &run, edm::EventSetup const &setup) const final
 
void globalEndRun (edm::Run const &, edm::EventSetup const &) const final
 
- Public Member Functions inherited from edm::global::EDProducer< edm::RunCache< Histograms >, edm::EndRunProducer, edm::Accumulator, Args... >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
bool wantsStreamLuminosityBlocks () const noexcept final
 
bool wantsStreamRuns () const noexcept final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () 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
 
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)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset, int const nbins)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &pset, int const nbins, double const xmin, double const xmax)
 
- Static Public Member Functions inherited from edm::global::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &, Histograms &) const override
 
void dqmAnalyze (edm::Event const &, edm::EventSetup const &, Histograms const &) const override
 

Static Private Member Functions

static MEbinning getHistoLSPSet (const edm::ParameterSet &pset)
 
static MEbinning getHistoPSet (const edm::ParameterSet &pset)
 

Private Attributes

bool const doPixelLumi_
 
std::string const folderName_
 
MEbinning const ls_binning_
 
MEbinning const lumi_binning_
 
float const lumi_factor_per_bx_
 
edm::EDGetTokenT< LumiScalersCollection > const lumiScalersToken_
 
int const minNumberOfPixelsPerCluster_
 
float const minPixelClusterCharge_
 
edm::EDGetTokenT< OnlineLuminosityRecord > const onlineMetaDataDigisToken_
 
MEbinning const pixelCluster_binning_
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > const pixelClustersToken_
 
MEbinning const pixellumi_binning_
 
MEbinning const pu_binning_
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > const trkTopoToken_
 
bool const useBPixLayer1_
 

Additional Inherited Members

- Public Types inherited from DQMGlobalEDAnalyzerBase< Histograms, Args... >
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::global::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
 
- Protected Member Functions inherited from DQMGlobalEDAnalyzerBase< Histograms, Args... >
uint64_t meId (edm::Run const &run) const
 
- 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 DQMGlobalEDAnalyzerBase< Histograms, Args... >
DQMStoredqmstore_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 42 of file LumiMonitor.cc.

Constructor & Destructor Documentation

◆ LumiMonitor()

LumiMonitor::LumiMonitor ( const edm::ParameterSet config)

Definition at line 85 of file LumiMonitor.cc.

86  : folderName_(config.getParameter<std::string>("folderName")),
87  lumiScalersToken_(consumes(config.getParameter<edm::InputTag>("scalers"))),
88  onlineMetaDataDigisToken_(consumes(config.getParameter<edm::InputTag>("onlineMetaDataDigis"))),
90  config.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("lumiPSet"))),
92  getHistoPSet(config.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("puPSet"))),
94  config.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("lsPSet"))),
95  doPixelLumi_(config.getParameter<bool>("doPixelLumi")),
96  trkTopoToken_(doPixelLumi_ ? esConsumes<TrackerTopology, TrackerTopologyRcd>()
99  config.getParameter<edm::InputTag>("pixelClusters"))
101  useBPixLayer1_(doPixelLumi_ ? config.getParameter<bool>("useBPixLayer1") : false),
102  minNumberOfPixelsPerCluster_(doPixelLumi_ ? config.getParameter<int>("minNumberOfPixelsPerCluster") : -1),
103  minPixelClusterCharge_(doPixelLumi_ ? config.getParameter<double>("minPixelClusterCharge") : -1.),
105  .getParameter<edm::ParameterSet>("pixelClusterPSet"))
106  : MEbinning{}),
108  .getParameter<edm::ParameterSet>("pixellumiPSet"))
109  : MEbinning{}),
MEbinning const pixelCluster_binning_
Definition: LumiMonitor.cc:76
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > const trkTopoToken_
Definition: LumiMonitor.cc:71
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
Definition: LumiMonitor.cc:114
std::string const folderName_
Definition: LumiMonitor.cc:62
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > const pixelClustersToken_
Definition: LumiMonitor.cc:72
int const minNumberOfPixelsPerCluster_
Definition: LumiMonitor.cc:74
Definition: config.py:1
static constexpr double FREQ_ORBIT
Definition: GetLumi.h:23
float const minPixelClusterCharge_
Definition: LumiMonitor.cc:75
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
MEbinning const pu_binning_
Definition: LumiMonitor.cc:67
static constexpr double SECONDS_PER_LS
Definition: GetLumi.h:24
bool const doPixelLumi_
Definition: LumiMonitor.cc:70
static MEbinning getHistoLSPSet(const edm::ParameterSet &pset)
Definition: LumiMonitor.cc:122
edm::EDGetTokenT< LumiScalersCollection > const lumiScalersToken_
Definition: LumiMonitor.cc:64
MEbinning const ls_binning_
Definition: LumiMonitor.cc:68
static constexpr double rXSEC_PIXEL_CLUSTER
Definition: GetLumi.h:37
float const lumi_factor_per_bx_
Definition: LumiMonitor.cc:78
MEbinning const pixellumi_binning_
Definition: LumiMonitor.cc:77
static constexpr double XSEC_PIXEL_CLUSTER
Definition: GetLumi.h:33
MEbinning const lumi_binning_
Definition: LumiMonitor.cc:66
bool const useBPixLayer1_
Definition: LumiMonitor.cc:73
edm::EDGetTokenT< OnlineLuminosityRecord > const onlineMetaDataDigisToken_
Definition: LumiMonitor.cc:65

◆ ~LumiMonitor()

LumiMonitor::~LumiMonitor ( )
overridedefault

Member Function Documentation

◆ bookHistograms()

void LumiMonitor::bookHistograms ( DQMStore::IBooker booker,
edm::Run const &  run,
edm::EventSetup const &  setup,
Histograms histograms 
) const
overrideprivatevirtual

Implements DQMGlobalEDAnalyzerBase< Histograms, Args... >.

Definition at line 126 of file LumiMonitor.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), doPixelLumi_, folderName_, ls_binning_, lumi_binning_, hlt_dqm_clientPB-live_cfg::me, MEbinning::nbins, pixelCluster_binning_, pixellumi_binning_, pu_binning_, dqm::implementation::NavigatorBase::setCurrentFolder(), MEbinning::xmax, and MEbinning::xmin.

129  {
131 
132  if (doPixelLumi_) {
133  auto me = booker.book1D("numberOfPixelClustersVsLS",
134  "number of pixel clusters vs lumisection",
137  ls_binning_.xmax);
138  me->setAxisTitle("lumisection", 1);
139  me->setAxisTitle("number of pixel clusters", 2);
140  histograms.numberOfPixelClustersVsLS = me;
141 
142  me = booker.bookProfile("numberOfPixelClustersVsLumi",
143  "number of pixel clusters vs online lumi",
149  me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 1);
150  me->setAxisTitle("number of pixel clusters", 2);
151  histograms.numberOfPixelClustersVsLumi = me;
152 
153  me = booker.bookProfile("pixelLumiVsLS",
154  "pixel-lumi vs lumisection",
160  me->setAxisTitle("lumisection", 1);
161  me->setAxisTitle("pixel-based inst lumi E30 [Hz cm^{-2}]", 2);
162  histograms.pixelLumiVsLS = me;
163 
164  me = booker.bookProfile("pixelLumiVsLumi",
165  "pixel-lumi vs online lumi",
171  me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 1);
172  me->setAxisTitle("pixel-based inst lumi E30 [Hz cm^{-2}]", 2);
173  histograms.pixelLumiVsLumi = me;
174  }
175 
176  auto me = booker.bookProfile("lumiVsLS",
177  "online lumi vs lumisection",
183  me->setAxisTitle("lumisection", 1);
184  me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 2);
185  histograms.lumiVsLS = me;
186 
187  me = booker.bookProfile("puVsLS",
188  "online pileup vs lumisection",
193  pu_binning_.xmax);
194  me->setAxisTitle("lumisection", 1);
195  me->setAxisTitle("online pileup", 2);
196  histograms.puVsLS = me;
197 }
MEbinning const pixelCluster_binning_
Definition: LumiMonitor.cc:76
std::string const folderName_
Definition: LumiMonitor.cc:62
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MEbinning const pu_binning_
Definition: LumiMonitor.cc:67
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
bool const doPixelLumi_
Definition: LumiMonitor.cc:70
MEbinning const ls_binning_
Definition: LumiMonitor.cc:68
MEbinning const pixellumi_binning_
Definition: LumiMonitor.cc:77
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MEbinning const lumi_binning_
Definition: LumiMonitor.cc:66

◆ dqmAnalyze()

void LumiMonitor::dqmAnalyze ( edm::Event const &  event,
edm::EventSetup const &  setup,
Histograms const &  histograms 
) const
overrideprivatevirtual

Implements DQMGlobalEDAnalyzerBase< Histograms, Args... >.

Definition at line 199 of file LumiMonitor.cc.

References GetLumi::CM2_TO_NANOBARN, doPixelLumi_, eostools::ls(), lumi_factor_per_bx_, lumiScalersToken_, minNumberOfPixelsPerCluster_, minPixelClusterCharge_, onlineMetaDataDigisToken_, PixelSubdetector::PixelBarrel, DQMOffline_LumiMonitoring_cff::pixelClusters, pixelClustersToken_, singleTopDQM_cfi::setup, DetId::subdetId(), and trkTopoToken_.

201  {
202  int const ls = event.id().luminosityBlock();
203 
204  float online_lumi = -1.f;
205  float online_pu = -1.f;
206  auto const lumiScalersHandle = event.getHandle(lumiScalersToken_);
207  auto const onlineMetaDataDigisHandle = event.getHandle(onlineMetaDataDigisToken_);
208  if (lumiScalersHandle.isValid() and not lumiScalersHandle->empty()) {
209  auto const scalit = lumiScalersHandle->begin();
210  online_lumi = scalit->instantLumi();
211  online_pu = scalit->pileup();
212  } else if (onlineMetaDataDigisHandle.isValid()) {
213  online_lumi = onlineMetaDataDigisHandle->instLumi();
214  online_pu = onlineMetaDataDigisHandle->avgPileUp();
215  }
216  histograms.lumiVsLS->Fill(ls, online_lumi);
217  histograms.puVsLS->Fill(ls, online_pu);
218 
219  if (doPixelLumi_) {
220  size_t pixel_clusters = 0;
221  float pixel_lumi = -1.f;
223  event.getByToken(pixelClustersToken_, pixelClusters);
224  if (pixelClusters.isValid()) {
225  auto const& tTopo = setup.getData(trkTopoToken_);
226 
227  // Count the number of clusters with at least a minimum
228  // number of pixels per cluster and at least a minimum charge.
229  for (auto pixCluDet = pixelClusters->begin(); pixCluDet != pixelClusters->end(); ++pixCluDet) {
230  DetId detid = pixCluDet->detId();
231  size_t subdetid = detid.subdetId();
232  if (subdetid == (int)PixelSubdetector::PixelBarrel) {
233  if (tTopo.layer(detid) == 1) {
234  continue;
235  }
236  }
237 
238  for (auto pixClu = pixCluDet->begin(); pixClu != pixCluDet->end(); ++pixClu) {
239  if ((pixClu->size() >= minNumberOfPixelsPerCluster_) and (pixClu->charge() >= minPixelClusterCharge_)) {
240  ++pixel_clusters;
241  }
242  }
243  }
244  pixel_lumi = lumi_factor_per_bx_ * pixel_clusters / GetLumi::CM2_TO_NANOBARN; // ?!?!
245  } else {
246  pixel_lumi = -1.;
247  }
248 
249  histograms.numberOfPixelClustersVsLS->Fill(ls, pixel_clusters);
250  histograms.numberOfPixelClustersVsLumi->Fill(online_lumi, pixel_clusters);
251  histograms.pixelLumiVsLS->Fill(ls, pixel_lumi);
252  histograms.pixelLumiVsLumi->Fill(online_lumi, pixel_lumi);
253  }
254 }
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > const trkTopoToken_
Definition: LumiMonitor.cc:71
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > const pixelClustersToken_
Definition: LumiMonitor.cc:72
int const minNumberOfPixelsPerCluster_
Definition: LumiMonitor.cc:74
float const minPixelClusterCharge_
Definition: LumiMonitor.cc:75
bool const doPixelLumi_
Definition: LumiMonitor.cc:70
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
Definition: DetId.h:17
def ls(path, rec=False)
Definition: eostools.py:349
edm::EDGetTokenT< LumiScalersCollection > const lumiScalersToken_
Definition: LumiMonitor.cc:64
static constexpr double CM2_TO_NANOBARN
Definition: GetLumi.h:39
float const lumi_factor_per_bx_
Definition: LumiMonitor.cc:78
edm::EDGetTokenT< OnlineLuminosityRecord > const onlineMetaDataDigisToken_
Definition: LumiMonitor.cc:65

◆ fillDescriptions()

void LumiMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 269 of file LumiMonitor.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, fillHistoLSPSetDescription(), fillHistoPSetDescription(), V0Monitor_cff::histoPSet, ProducerED_cfi::InputTag, V0Monitor_cfi::lsPSet, V0Monitor_cfi::lumiPSet, DQMOffline_LumiMonitoring_cff::pixelClusterPSet, DQMOffline_LumiMonitoring_cff::pixellumiPSet, V0Monitor_cfi::puPSet, and AlCaHLTBitMon_QueryRunRegistry::string.

269  {
271  desc.add<edm::InputTag>("pixelClusters", edm::InputTag("hltSiPixelClusters"));
272  desc.add<edm::InputTag>("scalers", edm::InputTag("hltScalersRawToDigi"));
273  desc.add<edm::InputTag>("onlineMetaDataDigis", edm::InputTag("hltOnlineMetaDataDigis"));
274  desc.add<std::string>("folderName", "HLT/LumiMonitoring");
275  desc.add<bool>("doPixelLumi", false);
276  desc.add<bool>("useBPixLayer1", false);
277  desc.add<int>("minNumberOfPixelsPerCluster", 2); // from DQM/PixelLumi/python/PixelLumiDQM_cfi.py
278  desc.add<double>("minPixelClusterCharge", 15000.);
279 
281 
285 
287  fillHistoPSetDescription(puPSet, 130, 0, 130);
289 
291  fillHistoPSetDescription(lumiPSet, 5000, 0, 20000);
293 
297 
299  fillHistoPSetDescription(pixelClusterPSet, 200, -0.5, 19999.5);
300  histoPSet.add("pixelClusterPSet", pixelClusterPSet);
301 
302  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
303 
304  descriptions.add("lumiMonitor", desc);
305 }
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset, int const nbins, double const xmin, double const xmax)
Definition: LumiMonitor.cc:256
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset, int const nbins)
Definition: LumiMonitor.cc:265
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ fillHistoLSPSetDescription()

void LumiMonitor::fillHistoLSPSetDescription ( edm::ParameterSetDescription pset,
int const  nbins 
)
static

Definition at line 265 of file LumiMonitor.cc.

References LaserClient_cfi::nbins, and muonDTDigis_cfi::pset.

Referenced by fillDescriptions().

265  {
266  pset.add<int>("nbins", nbins);
267 }

◆ fillHistoPSetDescription()

void LumiMonitor::fillHistoPSetDescription ( edm::ParameterSetDescription pset,
int const  nbins,
double const  xmin,
double const  xmax 
)
static

◆ getHistoLSPSet()

MEbinning LumiMonitor::getHistoLSPSet ( const edm::ParameterSet pset)
staticprivate

Definition at line 122 of file LumiMonitor.cc.

References muonDTDigis_cfi::pset.

122  {
123  return MEbinning{pset.getParameter<int32_t>("nbins"), -0.5, pset.getParameter<int32_t>("nbins") - 0.5};
124 }

◆ getHistoPSet()

MEbinning LumiMonitor::getHistoPSet ( const edm::ParameterSet pset)
staticprivate

Definition at line 114 of file LumiMonitor.cc.

References muonDTDigis_cfi::pset.

114  {
115  return MEbinning{
116  pset.getParameter<int32_t>("nbins"),
117  pset.getParameter<double>("xmin"),
118  pset.getParameter<double>("xmax"),
119  };
120 }

Member Data Documentation

◆ doPixelLumi_

bool const LumiMonitor::doPixelLumi_
private

Definition at line 70 of file LumiMonitor.cc.

Referenced by bookHistograms(), and dqmAnalyze().

◆ folderName_

std::string const LumiMonitor::folderName_
private

Definition at line 62 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ ls_binning_

MEbinning const LumiMonitor::ls_binning_
private

Definition at line 68 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ lumi_binning_

MEbinning const LumiMonitor::lumi_binning_
private

Definition at line 66 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ lumi_factor_per_bx_

float const LumiMonitor::lumi_factor_per_bx_
private

Definition at line 78 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ lumiScalersToken_

edm::EDGetTokenT<LumiScalersCollection> const LumiMonitor::lumiScalersToken_
private

Definition at line 64 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ minNumberOfPixelsPerCluster_

int const LumiMonitor::minNumberOfPixelsPerCluster_
private

Definition at line 74 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ minPixelClusterCharge_

float const LumiMonitor::minPixelClusterCharge_
private

Definition at line 75 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ onlineMetaDataDigisToken_

edm::EDGetTokenT<OnlineLuminosityRecord> const LumiMonitor::onlineMetaDataDigisToken_
private

Definition at line 65 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ pixelCluster_binning_

MEbinning const LumiMonitor::pixelCluster_binning_
private

Definition at line 76 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ pixelClustersToken_

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > const LumiMonitor::pixelClustersToken_
private

Definition at line 72 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ pixellumi_binning_

MEbinning const LumiMonitor::pixellumi_binning_
private

Definition at line 77 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ pu_binning_

MEbinning const LumiMonitor::pu_binning_
private

Definition at line 67 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ trkTopoToken_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> const LumiMonitor::trkTopoToken_
private

Definition at line 71 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ useBPixLayer1_

bool const LumiMonitor::useBPixLayer1_
private

Definition at line 73 of file LumiMonitor.cc.