#include <EcalCoder.h>
Public Types | |
enum | { NBITS = 12, MAXADC = 4095, ADCGAINSWITCH = 4079, NGAINS = 3 } |
typedef CaloTSamples< float, 10 > | EcalSamples |
typedef CorrelatedNoisifier < EcalCorrMatrix > | Noisifier |
Public Member Functions | |
virtual void | analogToDigital (const EcalSamples &clf, EcalDataFrame &df) const |
from EcalSamples to EcalDataFrame More... | |
EcalCoder (bool addNoise, Noisifier *ebCorrNoise0, Noisifier *eeCorrNoise0=0, Noisifier *ebCorrNoise1=0, Noisifier *eeCorrNoise1=0, Noisifier *ebCorrNoise2=0, Noisifier *eeCorrNoise2=0) | |
ctor More... | |
void | setFullScaleEnergy (double EBscale, double EEscale) |
void | setGainRatios (const EcalGainRatios *gainRatios) |
void | setIntercalibConstants (const EcalIntercalibConstantsMC *ical) |
void | setPedestals (const EcalPedestals *pedestals) |
can be fetched every event from the EventSetup More... | |
virtual | ~EcalCoder () |
dtor More... | |
Private Member Functions | |
void | encode (const EcalSamples &ecalSamples, EcalDataFrame &df) const |
produce the pulse-shape More... | |
void | findGains (const DetId &detId, double theGains[]) const |
void | findIntercalibConstant (const DetId &detId, double &icalconst) const |
void | findPedestal (const DetId &detId, int gainId, double &pedestal, double &width) const |
not yet implemented More... | |
double | fullScaleEnergy (const DetId &did) const |
limit on the energy scale due to the electronics range More... | |
Private Attributes | |
bool | m_addNoise |
const Noisifier * | m_ebCorrNoise [3] |
const Noisifier * | m_eeCorrNoise [3] |
const EcalGainRatios * | m_gainRatios |
const EcalIntercalibConstantsMC * | m_intercals |
double | m_maxEneEB |
double | m_maxEneEE |
const EcalPedestals * | m_peds |
Definition at line 22 of file EcalCoder.h.
typedef CaloTSamples<float,10> EcalCoder::EcalSamples |
Definition at line 26 of file EcalCoder.h.
Definition at line 28 of file EcalCoder.h.
anonymous enum |
Enumerator | |
---|---|
NBITS | |
MAXADC | |
ADCGAINSWITCH | |
NGAINS |
Definition at line 30 of file EcalCoder.h.
EcalCoder::EcalCoder | ( | bool | addNoise, |
EcalCoder::Noisifier * | ebCorrNoise0, | ||
EcalCoder::Noisifier * | eeCorrNoise0 = 0 , |
||
EcalCoder::Noisifier * | ebCorrNoise1 = 0 , |
||
EcalCoder::Noisifier * | eeCorrNoise1 = 0 , |
||
EcalCoder::Noisifier * | ebCorrNoise2 = 0 , |
||
EcalCoder::Noisifier * | eeCorrNoise2 = 0 |
||
) |
|
virtual |
|
virtual |
from EcalSamples to EcalDataFrame
Definition at line 73 of file EcalCoder.cc.
References encode(), EcalDataFrame::setSize(), and CaloTSamplesBase< Ttype >::size().
Referenced by EcalElectronicsSim::analogToDigital().
|
private |
produce the pulse-shape
Definition at line 96 of file EcalCoder.cc.
References ecalMGPA::adc(), ADCGAINSWITCH, run_regression::done, EcalBarrel, findGains(), findIntercalibConstant(), findPedestal(), fullScaleEnergy(), ecalMGPA::gainId(), EcalMGPASample::gainId(), i, CaloTSamplesBase< Ttype >::id(), CastorSimpleRecAlgoImpl::isSaturated(), j, LogDebug, m_addNoise, m_ebCorrNoise, m_eeCorrNoise, m_peds, MAXADC, NGAINS, CorrelatedNoisifier< M >::noisify(), EcalDataFrame::sample(), EcalDataFrame::setSample(), CaloTSamplesBase< Ttype >::size(), mathSSE::sqrt(), and funct::true.
Referenced by analogToDigital().
|
private |
Definition at line 323 of file EcalCoder.cc.
References EcalBarrel, EcalEndcap, EcalCondObjectContainer< T >::find(), EcalCondObjectContainer< T >::getMap(), m_gainRatios, DetId::rawId(), EcalCondObjectContainer< T >::size(), and DetId::subdetId().
Referenced by encode().
|
private |
Definition at line 356 of file EcalCoder.cc.
References EcalCondObjectContainer< T >::end(), EcalCondObjectContainer< T >::find(), EcalCondObjectContainer< T >::getMap(), m_intercals, and DetId::rawId().
Referenced by encode().
|
private |
not yet implemented
Definition at line 265 of file EcalCoder.cc.
References EcalBarrel, EcalEndcap, EcalCondObjectContainer< T >::find(), EcalCondObjectContainer< T >::getMap(), LogDebug, m_peds, DetId::rawId(), EcalCondObjectContainer< T >::size(), DetId::subdetId(), and tablePrinter::width.
Referenced by encode().
|
private |
limit on the energy scale due to the electronics range
Definition at line 67 of file EcalCoder.cc.
References EcalBarrel, m_maxEneEB, m_maxEneEE, and DetId::subdetId().
Referenced by encode().
void EcalCoder::setFullScaleEnergy | ( | double | EBscale, |
double | EEscale | ||
) |
Definition at line 40 of file EcalCoder.cc.
References m_maxEneEB, and m_maxEneEE.
Referenced by EcalDigiProducer::checkCalibrations().
void EcalCoder::setGainRatios | ( | const EcalGainRatios * | gainRatios | ) |
Definition at line 55 of file EcalCoder.cc.
References m_gainRatios.
Referenced by EcalDigiProducer::checkCalibrations().
void EcalCoder::setIntercalibConstants | ( | const EcalIntercalibConstantsMC * | ical | ) |
Definition at line 61 of file EcalCoder.cc.
References m_intercals.
Referenced by EcalDigiProducer::checkCalibrations().
void EcalCoder::setPedestals | ( | const EcalPedestals * | pedestals | ) |
can be fetched every event from the EventSetup
Definition at line 49 of file EcalCoder.cc.
References m_peds.
Referenced by EcalDigiProducer::checkCalibrations().
|
private |
Definition at line 98 of file EcalCoder.h.
Referenced by encode().
|
private |
Definition at line 100 of file EcalCoder.h.
Referenced by EcalCoder(), and encode().
|
private |
Definition at line 101 of file EcalCoder.h.
Referenced by EcalCoder(), and encode().
|
private |
Definition at line 91 of file EcalCoder.h.
Referenced by findGains(), and setGainRatios().
|
private |
Definition at line 93 of file EcalCoder.h.
Referenced by findIntercalibConstant(), and setIntercalibConstants().
|
private |
Definition at line 95 of file EcalCoder.h.
Referenced by fullScaleEnergy(), and setFullScaleEnergy().
|
private |
Definition at line 96 of file EcalCoder.h.
Referenced by fullScaleEnergy(), and setFullScaleEnergy().
|
private |
Definition at line 89 of file EcalCoder.h.
Referenced by encode(), findPedestal(), and setPedestals().