9#include <top/reconstruction_cpp/SignalPDF.h>
22 m_pixelID(pixelID), m_tts(&tts)
27 double wid0 = timeErr * timeErr + sigt * sigt;
29 for (
const auto& peak :
m_peaks) {
31 double sigma = peak.wid + gaus.sigma * gaus.sigma + wid0;
32 double x = pow(time - peak.t0 - gaus.position, 2) / sigma;
33 if (x > 100)
continue;
34 sigma =
sqrt(2 * M_PI * sigma);
35 f += peak.nph * gaus.fraction / sigma * exp(-x / 2);
44 for (
const auto& peak :
m_peaks) {
45 if (peak.t0 < minTime or peak.t0 > maxTime)
continue;
Nominal time transition spread of PMT.
const std::vector< Gauss > & getTTS() const
Returns TTS.
std::vector< PDFPeak > m_peaks
PDF peaks.
const TOPNominalTTS * m_tts
nominal TTS
double getPDFValue(double time, double timeErr, double sigt=0) const
Returns PDF value at given time.
double getIntegral(double minTime, double maxTime) const
Returns integral of PDF from minTime to maxTime.
SignalPDF(int pixelID, const TOPNominalTTS &tts)
Class constructor.
double sqrt(double a)
sqrt for double
Abstract base class for different kinds of events.