#include <StripClusterizerAlgorithm.h>
Classes | |
struct | InvalidChargeException |
Public Types | |
typedef edmNew::DetSetVector < SiStripCluster > | output_t |
Public Member Functions | |
void | clusterize (const edm::DetSetVector< SiStripDigi > &, output_t &) |
void | clusterize (const edmNew::DetSetVector< SiStripDigi > &, output_t &) |
virtual void | clusterizeDetUnit (const edm::DetSet< SiStripDigi > &, output_t::FastFiller &)=0 |
virtual void | clusterizeDetUnit (const edmNew::DetSet< SiStripDigi > &, output_t::FastFiller &)=0 |
virtual void | initialize (const edm::EventSetup &) |
virtual void | stripByStripAdd (uint16_t strip, uint16_t adc, std::vector< SiStripCluster > &out)=0 |
virtual bool | stripByStripBegin (uint32_t id)=0 |
virtual void | stripByStripEnd (std::vector< SiStripCluster > &out)=0 |
virtual | ~StripClusterizerAlgorithm () |
Protected Member Functions | |
bool | allBadBetween (uint16_t L, const uint16_t &R) const |
bool | bad (const uint16_t &strip) const |
uint32_t | currentId () |
float | gain (const uint16_t &strip) const |
bool | isModuleUsable (const uint32_t &id) const |
float | noise (const uint16_t &strip) const |
virtual void | setDetId (const uint32_t) |
StripClusterizerAlgorithm () | |
Protected Attributes | |
bool | _setDetId |
std::string | qualityLabel |
Private Member Functions | |
template<class T > | |
void | clusterize_ (const T &input, output_t &output) |
Private Attributes | |
uint32_t | detId |
uint32_t | gain_cache_id |
edm::ESHandle< SiStripGain > | gainHandle |
SiStripApvGain::Range | gainRange |
uint32_t | noise_cache_id |
edm::ESHandle< SiStripNoises > | noiseHandle |
SiStripNoises::Range | noiseRange |
uint32_t | quality_cache_id |
edm::ESHandle< SiStripQuality > | qualityHandle |
SiStripQuality::Range | qualityRange |
Definition at line 14 of file StripClusterizerAlgorithm.h.
Definition at line 22 of file StripClusterizerAlgorithm.h.
virtual StripClusterizerAlgorithm::~StripClusterizerAlgorithm | ( | ) | [inline, virtual] |
Definition at line 18 of file StripClusterizerAlgorithm.h.
{}
StripClusterizerAlgorithm::StripClusterizerAlgorithm | ( | ) | [inline, protected] |
Definition at line 37 of file StripClusterizerAlgorithm.h.
: qualityLabel(""), noise_cache_id(0), gain_cache_id(0), quality_cache_id(0) {}
bool StripClusterizerAlgorithm::allBadBetween | ( | uint16_t | L, |
const uint16_t & | R | ||
) | const [inline, protected] |
Definition at line 45 of file StripClusterizerAlgorithm.h.
References bad(), and dttmaxenums::R.
Referenced by ThreeThresholdAlgorithm::candidateEnded().
bool StripClusterizerAlgorithm::bad | ( | const uint16_t & | strip | ) | const [inline, protected] |
Definition at line 43 of file StripClusterizerAlgorithm.h.
References qualityHandle, and qualityRange.
Referenced by ThreeThresholdAlgorithm::addToCandidate(), allBadBetween(), and ThreeThresholdAlgorithm::appendBadNeighbors().
{ return qualityHandle->IsStripBad( qualityRange, strip ); }
void StripClusterizerAlgorithm::clusterize | ( | const edmNew::DetSetVector< SiStripDigi > & | input, |
output_t & | output | ||
) |
Definition at line 41 of file StripClusterizerAlgorithm.cc.
References clusterize_().
{clusterize_(input, output);}
void StripClusterizerAlgorithm::clusterize | ( | const edm::DetSetVector< SiStripDigi > & | input, |
output_t & | output | ||
) |
Definition at line 40 of file StripClusterizerAlgorithm.cc.
References clusterize_().
{clusterize_(input, output);}
void StripClusterizerAlgorithm::clusterize_ | ( | const T & | input, |
output_t & | output | ||
) | [inline, private] |
Definition at line 51 of file StripClusterizerAlgorithm.h.
References clusterizeDetUnit(), and alignCSCRings::ff.
Referenced by clusterize().
{ for(typename T::const_iterator it = input.begin(); it!=input.end(); it++) { output_t::FastFiller ff(output, it->detId()); clusterizeDetUnit(*it, ff); if(ff.empty()) ff.abort(); } }
virtual void StripClusterizerAlgorithm::clusterizeDetUnit | ( | const edm::DetSet< SiStripDigi > & | , |
output_t::FastFiller & | |||
) | [pure virtual] |
Implemented in ThreeThresholdAlgorithm.
Referenced by clusterize_().
virtual void StripClusterizerAlgorithm::clusterizeDetUnit | ( | const edmNew::DetSet< SiStripDigi > & | , |
output_t::FastFiller & | |||
) | [pure virtual] |
Implemented in ThreeThresholdAlgorithm.
uint32_t StripClusterizerAlgorithm::currentId | ( | ) | [inline, protected] |
Definition at line 39 of file StripClusterizerAlgorithm.h.
References detId.
Referenced by ThreeThresholdAlgorithm::endCandidate().
{return detId;}
float StripClusterizerAlgorithm::gain | ( | const uint16_t & | strip | ) | const [inline, protected] |
Definition at line 42 of file StripClusterizerAlgorithm.h.
References gainHandle, and gainRange.
Referenced by ThreeThresholdAlgorithm::applyGains().
{ return gainHandle->getStripGain( strip, gainRange ); }
void StripClusterizerAlgorithm::initialize | ( | const edm::EventSetup & | es | ) | [virtual] |
Reimplemented in OldThreeThresholdAlgorithm.
Definition at line 12 of file StripClusterizerAlgorithm.cc.
References gain_cache_id, gainHandle, edm::EventSetup::get(), noise_cache_id, noiseHandle, quality_cache_id, qualityHandle, and qualityLabel.
{ uint32_t n_cache_id = es.get<SiStripNoisesRcd>().cacheIdentifier(); uint32_t g_cache_id = es.get<SiStripGainRcd>().cacheIdentifier(); uint32_t q_cache_id = es.get<SiStripQualityRcd>().cacheIdentifier(); if(n_cache_id != noise_cache_id) { es.get<SiStripNoisesRcd>().get( noiseHandle ); noise_cache_id = n_cache_id; } if(g_cache_id != gain_cache_id) { es.get<SiStripGainRcd>().get( gainHandle ); gain_cache_id = g_cache_id; } if(q_cache_id != quality_cache_id) { es.get<SiStripQualityRcd>().get( qualityLabel, qualityHandle ); quality_cache_id = q_cache_id; } }
bool StripClusterizerAlgorithm::isModuleUsable | ( | const uint32_t & | id | ) | const [inline, protected] |
Definition at line 44 of file StripClusterizerAlgorithm.h.
References qualityHandle.
Referenced by ThreeThresholdAlgorithm::clusterizeDetUnit_(), and ThreeThresholdAlgorithm::stripByStripBegin().
{ return qualityHandle->IsModuleUsable( id ); }
float StripClusterizerAlgorithm::noise | ( | const uint16_t & | strip | ) | const [inline, protected] |
Definition at line 41 of file StripClusterizerAlgorithm.h.
References noiseHandle, and noiseRange.
Referenced by ThreeThresholdAlgorithm::addToCandidate().
{ return noiseHandle->getNoise( strip, noiseRange ); }
void StripClusterizerAlgorithm::setDetId | ( | const uint32_t | id | ) | [protected, virtual] |
Definition at line 33 of file StripClusterizerAlgorithm.cc.
References detId, gainHandle, gainRange, noiseHandle, noiseRange, qualityHandle, and qualityRange.
Referenced by ThreeThresholdAlgorithm::clusterizeDetUnit_(), OldThreeThresholdAlgorithm::OldThreeThresholdAlgorithm(), ThreeThresholdAlgorithm::stripByStripBegin(), and ThreeThresholdAlgorithm::ThreeThresholdAlgorithm().
{ gainRange = gainHandle->getRange(id); noiseRange = noiseHandle->getRange(id); qualityRange = qualityHandle->getRange(id); detId = id; }
virtual void StripClusterizerAlgorithm::stripByStripAdd | ( | uint16_t | strip, |
uint16_t | adc, | ||
std::vector< SiStripCluster > & | out | ||
) | [pure virtual] |
Implemented in OldThreeThresholdAlgorithm, and ThreeThresholdAlgorithm.
Referenced by sistrip::RawToClustersLazyUnpacker::fill().
virtual bool StripClusterizerAlgorithm::stripByStripBegin | ( | uint32_t | id | ) | [pure virtual] |
Implemented in OldThreeThresholdAlgorithm, and ThreeThresholdAlgorithm.
Referenced by sistrip::RawToClustersLazyUnpacker::fill().
virtual void StripClusterizerAlgorithm::stripByStripEnd | ( | std::vector< SiStripCluster > & | out | ) | [pure virtual] |
Implemented in OldThreeThresholdAlgorithm, and ThreeThresholdAlgorithm.
Referenced by sistrip::RawToClustersLazyUnpacker::fill().
bool StripClusterizerAlgorithm::_setDetId [protected] |
uint32_t StripClusterizerAlgorithm::detId [private] |
Definition at line 66 of file StripClusterizerAlgorithm.h.
Referenced by currentId(), and setDetId().
uint32_t StripClusterizerAlgorithm::gain_cache_id [private] |
Definition at line 66 of file StripClusterizerAlgorithm.h.
Referenced by initialize().
Definition at line 63 of file StripClusterizerAlgorithm.h.
Referenced by gain(), initialize(), and setDetId().
Definition at line 60 of file StripClusterizerAlgorithm.h.
Referenced by gain(), and setDetId().
uint32_t StripClusterizerAlgorithm::noise_cache_id [private] |
Definition at line 66 of file StripClusterizerAlgorithm.h.
Referenced by initialize().
Definition at line 64 of file StripClusterizerAlgorithm.h.
Referenced by initialize(), noise(), and setDetId().
Definition at line 61 of file StripClusterizerAlgorithm.h.
Referenced by noise(), and setDetId().
uint32_t StripClusterizerAlgorithm::quality_cache_id [private] |
Definition at line 66 of file StripClusterizerAlgorithm.h.
Referenced by initialize().
Definition at line 65 of file StripClusterizerAlgorithm.h.
Referenced by bad(), initialize(), isModuleUsable(), and setDetId().
std::string StripClusterizerAlgorithm::qualityLabel [protected] |
Definition at line 46 of file StripClusterizerAlgorithm.h.
Referenced by initialize(), and ThreeThresholdAlgorithm::ThreeThresholdAlgorithm().
Definition at line 62 of file StripClusterizerAlgorithm.h.
Referenced by bad(), and setDetId().