CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ApvTimingTask Class Reference

#include <ApvTimingTask.h>

Inheritance diagram for ApvTimingTask:
CommissioningTask

Public Member Functions

 ApvTimingTask (DQMStore *, const FedChannelConnection &)
 
 ~ApvTimingTask () override
 
- Public Member Functions inherited from CommissioningTask
void bookHistograms ()
 
 CommissioningTask (DQMStore *, const FedChannelConnection &, const std::string &my_name)
 
void eventSetup (const edm::EventSetup *)
 
const uint32_t & fillCntr () const
 
void fillHistograms (const SiStripEventSummary &, const edm::DetSet< SiStripRawDigi > &)
 
void fillHistograms (const SiStripEventSummary &, const edm::DetSet< SiStripRawDigi > &, const edm::DetSet< SiStripRawDigi > &)
 
void fillHistograms (const SiStripEventSummary &, const edm::DetSet< SiStripRawDigi > &, const edm::DetSet< SiStripRawDigi > &, const std::vector< uint16_t > &)
 
void fillHistograms (const SiStripEventSummary &, const uint16_t &fed_id, const std::map< uint16_t, float > &fed_ch)
 
const std::string & myName () const
 
const uint32_t & updateFreq () const
 
void updateFreq (const uint32_t &)
 
void updateHistograms ()
 
virtual ~CommissioningTask ()
 

Private Member Functions

void book () override
 
void fill (const SiStripEventSummary &, const edm::DetSet< SiStripRawDigi > &) override
 
void update () override
 

Private Attributes

uint16_t nBins_
 
uint16_t nFineDelays_
 
uint16_t nSamples_
 
HistoSet timing_
 

Additional Inherited Members

- Public Types inherited from CommissioningTask
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
- Protected Member Functions inherited from CommissioningTask
const FedChannelConnectionconnection () const
 
DQMStore *const dqm () const
 
const edm::EventSetup *const eventSetup () const
 
const uint32_t & fecKey () const
 
const uint32_t & fedKey () const
 
void updateHistoSet (HistoSet &, const uint32_t &bin, const float &value)
 
void updateHistoSet (CompactHistoSet &, const uint32_t &bin, const short &value)
 
void updateHistoSet (HistoSet &, const uint32_t &bin)
 
void updateHistoSet (CompactHistoSet &, const uint32_t &bin)
 
void updateHistoSet (HistoSet &, const float &value)
 
void updateHistoSet (CompactHistoSet &)
 
void updateHistoSet (HistoSet &)
 

Detailed Description

Definition at line 9 of file ApvTimingTask.h.

Constructor & Destructor Documentation

◆ ApvTimingTask()

ApvTimingTask::ApvTimingTask ( DQMStore dqm,
const FedChannelConnection conn 
)

Definition at line 11 of file ApvTimingTask.cc.

12  : CommissioningTask(dqm, conn, "ApvTimingTask"), timing_(), nSamples_(40), nFineDelays_(24), nBins_(40) {}
uint16_t nFineDelays_
Definition: ApvTimingTask.h:22
uint16_t nBins_
Definition: ApvTimingTask.h:23
HistoSet timing_
Definition: ApvTimingTask.h:19
Definition: DQMStore.h:18
uint16_t nSamples_
Definition: ApvTimingTask.h:21

◆ ~ApvTimingTask()

ApvTimingTask::~ApvTimingTask ( )
override

Definition at line 16 of file ApvTimingTask.cc.

16 {}

Member Function Documentation

◆ book()

void ApvTimingTask::book ( )
overrideprivatevirtual

Reimplemented from CommissioningTask.

Definition at line 20 of file ApvTimingTask.cc.

References sistrip::APV_TIMING, CommissioningTask::connection(), CommissioningTask::dqm(), sistrip::EXPERT_HISTO, sistrip::FED_KEY, CommissioningTask::fedKey(), CommissioningTask::HistoSet::histo(), sistrip::LLD_CHAN, LaserClient_cfi::nbins, nBins_, AlCaHLTBitMon_QueryRunRegistry::string, timing_, SiStripHistoTitle::title(), runGCPTkAlMap::title, CommissioningTask::HistoSet::vNumOfEntries_, CommissioningTask::HistoSet::vSumOfContents_, and CommissioningTask::HistoSet::vSumOfSquares_.

20  {
21  uint16_t nbins = 24 * nBins_;
22 
26  fedKey(),
28  connection().lldChannel())
29  .title();
30 
31  timing_.histo(dqm()->bookProfile(title, title, nbins, -0.5, nBins_ * 25. - 0.5, 1025, 0., 1025.));
32 
33  timing_.vNumOfEntries_.resize(nbins, 0);
34  timing_.vSumOfContents_.resize(nbins, 0);
35  timing_.vSumOfSquares_.resize(nbins, 0);
36 }
std::vector< float > vNumOfEntries_
Utility class that holds histogram title.
std::vector< float > vSumOfContents_
const uint32_t & fedKey() const
DQMStore *const dqm() const
uint16_t nBins_
Definition: ApvTimingTask.h:23
HistoSet timing_
Definition: ApvTimingTask.h:19
void histo(MonitorElement *)
std::vector< double > vSumOfSquares_
const std::string & title() const
const FedChannelConnection & connection() const

◆ fill()

void ApvTimingTask::fill ( const SiStripEventSummary summary,
const edm::DetSet< SiStripRawDigi > &  digis 
)
overrideprivatevirtual

Reimplemented from CommissioningTask.

Definition at line 48 of file ApvTimingTask.cc.

References edm::DetSet< T >::data, sistrip::mlDqmSource_, nBins_, edmLumisInFiles::summary, timing_, and CommissioningTask::updateHistoSet().

48  {
49  if (digis.data.size() < nBins_) { //@@ check scope mode length?
50  edm::LogWarning(mlDqmSource_) << "[ApvTimingTask::" << __func__ << "]"
51  << " Unexpected number of digis! " << digis.data.size();
52  return;
53  }
54 
55  uint32_t pll_fine = summary.pllFine();
56  for (uint16_t coarse = 0; coarse < nBins_ /*digis.data.size()*/; coarse++) {
57  uint16_t fine = (coarse + 1) * 24 - (pll_fine + 1);
58  updateHistoSet(timing_, fine, digis.data[coarse].adc());
59  }
60 }
static const char mlDqmSource_[]
void updateHistoSet(HistoSet &, const uint32_t &bin, const float &value)
uint16_t nBins_
Definition: ApvTimingTask.h:23
collection_type data
Definition: DetSet.h:80
HistoSet timing_
Definition: ApvTimingTask.h:19
Log< level::Warning, false > LogWarning

◆ update()

void ApvTimingTask::update ( )
overrideprivatevirtual

Member Data Documentation

◆ nBins_

uint16_t ApvTimingTask::nBins_
private

Definition at line 23 of file ApvTimingTask.h.

Referenced by book(), and fill().

◆ nFineDelays_

uint16_t ApvTimingTask::nFineDelays_
private

Definition at line 22 of file ApvTimingTask.h.

◆ nSamples_

uint16_t ApvTimingTask::nSamples_
private

Definition at line 21 of file ApvTimingTask.h.

◆ timing_

HistoSet ApvTimingTask::timing_
private

Definition at line 19 of file ApvTimingTask.h.

Referenced by book(), fill(), and update().