49 std::vector<short> samples =
data.container().samples();
50 std::vector<float> corrs =
data.container().corrs();
51 float time =
data.container().ofcTime();
52 double k = 1, deltaT = 0;
55 for (
unsigned int i = 1; i < corrs.size(); i++) corrs[i] = 0;
58 unsigned int maxIndex =
data.maxPosition();
64 if (i2 > (
int)
data.nSamples()) i2 = (int)
data.nSamples();
66 for (
int i = i1; i < i2; i++) samples.push_back(
data.sample(i));
67 corrs.resize(i2 - i1);
68 time = time -
data.time(i1);
72 std::vector<short> oldSamples = samples;
74 for (std::map<unsigned int, bool>::const_iterator i =
m_samples.begin();
77 samples.push_back(oldSamples[i->first]);
78 if (i ==
m_samples.begin()) time = time -
data.time(i->first);
93 if (!
result)
return nullptr;
97 if (!
data.history() ||
data.adcMax() == 0)
return nullptr;
99 if (!ofc)
return nullptr;
101 deltaT = ofc->time(
data);
104 if (evtIndex < 0) evtIndex =
data.container().eventIndex();
108 data.container().energy(), time + deltaT,
data.container().quality(),
109 data.container().pedestal(),
data.container().pedestalRMS(),
110 data.container().status(), k*
data.container().adcMax());
bool fit(const LArSamples::AbsShape &data, const AbsShape &reference, double &k, double &deltaT, double &chi2, const ScaledErrorData *sed=0) const