CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

FedCablingTask Class Reference

#include <FedCablingTask.h>

Inheritance diagram for FedCablingTask:
CommissioningTask

List of all members.

Public Member Functions

 FedCablingTask (DQMStore *, const FedChannelConnection &)
virtual ~FedCablingTask ()

Private Member Functions

virtual void book ()
virtual void fill (const SiStripEventSummary &, const uint16_t &fed_id, const std::map< uint16_t, float > &fed_ch)
virtual void update ()

Private Attributes

std::vector< HistoSethistos_

Detailed Description

This object is stored in the TaskMap using FecKey as the key, rather than FedKey as for the other commissioning tasks.

Definition at line 13 of file FedCablingTask.h.


Constructor & Destructor Documentation

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

Definition at line 14 of file FedCablingTask.cc.

                                                                   :
  CommissioningTask( dqm, conn, "FedCablingTask" ),
  histos_()
{}
FedCablingTask::~FedCablingTask ( ) [virtual]

Definition at line 22 of file FedCablingTask.cc.

                                {
}

Member Function Documentation

void FedCablingTask::book ( ) [private, virtual]

Reimplemented from CommissioningTask.

Definition at line 27 of file FedCablingTask.cc.

References CommissioningTask::connection(), CommissioningTask::dqm(), sistrip::EXPERT_HISTO, sistrip::FED_CABLING, sistrip::FED_KEY, sistrip::fedChannel_, CommissioningTask::fedKey(), sistrip::feDriver_, histos_, sistrip::LLD_CHAN, sistrip::mlDqmSource_, pileupCalc::nbins, SiStripHistoTitle::title(), and indexGen::title.

                          {
  
  histos_.resize(2);
  
  std::string title;
  uint16_t nbins = 0;
  std::string extra_info = "";
  for ( uint16_t iter = 0; iter < 2; iter++ ) {
      
    // Define number of histo bins and title
    if ( iter == 0 )      { nbins = 1024; extra_info = sistrip::feDriver_; }
    else if ( iter == 1 ) { nbins = 96;   extra_info = sistrip::fedChannel_; }
    else {
      edm::LogWarning(mlDqmSource_)
        << "[FedCablingTask::" << __func__ << "]"
        << " Unexpected number of HistoSets: " << iter;
    }
      
    title = SiStripHistoTitle( sistrip::EXPERT_HISTO, 
                               sistrip::FED_CABLING,
                               sistrip::FED_KEY, 
                               fedKey(),
                               sistrip::LLD_CHAN, 
                               connection().lldChannel(),
                               extra_info ).title();
      
    histos_[iter].histo( dqm()->bookProfile( title, title, 
                                             nbins, -0.5, nbins*1.-0.5,
                                             1025, 0., 1025. ) );
      
    histos_[iter].vNumOfEntries_.resize(nbins,0);
    histos_[iter].vSumOfContents_.resize(nbins,0);
    histos_[iter].vSumOfSquares_.resize(nbins,0);

  }

}
void FedCablingTask::fill ( const SiStripEventSummary summary,
const uint16_t &  fed_id,
const std::map< uint16_t, float > &  fed_ch 
) [private, virtual]

Reimplemented from CommissioningTask.

Definition at line 67 of file FedCablingTask.cc.

References histos_, LogTrace, sistrip::mlDqmSource_, and CommissioningTask::updateHistoSet().

                                                                  {
  
  if ( fed_ch.empty() ) { 
    edm::LogWarning(mlDqmSource_)  
      << "[FedCablingTask::" << __func__ << "]"
      << " No FED channels with high signal!";
    return; 
  } else {
    LogTrace(mlDqmSource_)  
      << "[FedCablingTask::" << __func__ << "]"
      << " Found " << fed_ch.size()
      << " FED channels with high signal!";
  }
  
  std::map<uint16_t,float>::const_iterator ichan = fed_ch.begin();
  for ( ; ichan != fed_ch.end(); ichan++ ) {
    updateHistoSet( histos_[0], fed_id, ichan->second );
    updateHistoSet( histos_[1], ichan->first, ichan->second );
  } 
  
}
void FedCablingTask::update ( void  ) [private, virtual]

Reimplemented from CommissioningTask.

Definition at line 93 of file FedCablingTask.cc.

References histos_, and CommissioningTask::updateHistoSet().

                            {
  for ( uint32_t iter = 0; iter < histos_.size(); iter++ ) {
    updateHistoSet( histos_[iter] );
  }
}

Member Data Documentation

std::vector<HistoSet> FedCablingTask::histos_ [private]

HistoSet for FED cabling. First element contains histo info for FED id, second element contains histo info for FED channel.

Definition at line 30 of file FedCablingTask.h.

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