]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibraVdriftLinearFit.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraVdriftLinearFit.h
index 95d1f7c9d4521e7e8431ce207d73d5d46cafd42f..ea053d9d387936c7b8c4913157d7aef96da8d063 100644 (file)
 //class TVectorD;
 class TObjArray;
 class TH2S;
+class TH2;
+class TTreeSRedirector;
+class TString;
+class TGraphErrors;
+class TLinearFitter;
 class TTreeSRedirector;
 
 class AliTRDCalibraVdriftLinearFit : public TObject {
@@ -35,27 +40,58 @@ class AliTRDCalibraVdriftLinearFit : public TObject {
 
   void            Update(Int_t detector, Float_t tnp, Float_t pars1);
   void            FillPEArray();
+  void            FillPEArray2();
+  void            SetNameCalibUsed(const char*name)          { fNameCalibUsed = name;};
+  const char*     GetNameCalibUsed() const                   { return fNameCalibUsed;};
   void            Add(const AliTRDCalibraVdriftLinearFit *ped);
   TH2S           *GetLinearFitterHisto(Int_t detector, Bool_t force=kFALSE);
   TH2S           *GetLinearFitterHistoForce(Int_t detector);
   TH2S           *GetLinearFitterHistoNoForce(Int_t detector) const   { return (TH2S*)fLinearFitterHistoArray.UncheckedAt(detector);};
   Bool_t          GetParam(Int_t detector, TVectorD *param);
   Bool_t          GetError(Int_t detector, TVectorD *error);
+  Int_t           GetMinNumberOfPointsForFit() const         { return fMinNpointsFit;};
+  TH2S           *AddAll();
+  TGraphErrors   *DrawMS(const TH2 *const h2, Int_t &nEntries);
 
   TObjArray      *GetPArray()                    { return &fLinearFitterPArray;       };
   TObjArray      *GetEArray()                    { return &fLinearFitterEArray;       };
   TObjArray       GetHistoArray() const          { return fLinearFitterHistoArray;    };
+  void            SetRobustFit(Bool_t robustFit) { fRobustFit = robustFit;            };
+  void            SetMinNumberOfPointsForFit(Int_t minNpointsFit) { fMinNpointsFit = minNpointsFit;};
+
+  void            SetNbBindx(Short_t nbBindx)    { fNbBindx = nbBindx;                };
+  void            SetNbBindy(Short_t nbBindy)    { fNbBindy = nbBindy;                }
+  void            SetRangedx(Double_t rangedx)   { fRangedx = rangedx;                };
+  void            SetRangedy(Double_t rangedy)   { fRangedy = rangedy;                };
+
+  // Debug
+  void     SetDebugLevel(Short_t level)          { fDebugLevel = level;               };
+  void     SetSeeDetector(Int_t seeDetector)     { fSeeDetector = seeDetector;        };
+
+private:
+  
 
- private:
-   
   Int_t           fVersion;                 // Version of the object
+  TString         fNameCalibUsed;           // Info of the version, subversion, firstrun of the calib used
 
   TObjArray       fLinearFitterHistoArray;  // TObjArray of histo2D for debugging Linear Fitters
   TObjArray       fLinearFitterPArray;      // Array of result parameters from linear fitters for the detectors
   TObjArray       fLinearFitterEArray;      // Array of result errors from linear fitters for the detectors
+  Bool_t          fRobustFit;               // Robust fit or not
+  Int_t           fMinNpointsFit;           // Min number of points for the fit  
 
+  Short_t         fNbBindx;                 // Nb of bin in x
+  Short_t         fNbBindy;                 // Nb of bin in y
+  Double_t        fRangedx;                 // Range in x
+  Double_t        fRangedy;                 // Range in y
   
-  ClassDef(AliTRDCalibraVdriftLinearFit,1)  // Online Vdrift calibration
+
+ //For debugging
+  TTreeSRedirector *fDebugStreamer;         //!Debug streamer
+  Short_t           fDebugLevel;            // Flag for debugging
+  Int_t             fSeeDetector;           // Detector to see
+  ClassDef(AliTRDCalibraVdriftLinearFit,5)  // Online Vdrift calibration
 
 };