CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
SiStripCommonModeNoiseSubtractor Class Referenceabstract

#include <SiStripCommonModeNoiseSubtractor.h>

Inheritance diagram for SiStripCommonModeNoiseSubtractor:
FastLinearCMNSubtractor IteratedMedianCMNSubtractor MedianCMNSubtractor PercentileCMNSubtractor TT6CMNSubtractor

Public Member Functions

const std::vector< std::pair< short, float > > & getAPVsCM () const
 
virtual void init (const edm::EventSetup &es)
 
virtual void subtract (uint32_t detId, uint16_t firstStrip, std::vector< int16_t > &digis)=0
 
virtual void subtract (uint32_t detId, uint16_t firstStrip, std::vector< float > &digis)=0
 
virtual ~SiStripCommonModeNoiseSubtractor ()
 

Protected Member Functions

template<typename T >
float median (std::vector< T > &)
 
 SiStripCommonModeNoiseSubtractor ()
 

Protected Attributes

std::vector< std::pair< short, float > > _vmedians
 

Friends

class SiStripRawProcessingFactory
 

Detailed Description

Definition at line 9 of file SiStripCommonModeNoiseSubtractor.h.

Constructor & Destructor Documentation

virtual SiStripCommonModeNoiseSubtractor::~SiStripCommonModeNoiseSubtractor ( )
inlinevirtual

Definition at line 15 of file SiStripCommonModeNoiseSubtractor.h.

15 {};
SiStripCommonModeNoiseSubtractor::SiStripCommonModeNoiseSubtractor ( )
inlineprotected

Definition at line 24 of file SiStripCommonModeNoiseSubtractor.h.

References median().

24 {};

Member Function Documentation

const std::vector< std::pair<short,float> >& SiStripCommonModeNoiseSubtractor::getAPVsCM ( ) const
inline

Definition at line 20 of file SiStripCommonModeNoiseSubtractor.h.

References _vmedians.

20 { return _vmedians; }
std::vector< std::pair< short, float > > _vmedians
virtual void SiStripCommonModeNoiseSubtractor::init ( const edm::EventSetup es)
inlinevirtual

Reimplemented in IteratedMedianCMNSubtractor, and TT6CMNSubtractor.

Definition at line 16 of file SiStripCommonModeNoiseSubtractor.h.

References subtract().

16 {};
template<typename T >
float SiStripCommonModeNoiseSubtractor::median ( std::vector< T > &  sample)
inlineprotected

Definition at line 33 of file SiStripCommonModeNoiseSubtractor.h.

Referenced by SiStripCommonModeNoiseSubtractor(), MedianCMNSubtractor::subtract_(), and FastLinearCMNSubtractor::subtract_().

33  {
34  typename std::vector<T>::iterator mid = sample.begin() + sample.size()/2;
35  std::nth_element(sample.begin(), mid, sample.end());
36  if( sample.size() & 1 ) //odd size
37  return *mid;
38  return ( *std::max_element(sample.begin(), mid) + *mid ) / 2.;
39 }
virtual void SiStripCommonModeNoiseSubtractor::subtract ( uint32_t  detId,
uint16_t  firstStrip,
std::vector< int16_t > &  digis 
)
pure virtual
virtual void SiStripCommonModeNoiseSubtractor::subtract ( uint32_t  detId,
uint16_t  firstStrip,
std::vector< float > &  digis 
)
pure virtual

Friends And Related Function Documentation

friend class SiStripRawProcessingFactory
friend

Definition at line 11 of file SiStripCommonModeNoiseSubtractor.h.

Member Data Documentation

std::vector< std::pair<short,float> > SiStripCommonModeNoiseSubtractor::_vmedians
protected