ROOT logo
#ifndef ALITRDCALIBRAEXBALTFIT_H
#define ALITRDCALIBRAEXBALTFIT_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id: AliTRDCalibraExbAltFit.h 46327 2011-01-10 13:29:56Z cblume $ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  TRD calibration class for online calibration                             //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

//#include "TObjArray.h"
#include "TObject.h"

//class TVectorD;
class TObjArray;
class TH2S;
class TH2;
class TTreeSRedirector;
class TGraphErrors;

class AliTRDCalibraExbAltFit : public TObject {

 public:

  AliTRDCalibraExbAltFit();
  AliTRDCalibraExbAltFit(const AliTRDCalibraExbAltFit &ped);
  AliTRDCalibraExbAltFit(const TObjArray &obja);
  virtual ~AliTRDCalibraExbAltFit();
  virtual Long64_t Merge(const TCollection* list);
  virtual void Copy(TObject &c) const;

  AliTRDCalibraExbAltFit& operator = (const  AliTRDCalibraExbAltFit &source);

  void            Update(Int_t detector, Float_t tnp, Float_t pars1);
  void            FillPEArray();
  void            FillPEArray2();
  void            Add(const AliTRDCalibraExbAltFit *ped);
  TH2S           *GetFitterHisto(Int_t detector, Bool_t force=kFALSE);
  TH2S           *GetFitterHistoForce(Int_t detector);
  TH2S           *GetFitterHistoNoForce(Int_t detector) const   { return (TH2S*)fFitterHistoArray.UncheckedAt(detector);};
  Bool_t          GetParam(Int_t detector, TVectorD *param);
  Bool_t          GetError(Int_t detector, TVectorD *error);

  TObjArray      *GetPArray()                    { return &fFitterPArray;       };
  TObjArray      *GetEArray()                    { return &fFitterEArray;       };
  TObjArray       GetHistoArray() const          { return fFitterHistoArray;    };

  void            SetRobustFit(Bool_t robustFit) { fRobustFit = robustFit;            };

private:
  TGraphErrors   *DrawMS(const TH2 *const h2, Int_t &nEntries);
   
  Int_t           fVersion;                 // Version of the object

  TObjArray       fFitterHistoArray;  // TObjArray of histo2D for debugging  Fitters
  TObjArray       fFitterPArray;      // Array of result parameters from  fitters for the detectors
  TObjArray       fFitterEArray;      // Array of result errors from  fitters for the detectors

  Bool_t          fRobustFit;         // Robust fit
  TTreeSRedirector *fDebugStreamer;   // debug stream
  Short_t         fDebugLevel;        // debug level

  
  ClassDef(AliTRDCalibraExbAltFit,2)  // Online ExB Calibration

};



#endif

 AliTRDCalibraExbAltFit.h:1
 AliTRDCalibraExbAltFit.h:2
 AliTRDCalibraExbAltFit.h:3
 AliTRDCalibraExbAltFit.h:4
 AliTRDCalibraExbAltFit.h:5
 AliTRDCalibraExbAltFit.h:6
 AliTRDCalibraExbAltFit.h:7
 AliTRDCalibraExbAltFit.h:8
 AliTRDCalibraExbAltFit.h:9
 AliTRDCalibraExbAltFit.h:10
 AliTRDCalibraExbAltFit.h:11
 AliTRDCalibraExbAltFit.h:12
 AliTRDCalibraExbAltFit.h:13
 AliTRDCalibraExbAltFit.h:14
 AliTRDCalibraExbAltFit.h:15
 AliTRDCalibraExbAltFit.h:16
 AliTRDCalibraExbAltFit.h:17
 AliTRDCalibraExbAltFit.h:18
 AliTRDCalibraExbAltFit.h:19
 AliTRDCalibraExbAltFit.h:20
 AliTRDCalibraExbAltFit.h:21
 AliTRDCalibraExbAltFit.h:22
 AliTRDCalibraExbAltFit.h:23
 AliTRDCalibraExbAltFit.h:24
 AliTRDCalibraExbAltFit.h:25
 AliTRDCalibraExbAltFit.h:26
 AliTRDCalibraExbAltFit.h:27
 AliTRDCalibraExbAltFit.h:28
 AliTRDCalibraExbAltFit.h:29
 AliTRDCalibraExbAltFit.h:30
 AliTRDCalibraExbAltFit.h:31
 AliTRDCalibraExbAltFit.h:32
 AliTRDCalibraExbAltFit.h:33
 AliTRDCalibraExbAltFit.h:34
 AliTRDCalibraExbAltFit.h:35
 AliTRDCalibraExbAltFit.h:36
 AliTRDCalibraExbAltFit.h:37
 AliTRDCalibraExbAltFit.h:38
 AliTRDCalibraExbAltFit.h:39
 AliTRDCalibraExbAltFit.h:40
 AliTRDCalibraExbAltFit.h:41
 AliTRDCalibraExbAltFit.h:42
 AliTRDCalibraExbAltFit.h:43
 AliTRDCalibraExbAltFit.h:44
 AliTRDCalibraExbAltFit.h:45
 AliTRDCalibraExbAltFit.h:46
 AliTRDCalibraExbAltFit.h:47
 AliTRDCalibraExbAltFit.h:48
 AliTRDCalibraExbAltFit.h:49
 AliTRDCalibraExbAltFit.h:50
 AliTRDCalibraExbAltFit.h:51
 AliTRDCalibraExbAltFit.h:52
 AliTRDCalibraExbAltFit.h:53
 AliTRDCalibraExbAltFit.h:54
 AliTRDCalibraExbAltFit.h:55
 AliTRDCalibraExbAltFit.h:56
 AliTRDCalibraExbAltFit.h:57
 AliTRDCalibraExbAltFit.h:58
 AliTRDCalibraExbAltFit.h:59
 AliTRDCalibraExbAltFit.h:60
 AliTRDCalibraExbAltFit.h:61
 AliTRDCalibraExbAltFit.h:62
 AliTRDCalibraExbAltFit.h:63
 AliTRDCalibraExbAltFit.h:64
 AliTRDCalibraExbAltFit.h:65
 AliTRDCalibraExbAltFit.h:66
 AliTRDCalibraExbAltFit.h:67
 AliTRDCalibraExbAltFit.h:68
 AliTRDCalibraExbAltFit.h:69
 AliTRDCalibraExbAltFit.h:70
 AliTRDCalibraExbAltFit.h:71
 AliTRDCalibraExbAltFit.h:72
 AliTRDCalibraExbAltFit.h:73
 AliTRDCalibraExbAltFit.h:74
 AliTRDCalibraExbAltFit.h:75