]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibraVdriftLinearFit.h
Ensure vacuum inside the beam pipe for upgrade (Mario)
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibraVdriftLinearFit.h
index 44f236d5f19d9a016ba396797b8e387e33c6f279..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 {
 
@@ -36,6 +40,7 @@ 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);
@@ -44,22 +49,49 @@ class AliTRDCalibraVdriftLinearFit : public TObject {
   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,2)  // 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
 
 };