CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
EcalCoder Class Reference

#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 (CLHEP::HepRandomEngine *, const EcalSamples &clf, EcalDataFrame &df) const
 from EcalSamples to EcalDataFrame More...
 
 EcalCoder (bool addNoise, bool PreMix1, 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, CLHEP::HepRandomEngine *) 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 Noisifierm_ebCorrNoise [3]
 
const Noisifierm_eeCorrNoise [3]
 
const EcalGainRatiosm_gainRatios
 
const EcalIntercalibConstantsMCm_intercals
 
double m_maxEneEB
 
double m_maxEneEE
 
const EcalPedestalsm_peds
 
bool m_PreMix1
 

Detailed Description

Definition at line 26 of file EcalCoder.h.

Member Typedef Documentation

Definition at line 30 of file EcalCoder.h.

Definition at line 32 of file EcalCoder.h.

Member Enumeration Documentation

anonymous enum
Enumerator
NBITS 
MAXADC 
ADCGAINSWITCH 
NGAINS 

Definition at line 34 of file EcalCoder.h.

34  { NBITS = 12 , // number of available bits
35  MAXADC = 4095 , // 2^12 -1, adc max range
36  ADCGAINSWITCH = 4079 , // adc gain switch
37  NGAINS = 3 // number of electronic gains
38  };

Constructor & Destructor Documentation

EcalCoder::EcalCoder ( bool  addNoise,
bool  PreMix1,
EcalCoder::Noisifier ebCorrNoise0,
EcalCoder::Noisifier eeCorrNoise0 = 0,
EcalCoder::Noisifier ebCorrNoise1 = 0,
EcalCoder::Noisifier eeCorrNoise1 = 0,
EcalCoder::Noisifier ebCorrNoise2 = 0,
EcalCoder::Noisifier eeCorrNoise2 = 0 
)

ctor

Definition at line 12 of file EcalCoder.cc.

References m_ebCorrNoise, and m_eeCorrNoise.

19  :
20  m_peds ( 0 ) ,
21  m_gainRatios ( 0 ) ,
22  m_intercals ( 0 ) ,
23  m_maxEneEB ( 1668.3 ) , // 4095(MAXADC)*12(gain 2)*0.035(GeVtoADC)*0.97
24  m_maxEneEE ( 2859.9 ) , // 4095(MAXADC)*12(gain 2)*0.060(GeVtoADC)*0.97
25  m_addNoise ( addNoise ) ,
26  m_PreMix1 ( PreMix1 )
27  {
28  m_ebCorrNoise[0] = ebCorrNoise0 ;
29  assert( 0 != m_ebCorrNoise[0] ) ;
30  m_eeCorrNoise[0] = eeCorrNoise0 ;
31  m_ebCorrNoise[1] = ebCorrNoise1 ;
32  m_eeCorrNoise[1] = eeCorrNoise1 ;
33  m_ebCorrNoise[2] = ebCorrNoise2 ;
34  m_eeCorrNoise[2] = eeCorrNoise2 ;
35 }
bool m_addNoise
Definition: EcalCoder.h:105
const EcalGainRatios * m_gainRatios
Definition: EcalCoder.h:98
const EcalIntercalibConstantsMC * m_intercals
Definition: EcalCoder.h:100
double m_maxEneEE
Definition: EcalCoder.h:103
const Noisifier * m_ebCorrNoise[3]
Definition: EcalCoder.h:108
const Noisifier * m_eeCorrNoise[3]
Definition: EcalCoder.h:109
bool m_PreMix1
Definition: EcalCoder.h:106
const EcalPedestals * m_peds
Definition: EcalCoder.h:96
double m_maxEneEB
Definition: EcalCoder.h:102
EcalCoder::~EcalCoder ( )
virtual

dtor

Definition at line 37 of file EcalCoder.cc.

38 {
39 }

Member Function Documentation

void EcalCoder::analogToDigital ( CLHEP::HepRandomEngine *  engine,
const EcalSamples clf,
EcalDataFrame df 
) const
virtual

from EcalSamples to EcalDataFrame

Definition at line 75 of file EcalCoder.cc.

References encode(), EcalDataFrame::setSize(), and CaloTSamplesBase< Ttype >::size().

Referenced by EcalElectronicsSim::analogToDigital().

78 {
79  df.setSize( clf.size() ) ;
80  encode( clf, df, engine );
81 /* std::cout<<" **Id=" ;
82  if( CaloGenericDetId( clf.id() ).isEB() )
83  {
84  std::cout<<EBDetId( clf.id() ) ;
85  }
86  else
87  {
88  std::cout<<EEDetId( clf.id() ) ;
89  }
90  std::cout<<", size="<<df.size();
91  for( int i ( 0 ) ; i != df.size() ; ++i )
92  {
93  std::cout<<", "<<df[i];
94  }
95  std::cout<<std::endl ;*/
96 }
void setSize(int)
Definition: EcalDataFrame.h:41
void encode(const EcalSamples &ecalSamples, EcalDataFrame &df, CLHEP::HepRandomEngine *) const
produce the pulse-shape
Definition: EcalCoder.cc:99
void EcalCoder::encode ( const EcalSamples ecalSamples,
EcalDataFrame df,
CLHEP::HepRandomEngine *  engine 
) const
private

produce the pulse-shape

Definition at line 99 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, m_PreMix1, MAXADC, NGAINS, CorrelatedNoisifier< M >::noisify(), EcalDataFrame::sample(), EcalDataFrame::setSample(), CaloTSamplesBase< Ttype >::size(), mathSSE::sqrt(), and funct::true.

Referenced by analogToDigital().

102 {
103  assert( 0 != m_peds ) ;
104 
105  const unsigned int csize ( ecalSamples.size() ) ;
106 
107 
108  DetId detId = ecalSamples.id();
109  double Emax = fullScaleEnergy(detId);
110 
111  //....initialisation
112  if ( ecalSamples[5] > 0. ) LogDebug("EcalCoder") << "Input caloSample" << "\n" << ecalSamples;
113 
114  double LSB[NGAINS+1];
115  double pedestals[NGAINS+1];
116  double widths[NGAINS+1];
117  double gains[NGAINS+1];
118  int maxADC[NGAINS+1];
119  double trueRMS[NGAINS+1];
120 
121  double icalconst = 1. ;
122  findIntercalibConstant( detId, icalconst );
123 
124  for( unsigned int igain ( 0 ); igain <= NGAINS ; ++igain )
125  {
126  // fill in the pedestal and width
127  findPedestal( detId ,
128  igain ,
129  pedestals[igain] ,
130  widths[igain] ) ;
131 
132  if( 0 < igain )
133  trueRMS[igain] = std::sqrt( widths[igain]*widths[igain] - 1./12. ) ;
134 
135  // set nominal value first
136  findGains( detId ,
137  gains );
138 
139  LSB[igain] = 0.;
140  if ( igain > 0 ) LSB[igain]= Emax/(MAXADC*gains[igain]);
141  maxADC[igain] = ADCGAINSWITCH; // saturation at 4080 for middle and high gains x6 & x12
142  if ( igain == NGAINS ) maxADC[igain] = MAXADC; // saturation at 4095 for low gain x1
143  }
144 
145  CaloSamples noiseframe[] = { CaloSamples( detId , csize ) ,
146  CaloSamples( detId , csize ) ,
147  CaloSamples( detId , csize ) } ;
148 
149  const Noisifier* noisy[3] = { ( 0 == m_eeCorrNoise[0] ||
150  EcalBarrel == detId.subdetId() ?
151  m_ebCorrNoise[0] :
152  m_eeCorrNoise[0] ) ,
153  ( EcalBarrel == detId.subdetId() ?
154  m_ebCorrNoise[1] :
155  m_eeCorrNoise[1] ) ,
156  ( EcalBarrel == detId.subdetId() ?
157  m_ebCorrNoise[2] :
158  m_eeCorrNoise[2] ) } ;
159 
160  if( m_addNoise )
161  {
162  noisy[0]->noisify( noiseframe[0], engine ) ; // high gain
163  if( 0 == noisy[1] ) noisy[0]->noisify( noiseframe[1] ,
164  engine,
165  &noisy[0]->vecgau() ) ; // med
166  if( 0 == noisy[2] ) noisy[0]->noisify( noiseframe[2] ,
167  engine,
168  &noisy[0]->vecgau() ) ; // low
169  }
170 
171 
172  // std::cout << " intercal, LSBs, gains " << icalconst << " " << LSB[0] << " " << LSB[1] << " " << gains[0] << " " << gains[1] << " " << Emax << std::endl;
173 
174  int wait = 0 ;
175  int gainId = 0 ;
176  bool isSaturated = 0;
177 
178  for( unsigned int i ( 0 ) ; i != csize ; ++i )
179  {
180  bool done ( false ) ;
181  int adc = MAXADC ;
182  if( 0 == wait ) gainId = 1 ;
183 
184  // see which gain bin it fits in
185  int igain ( gainId - 1 ) ;
186  do
187  {
188  ++igain ;
189 
190 // if( igain != gainId ) std::cout <<"$$$$ Gain switch from " << gainId
191 // <<" to "<< igain << std::endl ;
192 
193  if( 1 != igain && // not high gain
194  m_addNoise && // want to add noise
195  0 != noisy[igain-1] && // exists
196  noiseframe[igain-1].isBlank() ) // not already done
197  {
198  noisy[igain-1]->noisify( noiseframe[igain-1] ,
199  engine,
200  &noisy[0]->vecgau() ) ;
201  //std::cout<<"....noisifying gain level = "<<igain<<std::endl ;
202  }
203 
204  double signal;
205 
206  if(!m_PreMix1) {
207 
208  // noiseframe filled with zeros if !m_addNoise
209  const double asignal ( pedestals[igain] +
210  ecalSamples[i] /( LSB[igain]*icalconst ) +
211  trueRMS[igain]*noiseframe[igain-1][i] ) ;
212  signal = asignal;
213  }
214  else {
215 
216  const double asignal ( // no pedestals for pre-mixing
217  ecalSamples[i] /( LSB[igain]*icalconst ) );
218  signal = asignal;
219  }
220 
221  // std::cout << " " << ecalSamples[i] << " " << noiseframe[igain-1][i] << std::endl;
222 
223 
224  const int isignal ( signal ) ;
225  const int tmpadc ( signal - (double)isignal < 0.5 ?
226  isignal : isignal + 1 ) ;
227  // LogDebug("EcalCoder") << "DetId " << detId.rawId() << " gain " << igain << " caloSample "
228  // << ecalSamples[i] << " pededstal " << pedestals[igain]
229  // << " noise " << widths[igain] << " conversion factor " << LSB[igain]
230  // << " result (ped,tmpadc)= " << ped << " " << tmpadc;
231 
232  if( tmpadc <= maxADC[igain] )
233  {
234  adc = tmpadc;
235  done = true ;
236  }
237  }
238  while( !done &&
239  igain < 3 ) ;
240 
241  if (igain == 1 )
242  {
243  wait = 0 ;
244  gainId = igain ;
245  }
246  else
247  {
248  if (igain == gainId) --wait ;
249  else
250  {
251  wait = 5 ;
252  gainId = igain ;
253  }
254  }
255 
256 
257  // change the gain for saturation
258  int storeGainId = gainId;
259  if ( gainId == 3 && adc == MAXADC )
260  {
261  storeGainId = 0;
262  isSaturated = true;
263  }
264  // LogDebug("EcalCoder") << " Writing out frame " << i << " ADC = " << adc << " gainId = " << gainId << " storeGainId = " << storeGainId ;
265 
266  df.setSample( i, EcalMGPASample( adc, storeGainId ) );
267  }
268  // handle saturation properly according to IN-2007/056
269  // N.B. - FIXME
270  // still missing the possibility for a signal to pass the saturation threshold
271  // again within the 5 subsequent samples (higher order effect).
272 
273  if ( isSaturated )
274  {
275  for (unsigned int i = 0 ; i < ecalSamples.size() ; ++i)
276  {
277  if ( df.sample(i).gainId() == 0 )
278  {
279  unsigned int hyst = i+1+2;
280  for ( unsigned int j = i+1; j < hyst && j < ecalSamples.size(); ++j )
281  {
282  df.setSample(j, EcalMGPASample(MAXADC, 0));
283  }
284  }
285  }
286  }
287 }
int adc(sample_type sample)
get the ADC sample (12 bits)
#define LogDebug(id)
bool m_addNoise
Definition: EcalCoder.h:105
int i
Definition: DBlmapReader.cc:9
int gainId(sample_type sample)
get the gainId (2 bits)
CorrelatedNoisifier< EcalCorrMatrix > Noisifier
Definition: EcalCoder.h:32
EcalMGPASample sample(int i) const
Definition: EcalDataFrame.h:29
int gainId() const
get the gainId (2 bits)
double fullScaleEnergy(const DetId &did) const
limit on the energy scale due to the electronics range
Definition: EcalCoder.cc:69
void noisify(T &frame, CLHEP::HepRandomEngine *, const VecDou *rangau=0) const
const Noisifier * m_ebCorrNoise[3]
Definition: EcalCoder.h:108
const Noisifier * m_eeCorrNoise[3]
Definition: EcalCoder.h:109
T sqrt(T t)
Definition: SSEVec.h:48
int j
Definition: DBlmapReader.cc:9
void findGains(const DetId &detId, double theGains[]) const
Definition: EcalCoder.cc:348
bool m_PreMix1
Definition: EcalCoder.h:106
const EcalPedestals * m_peds
Definition: EcalCoder.h:96
Definition: DetId.h:18
bool isSaturated(const Digi &digi, const int &maxADCvalue, int ifirst, int n)
void setSample(int i, EcalMGPASample sam)
Definition: EcalDataFrame.h:43
void findIntercalibConstant(const DetId &detId, double &icalconst) const
Definition: EcalCoder.cc:381
void findPedestal(const DetId &detId, int gainId, double &pedestal, double &width) const
not yet implemented
Definition: EcalCoder.cc:290
void EcalCoder::findGains ( const DetId detId,
double  theGains[] 
) const
private

Definition at line 348 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().

350 {
351  /*
352  EcalGainRatios::EcalGainRatioMap::const_iterator grit=m_gainRatios->getMap().find(detId.rawId());
353  EcalMGPAGainRatio mgpa;
354  if( grit!=m_gainRatios->getMap().end() ){
355  mgpa = grit->second;
356  Gains[0] = 0.;
357  Gains[3] = 1.;
358  Gains[2] = mgpa.gain6Over1() ;
359  Gains[1] = Gains[2]*(mgpa.gain12Over6()) ;
360  LogDebug("EcalCoder") << "Gains for " << detId.rawId() << "\n" << " 1 = " << Gains[1] << "\n" << " 2 = " << Gains[2] << "\n" << " 3 = " << Gains[3];
361  } else {
362  edm::LogError("EcalCoder") << "Could not find gain ratios for " << detId.rawId() << " among the " << m_gainRatios->getMap().size();
363  }
364  */
365 
367  Gains[0] = 0.;
368  Gains[3] = 1.;
369  Gains[2] = (*grit).gain6Over1();
370  Gains[1] = Gains[2]*( (*grit).gain12Over6() );
371 
372 
373  if ( (detId.subdetId() != EcalBarrel) && (detId.subdetId() != EcalEndcap) )
374  {
375  edm::LogError("EcalCoder") << "Could not find gain ratios for " << detId.rawId() << " among the " << m_gainRatios->getMap().size();
376  }
377 
378 }
const EcalGainRatios * m_gainRatios
Definition: EcalCoder.h:98
const self & getMap() const
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
std::vector< Item >::const_iterator const_iterator
const_iterator find(uint32_t rawId) const
void EcalCoder::findIntercalibConstant ( const DetId detId,
double &  icalconst 
) const
private

Definition at line 381 of file EcalCoder.cc.

References EcalCondObjectContainer< T >::end(), EcalCondObjectContainer< T >::find(), EcalCondObjectContainer< T >::getMap(), m_intercals, and DetId::rawId().

Referenced by encode().

383 {
384  EcalIntercalibConstantMC thisconst = 1.;
385  // find intercalib constant for this xtal
386  const EcalIntercalibConstantMCMap &icalMap = m_intercals->getMap();
387  EcalIntercalibConstantMCMap::const_iterator icalit = icalMap.find(detId);
388  if( icalit!=icalMap.end() )
389  {
390  thisconst = (*icalit);
391  if ( icalconst == 0. ) { thisconst = 1.; }
392  }
393  else
394  {
395  edm::LogError("EcalCoder") << "No intercalib const found for xtal " << detId.rawId() << "! something wrong with EcalIntercalibConstants in your DB? ";
396  }
397  icalconst = thisconst;
398 }
const self & getMap() const
const EcalIntercalibConstantsMC * m_intercals
Definition: EcalCoder.h:100
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
std::vector< Item >::const_iterator const_iterator
const_iterator find(uint32_t rawId) const
const_iterator end() const
float EcalIntercalibConstantMC
void EcalCoder::findPedestal ( const DetId detId,
int  gainId,
double &  pedestal,
double &  width 
) const
private

not yet implemented

Definition at line 290 of file EcalCoder.cc.

References EcalBarrel, EcalEndcap, EcalCondObjectContainer< T >::find(), EcalCondObjectContainer< T >::getMap(), LogDebug, m_peds, DetId::rawId(), EcalCondObjectContainer< T >::size(), DetId::subdetId(), and create_public_lumi_plots::width.

Referenced by encode().

294 {
295  /*
296  EcalPedestalsMapIterator mapItr
297  = m_peds->m_pedestals.find(detId.rawId());
298  // should I care if it doesn't get found?
299  if(mapItr == m_peds->m_pedestals.end()) {
300  edm::LogError("EcalCoder") << "Could not find pedestal for " << detId.rawId() << " among the " << m_peds->m_pedestals.size();
301  } else {
302  EcalPedestals::Item item = mapItr->second;
303  */
304 
305  /*
306  EcalPedestals::Item const & item = (*m_peds)(detId);
307  ped = item.mean(gainId);
308  width = item.rms(gainId);
309  */
310 
312  ped = (*itped).mean(gainId);
313  width = (*itped).rms(gainId);
314 
315  if ( (detId.subdetId() != EcalBarrel) && (detId.subdetId() != EcalEndcap) )
316  {
317  edm::LogError("EcalCoder") << "Could not find pedestal for " << detId.rawId() << " among the " << m_peds->getMap().size();
318  }
319 
320  /*
321  switch(gainId) {
322  case 0:
323  ped = 0.;
324  width = 0.;
325  case 1:
326  ped = item.mean_x12;
327  width = item.rms_x12;
328  break;
329  case 2:
330  ped = item.mean_x6;
331  width = item.rms_x6;
332  break;
333  case 3:
334  ped = item.mean_x1;
335  width = item.rms_x1;
336  break;
337  default:
338  edm::LogError("EcalCoder") << "Bad Pedestal " << gainId;
339  break;
340  }
341  */
342 
343  LogDebug("EcalCoder") << "Pedestals for " << detId.rawId() << " gain range " << gainId << " : \n" << "Mean = " << ped << " rms = " << width;
344 }
#define LogDebug(id)
int gainId(sample_type sample)
get the gainId (2 bits)
const self & getMap() const
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
const EcalPedestals * m_peds
Definition: EcalCoder.h:96
std::vector< Item >::const_iterator const_iterator
const_iterator find(uint32_t rawId) const
double EcalCoder::fullScaleEnergy ( const DetId did) const
private

limit on the energy scale due to the electronics range

Definition at line 69 of file EcalCoder.cc.

References EcalBarrel, m_maxEneEB, m_maxEneEE, and DetId::subdetId().

Referenced by encode().

70 {
71  return detId.subdetId() == EcalBarrel ? m_maxEneEB : m_maxEneEE ;
72 }
double m_maxEneEE
Definition: EcalCoder.h:103
double m_maxEneEB
Definition: EcalCoder.h:102
void EcalCoder::setFullScaleEnergy ( double  EBscale,
double  EEscale 
)

Definition at line 42 of file EcalCoder.cc.

References m_maxEneEB, and m_maxEneEE.

Referenced by EcalDigiProducer::checkCalibrations().

44 {
45  m_maxEneEB = EBscale ;
46  m_maxEneEE = EEscale ;
47 }
double m_maxEneEE
Definition: EcalCoder.h:103
double m_maxEneEB
Definition: EcalCoder.h:102
void EcalCoder::setGainRatios ( const EcalGainRatios gainRatios)

Definition at line 57 of file EcalCoder.cc.

References m_gainRatios.

Referenced by EcalDigiProducer::checkCalibrations().

58 {
59  m_gainRatios = gainRatios ;
60 }
const EcalGainRatios * m_gainRatios
Definition: EcalCoder.h:98
void EcalCoder::setIntercalibConstants ( const EcalIntercalibConstantsMC ical)

Definition at line 63 of file EcalCoder.cc.

References m_intercals.

Referenced by EcalDigiProducer::checkCalibrations().

64 {
65  m_intercals = ical ;
66 }
const EcalIntercalibConstantsMC * m_intercals
Definition: EcalCoder.h:100
void EcalCoder::setPedestals ( const EcalPedestals pedestals)

can be fetched every event from the EventSetup

Definition at line 51 of file EcalCoder.cc.

References m_peds.

Referenced by EcalDigiProducer::checkCalibrations().

52 {
53  m_peds = pedestals ;
54 }
const EcalPedestals * m_peds
Definition: EcalCoder.h:96

Member Data Documentation

bool EcalCoder::m_addNoise
private

Definition at line 105 of file EcalCoder.h.

Referenced by encode().

const Noisifier* EcalCoder::m_ebCorrNoise[3]
private

Definition at line 108 of file EcalCoder.h.

Referenced by EcalCoder(), and encode().

const Noisifier* EcalCoder::m_eeCorrNoise[3]
private

Definition at line 109 of file EcalCoder.h.

Referenced by EcalCoder(), and encode().

const EcalGainRatios* EcalCoder::m_gainRatios
private

Definition at line 98 of file EcalCoder.h.

Referenced by findGains(), and setGainRatios().

const EcalIntercalibConstantsMC* EcalCoder::m_intercals
private

Definition at line 100 of file EcalCoder.h.

Referenced by findIntercalibConstant(), and setIntercalibConstants().

double EcalCoder::m_maxEneEB
private

Definition at line 102 of file EcalCoder.h.

Referenced by fullScaleEnergy(), and setFullScaleEnergy().

double EcalCoder::m_maxEneEE
private

Definition at line 103 of file EcalCoder.h.

Referenced by fullScaleEnergy(), and setFullScaleEnergy().

const EcalPedestals* EcalCoder::m_peds
private

Definition at line 96 of file EcalCoder.h.

Referenced by encode(), findPedestal(), and setPedestals().

bool EcalCoder::m_PreMix1
private

Definition at line 106 of file EcalCoder.h.

Referenced by encode().