CMS 3D CMS Logo

EcalUncalibRecHitMaxSampleAlgo< C > Class Template Reference

Amplitude reconstucted by the difference MAX_adc - min_adc jitter is sample number of MAX_adc, pedestal is min_adc. More...

#include <RecoLocalCalo/EcalRecAlgos/interface/EcalUncalibRecHitMaxSampleAlgo.h>

Inheritance diagram for EcalUncalibRecHitMaxSampleAlgo< C >:

EcalUncalibRecHitRecAbsAlgo< C >

List of all members.

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_


Detailed Description

template<class C>
class EcalUncalibRecHitMaxSampleAlgo< C >

Amplitude reconstucted by the difference MAX_adc - min_adc jitter is sample number of MAX_adc, pedestal is min_adc.

Author:
G. Franzoni, E. Di Marco

Definition at line 15 of file EcalUncalibRecHitMaxSampleAlgo.h.


Constructor & Destructor Documentation

template<class C>
virtual EcalUncalibRecHitMaxSampleAlgo< C >::~EcalUncalibRecHitMaxSampleAlgo (  )  [inline, virtual]


Member Function Documentation

template<class C>
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 }


Member Data Documentation

template<class C>
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::amplitude_ [private]

Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.

Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().

template<class C>
double EcalUncalibRecHitMaxSampleAlgo< C >::chi2_ [private]

Definition at line 28 of file EcalUncalibRecHitMaxSampleAlgo.h.

Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().

template<class C>
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::gainId_ [private]

Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.

Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().

template<class C>
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::jitter_ [private]

Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.

Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().

template<class C>
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::pedestal_ [private]

Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.

Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().

template<class C>
int16_t EcalUncalibRecHitMaxSampleAlgo< C >::sampleAdc_ [private]

Definition at line 27 of file EcalUncalibRecHitMaxSampleAlgo.h.

Referenced by EcalUncalibRecHitMaxSampleAlgo< C >::makeRecHit().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:20:03 2009 for CMSSW by  doxygen 1.5.4