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 final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const 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
 
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)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &pset)
 
- 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 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)
 
- 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 80 of file LumiMonitor.cc.

81  : folderName_(config.getParameter<std::string>("folderName")),
82  lumiScalersToken_(consumes(config.getParameter<edm::InputTag>("scalers"))),
83  onlineMetaDataDigisToken_(consumes(config.getParameter<edm::InputTag>("onlineMetaDataDigis"))),
85  config.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("lumiPSet"))),
87  getHistoPSet(config.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("puPSet"))),
89  config.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("lsPSet"))),
90  doPixelLumi_(config.getParameter<bool>("doPixelLumi")),
91  trkTopoToken_(doPixelLumi_ ? esConsumes<TrackerTopology, TrackerTopologyRcd>()
94  config.getParameter<edm::InputTag>("pixelClusters"))
96  useBPixLayer1_(doPixelLumi_ ? config.getParameter<bool>("useBPixLayer1") : false),
97  minNumberOfPixelsPerCluster_(doPixelLumi_ ? config.getParameter<int>("minNumberOfPixelsPerCluster") : -1),
98  minPixelClusterCharge_(doPixelLumi_ ? config.getParameter<double>("minPixelClusterCharge") : -1.),
100  .getParameter<edm::ParameterSet>("pixelClusterPSet"))
101  : MEbinning{}),
103  .getParameter<edm::ParameterSet>("pixellumiPSet"))
104  : MEbinning{}),
MEbinning const pixelCluster_binning_
Definition: LumiMonitor.cc:71
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > const trkTopoToken_
Definition: LumiMonitor.cc:66
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
Definition: LumiMonitor.cc:109
std::string const folderName_
Definition: LumiMonitor.cc:57
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > const pixelClustersToken_
Definition: LumiMonitor.cc:67
int const minNumberOfPixelsPerCluster_
Definition: LumiMonitor.cc:69
Definition: config.py:1
static constexpr double FREQ_ORBIT
Definition: GetLumi.h:23
float const minPixelClusterCharge_
Definition: LumiMonitor.cc:70
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
MEbinning const pu_binning_
Definition: LumiMonitor.cc:62
static constexpr double SECONDS_PER_LS
Definition: GetLumi.h:24
bool const doPixelLumi_
Definition: LumiMonitor.cc:65
static MEbinning getHistoLSPSet(const edm::ParameterSet &pset)
Definition: LumiMonitor.cc:117
edm::EDGetTokenT< LumiScalersCollection > const lumiScalersToken_
Definition: LumiMonitor.cc:59
MEbinning const ls_binning_
Definition: LumiMonitor.cc:63
static constexpr double rXSEC_PIXEL_CLUSTER
Definition: GetLumi.h:37
float const lumi_factor_per_bx_
Definition: LumiMonitor.cc:73
MEbinning const pixellumi_binning_
Definition: LumiMonitor.cc:72
static constexpr double XSEC_PIXEL_CLUSTER
Definition: GetLumi.h:33
MEbinning const lumi_binning_
Definition: LumiMonitor.cc:61
bool const useBPixLayer1_
Definition: LumiMonitor.cc:68
edm::EDGetTokenT< OnlineLuminosityRecord > const onlineMetaDataDigisToken_
Definition: LumiMonitor.cc:60

◆ ~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 121 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, pixelCluster_binning_, pixellumi_binning_, pu_binning_, and dqm::implementation::NavigatorBase::setCurrentFolder().

124  {
126 
127  if (doPixelLumi_) {
128  auto me = booker.book1D("numberOfPixelClustersVsLS",
129  "number of pixel clusters vs lumisection",
130  ls_binning_.nbins,
131  ls_binning_.xmin,
132  ls_binning_.xmax);
133  me->setAxisTitle("lumisection", 1);
134  me->setAxisTitle("number of pixel clusters", 2);
135  histograms.numberOfPixelClustersVsLS = me;
136 
137  me = booker.bookProfile("numberOfPixelClustersVsLumi",
138  "number of pixel clusters vs online lumi",
139  lumi_binning_.nbins,
140  lumi_binning_.xmin,
141  lumi_binning_.xmax,
143  pixelCluster_binning_.xmax);
144  me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 1);
145  me->setAxisTitle("number of pixel clusters", 2);
146  histograms.numberOfPixelClustersVsLumi = me;
147 
148  me = booker.bookProfile("pixelLumiVsLS",
149  "pixel-lumi vs lumisection",
150  ls_binning_.nbins,
151  ls_binning_.xmin,
152  ls_binning_.xmax,
153  pixellumi_binning_.xmin,
154  pixellumi_binning_.xmax);
155  me->setAxisTitle("lumisection", 1);
156  me->setAxisTitle("pixel-based inst lumi E30 [Hz cm^{-2}]", 2);
157  histograms.pixelLumiVsLS = me;
158 
159  me = booker.bookProfile("pixelLumiVsLumi",
160  "pixel-lumi vs online lumi",
161  lumi_binning_.nbins,
162  lumi_binning_.xmin,
163  lumi_binning_.xmax,
164  pixellumi_binning_.xmin,
165  lumi_binning_.xmax);
166  me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 1);
167  me->setAxisTitle("pixel-based inst lumi E30 [Hz cm^{-2}]", 2);
168  histograms.pixelLumiVsLumi = me;
169  }
170 
171  auto me = booker.bookProfile("lumiVsLS",
172  "online lumi vs lumisection",
173  ls_binning_.nbins,
174  ls_binning_.xmin,
175  ls_binning_.xmax,
176  lumi_binning_.xmin,
177  lumi_binning_.xmax);
178  me->setAxisTitle("lumisection", 1);
179  me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 2);
180  histograms.lumiVsLS = me;
181 
182  me = booker.bookProfile("puVsLS",
183  "online pileup vs lumisection",
184  ls_binning_.nbins,
185  ls_binning_.xmin,
186  ls_binning_.xmax,
187  pu_binning_.xmin,
188  pu_binning_.xmax);
189  me->setAxisTitle("lumisection", 1);
190  me->setAxisTitle("online pileup", 2);
191  histograms.puVsLS = me;
192 }
MEbinning const pixelCluster_binning_
Definition: LumiMonitor.cc:71
std::string const folderName_
Definition: LumiMonitor.cc:57
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MEbinning const pu_binning_
Definition: LumiMonitor.cc:62
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:399
bool const doPixelLumi_
Definition: LumiMonitor.cc:65
MEbinning const ls_binning_
Definition: LumiMonitor.cc:63
MEbinning const pixellumi_binning_
Definition: LumiMonitor.cc:72
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:61

◆ dqmAnalyze()

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

Implements DQMGlobalEDAnalyzerBase< Histograms, Args... >.

Definition at line 194 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(), compareTotals::tot, and trkTopoToken_.

196  {
197  int const ls = event.id().luminosityBlock();
198 
199  float online_lumi = -1.f;
200  float online_pu = -1.f;
201  auto const lumiScalersHandle = event.getHandle(lumiScalersToken_);
202  auto const onlineMetaDataDigisHandle = event.getHandle(onlineMetaDataDigisToken_);
203  if (lumiScalersHandle.isValid() and not lumiScalersHandle->empty()) {
204  auto const scalit = lumiScalersHandle->begin();
205  online_lumi = scalit->instantLumi();
206  online_pu = scalit->pileup();
207  } else if (onlineMetaDataDigisHandle.isValid()) {
208  online_lumi = onlineMetaDataDigisHandle->instLumi();
209  online_pu = onlineMetaDataDigisHandle->avgPileUp();
210  }
211  histograms.lumiVsLS->Fill(ls, online_lumi);
212  histograms.puVsLS->Fill(ls, online_pu);
213 
214  if (doPixelLumi_) {
215  size_t pixel_clusters = 0;
216  float pixel_lumi = -1.f;
218  event.getByToken(pixelClustersToken_, pixelClusters);
219  if (pixelClusters.isValid()) {
220  auto const& tTopo = setup.getData(trkTopoToken_);
221 
222  // Count the number of clusters with at least a minimum
223  // number of pixels per cluster and at least a minimum charge.
224  size_t tot = 0;
225  for (auto pixCluDet = pixelClusters->begin(); pixCluDet != pixelClusters->end(); ++pixCluDet) {
226  DetId detid = pixCluDet->detId();
227  size_t subdetid = detid.subdetId();
228  if (subdetid == (int)PixelSubdetector::PixelBarrel) {
229  if (tTopo.layer(detid) == 1) {
230  continue;
231  }
232  }
233 
234  for (auto pixClu = pixCluDet->begin(); pixClu != pixCluDet->end(); ++pixClu) {
235  ++tot;
236  if ((pixClu->size() >= minNumberOfPixelsPerCluster_) and (pixClu->charge() >= minPixelClusterCharge_)) {
237  ++pixel_clusters;
238  }
239  }
240  }
241  pixel_lumi = lumi_factor_per_bx_ * pixel_clusters / GetLumi::CM2_TO_NANOBARN; // ?!?!
242  } else {
243  pixel_lumi = -1.;
244  }
245 
246  histograms.numberOfPixelClustersVsLS->Fill(ls, pixel_clusters);
247  histograms.numberOfPixelClustersVsLumi->Fill(online_lumi, pixel_clusters);
248  histograms.pixelLumiVsLS->Fill(ls, pixel_lumi);
249  histograms.pixelLumiVsLumi->Fill(online_lumi, pixel_lumi);
250  }
251 }
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > const trkTopoToken_
Definition: LumiMonitor.cc:66
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > const pixelClustersToken_
Definition: LumiMonitor.cc:67
int const minNumberOfPixelsPerCluster_
Definition: LumiMonitor.cc:69
float const minPixelClusterCharge_
Definition: LumiMonitor.cc:70
bool const doPixelLumi_
Definition: LumiMonitor.cc:65
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:59
static constexpr double CM2_TO_NANOBARN
Definition: GetLumi.h:39
float const lumi_factor_per_bx_
Definition: LumiMonitor.cc:73
edm::EDGetTokenT< OnlineLuminosityRecord > const onlineMetaDataDigisToken_
Definition: LumiMonitor.cc:60

◆ fillDescriptions()

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

Definition at line 261 of file LumiMonitor.cc.

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

261  {
263  desc.add<edm::InputTag>("pixelClusters", edm::InputTag("hltSiPixelClusters"));
264  desc.add<edm::InputTag>("scalers", edm::InputTag("hltScalersRawToDigi"));
265  desc.add<edm::InputTag>("onlineMetaDataDigis", edm::InputTag("hltOnlineMetaDataDigis"));
266  desc.add<std::string>("folderName", "HLT/LumiMonitoring");
267  desc.add<bool>("doPixelLumi", false);
268  desc.add<bool>("useBPixLayer1", false);
269  desc.add<int>("minNumberOfPixelsPerCluster", 2); // from DQM/PixelLumi/python/PixelLumiDQM_cfi.py
270  desc.add<double>("minPixelClusterCharge", 15000.);
271 
275  histoPSet.add("pixelClusterPSet", pixelClusterPSet);
276 
280 
284 
288 
292 
293  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
294 
295  descriptions.add("lumiMonitor", desc);
296 }
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
Definition: LumiMonitor.cc:259
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
Definition: LumiMonitor.cc:253
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ fillHistoLSPSetDescription()

void LumiMonitor::fillHistoLSPSetDescription ( edm::ParameterSetDescription pset)
static

Definition at line 259 of file LumiMonitor.cc.

References muonDTDigis_cfi::pset.

Referenced by fillDescriptions().

259 { pset.add<int>("nbins", 2500); }

◆ fillHistoPSetDescription()

void LumiMonitor::fillHistoPSetDescription ( edm::ParameterSetDescription pset)
static

Definition at line 253 of file LumiMonitor.cc.

References muonDTDigis_cfi::pset.

Referenced by fillDescriptions().

253  {
254  pset.add<int>("nbins");
255  pset.add<double>("xmin");
256  pset.add<double>("xmax");
257 }

◆ getHistoLSPSet()

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

Definition at line 117 of file LumiMonitor.cc.

References muonDTDigis_cfi::pset.

117  {
118  return MEbinning{pset.getParameter<int32_t>("nbins"), -0.5, pset.getParameter<int32_t>("nbins") - 0.5};
119 }

◆ getHistoPSet()

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

Definition at line 109 of file LumiMonitor.cc.

References muonDTDigis_cfi::pset.

109  {
110  return MEbinning{
111  pset.getParameter<int32_t>("nbins"),
112  pset.getParameter<double>("xmin"),
113  pset.getParameter<double>("xmax"),
114  };
115 }

Member Data Documentation

◆ doPixelLumi_

bool const LumiMonitor::doPixelLumi_
private

Definition at line 65 of file LumiMonitor.cc.

Referenced by bookHistograms(), and dqmAnalyze().

◆ folderName_

std::string const LumiMonitor::folderName_
private

Definition at line 57 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ ls_binning_

MEbinning const LumiMonitor::ls_binning_
private

Definition at line 63 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ lumi_binning_

MEbinning const LumiMonitor::lumi_binning_
private

Definition at line 61 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ lumi_factor_per_bx_

float const LumiMonitor::lumi_factor_per_bx_
private

Definition at line 73 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ lumiScalersToken_

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

Definition at line 59 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ minNumberOfPixelsPerCluster_

int const LumiMonitor::minNumberOfPixelsPerCluster_
private

Definition at line 69 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ minPixelClusterCharge_

float const LumiMonitor::minPixelClusterCharge_
private

Definition at line 70 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ onlineMetaDataDigisToken_

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

Definition at line 60 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ pixelCluster_binning_

MEbinning const LumiMonitor::pixelCluster_binning_
private

Definition at line 71 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ pixelClustersToken_

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

Definition at line 67 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ pixellumi_binning_

MEbinning const LumiMonitor::pixellumi_binning_
private

Definition at line 72 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ pu_binning_

MEbinning const LumiMonitor::pu_binning_
private

Definition at line 62 of file LumiMonitor.cc.

Referenced by bookHistograms().

◆ trkTopoToken_

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

Definition at line 66 of file LumiMonitor.cc.

Referenced by dqmAnalyze().

◆ useBPixLayer1_

bool const LumiMonitor::useBPixLayer1_
private

Definition at line 68 of file LumiMonitor.cc.