#include <EcalUncalibRecHitFixedAlphaBetaAlgo.h>
Public Member Functions | |
EcalUncalibRecHitFixedAlphaBetaAlgo () | |
EcalUncalibRecHitFixedAlphaBetaAlgo (int n_iter, int n_bef_max=1, int n_aft_max=3, float sigma_ped=1.1) | |
EcalUncalibratedRecHit | makeRecHit (const C &dataFrame, const double *pedestals, const double *gainRatios, const EcalWeightSet::EcalWeightMatrix **weights, const EcalWeightSet::EcalChi2WeightMatrix **chi2Matrix) override |
Compute parameters. More... | |
void | SetAlphaBeta (double alpha, double beta) |
void | SetDynamicPedestal (bool dyn_pede) |
void | SetMinAmpl (double ampl) |
~EcalUncalibRecHitFixedAlphaBetaAlgo () override | |
Public Member Functions inherited from EcalUncalibRecHitRecAbsAlgo< C > | |
virtual | ~EcalUncalibRecHitRecAbsAlgo ()=default |
Constructor. More... | |
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 } |
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 !
Definition at line 33 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
|
inline |
Definition at line 63 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
|
inline |
Definition at line 87 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
|
inlineoverride |
Definition at line 105 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
|
private |
Definition at line 229 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
References a, b, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::doFit_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAmp_max_, dqmMemoryStats::float, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fPed_max_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fTim_max_, and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::MinAmpl_.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::makeRecHit(), and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
|
overridevirtual |
Compute parameters.
Implements EcalUncalibRecHitRecAbsAlgo< C >.
Definition at line 118 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
References EcalUncalibRecHitFixedAlphaBetaAlgo< C >::dyn_pedestal, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAmp_max_, HLT_2018_cff::flags, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fPed_max_, amptDefault_cfi::frame, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fTim_max_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::InitFitParameters(), CastorSimpleRecAlgoImpl::isSaturated(), EcalUncalibratedRecHit::kSaturated, EcalCondDBWriter_cfi::pedestal, and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
Referenced by EcalUncalibRecHitWorkerFixedAlphaBetaFit::run(), and EcalUncalibRecHitFixedAlphaBetaAlgo< EBDataFrame >::~EcalUncalibRecHitFixedAlphaBetaAlgo().
|
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 266 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
References EcalUncalibRecHitFixedAlphaBetaAlgo< C >::alfabeta_, hltPixelTracks_cff::chi2, dqmiodatasetharvest::db, dumpMFGeometry_cfg::delta, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::DM1_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::doFit_, dt, JetChargeProducer_cfi::exp, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAlpha_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAmp_max_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fBeta_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fNb_iter_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fNum_samp_after_max_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fNum_samp_bef_max_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fPed_max_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fTim_max_, TrackCollections2monitor_cff::func, mps_fire::i, testProducerWithPsetDescEmpty_cfi::i1, cuy::ii, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::InitFitParameters(), createfilelist::int, edm::isNotFinite(), LogDebug, funct::pow(), PROD, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::pulseShapeFunction(), EcalUncalibRecHitFixedAlphaBetaAlgo< C >::temp_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::un_sur_sigma, and taus_updatedMVAIds_cff::variable.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::makeRecHit().
|
private |
Definition at line 214 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
References EcalUncalibRecHitFixedAlphaBetaAlgo< C >::alfabeta_, dt, JetChargeProducer_cfi::exp, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAlpha_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAmp_max_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fBeta_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fPed_max_, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fTim_max_, funct::pow(), and taus_updatedMVAIds_cff::variable.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
void EcalUncalibRecHitFixedAlphaBetaAlgo< C >::SetAlphaBeta | ( | double | alpha, |
double | beta | ||
) |
Definition at line 404 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
References EcalUncalibRecHitFixedAlphaBetaAlgo< C >::alfabeta_, zMuMuMuonUserData::alpha, zMuMuMuonUserData::beta, EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fAlpha_, and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::fBeta_.
Referenced by EcalUncalibRecHitWorkerFixedAlphaBetaFit::run(), and EcalUncalibRecHitFixedAlphaBetaAlgo< EBDataFrame >::~EcalUncalibRecHitFixedAlphaBetaAlgo().
void EcalUncalibRecHitFixedAlphaBetaAlgo< C >::SetDynamicPedestal | ( | bool | dyn_pede | ) |
Definition at line 415 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
References EcalUncalibRecHitFixedAlphaBetaAlgo< C >::dyn_pedestal, and AlCaHLTBitMon_ParallelJobs::p.
Referenced by EcalUncalibRecHitWorkerFixedAlphaBetaFit::EcalUncalibRecHitWorkerFixedAlphaBetaFit(), and EcalUncalibRecHitFixedAlphaBetaAlgo< EBDataFrame >::~EcalUncalibRecHitFixedAlphaBetaAlgo().
void EcalUncalibRecHitFixedAlphaBetaAlgo< C >::SetMinAmpl | ( | double | ampl | ) |
Definition at line 411 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
References EcalUncalibRecHitFixedAlphaBetaAlgo< C >::MinAmpl_.
Referenced by EcalUncalibRecHitWorkerFixedAlphaBetaFit::EcalUncalibRecHitWorkerFixedAlphaBetaFit(), and EcalUncalibRecHitFixedAlphaBetaAlgo< EBDataFrame >::~EcalUncalibRecHitFixedAlphaBetaAlgo().
|
private |
|
private |
Definition at line 51 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
|
private |
Definition at line 52 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
|
private |
Definition at line 59 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
|
private |
Definition at line 54 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::InitFitParameters(), and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
|
private |
Definition at line 36 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::makeRecHit(), and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::SetDynamicPedestal().
|
private |
|
private |
Definition at line 39 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::InitFitParameters(), EcalUncalibRecHitFixedAlphaBetaAlgo< C >::makeRecHit(), EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit(), and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::pulseShapeFunction().
|
private |
|
private |
Definition at line 44 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
|
private |
Definition at line 46 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
|
private |
Definition at line 45 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
|
private |
Definition at line 41 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::InitFitParameters(), EcalUncalibRecHitFixedAlphaBetaAlgo< C >::makeRecHit(), EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit(), and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::pulseShapeFunction().
|
private |
Definition at line 48 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
|
private |
Definition at line 40 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::InitFitParameters(), EcalUncalibRecHitFixedAlphaBetaAlgo< C >::makeRecHit(), EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit(), and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::pulseShapeFunction().
|
private |
Definition at line 35 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::InitFitParameters(), and EcalUncalibRecHitFixedAlphaBetaAlgo< C >::SetMinAmpl().
|
private |
Definition at line 60 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().
|
private |
Definition at line 49 of file EcalUncalibRecHitFixedAlphaBetaAlgo.h.
Referenced by EcalUncalibRecHitFixedAlphaBetaAlgo< C >::PerformAnalyticFit().