CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
SiStripMonitorPedestals Class Reference

#include <SiStripMonitorPedestals.h>

Inheritance diagram for SiStripMonitorPedestals:
DQMOneEDAnalyzer<> edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Classes

struct  ModMEs
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmEndRun (edm::Run const &run, edm::EventSetup const &eSetup) override
 
void endJob () override
 
 SiStripMonitorPedestals (const edm::ParameterSet &)
 
 ~SiStripMonitorPedestals () override
 
- Public Member Functions inherited from DQMOneEDAnalyzer<>
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 ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~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)
 

Private Member Functions

void createMEs (DQMStore::IBooker &, edm::EventSetup const &eSetup)
 
void fillCondDBMEs (edm::EventSetup const &eSetup)
 
void resetMEs (uint32_t idet)
 

Private Attributes

bool analyzed
 
ApvAnalysisFactoryapvFactory_
 
edm::ParameterSet conf_
 
const SiStripDetCablingdetcabling
 
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcddetCablingToken_
 
edm::ESWatcher< SiStripDetCablingRcddetCablingWatcher_
 
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > digiToken_
 
DQMStoredqmStore_
 
bool firstEvent
 
int16_t nEvInit_
 
int16_t nEvTot_
 
int16_t nEvUpdate_
 
int nIteration_
 
edm::ESGetToken< SiStripNoises, SiStripNoisesRcdnoiseToken_
 
int NumCMstripsInGroup_
 
std::string outPutFileName
 
edm::ESGetToken< SiStripPedestals, SiStripPedestalsRcdpedestalToken_
 
std::map< uint32_t, ModMEsPedMEs
 
edm::ParameterSet pedsPSet_
 
edm::ESGetToken< SiStripQuality, SiStripQualityRcdqualityToken_
 
std::string runTypeFlag_
 
int16_t signalCutPeds_
 
int theEventInitNumber_
 
int theEventIterNumber_
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtTopoToken_
 

Static Private Attributes

static const std::string RunMode1 = "ConDBPlotsOnly"
 
static const std::string RunMode2 = "CalculatedPlotsOnly"
 
static const std::string RunMode3 = "AllPlots"
 

Additional Inherited Members

- Public Types inherited from DQMOneEDAnalyzer<>
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::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
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from DQMOneEDAnalyzer<>
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup 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 DQMOneEDAnalyzer<>
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Definition at line 51 of file SiStripMonitorPedestals.h.

Constructor & Destructor Documentation

◆ SiStripMonitorPedestals()

SiStripMonitorPedestals::SiStripMonitorPedestals ( const edm::ParameterSet iConfig)
explicit

Definition at line 50 of file SiStripMonitorPedestals.cc.

References conf_, EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::digiProducer, digiToken_, edm::ParameterSet::getParameter(), ProducerED_cfi::InputTag, noiseToken_, NumCMstripsInGroup_, pedestalToken_, pedsPSet_, qualityToken_, RunMode1, RunMode3, runTypeFlag_, AlCaHLTBitMon_QueryRunRegistry::string, theEventInitNumber_, and theEventIterNumber_.

52  conf_(iConfig),
53  pedsPSet_(iConfig.getParameter<edm::ParameterSet>("PedestalsPSet")),
54  analyzed(false),
55  firstEvent(true),
56  signalCutPeds_(4),
57  nEvTot_(0),
58  nIteration_(0),
59  apvFactory_(nullptr),
60  tTopoToken_(esConsumes<edm::Transition::BeginRun>()),
61  detCablingToken_(esConsumes<edm::Transition::BeginRun>()) {
62  // retrieve producer name of input StripDigiCollection
64  std::string digiType = "VirginRaw";
65  digiToken_ = consumes<edm::DetSetVector<SiStripRawDigi>>(edm::InputTag(digiProducer, digiType));
66 
67  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals "
68  << " Constructing....... ";
69 
70  theEventInitNumber_ = pedsPSet_.getParameter<int>("NumberOfEventsForInit");
71  theEventIterNumber_ = pedsPSet_.getParameter<int>("NumberOfEventsForIteration");
72  NumCMstripsInGroup_ = pedsPSet_.getParameter<int>("NumCMstripsInGroup");
73  runTypeFlag_ = conf_.getParameter<std::string>("RunTypeFlag");
74 
76  pedestalToken_ = esConsumes<edm::Transition::BeginRun>();
77  noiseToken_ = esConsumes<edm::Transition::BeginRun>();
78  qualityToken_ = esConsumes<edm::Transition::BeginRun>(
79  edm::ESInputTag{"", iConfig.getParameter<std::string>("StripQualityLabel")});
80  }
81 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > qualityToken_
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > noiseToken_
static const std::string RunMode1
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > digiToken_
static const std::string RunMode3
edm::ESGetToken< SiStripPedestals, SiStripPedestalsRcd > pedestalToken_
ApvAnalysisFactory * apvFactory_
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detCablingToken_
Log< level::Info, false > LogInfo
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_

◆ ~SiStripMonitorPedestals()

SiStripMonitorPedestals::~SiStripMonitorPedestals ( )
override

Definition at line 85 of file SiStripMonitorPedestals.cc.

References apvFactory_.

85  {
86  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals "
87  << " Destructing...... ";
88  if (apvFactory_) {
89  delete apvFactory_;
90  }
91 }
ApvAnalysisFactory * apvFactory_
Log< level::Info, false > LogInfo

Member Function Documentation

◆ analyze()

void SiStripMonitorPedestals::analyze ( const edm::Event iEvent,
const edm::EventSetup eSetup 
)
overridevirtual

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 273 of file SiStripMonitorPedestals.cc.

References apvFactory_, SiStripMonitorPedestals::ModMEs::CMDistribution, SiStripMonitorPedestals::ModMEs::CMSlopeDistribution, SiStripMonitorPedestals::ModMEs::CMSubNoisePerStrip, SiStripMonitorPedestals::ModMEs::CMSubNoiseProfile, gather_cfg::cout, detcabling, detCablingToken_, digiToken_, HcalObjRepresent::Fill(), firstEvent, ApvAnalysisFactory::getCommonMode(), ApvAnalysisFactory::getCommonModeSlope(), SiStripDetCabling::getConnections(), edm::EventSetup::getData(), ApvAnalysisFactory::getMask(), ApvAnalysisFactory::getNoise(), ApvAnalysisFactory::getPedestal(), ApvAnalysisFactory::getRawNoise(), mps_fire::i, iEvent, createfilelist::int, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, dqmdumpme::k, nEvTot_, nIteration_, SiStripMonitorPedestals::ModMEs::NoisyStripDistribution, SiStripMonitorPedestals::ModMEs::NoisyStrips, NumCMstripsInGroup_, PedMEs, SiStripMonitorPedestals::ModMEs::PedsDistribution, SiStripMonitorPedestals::ModMEs::PedsEvolution, SiStripMonitorPedestals::ModMEs::PedsPerStrip, SiStripMonitorPedestals::ModMEs::RawNoisePerStrip, SiStripMonitorPedestals::ModMEs::RawNoiseProfile, RunMode2, RunMode3, runTypeFlag_, groupFilesInBlocks::temp, theEventInitNumber_, theEventIterNumber_, createJobs::tmp, and ApvAnalysisFactory::update().

273  {
274  edm::LogInfo("SiStripMonitorPedestals")
275  << "SiStripMonitorPedestals::analyze: Run " << iEvent.id().run() << " Event " << iEvent.id().event();
276 
278 
280  return;
281 
282  // Increment # of Events
283  nEvTot_++;
284 
285  // get DigiCollection object from Event
287  // you have a collection as there are all the digis for the event for every
288  // detector
289  iEvent.getByToken(digiToken_, digi_collection);
290 
291  // Increase the number of iterations ...
293  nIteration_++;
294 
295  // loop over all MEs
296  for (std::map<uint32_t, ModMEs>::const_iterator i = PedMEs.begin(); i != PedMEs.end(); i++) {
297  uint32_t detid = i->first;
298  ModMEs local_modmes = i->second;
299  // get iterators for digis belonging to one DetId, it is an iterator, i.e.
300  // one element of the vector
301  std::vector<edm::DetSet<SiStripRawDigi>>::const_iterator digis = digi_collection->find(detid);
302  if (digis == digi_collection->end() || digis->data.empty() || digis->data.size() > 768) {
303  if (digis == digi_collection->end()) {
304  edm::LogError("SiStripMonitorPedestals") << " SiStripMonitorPedestals::analyze: Event " << nEvTot_ << " DetId "
305  << detid << " at the end of Digi Collection!!!";
306  } else {
307  edm::LogError("SiStripMonitorPedestals") << " [SiStripMonitorPedestals::analyze: Event " << nEvTot_ << " DetId "
308  << detid << " # of Digis " << digis->data.size();
309  }
310  std::vector<const FedChannelConnection *> fed_conns = detcabling->getConnections(detid);
311  bool firstchannel(true);
312  for (unsigned int k = 0; k < fed_conns.size(); k++) {
313  if (fed_conns[k] && fed_conns[k]->isConnected()) {
314  if (firstchannel) {
315  edm::LogError("SiStripMonitorPedestals") << " SiStripMonitorPedestals::analyze: Fed Id "
316  << fed_conns[k]->fedId() << " Channel " << fed_conns[k]->fedCh();
317  firstchannel = false;
318  } else
319  edm::LogError("SiStripMonitorPedestals")
320  << " SiStripMonitorPedestals::analyze: Channel " << fed_conns[k]->fedCh();
321  }
322  }
323  std::cout << std::endl;
324  continue;
325  }
326 
327  if (digis->data.empty()) {
328  edm::LogError("MonitorDigi_tmp") << "[SiStripRawDigiToRaw::createFedBuffers] Zero digis found!";
329  }
330  uint32_t id = detid;
331  // cout <<"Data size "<<digis->data.size()<<endl;
332  apvFactory_->update(id, (*digis));
333 
335  if (local_modmes.CMDistribution != nullptr) {
336  std::vector<float> tmp;
337  tmp.clear();
339  // unpacking the info looking at the right topology
340  int numberCMBlocks = int(128. / NumCMstripsInGroup_);
341  int ibin = 0;
342  for (std::vector<float>::const_iterator iped = tmp.begin(); iped != tmp.end(); iped++) {
343  int iapv = int(ibin / numberCMBlocks);
344  (local_modmes.CMDistribution)->Fill(iapv, static_cast<float>(*iped));
345  ibin++;
346  }
347  }
348  if (local_modmes.CMSlopeDistribution != nullptr) {
349  std::vector<float> tmp;
350  tmp.clear();
351  int iapv = 0;
353  for (std::vector<float>::const_iterator it = tmp.begin(); it != tmp.end(); it++) {
354  (local_modmes.CMSlopeDistribution)->Fill(iapv, static_cast<float>(*it));
355  iapv++;
356  }
357  }
358  }
359 
360  // asking for the status
362  std::vector<float> tmp;
363  tmp.clear();
365  if (local_modmes.PedsPerStrip != nullptr) {
366  int numberOfApvs = int(tmp.size() / 128.);
367  for (int i = 0; i < numberOfApvs; i++) {
368  std::vector<float> myPedPerApv;
369  apvFactory_->getPedestal(id, i, myPedPerApv);
370  float avarage = 0;
371  avarage = std::accumulate(myPedPerApv.begin(), myPedPerApv.end(), avarage);
372  avarage = avarage / 128.;
373  (local_modmes.PedsEvolution)->setBinContent(i + 1, nIteration_, avarage);
374  }
375  int ibin = 0;
376 
377  for (std::vector<float>::const_iterator iped = tmp.begin(); iped != tmp.end(); iped++) {
378  int napv = int(ibin / 128.);
379  ibin++;
380  float last_value = (local_modmes.PedsPerStrip)->getBinContent(ibin);
381  if (last_value != 0.) {
382  (local_modmes.PedsPerStrip)->setBinContent(ibin, (static_cast<float>(*iped) + last_value) / 2.);
383  } else {
384  (local_modmes.PedsPerStrip)->setBinContent(ibin, static_cast<float>(*iped));
385  }
386  (local_modmes.PedsDistribution)->Fill(napv, static_cast<float>(*iped));
387  }
388  }
389 
390  if (local_modmes.CMSubNoisePerStrip != nullptr && local_modmes.CMSubNoiseProfile != nullptr) {
391  tmp.clear();
392  apvFactory_->getNoise(id, tmp);
393  int ibin = 0;
394  for (std::vector<float>::const_iterator iped = tmp.begin(); iped != tmp.end(); iped++) {
395  ibin++;
396  (local_modmes.CMSubNoiseProfile)->Fill(static_cast<double>(ibin * 1.), static_cast<float>(*iped));
397 
398  float last_value = (local_modmes.CMSubNoisePerStrip)->getBinContent(ibin);
399  if (last_value != 0.) {
400  (local_modmes.CMSubNoisePerStrip)->setBinContent(ibin, (static_cast<float>(*iped) + last_value) / 2.);
401  } else {
402  (local_modmes.CMSubNoisePerStrip)->setBinContent(ibin, static_cast<float>(*iped));
403  }
404  }
405  }
406 
407  if (local_modmes.RawNoisePerStrip != nullptr && local_modmes.RawNoiseProfile != nullptr) {
408  tmp.clear();
410  int ibin = 0;
411  for (std::vector<float>::const_iterator iped = tmp.begin(); iped != tmp.end(); iped++) {
412  ibin++;
413  (local_modmes.RawNoiseProfile)->Fill(static_cast<double>(ibin * 1.), static_cast<float>(*iped));
414  float last_value = (local_modmes.RawNoisePerStrip)->getBinContent(ibin);
415  if (last_value != 0.) {
416  (local_modmes.RawNoisePerStrip)->setBinContent(ibin, (static_cast<float>(*iped) + last_value) / 2.);
417  } else {
418  (local_modmes.RawNoisePerStrip)->setBinContent(ibin, static_cast<float>(*iped));
419  }
420  }
421  }
422 
423  if (local_modmes.NoisyStrips != nullptr) {
425  apvFactory_->getMask(id, temp);
426  int ibin = 0;
427  for (TkApvMask::MaskType::const_iterator iped = temp.begin(); iped != temp.end(); iped++) {
428  ibin++;
429 
430  if (nIteration_ < 2) {
431  if (*iped == 1)
432  (local_modmes.NoisyStrips)->Fill(ibin, 3.);
433  if (*iped == 2)
434  (local_modmes.NoisyStrips)->Fill(ibin, 4.);
435  if (*iped == 0)
436  (local_modmes.NoisyStrips)->Fill(ibin, 0.);
437  } else {
438  (local_modmes.NoisyStrips)->Fill(ibin, static_cast<float>(*iped));
439  (local_modmes.NoisyStripDistribution)->Fill(static_cast<float>(*iped));
440  }
441  }
442  }
443  }
444  }
445  if (firstEvent)
446  firstEvent = false;
447 }
std::vector< StripMaskType > MaskType
Definition: TkApvMask.h:15
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
void getPedestal(uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &peds)
void getCommonModeSlope(uint32_t det_id, ApvAnalysis::PedestalType &tmp)
void getNoise(uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &noise)
void update(uint32_t det_id, const edm::DetSet< SiStripRawDigi > &in)
void getMask(uint32_t det_id, TkApvMask::MaskType &tmp)
const SiStripDetCabling * detcabling
Log< level::Error, false > LogError
void getRawNoise(uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &noise)
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > digiToken_
int iEvent
Definition: GenABIO.cc:224
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
static const std::string RunMode3
ApvAnalysisFactory * apvFactory_
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detCablingToken_
void getCommonMode(uint32_t det_id, ApvAnalysis::PedestalType &tmp)
Log< level::Info, false > LogInfo
static const std::string RunMode2
tmp
align.sh
Definition: createJobs.py:716
std::map< uint32_t, ModMEs > PedMEs

◆ bookHistograms()

void SiStripMonitorPedestals::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overridevirtual

Implements DQMOneEDAnalyzer<>.

Definition at line 96 of file SiStripMonitorPedestals.cc.

References edm::ESWatcher< T >::check(), createMEs(), detcabling, detCablingToken_, detCablingWatcher_, fillCondDBMEs(), edm::EventSetup::getData(), RunMode1, RunMode3, and runTypeFlag_.

98  {
99  if (detCablingWatcher_.check(eSetup)) {
100  detcabling = &eSetup.getData(detCablingToken_);
101  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals::bookHistograms: "
102  << " Creating MEs for new Cabling ";
103  createMEs(ibooker, eSetup);
104  }
105 
107  fillCondDBMEs(eSetup);
108 }
void fillCondDBMEs(edm::EventSetup const &eSetup)
const SiStripDetCabling * detcabling
static const std::string RunMode1
static const std::string RunMode3
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detCablingToken_
Log< level::Info, false > LogInfo
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
void createMEs(DQMStore::IBooker &, edm::EventSetup const &eSetup)
edm::ESWatcher< SiStripDetCablingRcd > detCablingWatcher_

◆ createMEs()

void SiStripMonitorPedestals::createMEs ( DQMStore::IBooker ibooker,
edm::EventSetup const &  eSetup 
)
private

Definition at line 113 of file SiStripMonitorPedestals.cc.

References SiStripDetCabling::addActiveDetectorsRawIds(), apvFactory_, SiStripMonitorPedestals::ModMEs::BadStripsDB, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), SiStripMonitorPedestals::ModMEs::CMDistribution, SiStripMonitorPedestals::ModMEs::CMSlopeDistribution, SiStripMonitorPedestals::ModMEs::CMSubNoisePerStrip, SiStripMonitorPedestals::ModMEs::CMSubNoisePerStripDB, SiStripMonitorPedestals::ModMEs::CMSubNoiseProfile, SiStripHistoId::createHistoId(), detcabling, edm::EventSetup::getData(), ApvAnalysisFactory::instantiateApvs(), SiStripDetCabling::nApvPairs(), SiStripMonitorPedestals::ModMEs::NoisyStripDistribution, SiStripMonitorPedestals::ModMEs::NoisyStrips, PedMEs, SiStripMonitorPedestals::ModMEs::PedsDistribution, SiStripMonitorPedestals::ModMEs::PedsEvolution, SiStripMonitorPedestals::ModMEs::PedsPerStrip, SiStripMonitorPedestals::ModMEs::PedsPerStripDB, pedsPSet_, SiStripMonitorPedestals::ModMEs::RawNoisePerStrip, SiStripMonitorPedestals::ModMEs::RawNoiseProfile, resetMEs(), RunMode1, RunMode2, RunMode3, runTypeFlag_, SiStripFolderOrganizer::setDetectorFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and tTopoToken_.

Referenced by bookHistograms().

113  {
114  const auto tTopo = &es.getData(tTopoToken_);
115 
116  std::vector<uint32_t> SelectedDetIds;
117 
118  // ApvAnalysisFactory
119  if (apvFactory_) {
120  delete apvFactory_;
121  }
123 
124  detcabling->addActiveDetectorsRawIds(SelectedDetIds);
125 
126  // use SistripHistoId for producing histogram id (and title)
127  SiStripHistoId hidmanager;
128  // create SiStripFolderOrganizer
129  SiStripFolderOrganizer folder_organizer;
130 
131  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals::createMEs: "
132  << "Number of Detector Present in cabling " << SelectedDetIds.size();
133 
134  for (std::vector<uint32_t>::const_iterator idetid = SelectedDetIds.begin(), iEnd = SelectedDetIds.end();
135  idetid != iEnd;
136  ++idetid) {
137  uint32_t detid = *idetid;
138 
139  // Check consistency in DetId
140  if (detid == 0 || detid == 0xFFFFFFFF) {
141  edm::LogError("SiStripMonitorPedestals") << "SiStripMonitorPedestals::createMEs: "
142  << "Wrong DetId !!!!!! " << detid << " Neglecting !!!!!! ";
143  continue;
144  }
145 
146  unsigned int apv_pairs = detcabling->nApvPairs(detid);
147 
148  // Check consistency in Apv numbers
149  if (apv_pairs < 1 || apv_pairs > 3) {
150  edm::LogError("SiStripMonitorPedestals") << "SiStripMonitorPedestals::createMEs: Wrong APV Pairs => detId "
151  << detid << " APV pairs " << apv_pairs << " Neglecting !!!!!! ";
152  continue;
153  }
154  unsigned int napvs = apv_pairs * 2;
155  unsigned int nStrip = napvs * 128;
156 
157  bool newDetId = apvFactory_->instantiateApvs(detid, napvs);
158 
159  if (newDetId) {
160  ModMEs local_modmes;
161  local_modmes.PedsPerStrip = nullptr;
162  local_modmes.PedsDistribution = nullptr;
163  local_modmes.PedsEvolution = nullptr;
164  local_modmes.CMSubNoisePerStrip = nullptr;
165  local_modmes.RawNoisePerStrip = nullptr;
166  local_modmes.CMSubNoiseProfile = nullptr;
167  local_modmes.RawNoiseProfile = nullptr;
168  local_modmes.NoisyStrips = nullptr;
169  local_modmes.NoisyStripDistribution = nullptr;
170  local_modmes.CMDistribution = nullptr;
171  local_modmes.CMSlopeDistribution = nullptr;
172  local_modmes.PedsPerStripDB = nullptr;
173  local_modmes.CMSubNoisePerStripDB = nullptr;
174  local_modmes.BadStripsDB = nullptr;
175 
176  std::string hid;
177  // set appropriate folder using SiStripFolderOrganizer
178  folder_organizer.setDetectorFolder(detid, tTopo); // pass the detid to this method
179 
180  // if the deid already exists in the map, then reset MEs otherwise create
181  // them
182  resetMEs(detid);
183 
185  // Pedestals histos
186  hid = hidmanager.createHistoId("PedestalFromCondDB", "det", detid);
187  local_modmes.PedsPerStripDB =
188  ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5); // to modify the size binning
189  (local_modmes.PedsPerStripDB)->setAxisTitle("Pedestal from CondDB(ADC) vs Strip Number", 1);
190 
191  hid = hidmanager.createHistoId("NoiseFromCondDB", "det", detid);
192  local_modmes.CMSubNoisePerStripDB = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
193  (local_modmes.CMSubNoisePerStripDB)->setAxisTitle("CMSubNoise from CondDB(ADC) vs Strip Number", 1);
194 
195  hid = hidmanager.createHistoId("BadStripFlagCondDB", "det", detid);
196  local_modmes.BadStripsDB = ibooker.book2D(hid, hid, nStrip, 0.5, nStrip + 0.5, 6, -0.5, 5.5);
197  (local_modmes.BadStripsDB)->setAxisTitle("Strip Flag from CondDB(ADC) vs Strip Number", 1);
198  }
200  // Pedestals histos
201  hid = hidmanager.createHistoId("PedsPerStrip", "det", detid);
202  local_modmes.PedsPerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5); // to modify the size binning
203  (local_modmes.PedsPerStrip)->setAxisTitle("Pedestal (ADC) vs Strip Number ", 1);
204 
205  hid = hidmanager.createHistoId("PedsDistribution", "det", detid);
206  local_modmes.PedsDistribution = ibooker.book2D(hid,
207  hid,
208  napvs,
209  -0.5,
210  napvs - 0.5,
211  300,
212  200,
213  500); // to modify the size binning
214  (local_modmes.PedsDistribution)->setAxisTitle("Apv Number", 1);
215  (local_modmes.PedsDistribution)->setAxisTitle("Mean Pedestal Value (ADC)", 2);
216 
217  hid = hidmanager.createHistoId("PedsEvolution", "det", detid);
218  local_modmes.PedsEvolution = ibooker.book2D(hid,
219  hid,
220  napvs,
221  -0.5,
222  napvs - 0.5,
223  50,
224  0.,
225  50.); // to modify the size binning
226  (local_modmes.PedsEvolution)->setAxisTitle("Apv Number", 1);
227  (local_modmes.PedsEvolution)->setAxisTitle("Iteration Number", 2);
228 
229  // Noise histos
230  hid = hidmanager.createHistoId("CMSubNoisePerStrip", "det", detid);
231  local_modmes.CMSubNoisePerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
232  (local_modmes.CMSubNoisePerStrip)->setAxisTitle("CMSubNoise (ADC) vs Strip Number", 1);
233 
234  hid = hidmanager.createHistoId("RawNoisePerStrip", "det", detid);
235  local_modmes.RawNoisePerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
236  (local_modmes.RawNoisePerStrip)->setAxisTitle("RawNoise(ADC) vs Strip Number", 1);
237 
238  hid = hidmanager.createHistoId("CMSubNoiseProfile", "det", detid);
239  local_modmes.CMSubNoiseProfile = ibooker.bookProfile(hid, hid, nStrip, 0.5, nStrip + 0.5, 100, 0., 100.);
240  (local_modmes.CMSubNoiseProfile)->setAxisTitle("Mean of CMSubNoise (ADC) vs Strip Number", 1);
241 
242  hid = hidmanager.createHistoId("RawNoiseProfile", "det", detid);
243  local_modmes.RawNoiseProfile = ibooker.bookProfile(hid, hid, nStrip, 0.5, nStrip + 0.5, 100, 0., 100.);
244  (local_modmes.RawNoiseProfile)->setAxisTitle("Mean of RawNoise (ADC) vs Strip Number", 1);
245 
246  hid = hidmanager.createHistoId("NoisyStrips", "det", detid);
247  local_modmes.NoisyStrips = ibooker.book2D(hid, hid, nStrip, 0.5, nStrip + 0.5, 6, -0.5, 5.5);
248  (local_modmes.NoisyStrips)->setAxisTitle("Strip Number", 1);
249  (local_modmes.NoisyStrips)->setAxisTitle("Flag Value", 2);
250 
251  hid = hidmanager.createHistoId("NoisyStripDistribution", "det", detid);
252  local_modmes.NoisyStripDistribution = ibooker.book1D(hid, hid, 11, -0.5, 10.5);
253  (local_modmes.NoisyStripDistribution)->setAxisTitle("Flag Value", 1);
254 
255  // Common Mode histos
256  hid = hidmanager.createHistoId("CMDistribution", "det", detid);
257  local_modmes.CMDistribution = ibooker.book2D(hid, hid, napvs, -0.5, napvs - 0.5, 150, -15., 15.);
258  (local_modmes.CMDistribution)->setAxisTitle("Common Mode (ADC) vs APV Number", 1);
259 
260  hid = hidmanager.createHistoId("CMSlopeDistribution", "det", detid);
261  local_modmes.CMSlopeDistribution = ibooker.book2D(hid, hid, napvs, -0.5, napvs - 0.5, 100, -0.05, 0.05);
262  (local_modmes.CMSlopeDistribution)->setAxisTitle("Common Mode Slope vs APV Number", 1);
263  }
264  // data from CondDB
265  // append to PedMEs
266  PedMEs.insert(std::make_pair(detid, local_modmes));
267  } // newDetId
268  }
269  edm::LogInfo("SiStripMonitorPedestals")
270  << "SiStripMonitorPedestals::createMEs: Number of DETS used " << PedMEs.size();
271 }
const SiStripDetCabling * detcabling
Log< level::Error, false > LogError
static const std::string RunMode1
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
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
static const std::string RunMode3
bool instantiateApvs(uint32_t det_id, int numberOfApvs)
ApvAnalysisFactory * apvFactory_
Log< level::Info, false > LogInfo
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:221
static const std::string RunMode2
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
const uint16_t nApvPairs(uint32_t det_id) const
std::map< uint32_t, ModMEs > PedMEs
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const

◆ dqmEndRun()

void SiStripMonitorPedestals::dqmEndRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overridevirtual

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 451 of file SiStripMonitorPedestals.cc.

References conf_, dqmStore_, edm::ParameterSet::getParameter(), outPutFileName, dqm::implementation::DQMStore::save(), and AlCaHLTBitMon_QueryRunRegistry::string.

451  {
452  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
453  if (outputMEsInRootFile) {
456  }
457 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
DQM_DEPRECATED void save(std::string const &filename, std::string const &path="")
Definition: DQMStore.cc:824

◆ endJob()

void SiStripMonitorPedestals::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 461 of file SiStripMonitorPedestals.cc.

461  {
462  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals::EndJob: "
463  << " Finishing!! ";
464 }
Log< level::Info, false > LogInfo

◆ fillCondDBMEs()

void SiStripMonitorPedestals::fillCondDBMEs ( edm::EventSetup const &  eSetup)
private

Definition at line 495 of file SiStripMonitorPedestals.cc.

References SiStripMonitorPedestals::ModMEs::BadStripsDB, SiStripMonitorPedestals::ModMEs::CMSubNoisePerStripDB, detcabling, MillePedeFileConverter_cfg::e, HcalObjRepresent::Fill(), edm::EventSetup::getData(), mps_fire::i, SiStripDetCabling::nApvPairs(), hgcalLayerClustersEE_cfi::noises, noiseToken_, pedestalToken_, PedMEs, SiStripMonitorPedestals::ModMEs::PedsPerStripDB, quality, and qualityToken_.

Referenced by bookHistograms().

495  {
496  const auto &pedestals = eSetup.getData(pedestalToken_);
497  const auto &noises = eSetup.getData(noiseToken_);
498  const auto &quality = eSetup.getData(qualityToken_);
499 
500  for (std::map<uint32_t, ModMEs>::const_iterator i = PedMEs.begin(); i != PedMEs.end(); i++) {
501  uint32_t detid = i->first;
502  ModMEs local_modmes = i->second;
503  edm::LogInfo("SiStripMonitorPedestals") << " SiStripMonitorPedestals::analyze: "
504  << " Get Ped/Noise/Bad Strips from CondDb for DetId " << detid;
505  int nStrip = detcabling->nApvPairs(detid) * 256;
506  // Get range of pedestal and noise for the detid
507  SiStripNoises::Range noiseRange = noises.getRange(detid);
508  SiStripPedestals::Range pedRange = pedestals.getRange(detid);
509  SiStripQuality::Range qualityRange = quality.getRange(detid);
510 
511  for (int istrip = 0; istrip < nStrip; ++istrip) {
512  try {
513  // Fill Pedestals
514  (local_modmes.PedsPerStripDB)->Fill(istrip + 1, pedestals.getPed(istrip, pedRange));
515  } catch (cms::Exception &e) {
516  edm::LogError("SiStripMonitorPedestals") << "[SiStripMonitorPedestals::analyze] cms::Exception accessing "
517  "SiStripPedestalsService_.getPedestal("
518  << detid << "," << istrip << ") : "
519  << " " << e.what();
520  }
521  try {
522  // Fill Noises
523  (local_modmes.CMSubNoisePerStripDB)->Fill(istrip + 1, noises.getNoise(istrip, noiseRange));
524 
525  } catch (cms::Exception &e) {
526  edm::LogError("SiStripMonitorPedestals") << "[SiStripMonitorPedestals::analyze] cms::Exception accessing "
527  "SiStripNoiseService_.getNoise("
528  << detid << "," << istrip << ") : "
529  << " " << e.what();
530  }
531  try {
532  // Fill BadStripsNoise
533  (local_modmes.BadStripsDB)->Fill(istrip + 1, quality.IsStripBad(qualityRange, istrip) ? 1. : 0.);
534 
535  } catch (cms::Exception &e) {
536  edm::LogError("SiStripMonitorPedestals") << "[SiStripMonitorPedestals::analyze] cms::Exception accessing "
537  "SiStripNoiseService_.getDisable("
538  << detid << "," << istrip << ") : "
539  << " " << e.what();
540  }
541  } // close istrip loop
542  }
543 }
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > qualityToken_
const SiStripDetCabling * detcabling
std::pair< ContainerIterator, ContainerIterator > Range
Log< level::Error, false > LogError
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > noiseToken_
string quality
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
edm::ESGetToken< SiStripPedestals, SiStripPedestalsRcd > pedestalToken_
Log< level::Info, false > LogInfo
std::pair< ContainerIterator, ContainerIterator > Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripNoises.h:47
const uint16_t nApvPairs(uint32_t det_id) const
std::map< uint32_t, ModMEs > PedMEs

◆ resetMEs()

void SiStripMonitorPedestals::resetMEs ( uint32_t  idet)
private

Definition at line 468 of file SiStripMonitorPedestals.cc.

References SiStripMonitorPedestals::ModMEs::BadStripsDB, SiStripMonitorPedestals::ModMEs::CMDistribution, SiStripMonitorPedestals::ModMEs::CMSlopeDistribution, SiStripMonitorPedestals::ModMEs::CMSubNoisePerStrip, SiStripMonitorPedestals::ModMEs::CMSubNoisePerStripDB, SiStripMonitorPedestals::ModMEs::CMSubNoiseProfile, SiStripMonitorPedestals::ModMEs::NoisyStrips, PedMEs, SiStripMonitorPedestals::ModMEs::PedsDistribution, SiStripMonitorPedestals::ModMEs::PedsEvolution, SiStripMonitorPedestals::ModMEs::PedsPerStrip, SiStripMonitorPedestals::ModMEs::PedsPerStripDB, SiStripMonitorPedestals::ModMEs::RawNoisePerStrip, SiStripMonitorPedestals::ModMEs::RawNoiseProfile, dqm::impl::MonitorElement::Reset(), RunMode1, RunMode2, RunMode3, and runTypeFlag_.

Referenced by createMEs().

468  {
469  std::map<uint32_t, ModMEs>::iterator pos = PedMEs.find(idet);
470  if (pos != PedMEs.end()) {
471  ModMEs mod_me = pos->second;
472 
474  mod_me.PedsPerStripDB->Reset();
475  mod_me.CMSubNoisePerStripDB->Reset();
476  mod_me.BadStripsDB->Reset();
477  }
479  mod_me.PedsPerStrip->Reset();
480  mod_me.PedsDistribution->Reset();
481  mod_me.PedsEvolution->Reset();
482  mod_me.CMSubNoisePerStrip->Reset();
483  mod_me.RawNoisePerStrip->Reset();
484  mod_me.CMSubNoiseProfile->Reset();
485  mod_me.RawNoiseProfile->Reset();
486  mod_me.NoisyStrips->Reset();
487  mod_me.CMDistribution->Reset();
488  mod_me.CMSlopeDistribution->Reset();
489  }
490  }
491 }
static const std::string RunMode1
static const std::string RunMode3
static const std::string RunMode2
std::map< uint32_t, ModMEs > PedMEs

Member Data Documentation

◆ analyzed

bool SiStripMonitorPedestals::analyzed
private

Definition at line 94 of file SiStripMonitorPedestals.h.

◆ apvFactory_

ApvAnalysisFactory* SiStripMonitorPedestals::apvFactory_
private

Definition at line 103 of file SiStripMonitorPedestals.h.

Referenced by analyze(), createMEs(), and ~SiStripMonitorPedestals().

◆ conf_

edm::ParameterSet SiStripMonitorPedestals::conf_
private

Definition at line 90 of file SiStripMonitorPedestals.h.

Referenced by dqmEndRun(), and SiStripMonitorPedestals().

◆ detcabling

const SiStripDetCabling* SiStripMonitorPedestals::detcabling
private

Definition at line 92 of file SiStripMonitorPedestals.h.

Referenced by analyze(), bookHistograms(), createMEs(), and fillCondDBMEs().

◆ detCablingToken_

edm::ESGetToken<SiStripDetCabling, SiStripDetCablingRcd> SiStripMonitorPedestals::detCablingToken_
private

Definition at line 111 of file SiStripMonitorPedestals.h.

Referenced by analyze(), and bookHistograms().

◆ detCablingWatcher_

edm::ESWatcher<SiStripDetCablingRcd> SiStripMonitorPedestals::detCablingWatcher_
private

Definition at line 112 of file SiStripMonitorPedestals.h.

Referenced by bookHistograms().

◆ digiToken_

edm::EDGetTokenT<edm::DetSetVector<SiStripRawDigi> > SiStripMonitorPedestals::digiToken_
private

Definition at line 62 of file SiStripMonitorPedestals.h.

Referenced by analyze(), and SiStripMonitorPedestals().

◆ dqmStore_

DQMStore* SiStripMonitorPedestals::dqmStore_
private

Definition at line 89 of file SiStripMonitorPedestals.h.

Referenced by dqmEndRun().

◆ firstEvent

bool SiStripMonitorPedestals::firstEvent
private

◆ nEvInit_

int16_t SiStripMonitorPedestals::nEvInit_
private

Definition at line 101 of file SiStripMonitorPedestals.h.

◆ nEvTot_

int16_t SiStripMonitorPedestals::nEvTot_
private

Definition at line 100 of file SiStripMonitorPedestals.h.

Referenced by analyze().

◆ nEvUpdate_

int16_t SiStripMonitorPedestals::nEvUpdate_
private

Definition at line 98 of file SiStripMonitorPedestals.h.

◆ nIteration_

int SiStripMonitorPedestals::nIteration_
private

Definition at line 102 of file SiStripMonitorPedestals.h.

Referenced by analyze().

◆ noiseToken_

edm::ESGetToken<SiStripNoises, SiStripNoisesRcd> SiStripMonitorPedestals::noiseToken_
private

Definition at line 114 of file SiStripMonitorPedestals.h.

Referenced by fillCondDBMEs(), and SiStripMonitorPedestals().

◆ NumCMstripsInGroup_

int SiStripMonitorPedestals::NumCMstripsInGroup_
private

Definition at line 106 of file SiStripMonitorPedestals.h.

Referenced by analyze(), and SiStripMonitorPedestals().

◆ outPutFileName

std::string SiStripMonitorPedestals::outPutFileName
private

Definition at line 108 of file SiStripMonitorPedestals.h.

Referenced by dqmEndRun().

◆ pedestalToken_

edm::ESGetToken<SiStripPedestals, SiStripPedestalsRcd> SiStripMonitorPedestals::pedestalToken_
private

Definition at line 113 of file SiStripMonitorPedestals.h.

Referenced by fillCondDBMEs(), and SiStripMonitorPedestals().

◆ PedMEs

std::map<uint32_t, ModMEs> SiStripMonitorPedestals::PedMEs
private

Definition at line 91 of file SiStripMonitorPedestals.h.

Referenced by analyze(), createMEs(), fillCondDBMEs(), and resetMEs().

◆ pedsPSet_

edm::ParameterSet SiStripMonitorPedestals::pedsPSet_
private

Definition at line 93 of file SiStripMonitorPedestals.h.

Referenced by createMEs(), and SiStripMonitorPedestals().

◆ qualityToken_

edm::ESGetToken<SiStripQuality, SiStripQualityRcd> SiStripMonitorPedestals::qualityToken_
private

Definition at line 115 of file SiStripMonitorPedestals.h.

Referenced by fillCondDBMEs(), and SiStripMonitorPedestals().

◆ RunMode1

const std::string SiStripMonitorPedestals::RunMode1 = "ConDBPlotsOnly"
staticprivate

◆ RunMode2

const std::string SiStripMonitorPedestals::RunMode2 = "CalculatedPlotsOnly"
staticprivate

Definition at line 118 of file SiStripMonitorPedestals.h.

Referenced by analyze(), createMEs(), and resetMEs().

◆ RunMode3

const std::string SiStripMonitorPedestals::RunMode3 = "AllPlots"
staticprivate

◆ runTypeFlag_

std::string SiStripMonitorPedestals::runTypeFlag_
private

◆ signalCutPeds_

int16_t SiStripMonitorPedestals::signalCutPeds_
private

Definition at line 99 of file SiStripMonitorPedestals.h.

◆ theEventInitNumber_

int SiStripMonitorPedestals::theEventInitNumber_
private

Definition at line 104 of file SiStripMonitorPedestals.h.

Referenced by analyze(), and SiStripMonitorPedestals().

◆ theEventIterNumber_

int SiStripMonitorPedestals::theEventIterNumber_
private

Definition at line 105 of file SiStripMonitorPedestals.h.

Referenced by analyze(), and SiStripMonitorPedestals().

◆ tTopoToken_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripMonitorPedestals::tTopoToken_
private

Definition at line 110 of file SiStripMonitorPedestals.h.

Referenced by createMEs().