#include <CSCFindPeakTime.h>
Public Member Functions | |
float | averageTime (int tmax, const float *adc) |
Weighted average of time bins. More... | |
CSCFindPeakTime (const edm::ParameterSet &ps) | |
void | fivePoleFitCharge (int tmax, const float *adc, const float &t_zero, const float &t_peak, std::vector< float > &adcsFit) |
float | fivePoleFitTime (int tmax, const float *adc, float t_peak) |
float | parabolaFitTime (int tmax, const float *adc) |
Parabolic fit to three time bins centered on maximum. More... | |
float | peakTime (int tmax, const float *adc, float t_peak) |
Basic result of this class. More... | |
~CSCFindPeakTime () | |
Private Attributes | |
bool | useAverageTime |
bool | useFivePoleFit |
bool | useParabolaFit |
This is CSCFindPeakTime
Used to provide improved estimate of SCA peak time.
Definition at line 12 of file CSCFindPeakTime.h.
|
explicit |
Definition at line 8 of file CSCFindPeakTime.cc.
References edm::ParameterSet::getParameter(), LogTrace, useAverageTime, useFivePoleFit, and useParabolaFit.
|
inline |
Definition at line 16 of file CSCFindPeakTime.h.
float CSCFindPeakTime::averageTime | ( | int | tmax, |
const float * | adc | ||
) |
Weighted average of time bins.
Definition at line 30 of file CSCFindPeakTime.cc.
References gpuClustering::adc, nano_mu_digi_cff::float, mps_fire::i, and tmax.
Referenced by peakTime().
void CSCFindPeakTime::fivePoleFitCharge | ( | int | tmax, |
const float * | adc, | ||
const float & | t_zero, | ||
const float & | t_peak, | ||
std::vector< float > & | adcsFit | ||
) |
Integrated charge after fivePoleFitTime
Definition at line 147 of file CSCFindPeakTime.cc.
References gpuClustering::adc, JetChargeProducer_cfi::exp, nano_mu_digi_cff::float, mps_fire::i, dqmiolumiharvest::j, N, submitPVValidationJobs::t, tmax, x, and y.
float CSCFindPeakTime::fivePoleFitTime | ( | int | tmax, |
const float * | adc, | ||
float | t_peak | ||
) |
Based on RecoLocalMuon/CSCStandAlone/interface/PulseTime.h by S. Durkin, and ported by D. Fortin. Comments updated by Tim Cox Apr 2009.
The SCA pulse shape should be representable by a function
N*(p0^2/256/exp(-4)) * (t-t0)^4 * exp( -p0*(t-t0) )
Rather than do a full fit with varying peak time too, assume the peak time is fixed to 133 nsec w.r.t. start time, t0, and fit for t0. The fit uses a binary search in t0, and at each step calculates the overall normalization factor between the function and the SCA pulse height as a least-squares fit over the 4 time bins tmax -1, tmax, tmax+1, tmax+2
Note: t0peak =4/p0 = 133 nsec, and adc[0] is arbitrarily defined a time of 0.0 nsec.
Definition at line 64 of file CSCFindPeakTime.cc.
References gpuClustering::adc, nano_mu_local_reco_cff::chi2, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), JetChargeProducer_cfi::exp, f, hcaldqm::quantity::fN, dqmiolumiharvest::j, FrontierCondition_GT_autoExpress_cfi::t0, hcalRecHitTable_cff::time, tmax, and x.
Referenced by peakTime().
float CSCFindPeakTime::parabolaFitTime | ( | int | tmax, |
const float * | adc | ||
) |
Parabolic fit to three time bins centered on maximum.
Definition at line 40 of file CSCFindPeakTime.cc.
References gpuClustering::adc, f, LogTrace, tmax, testProducerWithPsetDescEmpty_cfi::y1, and testProducerWithPsetDescEmpty_cfi::y2.
Referenced by peakTime().
float CSCFindPeakTime::peakTime | ( | int | tmax, |
const float * | adc, | ||
float | t_peak | ||
) |
Basic result of this class.
Definition at line 17 of file CSCFindPeakTime.cc.
References gpuClustering::adc, averageTime(), fivePoleFitTime(), parabolaFitTime(), tmax, useAverageTime, useFivePoleFit, and useParabolaFit.
|
private |
Definition at line 53 of file CSCFindPeakTime.h.
Referenced by CSCFindPeakTime(), and peakTime().
|
private |
Definition at line 55 of file CSCFindPeakTime.h.
Referenced by CSCFindPeakTime(), and peakTime().
|
private |
Definition at line 54 of file CSCFindPeakTime.h.
Referenced by CSCFindPeakTime(), and peakTime().