#include <SimMuon/CSCDigitizer/src/CSCStripConditions.h>
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 | |
CSCCorrelatedNoisifier * | theNoisifier |
CLHEP::RandGaussQ * | theRandGaussQ |
Definition at line 11 of file CSCStripConditions.h.
Definition at line 14 of file CSCStripConditions.h.
Definition at line 15 of file CSCStripConditions.h.
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 }
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().
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().
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().
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 }
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 }
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().