CMS 3D CMS Logo

CSCStripConditions Class Reference

#include <SimMuon/CSCDigitizer/src/CSCStripConditions.h>

Inheritance diagram for CSCStripConditions:

CSCConfigurableStripConditions CSCDbStripConditions

List of all members.

Public Types

typedef math::ErrorD< 8 >::type CSCCorrelatedNoiseMatrix
typedef CorrelatedNoisifier
< CSCCorrelatedNoiseMatrix
CSCCorrelatedNoisifier

Public Member Functions

float analogNoise (const CSCDetId &detId, int channel) const
 calculated from pedestalSigma & gain
virtual void crosstalk (const CSCDetId &detId, int channel, double stripLength, bool leftRight, float &capacitive, float &resistive) const =0
 CSCStripConditions ()
virtual float gain (const CSCDetId &detId, int channel) const =0
 channels count from 1 gain is the ratio that takes us from fC to ADC.
virtual float gainSigma (const CSCDetId &detId, int channel) const =0
virtual void initializeEvent (const edm::EventSetup &es)
virtual bool isInBadChamber (const CSCDetId &id) const
 is supplied layer/chamber flagged as bad? (default impl. is no)
void noisify (const CSCDetId &detId, CSCAnalogSignal &signal)
 superimposes noise, in fC, on the signal
virtual float pedestal (const CSCDetId &detId, int channel) const =0
 in ADC counts
virtual float pedestalSigma (const CSCDetId &detId, int channel) const =0
void setRandomEngine (CLHEP::HepRandomEngine &engine)
virtual float smearedGain (const CSCDetId &detId, int channel) const
virtual ~CSCStripConditions ()

Protected Member Functions

virtual void fetchNoisifier (const CSCDetId &detId, int istrip)=0

Protected Attributes

CSCCorrelatedNoisifiertheNoisifier
CLHEP::RandGaussQ * theRandGaussQ


Detailed Description

Definition at line 11 of file CSCStripConditions.h.


Member Typedef Documentation

typedef math::ErrorD<8>::type CSCStripConditions::CSCCorrelatedNoiseMatrix

Definition at line 14 of file CSCStripConditions.h.

typedef CorrelatedNoisifier<CSCCorrelatedNoiseMatrix> CSCStripConditions::CSCCorrelatedNoisifier

Definition at line 15 of file CSCStripConditions.h.


Constructor & Destructor Documentation

CSCStripConditions::CSCStripConditions (  ) 

Definition at line 3 of file CSCStripConditions.cc.

00004   : theNoisifier(0),
00005     theRandGaussQ(0)
00006  {}

CSCStripConditions::~CSCStripConditions (  )  [virtual]

Definition at line 9 of file CSCStripConditions.cc.

References theRandGaussQ.

00010 {
00011   delete theRandGaussQ;
00012 }


Member Function Documentation

float CSCStripConditions::analogNoise ( const CSCDetId detId,
int  channel 
) const

calculated from pedestalSigma & gain

Definition at line 46 of file CSCStripConditions.cc.

References gain(), pedestalSigma(), and funct::sqrt().

00047 {
00048   return sqrt(2) * pedestalSigma(detId, channel) / gain(detId, channel);
00049 }

virtual void CSCStripConditions::crosstalk ( const CSCDetId detId,
int  channel,
double  stripLength,
bool  leftRight,
float &  capacitive,
float &  resistive 
) const [pure virtual]

Implemented in CSCConfigurableStripConditions, and CSCDbStripConditions.

Referenced by CSCStripElectronicsSim::addCrosstalk().

virtual void CSCStripConditions::fetchNoisifier ( const CSCDetId detId,
int  istrip 
) [protected, pure virtual]

Implemented in CSCConfigurableStripConditions, and CSCDbStripConditions.

Referenced by noisify().

virtual float CSCStripConditions::gain ( const CSCDetId detId,
int  channel 
) const [pure virtual]

channels count from 1 gain is the ratio that takes us from fC to ADC.

Nominally around 2

Implemented in CSCConfigurableStripConditions, and CSCDbStripConditions.

Referenced by analogNoise(), noisify(), and smearedGain().

virtual float CSCStripConditions::gainSigma ( const CSCDetId detId,
int  channel 
) const [pure virtual]

Implemented in CSCConfigurableStripConditions, and CSCDbStripConditions.

Referenced by smearedGain().

virtual void CSCStripConditions::initializeEvent ( const edm::EventSetup es  )  [inline, virtual]

Reimplemented in CSCDbStripConditions.

Definition at line 25 of file CSCStripConditions.h.

Referenced by CSCDigiProducer::produce().

00025 {}

virtual bool CSCStripConditions::isInBadChamber ( const CSCDetId id  )  const [inline, virtual]

is supplied layer/chamber flagged as bad? (default impl. is no)

Reimplemented in CSCDbStripConditions.

Definition at line 45 of file CSCStripConditions.h.

Referenced by CSCDigitizer::doAction().

00045 { return false; }

void CSCStripConditions::noisify ( const CSCDetId detId,
CSCAnalogSignal signal 
)

superimposes noise, in fC, on the signal

Definition at line 28 of file CSCStripConditions.cc.

References fetchNoisifier(), gain(), CSCAnalogSignal::getElement(), CSCAnalogSignal::getTimeOffset(), CorrelatedNoisifier< M >::noisify(), CSCAnalogSignal::superimpose(), and theNoisifier.

Referenced by CSCStripElectronicsSim::makeNoiseSignal().

00029 {
00030   const int nScaBins = 8;
00031   const float scaBinSize = 50.;
00032   int channel = signal.getElement();
00033   std::vector<float> binValues(nScaBins, 0.);
00034   // use a temporary signal, in case we have to rebin
00035   CSCAnalogSignal tmpSignal(channel, scaBinSize, binValues,
00036                             0., signal.getTimeOffset());
00037 
00038   fetchNoisifier(detId, channel );
00039   theNoisifier->noisify(tmpSignal);
00040   // noise matrix is in ADC counts. onvert to fC
00041   tmpSignal *= 1./gain(detId, channel);
00042   signal.superimpose(tmpSignal);
00043 }

virtual float CSCStripConditions::pedestal ( const CSCDetId detId,
int  channel 
) const [pure virtual]

in ADC counts

Implemented in CSCConfigurableStripConditions, and CSCDbStripConditions.

Referenced by CSCStripElectronicsSim::createDigi().

virtual float CSCStripConditions::pedestalSigma ( const CSCDetId detId,
int  channel 
) const [pure virtual]

Implemented in CSCConfigurableStripConditions, and CSCDbStripConditions.

Referenced by analogNoise().

void CSCStripConditions::setRandomEngine ( CLHEP::HepRandomEngine &  engine  ) 

Definition at line 15 of file CSCStripConditions.cc.

References theRandGaussQ.

Referenced by CSCDigiProducer::CSCDigiProducer().

00016 {
00017   if(theRandGaussQ) delete theRandGaussQ;
00018   theRandGaussQ = new RandGaussQ(engine);
00019 }

float CSCStripConditions::smearedGain ( const CSCDetId detId,
int  channel 
) const [virtual]

Definition at line 22 of file CSCStripConditions.cc.

References gain(), gainSigma(), and theRandGaussQ.

Referenced by CSCStripElectronicsSim::createDigi().

00023 {
00024   return theRandGaussQ->fire( gain(detId, channel), gainSigma(detId, channel) );
00025 }


Member Data Documentation

CSCCorrelatedNoisifier* CSCStripConditions::theNoisifier [protected]

Definition at line 50 of file CSCStripConditions.h.

Referenced by CSCConfigurableStripConditions::fetchNoisifier(), CSCDbStripConditions::fetchNoisifier(), noisify(), and CSCDbStripConditions::~CSCDbStripConditions().

CLHEP::RandGaussQ* CSCStripConditions::theRandGaussQ [protected]

Definition at line 51 of file CSCStripConditions.h.

Referenced by setRandomEngine(), smearedGain(), and ~CSCStripConditions().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:17:29 2009 for CMSSW by  doxygen 1.5.4