CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
CommissioningAnalysis Class Referenceabstract

Abstract base for derived classes that provide analysis of commissioning histograms. More...

#include <CommissioningAnalysis.h>

Inheritance diagram for CommissioningAnalysis:
ApvLatencyAnalysis ApvTimingAnalysis CalibrationAnalysis CalibrationScanAnalysis DaqScopeModeAnalysis FastFedCablingAnalysis FedCablingAnalysis FedTimingAnalysis NoiseAnalysis OptoScanAnalysis PedestalsAnalysis PedsFullNoiseAnalysis PedsOnlyAnalysis SamplingAnalysis VpspScanAnalysis

Public Types

typedef std::vector< bool > VBool
 
typedef std::vector< float > VFloat
 
typedef std::vector< uint16_t > VInt
 
typedef std::vector< std::string > VString
 
typedef std::vector< VBoolVVBool
 
typedef std::vector< VFloatVVFloat
 
typedef std::vector< VIntVVInt
 

Public Member Functions

virtual void addErrorCode (const std::string &error)
 
 CommissioningAnalysis (const uint32_t &key, const std::string &my_name)
 
 CommissioningAnalysis (const std::string &my_name)
 
const uint32_t & dcuId () const
 
void dcuId (const uint32_t &)
 
const uint32_t & detId () const
 
void detId (const uint32_t &)
 
const uint32_t & fecKey () const
 
void fecKey (const uint32_t &)
 
const uint32_t & fedKey () const
 
void fedKey (const uint32_t &)
 
const VStringgetErrorCodes () const
 
virtual void header (std::stringstream &) const
 
virtual bool isValid () const
 
const std::string & myName () const
 
virtual void print (std::stringstream &, uint32_t not_used=0)=0
 
virtual void reset ()=0
 
void setErrorCodes (const VString &errors)
 
virtual void summary (std::stringstream &) const
 
virtual ~CommissioningAnalysis ()
 

Private Member Functions

 CommissioningAnalysis ()
 

Private Attributes

uint32_t dcuId_
 
uint32_t detId_
 
VString errors_
 
uint32_t fecKey_
 
uint32_t fedKey_
 
std::string myName_
 

Detailed Description

Abstract base for derived classes that provide analysis of commissioning histograms.

Author
M.Wingham, R.Bainbridge

Definition at line 18 of file CommissioningAnalysis.h.

Member Typedef Documentation

◆ VBool

typedef std::vector<bool> CommissioningAnalysis::VBool

Definition at line 38 of file CommissioningAnalysis.h.

◆ VFloat

typedef std::vector<float> CommissioningAnalysis::VFloat

Definition at line 30 of file CommissioningAnalysis.h.

◆ VInt

typedef std::vector<uint16_t> CommissioningAnalysis::VInt

Definition at line 34 of file CommissioningAnalysis.h.

◆ VString

typedef std::vector<std::string> CommissioningAnalysis::VString

Definition at line 42 of file CommissioningAnalysis.h.

◆ VVBool

typedef std::vector<VBool> CommissioningAnalysis::VVBool

Definition at line 40 of file CommissioningAnalysis.h.

◆ VVFloat

typedef std::vector<VFloat> CommissioningAnalysis::VVFloat

Definition at line 32 of file CommissioningAnalysis.h.

◆ VVInt

typedef std::vector<VInt> CommissioningAnalysis::VVInt

Definition at line 36 of file CommissioningAnalysis.h.

Constructor & Destructor Documentation

◆ CommissioningAnalysis() [1/3]

CommissioningAnalysis::CommissioningAnalysis ( const uint32_t &  key,
const std::string &  my_name 
)

Definition at line 9 of file CommissioningAnalysis.cc.

◆ CommissioningAnalysis() [2/3]

CommissioningAnalysis::CommissioningAnalysis ( const std::string &  my_name)

◆ ~CommissioningAnalysis()

virtual CommissioningAnalysis::~CommissioningAnalysis ( )
inlinevirtual

Definition at line 26 of file CommissioningAnalysis.h.

26 { ; }

◆ CommissioningAnalysis() [3/3]

CommissioningAnalysis::CommissioningAnalysis ( )
inlineprivate

Private default constructor.

Definition at line 105 of file CommissioningAnalysis.h.

105 { ; }

Member Function Documentation

◆ addErrorCode()

void CommissioningAnalysis::addErrorCode ( const std::string &  error)
inlinevirtual

◆ dcuId() [1/2]

const uint32_t & CommissioningAnalysis::dcuId ( ) const
inline

Returns DCU id.

Definition at line 136 of file CommissioningAnalysis.h.

References dcuId_.

Referenced by FastFedCablingAnalysis::header().

136 { return dcuId_; }

◆ dcuId() [2/2]

void CommissioningAnalysis::dcuId ( const uint32_t &  dcu_id)
inline

Sets DCU id.

Definition at line 144 of file CommissioningAnalysis.h.

References dcuId_.

144 { dcuId_ = dcu_id; }

◆ detId() [1/2]

const uint32_t & CommissioningAnalysis::detId ( ) const
inline

Returns DetId.

Definition at line 137 of file CommissioningAnalysis.h.

References detId_.

Referenced by FastFedCablingAnalysis::header().

137 { return detId_; }

◆ detId() [2/2]

void CommissioningAnalysis::detId ( const uint32_t &  det_id)
inline

Sets DetId.

Definition at line 145 of file CommissioningAnalysis.h.

References detId_.

145 { detId_ = det_id; }

◆ fecKey() [1/2]

const uint32_t & CommissioningAnalysis::fecKey ( ) const
inline

◆ fecKey() [2/2]

void CommissioningAnalysis::fecKey ( const uint32_t &  key)
inline

Sets FEC key (encodes control structure).

Definition at line 141 of file CommissioningAnalysis.h.

References fecKey_, and crabWrapper::key.

◆ fedKey() [1/2]

const uint32_t & CommissioningAnalysis::fedKey ( ) const
inline

◆ fedKey() [2/2]

void CommissioningAnalysis::fedKey ( const uint32_t &  key)
inline

Sets FED key (encodes readout structure).

Definition at line 142 of file CommissioningAnalysis.h.

References fedKey_, and crabWrapper::key.

◆ getErrorCodes()

const CommissioningAnalysis::VString & CommissioningAnalysis::getErrorCodes ( ) const
inline

◆ header()

void CommissioningAnalysis::header ( std::stringstream &  ss) const
virtual

Header information for analysis print().

Reimplemented in FastFedCablingAnalysis.

Definition at line 33 of file CommissioningAnalysis.cc.

References SiStripFecKey::ccuAddr(), SiStripFecKey::ccuChan(), dcuId_, TauDecayModes::dec, detId_, SiStripFecKey::fecCrate(), SiStripFedKey::feChan(), fecKey_, SiStripFecKey::fecRing(), SiStripFecKey::fecSlot(), SiStripFedKey::fedChannel(), SiStripFedKey::fedId(), fedKey_, SiStripFedKey::feUnit(), SiStripFecKey::lldChan(), myName(), and contentValuesCheck::ss.

Referenced by ApvLatencyAnalysis::print(), SamplingAnalysis::print(), FedTimingAnalysis::print(), FedCablingAnalysis::print(), PedsOnlyAnalysis::print(), VpspScanAnalysis::print(), NoiseAnalysis::print(), PedestalsAnalysis::print(), OptoScanAnalysis::print(), DaqScopeModeAnalysis::print(), ApvTimingAnalysis::print(), CalibrationScanAnalysis::print(), PedsFullNoiseAnalysis::print(), and CalibrationAnalysis::print().

33  {
34  ss << "[" << myName() << "] Monitorables (65535 means \"invalid\"):" << std::endl;
35 
36  //summary(ss);
37 
38  SiStripFecKey fec_key(fecKey_);
39  ss << " Crate/FEC/Ring/CCU/Mod/LLD : " << fec_key.fecCrate() << "/" << fec_key.fecSlot() << "/"
40  << fec_key.fecRing() << "/" << fec_key.ccuAddr() << "/" << fec_key.ccuChan() << "/" << fec_key.lldChan()
41  << std::endl;
42 
43  SiStripFedKey fed_key(fedKey_);
44  ss << " FedId/FeUnit/FeChan/FedChannel : " << fed_key.fedId() << "/" << fed_key.feUnit() << "/" << fed_key.feChan()
45  << "/" << fed_key.fedChannel() << std::endl;
46  // if ( fed_key.fedChannel() != sistrip::invalid_ ) { ss << fed_key.fedChannel(); }
47  // else { ss << "(invalid)"; }
48  // ss << std::endl;
49 
50  // ss << " FecKey/Fedkey (hex) : 0x"
51  // << std::hex
52  // << std::setw(8) << std::setfill('0') << fecKey_
53  // << " / 0x"
54  // << std::setw(8) << std::setfill('0') << fedKey_
55  // << std::dec
56  // << std::endl;
57 
58  ss << " FecKey (hex/dec) : 0x" << std::hex << std::setw(8) << std::setfill('0') << fecKey_ << " / "
59  << std::dec << std::setw(10) << std::setfill(' ') << fecKey_ << std::endl;
60 
61  ss << " FedKey (hex/dec) : 0x" << std::hex << std::setw(8) << std::setfill('0') << fedKey_ << " / "
62  << std::dec << std::setw(10) << std::setfill(' ') << fedKey_ << std::endl;
63 
64  ss << " DcuId (hex/dec) : 0x" << std::hex << std::setw(8) << std::setfill('0') << dcuId_ << " / "
65  << std::dec << std::setw(10) << std::setfill(' ') << dcuId_ << std::endl;
66 
67  ss << " DetId (hex/dec) : 0x" << std::hex << std::setw(8) << std::setfill('0') << detId_ << " / "
68  << std::dec << std::setw(10) << std::setfill(' ') << detId_ << std::endl;
69 }
A container class for generic run and event-related info, information required by the commissioning a...
Definition: SiStripFedKey.h:56
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
Definition: SiStripFecKey.h:45
const std::string & myName() const

◆ isValid()

virtual bool CommissioningAnalysis::isValid ( void  ) const
inlinevirtual

◆ myName()

const std::string & CommissioningAnalysis::myName ( void  ) const
inline

◆ print()

virtual void CommissioningAnalysis::print ( std::stringstream &  ,
uint32_t  not_used = 0 
)
pure virtual

◆ reset()

virtual void CommissioningAnalysis::reset ( )
pure virtual

◆ setErrorCodes()

void CommissioningAnalysis::setErrorCodes ( const VString errors)
inline

Sets error codes generated by analyses.

Definition at line 147 of file CommissioningAnalysis.h.

References nano_mu_digi_cff::errors, and errors_.

◆ summary()

void CommissioningAnalysis::summary ( std::stringstream &  ss) const
virtual

Navigate information for analysis print().

Reimplemented in PedsFullNoiseAnalysis, FastFedCablingAnalysis, DaqScopeModeAnalysis, OptoScanAnalysis, NoiseAnalysis, PedestalsAnalysis, VpspScanAnalysis, and PedsOnlyAnalysis.

Definition at line 73 of file CommissioningAnalysis.cc.

References SiStripFecKey::ccuAddr(), SiStripFecKey::ccuChan(), sistrip::controlView_, sistrip::dir_, sistrip::dqmRoot_, sistrip::EXPERT_HISTO, SiStripFecKey::fecCrate(), fecKey_, SiStripFecKey::fecRing(), SiStripFecKey::fecSlot(), sistrip::FED_KEY, fedKey(), isValid(), sistrip::LLD_CHAN, SiStripFecKey::lldChan(), myName(), castor_dqm_sourceclient_file_cfg::path, SiStripEnumsAndStrings::runType(), contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, and runGCPTkAlMap::title.

73  {
74  SiStripFecKey fec_key(fecKey_);
75 
79  .title();
80 
81  ss << " Summary"
82  << ":" << (isValid() ? "Valid" : "Invalid") << ":" << sistrip::controlView_ << ":" << fec_key.fecCrate() << "/"
83  << fec_key.fecSlot() << "/" << fec_key.fecRing() << "/" << fec_key.ccuAddr() << "/" << fec_key.ccuChan() << ":"
84  << sistrip::dqmRoot_ << sistrip::dir_ << "Collate" << sistrip::dir_
85  << SiStripFecKey(fec_key.fecCrate(), fec_key.fecSlot(), fec_key.fecRing(), fec_key.ccuAddr(), fec_key.ccuChan())
86  .path()
87  << ":" << title << std::endl;
88 }
static const char dir_[]
Utility class that holds histogram title.
virtual bool isValid() const
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
Definition: SiStripFecKey.h:45
static std::string runType(const sistrip::RunType &)
const std::string & myName() const
static const char controlView_[]
static const char dqmRoot_[]
const uint32_t & fedKey() const

Member Data Documentation

◆ dcuId_

uint32_t CommissioningAnalysis::dcuId_
private

DCU Id.

Definition at line 117 of file CommissioningAnalysis.h.

Referenced by dcuId(), and header().

◆ detId_

uint32_t CommissioningAnalysis::detId_
private

DetId.

Definition at line 120 of file CommissioningAnalysis.h.

Referenced by detId(), and header().

◆ errors_

VString CommissioningAnalysis::errors_
private

Error codes.

Definition at line 126 of file CommissioningAnalysis.h.

Referenced by addErrorCode(), getErrorCodes(), and setErrorCodes().

◆ fecKey_

uint32_t CommissioningAnalysis::fecKey_
private

FEC key object.

Definition at line 111 of file CommissioningAnalysis.h.

Referenced by fecKey(), header(), and summary().

◆ fedKey_

uint32_t CommissioningAnalysis::fedKey_
private

FEC key object.

Definition at line 114 of file CommissioningAnalysis.h.

Referenced by fedKey(), and header().

◆ myName_

std::string CommissioningAnalysis::myName_
private

Object name.

Definition at line 123 of file CommissioningAnalysis.h.

Referenced by myName().