CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
EcalUncalibRecHitFixedAlphaBetaAlgo< C > Class Template Reference

#include <EcalUncalibRecHitFixedAlphaBetaAlgo.h>

Inheritance diagram for EcalUncalibRecHitFixedAlphaBetaAlgo< C >:
EcalUncalibRecHitRecAbsAlgo< C >

Public Member Functions

 EcalUncalibRecHitFixedAlphaBetaAlgo ()
 
 EcalUncalibRecHitFixedAlphaBetaAlgo (int n_iter, int n_bef_max=1, int n_aft_max=3, float sigma_ped=1.1)
 
virtual EcalUncalibratedRecHit makeRecHit (const C &dataFrame, const double *pedestals, const double *gainRatios, const EcalWeightSet::EcalWeightMatrix **weights, const EcalWeightSet::EcalChi2WeightMatrix **chi2Matrix)
 Compute parameters. More...
 
void SetAlphaBeta (double alpha, double beta)
 
void SetDynamicPedestal (bool dyn_pede)
 
void SetMinAmpl (double ampl)
 
virtual ~EcalUncalibRecHitFixedAlphaBetaAlgo ()
 

Private Member Functions

void InitFitParameters (double *samples, int max_sample)
 
float PerformAnalyticFit (double *samples, int max_sample)
 
double pulseShapeFunction (double t)
 

Private Attributes

double alfabeta_
 
float alpha_table_ [36][1701]
 
float beta_table_ [36][1701]
 
CLHEP::HepSymMatrix DM1_
 
bool doFit_
 
bool dyn_pedestal
 
double fAlpha_
 
double fAmp_max_
 
double fBeta_
 
int fNb_iter_
 
int fNum_samp_after_max_
 
int fNum_samp_bef_max_
 
double fPed_max_
 
float fSigma_ped
 
double fTim_max_
 
double MinAmpl_
 
CLHEP::HepVector temp_
 
double un_sur_sigma
 

Additional Inherited Members

- Public Types inherited from EcalUncalibRecHitRecAbsAlgo< C >
enum  { nWeightsRows = 3, iAmplitude = 0, iPedestal = 1, iTime = 2 }
 

Detailed Description

template<class C>
class EcalUncalibRecHitFixedAlphaBetaAlgo< C >

Template used to compute amplitude, pedestal, time jitter, chi2 of a pulse using an analytical function fit, with the pulse parameters alpha and beta fixed. It follows a fast fit algorithms devolped on test beam data by P. Jarry If the pedestal is not given, it is calculated from the first 2 pre-samples; FIXME: conversion gainID (1,2,3) with gain factor (12,6,1) is hardcoded here !

Author
A.Ghezzi

Definition at line 32 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

Constructor & Destructor Documentation

Definition at line 65 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
EcalUncalibRecHitFixedAlphaBetaAlgo< C >::EcalUncalibRecHitFixedAlphaBetaAlgo ( int  n_iter,
int  n_bef_max = 1,
int  n_aft_max = 3,
float  sigma_ped = 1.1 
)
inline

Definition at line 77 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
virtual EcalUncalibRecHitFixedAlphaBetaAlgo< C >::~EcalUncalibRecHitFixedAlphaBetaAlgo ( )
inlinevirtual

Definition at line 95 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

Member Function Documentation

template<class C >
void EcalUncalibRecHitFixedAlphaBetaAlgo< C >::InitFitParameters ( double *  samples,
int  max_sample 
)
private

Definition at line 208 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
EcalUncalibratedRecHit EcalUncalibRecHitFixedAlphaBetaAlgo< C >::makeRecHit ( const C &  dataFrame,
const double *  pedestals,
const double *  gainRatios,
const EcalWeightSet::EcalWeightMatrix **  weights,
const EcalWeightSet::EcalChi2WeightMatrix **  chi2Matrix 
)
virtual

Compute parameters.

Implements EcalUncalibRecHitRecAbsAlgo< C >.

Definition at line 108 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C >
float EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit ( double *  samples,
int  max_sample 
)
private

fit electronic function from simulation parameters fAlpha_ and fBeta_ are fixed and fit is providing the 3 following parameters the maximum amplitude ( fAmp_max_ ) the time of the maximum ( fTim_max_)

Loop on iterations

initialization inside iteration loop !

Then we loop on samples to be fitted

calculate function to be fitted

then calculate derivatives of function to be fitted

compute matrix elements DM1

compute delta

compute vector elements PROD

end of loop on samples

compute variations of parameters fAmp_max and fTim_max

end of loop on iterations

protection again diverging/unstable fit

results of the fit are calculated

Definition at line 240 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C >
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::pulseShapeFunction ( double  t)
private

Definition at line 195 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C >
void EcalUncalibRecHitFixedAlphaBetaAlgo< C >::SetAlphaBeta ( double  alpha,
double  beta 
)

Definition at line 374 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C >
void EcalUncalibRecHitFixedAlphaBetaAlgo< C >::SetDynamicPedestal ( bool  dyn_pede)

Definition at line 383 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C >
void EcalUncalibRecHitFixedAlphaBetaAlgo< C >::SetMinAmpl ( double  ampl)

Definition at line 380 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

Member Data Documentation

template<class C>
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::alfabeta_
private

Definition at line 44 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
float EcalUncalibRecHitFixedAlphaBetaAlgo< C >::alpha_table_[36][1701]
private

Definition at line 54 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
float EcalUncalibRecHitFixedAlphaBetaAlgo< C >::beta_table_[36][1701]
private

Definition at line 55 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
CLHEP::HepSymMatrix EcalUncalibRecHitFixedAlphaBetaAlgo< C >::DM1_
private

Definition at line 62 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
bool EcalUncalibRecHitFixedAlphaBetaAlgo< C >::doFit_
private

Definition at line 57 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
bool EcalUncalibRecHitFixedAlphaBetaAlgo< C >::dyn_pedestal
private

Definition at line 38 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAlpha_
private

Definition at line 39 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAmp_max_
private

Definition at line 41 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fBeta_
private

Definition at line 40 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
int EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fNb_iter_
private

Definition at line 47 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
int EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fNum_samp_after_max_
private

Definition at line 49 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
int EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fNum_samp_bef_max_
private

Definition at line 48 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fPed_max_
private

Definition at line 43 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
float EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fSigma_ped
private

Definition at line 51 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fTim_max_
private

Definition at line 42 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::MinAmpl_
private

Definition at line 37 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
CLHEP::HepVector EcalUncalibRecHitFixedAlphaBetaAlgo< C >::temp_
private

Definition at line 62 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.

template<class C>
double EcalUncalibRecHitFixedAlphaBetaAlgo< C >::un_sur_sigma
private

Definition at line 52 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.