CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 DaqScopeModeAnalysis FastFedCablingAnalysis FedCablingAnalysis FedTimingAnalysis NoiseAnalysis OptoScanAnalysis PedestalsAnalysis PedsFullNoiseAnalysis PedsOnlyAnalysis SamplingAnalysis VpspScanAnalysis

Public Types

typedef std::vector< float > VFloat
 
typedef std::vector< uint16_t > VInt
 
typedef std::vector< std::string > VString
 
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

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

Definition at line 33 of file CommissioningAnalysis.h.

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

Definition at line 37 of file CommissioningAnalysis.h.

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

Definition at line 41 of file CommissioningAnalysis.h.

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

Definition at line 35 of file CommissioningAnalysis.h.

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

Definition at line 39 of file CommissioningAnalysis.h.

Constructor & Destructor Documentation

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

Definition at line 9 of file CommissioningAnalysis.cc.

CommissioningAnalysis::CommissioningAnalysis ( const std::string &  my_name)
virtual CommissioningAnalysis::~CommissioningAnalysis ( )
inlinevirtual

Definition at line 29 of file CommissioningAnalysis.h.

29 {;}
CommissioningAnalysis::CommissioningAnalysis ( )
inlineprivate

Private default constructor.

Definition at line 105 of file CommissioningAnalysis.h.

105 {;}

Member Function Documentation

void CommissioningAnalysis::addErrorCode ( const std::string &  error)
inlinevirtual
const uint32_t & CommissioningAnalysis::dcuId ( ) const
inline
void CommissioningAnalysis::dcuId ( const uint32_t &  dcu_id)
inline

Sets DCU id.

Definition at line 146 of file CommissioningAnalysis.h.

References dcuId_.

146 { dcuId_ = dcu_id; }
const uint32_t & CommissioningAnalysis::detId ( ) const
inline
void CommissioningAnalysis::detId ( const uint32_t &  det_id)
inline

Sets DetId.

Definition at line 147 of file CommissioningAnalysis.h.

References detId_.

147 { detId_ = det_id; }
const uint32_t & CommissioningAnalysis::fecKey ( ) const
inline
void CommissioningAnalysis::fecKey ( const uint32_t &  key)
inline

Sets FEC key (encodes control structure).

Definition at line 143 of file CommissioningAnalysis.h.

References fecKey_, and combine::key.

143 { fecKey_ = key; }
list key
Definition: combine.py:13
const uint32_t & CommissioningAnalysis::fedKey ( ) const
inline

Returns FED key object (encodes readout structure).

Definition at line 136 of file CommissioningAnalysis.h.

References fedKey_.

Referenced by CommissioningHistosUsingDb::addDcuDetIds(), FastFedCablingHistosUsingDb::connections(), NoiseHistosUsingDb::create(), OptoScanHistosUsingDb::create(), PedestalsHistosUsingDb::create(), PedsFullNoiseHistosUsingDb::create(), PedsOnlyHistosUsingDb::create(), VpspScanHistosUsingDb::create(), ApvTimingHistosUsingDb::create(), LatencyHistosUsingDb::create(), CalibrationHistosUsingDb::create(), FastFedCablingHistosUsingDb::create(), FineDelayHistosUsingDb::create(), ApvLatencyAlgorithm::extract(), FedTimingAlgorithm::extract(), SamplingAlgorithm::extract(), VpspScanAlgorithm::extract(), CalibrationAlgorithm::extract(), NoiseAlgorithm::extract(), PedestalsAlgorithm::extract(), PedsOnlyAlgorithm::extract(), ApvTimingAlgorithm::extract(), FastFedCablingAlgorithm::extract(), OptoScanAlgorithm::extract(), PedsFullNoiseAlgorithm::extract(), FedCablingAlgorithm::extract(), DaqScopeModeAlgorithm::extract(), FastFedCablingAnalysis::FastFedCablingAnalysis(), FastFedCablingAnalysis::header(), PedsOnlyAnalysis::summary(), VpspScanAnalysis::summary(), NoiseAnalysis::summary(), PedestalsAnalysis::summary(), OptoScanAnalysis::summary(), summary(), FastFedCablingAnalysis::summary(), PedsFullNoiseAnalysis::summary(), PedsFullNoiseHistosUsingDb::update(), and FastFedCablingHistosUsingDb::update().

136 { return fedKey_; }
void CommissioningAnalysis::fedKey ( const uint32_t &  key)
inline

Sets FED key (encodes readout structure).

Definition at line 144 of file CommissioningAnalysis.h.

References fedKey_, and combine::key.

144 { fedKey_ = key; }
list key
Definition: combine.py:13
const CommissioningAnalysis::VString & CommissioningAnalysis::getErrorCodes ( ) const
inline

Returns error codes generated by analyses.

Definition at line 133 of file CommissioningAnalysis.h.

References errors_.

Referenced by NoiseHistosUsingDb::create(), VpspScanHistosUsingDb::create(), OptoScanHistosUsingDb::create(), PedestalsHistosUsingDb::create(), PedsFullNoiseHistosUsingDb::create(), PedsOnlyHistosUsingDb::create(), ApvTimingHistosUsingDb::create(), LatencyHistosUsingDb::create(), CalibrationHistosUsingDb::create(), FastFedCablingHistosUsingDb::create(), FineDelayHistosUsingDb::create(), ApvTimingAnalysis::foundTickMark(), ApvTimingAnalysis::frameFindingThreshold(), ApvTimingHistograms::histoAnalysis(), FastFedCablingHistograms::histoAnalysis(), NoiseHistograms::histoAnalysis(), PedestalsHistograms::histoAnalysis(), PedsFullNoiseHistograms::histoAnalysis(), PedsOnlyHistograms::histoAnalysis(), VpspScanHistograms::histoAnalysis(), OptoScanHistograms::histoAnalysis(), PedestalsAnalysis::isValid(), PedsOnlyAnalysis::isValid(), NoiseAnalysis::isValid(), VpspScanAnalysis::isValid(), OptoScanAnalysis::isValid(), ApvTimingAnalysis::isValid(), PedsFullNoiseAnalysis::isValid(), FedCablingAnalysis::isValid(), FastFedCablingAnalysis::isValid(), FedCablingAnalysis::print(), PedsOnlyAnalysis::print(), VpspScanAnalysis::print(), NoiseAnalysis::print(), PedestalsAnalysis::print(), OptoScanAnalysis::print(), FastFedCablingAnalysis::print(), ApvTimingAnalysis::print(), and PedsFullNoiseAnalysis::print().

133 { return errors_; }
void CommissioningAnalysis::header ( std::stringstream &  ss) const
virtual

Header information for analysis print().

Reimplemented in FastFedCablingAnalysis.

Definition at line 32 of file CommissioningAnalysis.cc.

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

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

32  {
33  ss << "[" << myName() << "] Monitorables (65535 means \"invalid\"):" << std::endl;
34 
35  //summary(ss);
36 
37  SiStripFecKey fec_key( fecKey_ );
38  ss << " Crate/FEC/Ring/CCU/Mod/LLD : "
39  << fec_key.fecCrate() << "/"
40  << fec_key.fecSlot() << "/"
41  << fec_key.fecRing() << "/"
42  << fec_key.ccuAddr() << "/"
43  << fec_key.ccuChan() << "/"
44  << fec_key.lldChan()
45  << std::endl;
46 
47  SiStripFedKey fed_key( fedKey_ );
48  ss << " FedId/FeUnit/FeChan/FedChannel : "
49  << fed_key.fedId() << "/"
50  << fed_key.feUnit() << "/"
51  << fed_key.feChan() << "/"
52  << fed_key.fedChannel()
53  << std::endl;
54  // if ( fed_key.fedChannel() != sistrip::invalid_ ) { ss << fed_key.fedChannel(); }
55  // else { ss << "(invalid)"; }
56  // ss << std::endl;
57 
58 // ss << " FecKey/Fedkey (hex) : 0x"
59 // << std::hex
60 // << std::setw(8) << std::setfill('0') << fecKey_
61 // << " / 0x"
62 // << std::setw(8) << std::setfill('0') << fedKey_
63 // << std::dec
64 // << std::endl;
65 
66  ss << " FecKey (hex/dec) : 0x"
67  << std::hex
68  << std::setw(8) << std::setfill('0') << fecKey_
69  << " / "
70  << std::dec
71  << std::setw(10) << std::setfill(' ') << fecKey_
72  << std::endl;
73 
74  ss << " FedKey (hex/dec) : 0x"
75  << std::hex
76  << std::setw(8) << std::setfill('0') << fedKey_
77  << " / "
78  << std::dec
79  << std::setw(10) << std::setfill(' ') << fedKey_
80  << std::endl;
81 
82  ss << " DcuId (hex/dec) : 0x"
83  << std::hex
84  << std::setw(8) << std::setfill('0') << dcuId_
85  << " / "
86  << std::dec
87  << std::setw(10) << std::setfill(' ') << dcuId_
88  << std::endl;
89 
90  ss << " DetId (hex/dec) : 0x"
91  << std::hex
92  << std::setw(8) << std::setfill('0') << detId_
93  << " / "
94  << std::dec
95  << std::setw(10) << std::setfill(' ') << detId_
96  << std::endl;
97 
98 }
A container class for generic run and event-related info, information required by the commissioning a...
Definition: SiStripFedKey.h:57
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
Definition: SiStripFecKey.h:46
const std::string & myName() const
virtual bool CommissioningAnalysis::isValid ( void  ) const
inlinevirtual
const std::string & CommissioningAnalysis::myName ( void  ) const
inline
virtual void CommissioningAnalysis::print ( std::stringstream &  ,
uint32_t  not_used = 0 
)
pure virtual
virtual void CommissioningAnalysis::reset ( )
pure virtual
void CommissioningAnalysis::setErrorCodes ( const VString errors)
inline

Sets error codes generated by analyses.

Definition at line 149 of file CommissioningAnalysis.h.

References benchmark_cfg::errors, and errors_.

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

Navigate information for analysis print().

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

Definition at line 102 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(), scaleCards::path, SiStripEnumsAndStrings::runType(), and indexGen::title.

102  {
103 
104  SiStripFecKey fec_key( fecKey_ );
105 
108  type,
110  fedKey(),
112  fec_key.lldChan() ).title();
113 
114  ss << " Summary"
115  << ":"
116  << ( isValid() ? "Valid" : "Invalid" )
117  << ":"
118  << sistrip::controlView_ << ":"
119  << fec_key.fecCrate() << "/"
120  << fec_key.fecSlot() << "/"
121  << fec_key.fecRing() << "/"
122  << fec_key.ccuAddr() << "/"
123  << fec_key.ccuChan()
124  << ":"
126  << "Collate" << sistrip::dir_
127  << SiStripFecKey( fec_key.fecCrate(),
128  fec_key.fecSlot(),
129  fec_key.fecRing(),
130  fec_key.ccuAddr(),
131  fec_key.ccuChan() ).path()
132  << ":"
133  << title
134  << std::endl;
135 
136 }
type
Definition: HCALResponse.h:22
const uint32_t & fedKey() const
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:46
static std::string runType(const sistrip::RunType &)
list path
Definition: scaleCards.py:51
static const char controlView_[]
static const char dqmRoot_[]
const std::string & myName() const

Member Data Documentation

uint32_t CommissioningAnalysis::dcuId_
private

DCU Id.

Definition at line 118 of file CommissioningAnalysis.h.

Referenced by dcuId(), and header().

uint32_t CommissioningAnalysis::detId_
private

DetId.

Definition at line 121 of file CommissioningAnalysis.h.

Referenced by detId(), and header().

VString CommissioningAnalysis::errors_
private

Error codes.

Definition at line 127 of file CommissioningAnalysis.h.

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

uint32_t CommissioningAnalysis::fecKey_
private

FEC key object.

Definition at line 112 of file CommissioningAnalysis.h.

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

uint32_t CommissioningAnalysis::fedKey_
private

FEC key object.

Definition at line 115 of file CommissioningAnalysis.h.

Referenced by fedKey(), and header().

std::string CommissioningAnalysis::myName_
private

Object name.

Definition at line 124 of file CommissioningAnalysis.h.

Referenced by myName().