void extralgospline() { Int_t n = 40; TArrayF x(n); TArrayF y(n); for (int i=0; iUniform(10)-5; y[n/2-2] = 50; y[n/2-1] = 100; y[n/2] = 110; y[n/2+1] = 70; y[n/2+2] = 30; } TArrayF d1(n); TArrayF d2(n); // Do some handling if maxpos is last slice! MExtralgoSpline s(y.GetArray(), n, d1.GetArray(), d2.GetArray()); s.SetHeightTm(0.5); s.SetRiseFallTime(0.5, 0.5); Int_t maxpos = TMath::LocMax(n, y.GetArray()); Float_t time, dtime, sum, dsum, mtime, max; s.SetExtractionType(MExtralgoSpline::kIntegralRel); s.Extract(0, maxpos); s.GetTime(time, dtime); s.GetSignal(sum, dsum); s.SetExtractionType(MExtralgoSpline::kAmplitude); s.Extract(0, maxpos); s.GetTime(mtime, dtime); s.GetSignal(max, dsum); TGraph gr1(n, x.GetArray(), y.GetArray()); TGraph gr2; for (int i=0; iSetGridx(); gPad->SetGridy(); }