CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

FedTimingTask Class Reference

#include <FedTimingTask.h>

Inheritance diagram for FedTimingTask:
CommissioningTask

List of all members.

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_

Detailed Description

Definition at line 9 of file FedTimingTask.h.


Constructor & Destructor Documentation

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

Definition at line 10 of file FedTimingTask.cc.

References LogDebug.

                                                                 :
  CommissioningTask( dqm, conn, "FedTimingTask" ),
  timing_(),
  nBins_(40) //@@ this should be from number of scope mode samples (mean booking in event loop and putting scope mode length in trigger fed)
{
  LogDebug("Commissioning") << "[FedTimingTask::FedTimingTask] Constructing object...";
}
FedTimingTask::~FedTimingTask ( ) [virtual]

Definition at line 21 of file FedTimingTask.cc.

References LogDebug.

                              {
  LogDebug("Commissioning") << "[FedTimingTask::FedTimingTask] Destructing object...";
}

Member Function Documentation

void FedTimingTask::book ( ) [private, virtual]
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().

                                                                   {
  LogDebug("Commissioning") << "[FedTimingTask::fill]";

  //@@ if scope mode length is in trigger fed, then 
  //@@ can add check here on number of digis
  if ( digis.data.size() < nBins_ ) {
    edm::LogWarning("Commissioning") << "[FedTimingTask::fill]" 
                                     << " Unexpected number of digis! " 
                                     << digis.data.size(); 
  } else {
    
    uint32_t pll_fine = summary.pllFine();
    for ( uint16_t coarse = 0; coarse < nBins_/*digis.data.size()*/; coarse++ ) {
      uint16_t fine = (coarse+1)*24 - (pll_fine+1);
      updateHistoSet( timing_, fine, digis.data[coarse].adc() );
    }

  }

}
void FedTimingTask::update ( void  ) [private, virtual]

Reimplemented from CommissioningTask.

Definition at line 85 of file FedTimingTask.cc.

References LogDebug, timing_, and CommissioningTask::updateHistoSet().

                           {
  LogDebug("Commissioning") << "[FedTimingTask::update]";
  updateHistoSet( timing_ );
}

Member Data Documentation

uint16_t FedTimingTask::nBins_ [private]

Definition at line 25 of file FedTimingTask.h.

Referenced by book(), and fill().

Definition at line 23 of file FedTimingTask.h.

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