X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=STEER%2FAliSplineFit.h;h=4ad92c699c2a80e4bd5e6e8f74f9391c84968e79;hb=7cdd0c2015c84fe12f2b53a64ba7cca9628bdede;hp=4a57bf1df1f335ccbd8d73c1af366ce12f58eb41;hpb=37733f300fd200997c408530732c76c36630049c;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliSplineFit.h b/STEER/AliSplineFit.h index 4a57bf1df1f..4ad92c699c2 100644 --- a/STEER/AliSplineFit.h +++ b/STEER/AliSplineFit.h @@ -15,6 +15,7 @@ #include "TH1F.h" #include "TObject.h" #include "TClonesArray.h" +#include "TMath.h" #include "TTreeStream.h" @@ -28,9 +29,11 @@ class AliSplineFit : public TObject { void InitKnots(TGraph * graph, Int_t min, Int_t iter, Double_t maxDelta); void MakeKnots0(TGraph * graph, Double_t maxdelta, Int_t minpoints); void SplineFit(Int_t nder); + void CopyGraph(); void MakeSmooth(TGraph * graph, Float_t ratio, char * type); void Update(TSpline3 *spline, Int_t nknots); - Int_t GetKnots() const {return fN;} + void Cleanup(); + Int_t GetKnots() const {return fN;} Double_t* GetX() const {return fX;} Double_t* GetY0() const {return fY0;} Double_t* GetY1() const {return fY1;} @@ -46,6 +49,10 @@ class AliSplineFit : public TObject { static TGraph * GenerGraph(Int_t npoints, Double_t fraction, Double_t s1, Double_t s2, Double_t s3, Int_t der=0); static TGraph * GenerNoise(TGraph * graph0, Double_t s0); + void SetGraph (TGraph* graph) { fGraph=graph; } + void SetMinPoints (Int_t minPoints) { fMinPoints=minPoints;} + const Int_t GetMinPoints() const { return fMinPoints; } + protected: // @@ -58,22 +65,23 @@ class AliSplineFit : public TObject { Bool_t fBDump; // dump debug information flag TGraph *fGraph; //! initial graph Int_t fNmin; // number of points per one knot in iteration 0 + Int_t fMinPoints; // minimum number of points to create AliSplineFit Double_t fSigma; // locally estimated sigma - Double_t fMaxDelta;// maximal deviation of the spline fit - Int_t fN0; // number of knots in iteration 0 + Double_t fMaxDelta;// maximal deviation of the spline fit + Int_t fN0; // number of knots in iteration 0 TClonesArray *fParams; // object array of parameters in knots TClonesArray *fCovars; // object array of covariance in knots - Int_t *fIndex; // [fN0] index of point corresponding to knot - static TLinearFitter fitterStatic; // static fitter to save processing time + Int_t *fIndex; //[fN0] index of point corresponding to knot + static TLinearFitter* fitterStatic(); // static fitter to save processing time + // // - // // - Int_t fN; // number of knots after compression - Double_t fChi2; // chi2 per degree of freedom - Double_t *fX; // [fN] - xknot value - Double_t *fY0; // [fN] - y value at X - Double_t *fY1; // [fN] - y derivative value at X - Double_t *fChi2I; // [fN] - chi2 on interval - ClassDef(AliSplineFit, 0); + Int_t fN; // number of knots after compression + Double_t fChi2; // chi2 per degree of freedom + Double_t *fX; //[fN] - xknot value + Double_t *fY0; //[fN] - y value at X + Double_t *fY1; //[fN] - y derivative value at X + Double_t *fChi2I; //[fN] - chi2 on interval + ClassDef(AliSplineFit, 1); }; -#endif +#endif