|
|
#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 |
|
| EDProducer (const EDProducer &)=delete |
|
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 |
|
const EDProducer & | operator= (const EDProducer &)=delete |
|
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::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 & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
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) |
|
|
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 41 of file PixelLumiDQM.h.
◆ PixelLumiDQM()
◆ ~PixelLumiDQM()
PixelLumiDQM::~PixelLumiDQM |
( |
| ) |
|
|
override |
◆ analyze()
Reimplemented from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.
Definition at line 89 of file PixelLumiDQM.cc.
93 fLSNo =
iEvent.getLuminosityBlock().luminosityBlock();
110 for (TrackerGeometry::DetContainer::const_iterator
i = trackerGeo->
dets().begin();
i != trackerGeo->
dets().end();
115 DetId detId = (*i)->geographicalId();
121 size_t numClusters = 0;
147 switch (halfCylinder) {
176 std::vector<uint32_t>::const_iterator deadModulesBegin =
fDeadModules.begin();
177 std::vector<uint32_t>::const_iterator deadModulesEnd =
fDeadModules.end();
180 for (TrackerGeometry::DetContainer::const_iterator
i = trackerGeo->
dets().begin();
i != trackerGeo->
dets().end();
184 DetId detId = (*i)->geographicalId();
187 if (filterDeadModules &&
find(deadModulesBegin, deadModulesEnd, detId()) != deadModulesEnd) {
200 double x = clus->x();
201 double y = clus->y();
204 double charge = clus->charge() / 1.e3;
205 int size = clus->size();
212 histName =
"clusPosBarrel" + std::to_string(
layer);
214 histName =
"clusChargeBarrel" + std::to_string(
layer);
216 histName =
"clusSizeBarrel" + std::to_string(
layer);
230 histName =
"clusPosEndCap" + std::to_string(disk);
232 histName =
"clusChargeEndCap" + std::to_string(disk);
234 histName =
"clusSizeEndCap" + std::to_string(disk);
238 <<
"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::getData(), mps_fire::i, TrackerGeometry::idToDet(), iEvent, GeomDetEnumerators::isTrackerPixel(), kNumDisks, kNumLayers, kOffsetDisks, kOffsetLayers, phase1PixelTopology::layer, 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(), tkGeomToken_, 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 249 of file PixelLumiDQM.cc.
252 edm::LogInfo(
"Status") <<
"Starting processing of run #" <<
run.id().run();
260 "Pixel Lumi in nb by BX Cumulative vs LS",
270 subfolder =
folder +
"ClusterCountingDetails/";
273 fHistnBClusVsLS[0] = ibooker.
book1D(
"nBClusVsLS_0",
"Fraction of Clusters vs LS Barrel layer 0", 8000, 0.5, 8000.5);
274 fHistnBClusVsLS[1] = ibooker.
book1D(
"nBClusVsLS_1",
"Fraction of Clusters vs LS Barrel layer 1", 8000, 0.5, 8000.5);
275 fHistnBClusVsLS[2] = ibooker.
book1D(
"nBClusVsLS_2",
"Fraction of Clusters vs LS Barrel layer 2", 8000, 0.5, 8000.5);
276 fHistnFPClusVsLS[0] = ibooker.
book1D(
"nFPClusVsLS_0",
"Fraction of Clusters vs LS Barrel layer 0", 8000, 0.5, 8000.5);
277 fHistnFPClusVsLS[1] = ibooker.
book1D(
"nFPClusVsLS_1",
"Fraction of Clusters vs LS Barrel layer 1", 8000, 0.5, 8000.5);
278 fHistnFMClusVsLS[0] = ibooker.
book1D(
"nFMClusVsLS_0",
"Fraction of Clusters vs LS Barrel layer 0", 8000, 0.5, 8000.5);
279 fHistnFMClusVsLS[1] = ibooker.
book1D(
"nFMClusVsLS_1",
"Fraction of Clusters vs LS Barrel layer 1", 8000, 0.5, 8000.5);
288 fHistClusByLS = ibooker.
book1D(
"totalClusByLS",
"Number of Clusters all dets vs LS", 8000, 0.5, 8000.5);
291 subfolder =
folder +
"qualityChecks/";
296 edm::LogInfo(
"Status") <<
"Creating histograms for run #" <<
run.id().run();
300 std::stringstream
key;
301 key <<
"clusPosBarrel" <<
i;
302 std::stringstream
name;
304 std::stringstream
title;
305 title <<
"Pixel cluster position - barrel layer " <<
i;
312 std::stringstream
key;
313 key <<
"clusPosEndCap" <<
i;
314 std::stringstream
name;
316 std::stringstream
title;
317 title <<
"Pixel cluster position - endcap disk " <<
i;
319 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 100, -20., 20., 100, -20., 20.);
324 std::stringstream
key;
325 key <<
"clusChargeBarrel" <<
i;
326 std::stringstream
name;
328 std::stringstream
title;
329 title <<
"Pixel cluster charge - barrel layer " <<
i;
331 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 3564, .5, 3564.5, 100, 0., 100.);
336 std::stringstream
key;
337 key <<
"clusChargeEndCap" <<
i;
338 std::stringstream
name;
340 std::stringstream
title;
341 title <<
"Pixel cluster charge - endcap disk " <<
i;
343 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 3564, .5, 3564.5, 100, 0., 100.);
348 std::stringstream
key;
349 key <<
"clusSizeBarrel" <<
i;
350 std::stringstream
name;
352 std::stringstream
title;
353 title <<
"Pixel cluster size - barrel layer " <<
i;
355 ibooker.
book2D(
name.str().c_str(),
title.str().c_str(), 3564, .5, 3564.5, 100, 0., 100.);
360 std::stringstream
key;
361 key <<
"clusSizeEndCap" <<
i;
362 std::stringstream
name;
364 std::stringstream
title;
365 title <<
"Pixel cluster size - endcap disk " <<
i;
367 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 559 of file PixelLumiDQM.cc.
562 unsigned int active_count = 0;
565 unsigned int non_empty_bins = 0;
567 for (
unsigned int i = 1;
i <=
nbins;
i++) {
577 ave /= non_empty_bins;
578 edm::LogWarning(
"pixelLumi") <<
"Bunch mask finder - non empty bins " << non_empty_bins
579 <<
" average of non empty bins " << ave <<
" max content of one bin " << maxc;
582 if (non_empty_bins < 50) {
586 TH1F dist(
"dist",
"dist", 500, 0., maxc + (maxc / 500.) * 20.);
587 for (
unsigned int i = 1;
i <=
nbins;
i++) {
591 TF1
fit(
"plgaus",
"gaus");
592 dist.Fit(&
fit,
"",
"", fmax(0., ave - (maxc - ave) / 5.), maxc);
593 mean =
fit.GetParameter(
"Mean");
594 sigma =
fit.GetParameter(
"Sigma");
599 for (
unsigned int i = 1;
i <=
nbins;
i++) {
606 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, and LaserClient_cfi::nbins.
◆ endLuminosityBlock()
Definition at line 392 of file PixelLumiDQM.cc.
393 unsigned int ls = lumiBlock.luminosityBlockAuxiliary().luminosityBlock();
399 printf(
"Lumi Block = %d\n",
ls);
404 unsigned int nBClus[3] = {0, 0, 0};
405 unsigned int nFPClus[2] = {0, 0};
406 unsigned int nFMClus[2] = {0, 0};
408 double total_recorded = 0.;
409 double total_recorded_unc_square = 0.;
413 double totalcounts = 0.0;
414 double etotalcounts = 0.0;
415 double totalevents = 0.0;
416 double lumi_factor_per_bx = 0.0;
424 unsigned int total = (*it).second.numB.at(1) + (*it).second.numB.at(2) + (*it).second.numFP.at(0) +
425 (*it).second.numFP.at(1) + (*it).second.numFM.at(0) + (*it).second.numFM.at(1);
427 total += (*it).second.numB.at(0);
428 totalcounts +=
total;
429 double etotal = (*it).second.dnumB.at(1) + (*it).second.dnumB.at(2) + (*it).second.dnumFP.at(0) +
430 (*it).second.dnumFP.at(1) + (*it).second.dnumFM.at(0) + (*it).second.dnumFM.at(1);
432 etotal = (*it).second.dnumB.at(0);
433 etotalcounts += etotal;
434 etotal =
sqrt(etotal);
442 totalevents += events_per_bx;
443 double average_cluster_count = events_per_bx != 0 ? double(
total) / events_per_bx : 0.;
444 double average_cluster_count_unc = events_per_bx != 0 ? etotal / events_per_bx : 0.;
445 double pixel_bx_lumi_per_ls = lumi_factor_per_bx * average_cluster_count /
CM2_TO_NANOBARN;
446 double pixel_bx_lumi_per_ls_unc = 0.0;
448 pixel_bx_lumi_per_ls_unc =
sqrt(lumi_factor_per_bx * lumi_factor_per_bx *
449 (average_cluster_count_unc * average_cluster_count_unc +
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 +
473 nBClus[0] += (*it).second.numB.at(0);
474 nBClus[1] += (*it).second.numB.at(1);
475 nBClus[2] += (*it).second.numB.at(2);
476 nFPClus[0] += (*it).second.numFP.at(0);
477 nFPClus[1] += (*it).second.numFP.at(1);
478 nFMClus[0] += (*it).second.numFM.at(0);
479 nFMClus[1] += (*it).second.numFM.at(1);
482 (*it).second.Reset();
493 total_recorded_unc_square +=
err *
err;
500 if (totalevents > 10) {
501 total_recorded = lumi_factor_per_bx * totalcounts / totalevents /
CM2_TO_NANOBARN;
503 total_recorded = 0.0;
510 unsigned int all_detectors_counts = 0;
511 for (
unsigned int i = 0;
i < 3;
i++) {
512 all_detectors_counts += nBClus[
i];
514 for (
unsigned int i = 0;
i < 2;
i++) {
515 all_detectors_counts += nFPClus[
i];
517 for (
unsigned int i = 0;
i < 2;
i++) {
518 all_detectors_counts += nFMClus[
i];
523 for (
unsigned int i = 0;
i < 3;
i++) {
526 for (
unsigned int i = 0;
i < 2;
i++) {
529 for (
unsigned int i = 0;
i < 2;
i++) {
536 gettimeofday(&tv,
nullptr);
537 tm *ts = gmtime(&tv.tv_sec);
538 char datestring[256];
539 strftime(datestring,
sizeof(datestring),
"%Y.%m.%d %T GMT %s", ts);
541 logFile_ <<
"EndTimeOfFit " << datestring << std::endl;
542 logFile_ <<
"LumiRange " <<
ls <<
"-" <<
ls << std::endl;
543 logFile_ <<
"Fill " << -99 << std::endl;
546 logFile_ <<
"HFLumi " << -99 << std::endl;
547 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 |
◆ tkGeomToken_
◆ 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)
constexpr std::array< uint8_t, layerIndexSize > layer
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
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tkGeomToken_
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
bool getData(T &iHolder) const
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