63 double peak = gCaliMB.getSample( wHelper.
getMax(gCaliMB) ) ;
68 gCaliMB = gCaliMB * (1./peak) ;
93 int deltaRespDAC = -3 ;
114 unsigned N =
m_gCali.getSize() ;
117 for (
unsigned i=0 ; i<N ; i++ ) w.setSample(i,
deltaCorr(i*dt)) ;
125 return ((fstep*fstep-fstep)/(
Tc*
Tc)) * exp( -fstep*t/
Tc );
133 unsigned N =
m_gCali.getSize() ;
136 for (
unsigned i=0 ; i<N ; i++ ) w.setSample(i,
injCorr(i*dt)) ;
143 double Delta =
pow(taur,2.) -
pow(2*
tau0,2.) ;
145 double sqrtDelta = sqrt(Delta) ;
146 double taup = 0.5*( taur + sqrtDelta ) ;
147 double taum = 0.5*( taur - sqrtDelta ) ;
148 return ( exp(-t/
taup) - exp(-t/taum) ) / (
taup - taum ) ;
149 }
else if ( Delta < 0 ) {
150 double T = sqrt(-Delta) ;
151 double A = 2 * taur / (
pow(taur,2.) - Delta ) ;
152 double B = 2 * T / (
pow(taur,2.) - Delta ) ;
153 return 2 * exp(-
A*t) * sin(B*t) / T ;
155 double tau = 0.5 * taur ;
156 return exp(-t/tau) * t /
pow(tau,2.) ;
159 double taur2 = taur*taur, tau02 =
tau0*
tau0 ;
160 double taua = sqrt( 4.*tau02 - taur2 );
161 return (2./taua)*exp(-t*taur/(2.*tau02))*sin(t*taua/(2.*tau02));
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
constexpr int pow(int base, int exp) noexcept
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
LArWave translate(const LArWave &theWave, int nShift, double baseline=0.) const
LArWave derive_smooth(const LArWave &theWave) const
smoothed derivative
double getBaseline(const LArWave &theWave, unsigned nBase) const
unsigned int getMax(const LArWave &theWave) const
return index of maximum sample
unsigned getStart(const LArWave &theWave) const
const std::vector< double > & getWave() const
Wave parameters.
hold the test vectors and ease the comparison