#include <RecoLocalCalo/EcalRecAlgos/interface/EcalUncalibRecHitMaxSampleAlgo.h>
Public Member Functions | |
virtual EcalUncalibratedRecHit | makeRecHit (const C &dataFrame, const double *pedestals, const double *gainRatios, const EcalWeightSet::EcalWeightMatrix **weights, const EcalWeightSet::EcalChi2WeightMatrix **chi2Matrix) |
compute rechits | |
virtual | ~EcalUncalibRecHitMaxSampleAlgo () |
Private Attributes | |
int16_t | amplitude_ |
double | chi2_ |
int16_t | gainId_ |
int16_t | jitter_ |
int16_t | pedestal_ |
int16_t | sampleAdc_ |
Definition at line 15 of file EcalUncalibRecHitMaxSampleAlgo.h.
virtual EcalUncalibRecHitMaxSampleAlgo< C >::~EcalUncalibRecHitMaxSampleAlgo | ( | ) | [inline, virtual] |
EcalUncalibratedRecHit EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit | ( | const C & | dataFrame, | |
const double * | pedestals, | |||
const double * | gainRatios, | |||
const EcalWeightSet::EcalWeightMatrix ** | weights, | |||
const EcalWeightSet::EcalChi2WeightMatrix ** | chi2Matrix | |||
) | [inline, virtual] |
compute rechits
Implements EcalUncalibRecHitRecAbsAlgo< C >.
Definition at line 34 of file EcalUncalibRecHitMaxSampleAlgo.h.
References EcalUncalibRecHitMaxSampleAlgo< C >::amplitude_, EcalUncalibRecHitMaxSampleAlgo< C >::chi2_, EcalUncalibRecHitMaxSampleAlgo< C >::gainId_, EcalUncalibRecHitMaxSampleAlgo< C >::jitter_, min, EcalUncalibRecHitMaxSampleAlgo< C >::pedestal_, and EcalUncalibRecHitMaxSampleAlgo< C >::sampleAdc_.
Referenced by EcalMaxSampleUncalibRecHitProducer::produce().
00037 { 00038 00039 amplitude_ = std::numeric_limits<int16_t>::min(); 00040 pedestal_ = 4095; 00041 jitter_ = -1; 00042 chi2_ = -1; 00043 00044 for(int16_t iSample = 0; iSample < C::MAXSAMPLES; iSample++) { 00045 00046 gainId_ = dataFrame.sample(iSample).gainId(); 00047 00048 // ampli gain 12 00049 if ( gainId_ == 1){ 00050 sampleAdc_ = dataFrame.sample(iSample).adc(); 00051 } 00052 00053 else 00054 { 00055 if ( gainId_ == 2){ // ampli gain 6 00056 sampleAdc_ = 200 + (dataFrame.sample(iSample).adc() - 200) * 2 ; 00057 } 00058 else { // accounts for gainId_==3 or 0 - ampli gain 1 and gain0 00059 sampleAdc_ = 200 + (dataFrame.sample(iSample).adc() - 200) * 12 ; 00060 } 00061 } 00062 00063 if( sampleAdc_ >amplitude_ ) { 00064 amplitude_ = sampleAdc_; 00065 jitter_ = iSample; 00066 }// if statement 00067 00068 if (sampleAdc_<pedestal_) pedestal_ = sampleAdc_; 00069 00070 }// loop on samples 00071 00072 00073 return EcalUncalibratedRecHit( dataFrame.id(), static_cast<double>(amplitude_-pedestal_) , static_cast<double>(pedestal_), static_cast<double>(jitter_ - 5), chi2_); 00074 }
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::amplitude_ [private] |
Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.
Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().
double EcalUncalibRecHitMaxSampleAlgo< C >::chi2_ [private] |
Definition at line 28 of file EcalUncalibRecHitMaxSampleAlgo.h.
Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::gainId_ [private] |
Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.
Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::jitter_ [private] |
Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.
Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::pedestal_ [private] |
Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.
Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::sampleAdc_ [private] |
Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.
Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().