|
|
#include <PixelLumiDQM.h>
|
| PixelLumiDQM (const edm::ParameterSet &) |
|
| ~PixelLumiDQM () override |
|
void | accumulate (edm::Event const &event, edm::EventSetup const &setup) override |
|
void | beginRun (edm::Run const &run, edm::EventSetup const &setup) final |
|
| DQMOneEDAnalyzer () |
|
void | endRun (edm::Run const &, edm::EventSetup const &) final |
|
void | endRunProduce (edm::Run &run, edm::EventSetup const &setup) final |
|
virtual bool | getCanSaveByLumi () |
|
| 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) |
|
|
typedef dqm::reco::DQMStore | DQMStore |
|
typedef dqm::reco::MonitorElement | MonitorElement |
|
typedef EDProducerBase | ModuleType |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
virtual void | dqmBeginRun (edm::Run const &, edm::EventSetup const &) |
|
virtual void | dqmEndRun (edm::Run const &, edm::EventSetup const &) |
|
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) |
|
edm::EDPutTokenT< DQMToken > | runToken_ |
|
PixelLumi/PixelLumiDQM/plugins/PixelLumiDQM.h
Description: DQM Module producing Pixel Cluster Count Luminosity
Implementation notes: 1) Filling scheme is put in by 'hand' for now. Can obtain it from the cluster count but need higher rate in trigger; Best would be to have filling scheme in the DB. 2) Afterglow correction is put in by hand. 3) Currently barrel layer 0 is excluded, but a version using all pixel layers and disks is also in place. 4) A stable beam flag should be obtained from the DB to turn on actual checks. (Pixel Lumi does not make sense outside stable beams.) 5) Need a top module to correlate the info from the three trigger categories. NB: at present the module only uses the ZeroBias trigger providing about 85 Hz.
Definition at line 40 of file PixelLumiDQM.h.
◆ PixelLumiDQM()
◆ ~PixelLumiDQM()
PixelLumiDQM::~PixelLumiDQM |
( |
| ) |
|
|
override |
◆ analyze()
Reimplemented from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.
Definition at line 88 of file PixelLumiDQM.cc.
92 fLSNo =
iEvent.getLuminosityBlock().luminosityBlock();
112 for (TrackerGeometry::DetContainer::const_iterator
i = trackerGeo->
dets().begin();
i != trackerGeo->
dets().end();
117 DetId detId = (*i)->geographicalId();
123 size_t numClusters = 0;
149 switch (halfCylinder) {
182 std::vector<uint32_t>::const_iterator deadModulesBegin =
fDeadModules.begin();
183 std::vector<uint32_t>::const_iterator deadModulesEnd =
fDeadModules.end();
186 for (TrackerGeometry::DetContainer::const_iterator
i = trackerGeo->
dets().begin();
i != trackerGeo->
dets().end();
190 DetId detId = (*i)->geographicalId();
193 if (filterDeadModules &&
find(deadModulesBegin, deadModulesEnd, detId()) != deadModulesEnd) {
206 double x = clus->x();
207 double y = clus->y();
210 double charge = clus->charge() / 1.e3;
211 int size = clus->size();
218 histName =
"clusPosBarrel" + std::to_string(layer);
220 histName =
"clusChargeBarrel" + std::to_string(layer);
222 histName =
"clusSizeBarrel" + std::to_string(layer);
225 edm::LogWarning(
"pixelLumi") <<
"higher layer number, " << layer <<
", than layers";
236 histName =
"clusPosEndCap" + std::to_string(disk);
238 histName =
"clusChargeEndCap" + std::to_string(disk);
240 histName =
"clusSizeEndCap" + std::to_string(disk);
244 <<
"higher disk number, " << disk <<
", than disks," <<
kNumDisks << std::endl;
References cms::cuda::assert(), edmNew::DetSetVector< T >::begin(), ALCARECOTkAlJpsiMuMu_cff::charge, TrackerGeometry::dets(), edmNew::DetSetVector< T >::end(), fBXNo, fDeadModules, fEvtNo, fHistBunchCrossings, fHistBunchCrossingsLastLumi, fHistContainerThisRun, dqm::impl::MonitorElement::Fill(), fIncludePixelClusterInfo, fIncludePixelQualCheckHistos, spr::find(), fLSNo, fMinClusterCharge, fMinPixelsPerCluster, fNumPixelClusters, fPixelClusterLabel, fRunNo, fTimestamp, edm::EventSetup::get(), get, mps_fire::i, TrackerGeometry::idToDet(), iEvent, GeomDetEnumerators::isTrackerPixel(), kNumDisks, kNumLayers, kOffsetDisks, kOffsetLayers, PixelBarrelNameUpgrade::layerName(), PixelEndcapNameUpgrade::mI, PixelEndcapNameUpgrade::mO, PV3DBase< T, PVType, FrameType >::phi(), PixelEndcapNameUpgrade::pI, PixelSubdetector::PixelBarrel, LumiMonitor_cff::pixelClusters, PixelSubdetector::PixelEndcap, PixelEndcapNameUpgrade::pO, findQualityFiles::size, PixelGeomDetUnit::specificTopology(), mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), GeomDet::surface(), Surface::toGlobal(), x, PV3DBase< T, PVType, FrameType >::x(), y, PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
◆ beginLuminosityBlock()
◆ bookHistograms()
Implements DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.
Definition at line 255 of file PixelLumiDQM.cc.
258 edm::LogInfo(
"Status") <<
"Starting processing of run #" <<
run.id().run();
266 "Pixel Lumi in nb by BX Cumulative vs LS",
276 subfolder =
folder +
"ClusterCountingDetails/";
279 fHistnBClusVsLS[0] = ibooker.
book1D(
"nBClusVsLS_0",
"Fraction of Clusters vs LS Barrel layer 0", 8000, 0.5, 8000.5);
280 fHistnBClusVsLS[1] = ibooker.
book1D(
"nBClusVsLS_1",
"Fraction of Clusters vs LS Barrel layer 1", 8000, 0.5, 8000.5);
281 fHistnBClusVsLS[2] = ibooker.
book1D(
"nBClusVsLS_2",
"Fraction of Clusters vs LS Barrel layer 2", 8000, 0.5, 8000.5);
282 fHistnFPClusVsLS[0] = ibooker.
book1D(
"nFPClusVsLS_0",
"Fraction of Clusters vs LS Barrel layer 0", 8000, 0.5, 8000.5);
283 fHistnFPClusVsLS[1] = ibooker.
book1D(
"nFPClusVsLS_1",
"Fraction of Clusters vs LS Barrel layer 1", 8000, 0.5, 8000.5);
284 fHistnFMClusVsLS[0] = ibooker.
book1D(
"nFMClusVsLS_0",
"Fraction of Clusters vs LS Barrel layer 0", 8000, 0.5, 8000.5);
285 fHistnFMClusVsLS[1] = ibooker.
book1D(
"nFMClusVsLS_1",
"Fraction of Clusters vs LS Barrel layer 1", 8000, 0.5, 8000.5);
294 fHistClusByLS = ibooker.
book1D(
"totalClusByLS",
"Number of Clusters all dets vs LS", 8000, 0.5, 8000.5);
297 subfolder =
folder +
"qualityChecks/";
302 edm::LogInfo(
"Status") <<
"Creating histograms for run #" <<
run.id().run();
306 std::stringstream
key;
307 key <<
"clusPosBarrel" <<
i;
308 std::stringstream
name;
310 std::stringstream
title;
311 title <<
"Pixel cluster position - barrel layer " <<
i;
318 std::stringstream
key;
319 key <<
"clusPosEndCap" <<
i;
320 std::stringstream
name;
322 std::stringstream
title;
323 title <<
"Pixel cluster position - endcap disk " <<
i;
325 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 100, -20., 20., 100, -20., 20.);
330 std::stringstream
key;
331 key <<
"clusChargeBarrel" <<
i;
332 std::stringstream
name;
334 std::stringstream
title;
335 title <<
"Pixel cluster charge - barrel layer " <<
i;
337 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 3564, .5, 3564.5, 100, 0., 100.);
342 std::stringstream
key;
343 key <<
"clusChargeEndCap" <<
i;
344 std::stringstream
name;
346 std::stringstream
title;
347 title <<
"Pixel cluster charge - endcap disk " <<
i;
349 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 3564, .5, 3564.5, 100, 0., 100.);
354 std::stringstream
key;
355 key <<
"clusSizeBarrel" <<
i;
356 std::stringstream
name;
358 std::stringstream
title;
359 title <<
"Pixel cluster size - barrel layer " <<
i;
361 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 3564, .5, 3564.5, 100, 0., 100.);
366 std::stringstream
key;
367 key <<
"clusSizeEndCap" <<
i;
368 std::stringstream
name;
370 std::stringstream
title;
371 title <<
"Pixel cluster size - endcap disk " <<
i;
373 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 3564, .5, 3564.5, 100, 0., 100.);
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), fHistBunchCrossings, fHistBunchCrossingsLastLumi, fHistClusByLS, fHistClusterCountByBxCumulative, fHistClusterCountByBxLastLumi, fHistContainerThisRun, fHistnBClusVsLS, fHistnFMClusVsLS, fHistnFPClusVsLS, fHistRecordedByBxCumulative, fHistRecordedByBxLastLumi, fHistTotalRecordedLumiByLS, fIncludePixelQualCheckHistos, printsummarytable::folder, mps_fire::i, crabWrapper::key, kNumDisks, kNumLayers, lastBunchCrossing, Skims_PA_cff::name, Geom::pi(), writedatasetfile::run, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and runGCPTkAlMap::title.
◆ calculateBunchMask() [1/2]
unsigned int PixelLumiDQM::calculateBunchMask |
( |
MonitorElement * |
e, |
|
|
std::vector< bool > & |
mask |
|
) |
| |
|
private |
◆ calculateBunchMask() [2/2]
unsigned int PixelLumiDQM::calculateBunchMask |
( |
std::vector< float > & |
e, |
|
|
unsigned int |
nbins, |
|
|
std::vector< bool > & |
mask |
|
) |
| |
|
private |
Definition at line 565 of file PixelLumiDQM.cc.
568 unsigned int active_count = 0;
571 unsigned int non_empty_bins = 0;
573 for (
unsigned int i = 1;
i <=
nbins;
i++) {
583 ave /= non_empty_bins;
584 edm::LogWarning(
"pixelLumi") <<
"Bunch mask finder - non empty bins " << non_empty_bins
585 <<
" average of non empty bins " << ave <<
" max content of one bin " << maxc;
588 if (non_empty_bins < 50) {
592 TH1F dist(
"dist",
"dist", 500, 0., maxc + (maxc / 500.) * 20.);
593 for (
unsigned int i = 1;
i <=
nbins;
i++) {
597 TF1 fit(
"plgaus",
"gaus");
598 dist.Fit(&
fit,
"",
"", fmax(0., ave - (maxc - ave) / 5.), maxc);
599 mean =
fit.GetParameter(
"Mean");
600 sigma =
fit.GetParameter(
"Sigma");
605 for (
unsigned int i = 1;
i <=
nbins;
i++) {
612 edm::LogWarning(
"pixelLumi") <<
"Bunch mask finds " << active_count <<
" active bunch crossings ";
References funct::abs(), newFWLiteAna::bin, MillePedeFileConverter_cfg::e, L1TowerCalibrationProducer_cfi::fit, mps_fire::i, SiStripPI::mean, LaserClient_cfi::nbins, and tools::TF1.
◆ endLuminosityBlock()
Definition at line 398 of file PixelLumiDQM.cc.
399 unsigned int ls = lumiBlock.luminosityBlockAuxiliary().luminosityBlock();
405 printf(
"Lumi Block = %d\n",
ls);
410 unsigned int nBClus[3] = {0, 0, 0};
411 unsigned int nFPClus[2] = {0, 0};
412 unsigned int nFMClus[2] = {0, 0};
414 double total_recorded = 0.;
415 double total_recorded_unc_square = 0.;
419 double totalcounts = 0.0;
420 double etotalcounts = 0.0;
421 double totalevents = 0.0;
422 double lumi_factor_per_bx = 0.0;
430 unsigned int total = (*it).second.numB.at(1) + (*it).second.numB.at(2) + (*it).second.numFP.at(0) +
431 (*it).second.numFP.at(1) + (*it).second.numFM.at(0) + (*it).second.numFM.at(1);
433 total += (*it).second.numB.at(0);
434 totalcounts +=
total;
435 double etotal = (*it).second.dnumB.at(1) + (*it).second.dnumB.at(2) + (*it).second.dnumFP.at(0) +
436 (*it).second.dnumFP.at(1) + (*it).second.dnumFM.at(0) + (*it).second.dnumFM.at(1);
438 etotal = (*it).second.dnumB.at(0);
439 etotalcounts += etotal;
440 etotal =
sqrt(etotal);
448 totalevents += events_per_bx;
449 double average_cluster_count = events_per_bx != 0 ? double(
total) / events_per_bx : 0.;
450 double average_cluster_count_unc = events_per_bx != 0 ? etotal / events_per_bx : 0.;
451 double pixel_bx_lumi_per_ls = lumi_factor_per_bx * average_cluster_count /
CM2_TO_NANOBARN;
452 double pixel_bx_lumi_per_ls_unc = 0.0;
454 pixel_bx_lumi_per_ls_unc =
sqrt(lumi_factor_per_bx * lumi_factor_per_bx *
455 (average_cluster_count_unc * average_cluster_count_unc +
460 pixel_bx_lumi_per_ls_unc =
sqrt(lumi_factor_per_bx * lumi_factor_per_bx *
461 (average_cluster_count_unc * average_cluster_count_unc +
479 nBClus[0] += (*it).second.numB.at(0);
480 nBClus[1] += (*it).second.numB.at(1);
481 nBClus[2] += (*it).second.numB.at(2);
482 nFPClus[0] += (*it).second.numFP.at(0);
483 nFPClus[1] += (*it).second.numFP.at(1);
484 nFMClus[0] += (*it).second.numFM.at(0);
485 nFMClus[1] += (*it).second.numFM.at(1);
488 (*it).second.Reset();
499 total_recorded_unc_square +=
err *
err;
506 if (totalevents > 10) {
507 total_recorded = lumi_factor_per_bx * totalcounts / totalevents /
CM2_TO_NANOBARN;
509 total_recorded = 0.0;
516 unsigned int all_detectors_counts = 0;
517 for (
unsigned int i = 0;
i < 3;
i++) {
518 all_detectors_counts += nBClus[
i];
520 for (
unsigned int i = 0;
i < 2;
i++) {
521 all_detectors_counts += nFPClus[
i];
523 for (
unsigned int i = 0;
i < 2;
i++) {
524 all_detectors_counts += nFMClus[
i];
529 for (
unsigned int i = 0;
i < 3;
i++) {
532 for (
unsigned int i = 0;
i < 2;
i++) {
535 for (
unsigned int i = 0;
i < 2;
i++) {
542 gettimeofday(&tv,
nullptr);
543 tm *ts = gmtime(&tv.tv_sec);
544 char datestring[256];
545 strftime(datestring,
sizeof(datestring),
"%Y.%m.%d %T GMT %s", ts);
547 logFile_ <<
"EndTimeOfFit " << datestring << std::endl;
548 logFile_ <<
"LumiRange " <<
ls <<
"-" <<
ls << std::endl;
549 logFile_ <<
"Fill " << -99 << std::endl;
552 logFile_ <<
"HFLumi " << -99 << std::endl;
553 logFile_ <<
"Ratio " << -99 << std::endl;
References bunchTriggerMask, calculateBunchMask(), CM2_TO_NANOBARN, submitPVResolutionJobs::err, fHistBunchCrossingsLastLumi, fHistClusByLS, fHistClusterCountByBxCumulative, fHistClusterCountByBxLastLumi, fHistnBClusVsLS, fHistnFMClusVsLS, fHistnFPClusVsLS, fHistRecordedByBxCumulative, fHistRecordedByBxLastLumi, fHistTotalRecordedLumiByLS, filledAndUnmaskedBunches, fLogFileName_, fNumPixelClusters, FREQ_ORBIT, fResetIntervalInLumiSections, fRunNo, dqm::impl::MonitorElement::getBinContent(), dqm::impl::MonitorElement::getBinError(), mps_fire::i, lastBunchCrossing, logFile_, eostools::ls(), edm::LuminosityBlockAuxiliary::luminosityBlock(), edm::LuminosityBlock::luminosityBlockAuxiliary(), rXSEC_PIXEL_CLUSTER, rXSEC_PIXEL_CLUSTER_UNC, SECONDS_PER_LS, dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinError(), mathSSE::sqrt(), dqmMemoryStats::total, pileupReCalc_HLTpaths::trunc, useInnerBarrelLayer, XSEC_PIXEL_CLUSTER, and XSEC_PIXEL_CLUSTER_UNC.
◆ fillDescriptions()
◆ bunchTriggerMask
std::vector<bool> PixelLumiDQM::bunchTriggerMask |
|
private |
◆ CM2_TO_NANOBARN
constexpr double PixelLumiDQM::CM2_TO_NANOBARN = 1.0 / 1.e-33 |
|
staticconstexpr |
◆ fBXNo
UInt_t PixelLumiDQM::fBXNo |
|
private |
◆ fChi2
Double_t PixelLumiDQM::fChi2 |
|
private |
◆ fDeadModules
std::vector<uint32_t> PixelLumiDQM::fDeadModules |
|
private |
◆ fEvtNo
UInt_t PixelLumiDQM::fEvtNo |
|
private |
◆ fFillNumber
unsigned int PixelLumiDQM::fFillNumber |
|
private |
◆ fHistBunchCrossings
◆ fHistBunchCrossingsLastLumi
◆ fHistClusByLS
◆ fHistClusterCountByBxCumulative
◆ fHistClusterCountByBxLastLumi
◆ fHistContainerThisRun
std::map<std::string, MonitorElement *> PixelLumiDQM::fHistContainerThisRun |
|
private |
◆ fHistnBClusVsLS
◆ fHistnFMClusVsLS
◆ fHistnFPClusVsLS
◆ fHistRecordedByBxCumulative
◆ fHistRecordedByBxLastLumi
◆ fHistTotalRecordedLumiByLS
◆ filledAndUnmaskedBunches
unsigned int PixelLumiDQM::filledAndUnmaskedBunches |
|
private |
◆ fIncludePixelClusterInfo
bool PixelLumiDQM::fIncludePixelClusterInfo |
|
private |
◆ fIncludePixelQualCheckHistos
bool PixelLumiDQM::fIncludePixelQualCheckHistos |
|
private |
◆ fIncludeVertexInfo
bool PixelLumiDQM::fIncludeVertexInfo |
|
private |
◆ fIntActiveCrossingsFromDB
◆ fLogFileName_
std::string PixelLumiDQM::fLogFileName_ |
|
private |
◆ fLSNo
UInt_t PixelLumiDQM::fLSNo |
|
private |
◆ fMinClusterCharge
double PixelLumiDQM::fMinClusterCharge |
|
private |
◆ fMinPixelsPerCluster
int PixelLumiDQM::fMinPixelsPerCluster |
|
private |
◆ fNdof
Double_t PixelLumiDQM::fNdof |
|
private |
◆ fNumPixelClusters
◆ fNumTrkPerVtx
UInt_t PixelLumiDQM::fNumTrkPerVtx |
|
private |
◆ fNumVtx
UInt_t PixelLumiDQM::fNumVtx |
|
private |
◆ fNumVtxGood
UInt_t PixelLumiDQM::fNumVtxGood |
|
private |
◆ fPixelClusterLabel
◆ FREQ_ORBIT
constexpr double PixelLumiDQM::FREQ_ORBIT = 11245.5 |
|
staticconstexpr |
◆ fResetIntervalInLumiSections
int PixelLumiDQM::fResetIntervalInLumiSections |
|
private |
◆ fRunNo
UInt_t PixelLumiDQM::fRunNo |
|
private |
◆ fTimestamp
UInt_t PixelLumiDQM::fTimestamp |
|
private |
◆ fVtxX
Double_t PixelLumiDQM::fVtxX |
|
private |
◆ fVtxY
Double_t PixelLumiDQM::fVtxY |
|
private |
◆ fVtxZ
Double_t PixelLumiDQM::fVtxZ |
|
private |
◆ kNumDisks
constexpr size_t PixelLumiDQM::kNumDisks = 12 |
|
staticconstexprprivate |
◆ kNumLayers
constexpr size_t PixelLumiDQM::kNumLayers = 5 |
|
staticconstexprprivate |
◆ kOffsetDisks
constexpr size_t PixelLumiDQM::kOffsetDisks = 4 |
|
staticconstexprprivate |
◆ kOffsetLayers
constexpr size_t PixelLumiDQM::kOffsetLayers = 0 |
|
staticconstexprprivate |
◆ lastBunchCrossing
const unsigned int PixelLumiDQM::lastBunchCrossing = 3564 |
|
static |
◆ logFile_
std::ofstream PixelLumiDQM::logFile_ |
|
private |
◆ rXSEC_PIXEL_CLUSTER
constexpr double PixelLumiDQM::rXSEC_PIXEL_CLUSTER = 9.4e-24 |
|
staticconstexpr |
◆ rXSEC_PIXEL_CLUSTER_UNC
constexpr double PixelLumiDQM::rXSEC_PIXEL_CLUSTER_UNC = 0.119e-24 |
|
staticconstexpr |
◆ SECONDS_PER_LS
constexpr double PixelLumiDQM::SECONDS_PER_LS = double(0x40000) / double(FREQ_ORBIT) |
|
staticconstexpr |
◆ useInnerBarrelLayer
bool PixelLumiDQM::useInnerBarrelLayer |
|
private |
◆ XSEC_PIXEL_CLUSTER
constexpr double PixelLumiDQM::XSEC_PIXEL_CLUSTER = 10.08e-24 |
|
staticconstexpr |
◆ XSEC_PIXEL_CLUSTER_UNC
constexpr double PixelLumiDQM::XSEC_PIXEL_CLUSTER_UNC = 0.17e-24 |
|
staticconstexpr |
const TrackerGeomDet * idToDet(DetId) const override
MonitorElement * fHistTotalRecordedLumiByLS
MonitorElement * fHistRecordedByBxCumulative
static const unsigned int lastBunchCrossing
static constexpr size_t kOffsetDisks
unsigned int calculateBunchMask(MonitorElement *, std::vector< bool > &)
bool fIncludePixelClusterInfo
std::map< std::string, MonitorElement * > fHistContainerThisRun
virtual void setCurrentFolder(std::string const &fullpath)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * fHistClusByLS
const_iterator begin(bool update=false) const
T getUntrackedParameter(std::string const &, T const &) const
Log< level::Info, false > LogInfo
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Log< level::Warning, false > LogWarning
static constexpr size_t kOffsetLayers
const Plane & surface() const
The nominal surface of the GeomDet.
MonitorElement * fHistClusterCountByBxCumulative
std::vector< uint32_t > fDeadModules
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
static constexpr double SECONDS_PER_LS
static constexpr double CM2_TO_NANOBARN
static constexpr double XSEC_PIXEL_CLUSTER_UNC
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
static constexpr double rXSEC_PIXEL_CLUSTER_UNC
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
unsigned int filledAndUnmaskedBunches
MonitorElement * fHistBunchCrossingsLastLumi
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
MonitorElement * fHistnFMClusVsLS[2]
MonitorElement * fHistRecordedByBxLastLumi
bool isTrackerPixel(GeomDetEnumerators::SubDetector m)
static constexpr double FREQ_ORBIT
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > fPixelClusterLabel
static constexpr size_t kNumDisks
std::vector< bool > bunchTriggerMask
MonitorElement * fHistnBClusVsLS[3]
static constexpr double rXSEC_PIXEL_CLUSTER
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * fHistnFPClusVsLS[2]
MonitorElement * fHistClusterCountByBxLastLumi
const_iterator end(bool update=false) const
int layerName() const
layer id
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
virtual void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
static constexpr double XSEC_PIXEL_CLUSTER
Abs< T >::type abs(const T &t)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
bool fIncludePixelQualCheckHistos
virtual double getBinError(int binx) const
get uncertainty on content of bin (1-D) - See TH1::GetBinError for details
MonitorElement * fHistBunchCrossings
std::map< int, PixelClusterCount > fNumPixelClusters
void addDefault(ParameterSetDescription const &psetDescription)
static constexpr size_t kNumLayers
virtual double getBinContent(int binx) const
get content of bin (1-D)
std::string fLogFileName_
Geom::Phi< T > phi() const
int fResetIntervalInLumiSections
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
const data_type * const_iterator