#include <DQM/SiStripCommissioningSources/interface/FedTimingTask.h>
Public Member Functions | |
FedTimingTask (DQMStore *, const FedChannelConnection &) | |
virtual | ~FedTimingTask () |
Private Member Functions | |
virtual void | book () |
virtual void | fill (const SiStripEventSummary &, const edm::DetSet< SiStripRawDigi > &) |
virtual void | update () |
Private Attributes | |
uint16_t | nBins_ |
HistoSet | timing_ |
Definition at line 9 of file FedTimingTask.h.
FedTimingTask::FedTimingTask | ( | DQMStore * | dqm, | |
const FedChannelConnection & | conn | |||
) |
Definition at line 10 of file FedTimingTask.cc.
References LogDebug.
00011 : 00012 CommissioningTask( dqm, conn, "FedTimingTask" ), 00013 timing_(), 00014 nBins_(40) //@@ this should be from number of scope mode samples (mean booking in event loop and putting scope mode length in trigger fed) 00015 { 00016 LogDebug("Commissioning") << "[FedTimingTask::FedTimingTask] Constructing object..."; 00017 }
FedTimingTask::~FedTimingTask | ( | ) | [virtual] |
Definition at line 21 of file FedTimingTask.cc.
References LogDebug.
00021 { 00022 LogDebug("Commissioning") << "[FedTimingTask::FedTimingTask] Destructing object..."; 00023 }
void FedTimingTask::book | ( | ) | [private, virtual] |
Reimplemented from CommissioningTask.
Definition at line 27 of file FedTimingTask.cc.
References CommissioningTask::connection(), CommissioningTask::dqm(), sistrip::EXPERT_HISTO, sistrip::FED_KEY, sistrip::FED_TIMING, CommissioningTask::fedKey(), CommissioningTask::HistoSet::histo(), sistrip::LLD_CHAN, LogDebug, nBins_, timing_, indexGen::title, CommissioningTask::HistoSet::vNumOfEntries_, CommissioningTask::HistoSet::vSumOfContents_, and CommissioningTask::HistoSet::vSumOfSquares_.
00027 { 00028 LogDebug("Commissioning") << "[FedTimingTask::book]"; 00029 00030 uint16_t nbins = 24 * nBins_; // 24 "fine" pll skews possible 00031 00032 std::string title; 00033 00034 title = SiStripHistoTitle( sistrip::EXPERT_HISTO, 00035 sistrip::FED_TIMING, 00036 sistrip::FED_KEY, 00037 fedKey(), 00038 sistrip::LLD_CHAN, 00039 connection().lldChannel() ).title(); 00040 00041 timing_.histo( dqm()->bookProfile( title, title, 00042 nbins, -0.5, nbins*1.-0.5, 00043 1025, 0., 1025. ) ); 00044 00045 timing_.vNumOfEntries_.resize(nbins,0); 00046 timing_.vSumOfContents_.resize(nbins,0); 00047 timing_.vSumOfSquares_.resize(nbins,0); 00048 00049 }
void FedTimingTask::fill | ( | const SiStripEventSummary & | summary, | |
const edm::DetSet< SiStripRawDigi > & | digis | |||
) | [private, virtual] |
Reimplemented from CommissioningTask.
Definition at line 61 of file FedTimingTask.cc.
References edm::DetSet< T >::data, LogDebug, nBins_, SiStripEventSummary::pllFine(), timing_, and CommissioningTask::updateHistoSet().
00062 { 00063 LogDebug("Commissioning") << "[FedTimingTask::fill]"; 00064 00065 //@@ if scope mode length is in trigger fed, then 00066 //@@ can add check here on number of digis 00067 if ( digis.data.size() < nBins_ ) { 00068 edm::LogWarning("Commissioning") << "[FedTimingTask::fill]" 00069 << " Unexpected number of digis! " 00070 << digis.data.size(); 00071 } else { 00072 00073 uint32_t pll_fine = summary.pllFine(); 00074 for ( uint16_t coarse = 0; coarse < nBins_/*digis.data.size()*/; coarse++ ) { 00075 uint16_t fine = (coarse+1)*24 - (pll_fine+1); 00076 updateHistoSet( timing_, fine, digis.data[coarse].adc() ); 00077 } 00078 00079 } 00080 00081 }
void FedTimingTask::update | ( | ) | [private, virtual] |
Reimplemented from CommissioningTask.
Definition at line 85 of file FedTimingTask.cc.
References LogDebug, timing_, and CommissioningTask::updateHistoSet().
00085 { 00086 LogDebug("Commissioning") << "[FedTimingTask::update]"; 00087 updateHistoSet( timing_ ); 00088 }
uint16_t FedTimingTask::nBins_ [private] |
HistoSet FedTimingTask::timing_ [private] |