CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Attributes | Private Attributes | Static Private Attributes | Friends
ApvTimingAnalysis Class Reference

Analysis for timing run using APV tick marks. More...

#include <ApvTimingAnalysis.h>

Inheritance diagram for ApvTimingAnalysis:
CommissioningAnalysis

Public Member Functions

void addErrorCode (const std::string &error)
 
 ApvTimingAnalysis (const uint32_t &key)
 
 ApvTimingAnalysis ()
 
const float & base () const
 
const float & delay () const
 
const float & error () const
 
bool foundTickMark () const
 
uint16_t frameFindingThreshold () const
 
const float & height () const
 
bool isValid () const
 
const float & optimumSamplingPoint () const
 
const float & peak () const
 
void print (std::stringstream &, uint32_t not_used=0)
 
const float & refTime () const
 
void refTime (const float &time, const float &targetDelay=-1)
 
void reset ()
 
const float & time () const
 
virtual ~ApvTimingAnalysis ()
 
- Public Member Functions inherited from CommissioningAnalysis
 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
 
const std::string & myName () const
 
void setErrorCodes (const VString &errors)
 
virtual void summary (std::stringstream &) const
 
virtual ~CommissioningAnalysis ()
 

Static Public Attributes

static const float frameFindingThreshold_ = (2./3.)
 
static const float optimumSamplingPoint_ = 15.
 
static const float tickMarkHeightThreshold_ = 50.
 

Private Attributes

float base_
 
float delay_
 
float error_
 
float height_
 
float peak_
 
bool synchronized_
 
float time_
 

Static Private Attributes

static float refTime_ = 1.*sistrip::invalid_
 

Friends

class ApvTimingAlgorithm
 

Additional Inherited Members

- Public Types inherited from CommissioningAnalysis
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
 

Detailed Description

Analysis for timing run using APV tick marks.

Author
M. Wingham, R.Bainbridge

Definition at line 15 of file ApvTimingAnalysis.h.

Constructor & Destructor Documentation

ApvTimingAnalysis::ApvTimingAnalysis ( const uint32_t &  key)

Definition at line 30 of file ApvTimingAnalysis.cc.

ApvTimingAnalysis::ApvTimingAnalysis ( )

Definition at line 43 of file ApvTimingAnalysis.cc.

virtual ApvTimingAnalysis::~ApvTimingAnalysis ( )
inlinevirtual

Definition at line 25 of file ApvTimingAnalysis.h.

25 {;}

Member Function Documentation

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

Adds error codes for analysis (overrides private base).

Reimplemented from CommissioningAnalysis.

Definition at line 129 of file ApvTimingAnalysis.h.

References CommissioningAnalysis::addErrorCode().

const float & error() const
virtual void addErrorCode(const std::string &error)
const float & ApvTimingAnalysis::base ( ) const
inline

Baseline level of tick mark [ADC].

Definition at line 127 of file ApvTimingAnalysis.h.

References base_.

Referenced by ApvTimingSummaryFactory::extract().

127 { return base_; }
const float & ApvTimingAnalysis::delay ( ) const
inline

Delay required to sync w.r.t. reference tick mark [ns].

Definition at line 125 of file ApvTimingAnalysis.h.

References delay_.

Referenced by ApvTimingSummaryFactory::extract().

125 { return delay_; }
const float & ApvTimingAnalysis::error ( ) const
inline

Error on time of tick mark rising edge [ns].

Definition at line 122 of file ApvTimingAnalysis.h.

References error_.

122 { return error_; }
bool ApvTimingAnalysis::foundTickMark ( ) const

Identifies if tick mark is found or not.

Definition at line 134 of file ApvTimingAnalysis.cc.

uint16_t ApvTimingAnalysis::frameFindingThreshold ( ) const

FED frame-finding threshold [ADC] (returns 65535 if invalid).

Definition at line 119 of file ApvTimingAnalysis.cc.

const float & ApvTimingAnalysis::height ( ) const
inline

Height of tick mark [ADC].

Definition at line 126 of file ApvTimingAnalysis.h.

References height_.

Referenced by ApvTimingSummaryFactory::extract().

126 { return height_; }
bool ApvTimingAnalysis::isValid ( void  ) const
virtual

Identifies if analysis is valid or not.

Reimplemented from CommissioningAnalysis.

Definition at line 145 of file ApvTimingAnalysis.cc.

Referenced by core.AutoHandle.AutoHandle::ReallyLoad().

const float & ApvTimingAnalysis::optimumSamplingPoint ( ) const
inline

Optimum sampling point, defined w.r.t. rising edge [ns].

Definition at line 123 of file ApvTimingAnalysis.h.

References optimumSamplingPoint_.

123 { return optimumSamplingPoint_; }
static const float optimumSamplingPoint_
const float & ApvTimingAnalysis::peak ( ) const
inline

Level of tick mark top [ADC].

Definition at line 128 of file ApvTimingAnalysis.h.

References peak_.

Referenced by ApvTimingSummaryFactory::extract().

128 { return peak_; }
void ApvTimingAnalysis::print ( std::stringstream &  ss,
uint32_t  not_used = 0 
)
virtual

Prints analysis results.

Implements CommissioningAnalysis.

Definition at line 159 of file ApvTimingAnalysis.cc.

const float & ApvTimingAnalysis::refTime ( ) const
inline

Sampling point of "reference" tick mark [ns].

Definition at line 124 of file ApvTimingAnalysis.h.

References refTime_.

Referenced by ApvTimingSummaryFactory::extract().

124 { return refTime_; }
void ApvTimingAnalysis::refTime ( const float &  time,
const float &  targetDelay = -1 
)

Static method to set global reference time [ns].

Definition at line 68 of file ApvTimingAnalysis.cc.

void ApvTimingAnalysis::reset ( void  )
virtual

Resets analysis member data.

Implements CommissioningAnalysis.

Definition at line 56 of file ApvTimingAnalysis.cc.

const float & ApvTimingAnalysis::time ( ) const
inline

Time of tick mark rising edge [ns].

Definition at line 121 of file ApvTimingAnalysis.h.

References time_.

Referenced by ApvTimingSummaryFactory::extract().

121 { return time_; }

Friends And Related Function Documentation

friend class ApvTimingAlgorithm
friend

Definition at line 27 of file ApvTimingAnalysis.h.

Member Data Documentation

float ApvTimingAnalysis::base_
private

Baseline level of tick mark [ADC].

Definition at line 109 of file ApvTimingAnalysis.h.

Referenced by base().

float ApvTimingAnalysis::delay_
private

Delay required to sync w.r.t. reference tick mark [ns].

Definition at line 103 of file ApvTimingAnalysis.h.

Referenced by delay().

float ApvTimingAnalysis::error_
private

Error on time of tick mark rising edge [ns].

Definition at line 97 of file ApvTimingAnalysis.h.

Referenced by error().

const float ApvTimingAnalysis::frameFindingThreshold_ = (2./3.)
static

Threshold for FED frame finding (fraction of tick height).

Definition at line 87 of file ApvTimingAnalysis.h.

float ApvTimingAnalysis::height_
private

Height of tick mark [ADC].

Definition at line 106 of file ApvTimingAnalysis.h.

Referenced by height().

const float ApvTimingAnalysis::optimumSamplingPoint_ = 15.
static

Optimum sampling point, defined w.r.t. rising edge [ns].

Definition at line 81 of file ApvTimingAnalysis.h.

Referenced by optimumSamplingPoint().

float ApvTimingAnalysis::peak_
private

Level of tick mark top [ADC].

Definition at line 112 of file ApvTimingAnalysis.h.

Referenced by peak().

float ApvTimingAnalysis::refTime_ = 1.*sistrip::invalid_
staticprivate

Sampling point of "reference" tick mark [ns].

Definition at line 100 of file ApvTimingAnalysis.h.

Referenced by refTime().

bool ApvTimingAnalysis::synchronized_
private

Checks synchronization to ref time is done only once.

Definition at line 115 of file ApvTimingAnalysis.h.

const float ApvTimingAnalysis::tickMarkHeightThreshold_ = 50.
static

Threshold defining minimum tick mark height [ADC].

Definition at line 84 of file ApvTimingAnalysis.h.

float ApvTimingAnalysis::time_
private

Time of tick mark rising edge [ns].

Definition at line 94 of file ApvTimingAnalysis.h.

Referenced by time().