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

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  TRD calibration class for the HLT parameters                             //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TObject
# include <TObject.h>
#endif
#ifndef ROOT_TVectorD
# include <TVectorD.h>
#endif 

class TString;
class TTree;
class TProfile2D;
class TGraphErrors;
class TObjArray;
class TH1I;
class TH1;
class TH1F;
class TH2I;
class TH2F;
class TF1;
class TTreeSRedirector;


class AliLog;

class AliTRDCalibraMode;
class AliTRDCalibraVector;
class AliTRDCalibraVdriftLinearFit;
class AliTRDCalibraExbAltFit;
class AliTRDCalDet;
class AliTRDCalROC;
class AliTRDgeometry;

class AliTRDCalibraFit : public TObject {

 public: 

  // Instance
  static AliTRDCalibraFit *Instance();
  static void Terminate();
  static void Destroy();
  void DestroyDebugStreamer();

  AliTRDCalibraFit(const AliTRDCalibraFit &c);
  AliTRDCalibraFit &operator=(const AliTRDCalibraFit &) { return *this; }

  // ExB calibration
  void     SetCalDetVdriftExB(AliTRDCalDet *calDetVdriftUsed,AliTRDCalDet *calDetExBUsed) {fCalDetVdriftUsed = calDetVdriftUsed; fCalDetExBUsed = calDetExBUsed;};
  
  // Functions fit for CH
  Bool_t   AnalyseCH(const TH2I *ch);
  Bool_t   AnalyseCH(AliTRDCalibraVector *calvect);
  Double_t AnalyseCHAllTogether(const TH2I *ch);
  
  // Functions fit for PH       
  Bool_t   AnalysePH(const TProfile2D *ph);
  Bool_t   AnalysePH(AliTRDCalibraVector *calvect);
  Double_t AnalysePHAllTogether(const TProfile2D *ph);
  
  // Functions fit for PRF
  Bool_t   AnalysePRF(const TProfile2D *prf);
  Bool_t   AnalysePRF(AliTRDCalibraVector *calvect);
  
  Bool_t   AnalysePRFMarianFit(const TProfile2D *prf);
  Bool_t   AnalysePRFMarianFit(AliTRDCalibraVector *calvect);
  
  // Functions fit for vdrift/lorentzangle
  Bool_t   AnalyseLinearFitters(AliTRDCalibraVdriftLinearFit *calivdli);
  void     AnalyseLinearFittersAllTogether(AliTRDCalibraVdriftLinearFit *calivdli, Double_t &vdriftoverall, Double_t &exboverall);
  Bool_t   AnalyseExbAltFit(AliTRDCalibraExbAltFit *calivdli);
  
  // Pad Calibration
  Bool_t   SetModeCalibration(TString name, Int_t i);
  
  //Reset Function
  void     ResetVectorFit();
  
  // Some functions
  void CalculPolynomeLagrange2(const Double_t *x, const Double_t *y, Double_t &c0, Double_t &c1, Double_t &c2, Double_t &c3, Double_t &c4) const;
  void CalculPolynomeLagrange3(const Double_t *x, const Double_t *y, Double_t &c0, Double_t &c1, Double_t &c2, Double_t &c3, Double_t &c4) const;
  void CalculPolynomeLagrange4(const Double_t *x, const Double_t *y, Double_t &c0, Double_t &c1, Double_t &c2, Double_t &c3, Double_t &c4) const;
  
  // Fill the database
  void         RemoveOutliers(Int_t type, Bool_t perdetector = kFALSE);
  void         RemoveOutliers2(Bool_t perdetector = kFALSE);
  void         PutMeanValueOtherVectorFit(Int_t ofwhat = 1, Bool_t perdetector = kFALSE);
  void         PutMeanValueOtherVectorFit2(Int_t ofwhat = 1, Bool_t perdetector = kFALSE);
  AliTRDCalDet *CreateDetObjectVdrift(const TObjArray *vectorFit, Bool_t perdetector = kFALSE);
  AliTRDCalDet *CreateDetObjectGain(const TObjArray *vectorFit, Bool_t meanOtherBefore=kTRUE, Double_t scaleFitFactor = 0.02431, Bool_t perdetector = kTRUE);
  AliTRDCalDet *CreateDetObjectT0(const TObjArray *vectorFit, Bool_t perdetector = kFALSE);
  AliTRDCalDet *CreateDetObjectLorentzAngle(const TObjArray *vectorFit);
  AliTRDCalDet *CreateDetObjectExbAlt(const TObjArray *vectorFit);
  
  TObject      *CreatePadObjectGain(const TObjArray *vectorFit = 0, Double_t scaleFitFactor = 1.0, const AliTRDCalDet *detobject = 0);
  TObject      *CreatePadObjectVdrift(const TObjArray *vectorFit = 0, const AliTRDCalDet *detobject = 0);
  TObject      *CreatePadObjectT0(const TObjArray *vectorFit = 0, const AliTRDCalDet *detobject = 0);
  TObject      *CreatePadObjectPRF(const TObjArray *vectorFit);
  
  // Outliers stats
  AliTRDCalDet *MakeOutliersStatDet(const TObjArray *vectorFit, const char *name, Double_t &mean);
  TObject      *MakeOutliersStatPad(const TObjArray *vectorFit, const char *name, Double_t &mean);
       
  //
  // Set or Get the variables
  //
  
  // Fit
  void     ChooseMethod(Short_t method)                              { fMethod = method;               }
  void     SetBeginFitCharge(Float_t beginFitCharge);   
  void     SetFitOutliersChargeLow(Float_t fitOutliersChargeLow)     { fOutliersFitChargeLow = fitOutliersChargeLow; }
  void     SetFitOutliersChargeHigh(Float_t fitOutliersChargeHigh)   { fOutliersFitChargeHigh = fitOutliersChargeHigh; }
  void     SetPeriodeFitPH(Int_t periodeFitPH);   
  void     SetTakeTheMaxPH()                                         { fTakeTheMaxPH   = kTRUE;        }
  void     SetT0Shift0(Float_t t0Shift0); 
  void     SetT0Shift1(Float_t t0Shift1); 
  void     SetRangeFitPRF(Float_t rangeFitPRF);     
  void     SetAccCDB()                                               { fAccCDB         = kTRUE;        }
  void     SetMinEntries(Int_t minEntries);                    
  void     SetRebin(Short_t rebin);
  
  Int_t    GetPeriodeFitPH() const                                   { return fFitPHPeriode;           }
  Float_t  GetFitOutliersChargeLow() const                           { return fOutliersFitChargeLow;   }
  Float_t  GetFitOutliersChargeHigh() const                          { return fOutliersFitChargeHigh;  }
  Bool_t   GetTakeTheMaxPH() const                                   { return fTakeTheMaxPH;           }
  Float_t  GetT0Shift0() const                                       { return fT0Shift0;               }
  Float_t  GetT0Shift1() const                                       { return fT0Shift1;               }
  Float_t  GetRangeFitPRF() const                                    { return fRangeFitPRF;            }
  Bool_t   GetAccCDB() const                                         { return fAccCDB;                 }
  Int_t    GetMinEntries() const                                     { return fMinEntries;             }
  Short_t  GetRebin() const                                          { return fRebin;                  }
  Float_t  GetScaleFactorGain() const                                { return fScaleGain;              }
  
  // Statistics
  Int_t    GetNumberFit() const                                      { return fNumberFit;              }
  Int_t    GetNumberFitSuccess() const                               { return fNumberFitSuccess;       }
  Int_t    GetNumberEnt() const                                      { return fNumberEnt;              }
  Double_t GetStatisticMean() const                                  { return fStatisticMean;          }
  
       
  // Debug
  void     SetDebugLevel(Short_t level)                              { fDebugLevel = level;            }
  void     SetDet(Int_t iLayer, Int_t iStack, Int_t iSector)         { fDet[0]  = iLayer; 
                                                                            fDet[1]  = iStack; 
                                                                            fDet[2]  = iSector;             }
       void     SetFitVoir(Int_t fitVoir)                                 { fFitVoir = fitVoir;             }
       // Magnetic field  
       void     SetMagneticField(Float_t magneticfield)                   { fMagneticField = magneticfield; }
       
       // Get the scale factor
       Double_t GetScaleFitFactor() const                                 { return fScaleFitFactor;         }
       
       // Vector Fit getter
       TObjArray  GetVectorFit() const                                    { return fVectorFit;              }
       TObjArray  GetVectorFit2() const                                   { return fVectorFit2;             }
       
       // AliTRDCalibraMode
       AliTRDCalibraMode *GetCalibraMode() const                          { return fCalibraMode;            }
       
       class AliTRDFitInfo : public TObject {
	 
       public:
	 
	 AliTRDFitInfo()
	   :TObject()
	   ,fCoef(0x0)
	   ,fDetector(-1)                                   { }    
	 AliTRDFitInfo(const AliTRDFitInfo &i) 
	   :TObject(i)
	   ,fCoef(0x0)
	   ,fDetector(-1)                                   { }
	 AliTRDFitInfo &operator=(const AliTRDFitInfo&)     { return *this;            }
	 virtual ~AliTRDFitInfo()                           { if(fCoef) { delete [] fCoef;} }
	 
	 void      SetCoef(Float_t *coef)                   { fCoef = coef;            }
	 void      SetDetector(Int_t detector)              { fDetector = detector;    }
	 
	 Float_t  *GetCoef() const                          { return fCoef;            }
	 Int_t     GetDetector() const                      { return fDetector;        }
	 
       protected:
	 
	 Float_t  *fCoef;                        // Relative coefficient for each group of the detector
	 Int_t     fDetector;                    // Detector number
	 
       };

       // Fit function
       void     FitLagrangePoly(TH1* projPH);

 protected:
       
       // Geometry
       AliTRDgeometry  *fGeo;               //! The TRD geometry
       
       
       Int_t        fNumberOfBinsExpected;  // Number of bins expected  
       
       // Fit
       Short_t      fMethod;                // Method
       Float_t      fBeginFitCharge;        // The fit begins at mean/fBeginFitCharge for the gain calibration
       Float_t      fOutliersFitChargeLow;  // The fit ends at fOutliersFitCharge procent number of entries
       Float_t      fOutliersFitChargeHigh; // The fit ends at fOutliersFitCharge procent number of entries
       Int_t        fFitPHPeriode;          // Periode of the fit PH
       Bool_t       fTakeTheMaxPH;          // Take the Max for the T0 determination
       Float_t      fT0Shift0;              // T0 Shift with the maximum positive slope
       Float_t      fT0Shift1;              // T0 Shift with the maximum of the amplification region
       Float_t      fRangeFitPRF;           // The fit range for the PRF is -fRangeFitPRF +fRangeFitPRF
       Bool_t       fAccCDB;                // If there is a calibration database to be compared with....
       Int_t        fMinEntries;            // Min Entries to fit the histo
       Short_t      fRebin;                 // If you want to rebin the histo for the gain calibration 
       Float_t      fScaleGain;            // Scale Factor used to scale the gain
       
       // Statistics      
       Int_t        fNumberFit;             // To know how many pad groups have been fitted
       Int_t        fNumberFitSuccess;      // To know how many pad groups have been fitted successfully
       Int_t        fNumberEnt;             // To know how many pad groups have entries in the histo
       Double_t     fStatisticMean;         // To know the mean statistic of the histos
       
       
       // Debug Modes
       TTreeSRedirector   *fDebugStreamer;         //!Debug streamer
       Short_t     fDebugLevel;            // Flag for debugging
       Int_t       fDet[3];                // Detector  visualised (layer,stack,sector) si debugging == 3 or 4
       Int_t       fFitVoir;               // Fit visualised si debugging == 2
       
       // Magnetic field lorentz angle
       Float_t     fMagneticField;        // Magnetic field lorentz angle
       
       // Calibra objects
       
       AliTRDCalibraMode *fCalibraMode;  // The calibration mode
       
       // Current values of the coefficients found and ect...
       Float_t  fCurrentCoef[2];         // Current coefs  
       Float_t  fCurrentCoefE;           // Current coefs error 
       Float_t  fCurrentCoef2[2];        // Current coefs  
       Float_t  fCurrentCoefE2;          // Current coefs error   
       Float_t  fPhd[3];                 // Begin AR and DR
       Int_t    fDect1;                  // First calibration group that will be called to be maybe fitted
       Int_t    fDect2;                  // Last calibration group that will be called to be maybe fitted
       Double_t fScaleFitFactor;         // Scale factor of the fit results for the gain
       Int_t    fEntriesCurrent;         // Entries in the current histo
       Int_t    fCountDet;               // Current detector (or first in the group)
       Int_t    fCount;                  // When the next detector comes
       Int_t    fNbDet;                  // Number of detector in the group
       
       // Current calib object
       AliTRDCalDet *fCalDet;            // Current calib object
       AliTRDCalROC *fCalROC;            // Current calib object
       AliTRDCalDet *fCalDet2;           // Current calib object
       AliTRDCalROC *fCalROC2;           // Current calib object

       AliTRDCalDet *fCalDetVdriftUsed;  // ExB calibration
       AliTRDCalDet *fCalDetExBUsed;     // ExB calibration
       
       // Current values detector
       
       Float_t *fCurrentCoefDetector;     // Current values for the detector 
       Float_t *fCurrentCoefDetector2;    // Current values for the detector   
       
       TObjArray       fVectorFit;            // Vectors to fit
       TObjArray       fVectorFit2;           // Vectors to fit
       
       //
       // A lot of internal functions......
       //
       
       // Init AliTRDCalibraFit
       Bool_t   InitFit(Int_t nbins, Int_t i);
       Bool_t   InitFitCH();
       Bool_t   InitFitPH();
       Bool_t   InitFitPRF();
       Bool_t   InitFitLinearFitter();
       Bool_t   InitFitExbAlt();
       
       // Not enough Statistics
       Bool_t   NotEnoughStatisticCH(Int_t idect);
       Bool_t   NotEnoughStatisticPH(Int_t idect,Double_t nentries);
       Bool_t   NotEnoughStatisticPRF(Int_t idect);
       Bool_t   NotEnoughStatisticLinearFitter();
       Bool_t   NotEnoughStatisticExbAlt();
       
       // Fill Infos Fit
       Bool_t   FillInfosFitCH(Int_t idect);
       Bool_t   FillInfosFitPH(Int_t idect,Double_t nentries);
       Bool_t   FillInfosFitPRF(Int_t idect);
       Bool_t   FillInfosFitLinearFitter();
       Bool_t   FillInfosFitExbAlt();
       
       void     FillFillCH(Int_t idect);
       void     FillFillPH(Int_t idect,Double_t nentries);
       void     FillFillPRF(Int_t idect);
       void     FillFillLinearFitter();
       void     FillFillExbAlt();
       
       Bool_t   FillVectorFit();
       Bool_t   FillVectorFit2();
       
       // Functions... 
       void     InitfCountDetAndfCount(Int_t i);
       void     CalculNumberOfBinsExpected(Int_t i);
       void     CalculDect1Dect2(Int_t i);
       void     UpdatefCountDetAndfCount(Int_t idect, Int_t i);
       void     ReconstructFitRowMinRowMax(Int_t idect, Int_t i);
       Bool_t   CheckFitVoir();
       void     NormierungCharge();
       Bool_t   SetNrphiFromTObject(TString name, Int_t i);
       Bool_t   SetNzFromTObject(TString name, Int_t i);
       Int_t    GetNumberOfGroupsPRF(TString nametitle);
       
       // Calculate the mean coefs from the database
       Bool_t   CalculVdriftCoefMean();
       Bool_t   CalculChargeCoefMean(Bool_t vrai);
       Bool_t   CalculPRFCoefMean();
       Bool_t   CalculT0CoefMean();
       Bool_t   CalculVdriftLorentzCoef();
       Float_t  GetPRFDefault(Int_t layer) const;
       void     SetCalROC(Int_t i);
       
       // Fit methods
       void     FitBisCHEx(TH1 *projch, Double_t mean, Double_t nentries);
       void     FitBisCH(TH1 *projch, Double_t mean, Double_t nentries);
       void     FitCH(TH1 *projch, Double_t mean, Double_t nentries);
       void     FitLandau(TH1 *projch, Double_t mean, Double_t nentries);
       void     FitMeanW(TH1 *projch, Double_t nentries);
       void     FitMeanWSm(TH1 *projch, Float_t sumAll);
       void     FitMean(TH1 *projch, Double_t nentries, Double_t mean);
       void     FitPH(TH1 *projPH, Int_t idect);
       void     FitPRF(TH1 *projPRF);
       void     RmsPRF(TH1 *projPRF);
       Bool_t   FitPRFGausMI(Double_t *arraye,Double_t *arraym,Double_t *arrayme,Int_t nBins,Float_t xMin,Float_t xMax);
       Double_t FitGausMI(Double_t *arraye,Double_t *arraym,Double_t *arrayme,Int_t nBins, Float_t xMin,Float_t xMax,TVectorD *param, Bool_t kError= kTRUE);
       void     FitPente(TH1 *projPH);
       void     FitTnpRange(Double_t *arraye,Double_t *arraym,Double_t *arrayme,Int_t nbg,Int_t nybins);
       TH1I    *ReBin(const TH1I *hist) const;
       TH1F    *ReBin(const TH1F *hist) const;
       
       // Some basic geometry function
       virtual Int_t    GetLayer(Int_t d) const;
       virtual Int_t    GetStack(Int_t d) const;
       virtual Int_t    GetSector(Int_t d) const;
       
       // Instance of this class and so on
       static  AliTRDCalibraFit   *fgInstance;                     // Instance
       static  Bool_t             fgTerminated;                    // If terminated
       
       
 private:
       
       static  Double_t PH(const Double_t *x, const Double_t *par);
       static  Double_t AsymmGauss(const Double_t *x, const Double_t *par);
       static  Double_t FuncLandauGaus(const Double_t *x, const Double_t *par);
       static  Double_t LanGauFun(const Double_t *x, const Double_t *par);
       static  Double_t LanGauFunEx(const Double_t *x, const Double_t *par);
       TF1     *LanGauFit(TH1 *his, const Double_t *fitrange, const Double_t *startvalues
			  , const Double_t *parlimitslo, const Double_t *parlimitshi, Double_t *fitparams
			  , Double_t *fiterrors, Double_t *chiSqr, Int_t *ndf) const;
       TF1     *LanGauFitEx(TH1 *his, const Double_t *fitrange, const Double_t *startvalues
			    , const Double_t *parlimitslo, const Double_t *parlimitshi
			    , Double_t *fitparams, Double_t *fiterrors
			    , Double_t *chiSqr, Int_t *ndf) const;
     
       
       // This is a singleton, contructor is private!
       AliTRDCalibraFit();
       virtual ~AliTRDCalibraFit();
       
       
  ClassDef(AliTRDCalibraFit,3)                 // TRD Calibration class
	 
};
  
#endif



 AliTRDCalibraFit.h:1
 AliTRDCalibraFit.h:2
 AliTRDCalibraFit.h:3
 AliTRDCalibraFit.h:4
 AliTRDCalibraFit.h:5
 AliTRDCalibraFit.h:6
 AliTRDCalibraFit.h:7
 AliTRDCalibraFit.h:8
 AliTRDCalibraFit.h:9
 AliTRDCalibraFit.h:10
 AliTRDCalibraFit.h:11
 AliTRDCalibraFit.h:12
 AliTRDCalibraFit.h:13
 AliTRDCalibraFit.h:14
 AliTRDCalibraFit.h:15
 AliTRDCalibraFit.h:16
 AliTRDCalibraFit.h:17
 AliTRDCalibraFit.h:18
 AliTRDCalibraFit.h:19
 AliTRDCalibraFit.h:20
 AliTRDCalibraFit.h:21
 AliTRDCalibraFit.h:22
 AliTRDCalibraFit.h:23
 AliTRDCalibraFit.h:24
 AliTRDCalibraFit.h:25
 AliTRDCalibraFit.h:26
 AliTRDCalibraFit.h:27
 AliTRDCalibraFit.h:28
 AliTRDCalibraFit.h:29
 AliTRDCalibraFit.h:30
 AliTRDCalibraFit.h:31
 AliTRDCalibraFit.h:32
 AliTRDCalibraFit.h:33
 AliTRDCalibraFit.h:34
 AliTRDCalibraFit.h:35
 AliTRDCalibraFit.h:36
 AliTRDCalibraFit.h:37
 AliTRDCalibraFit.h:38
 AliTRDCalibraFit.h:39
 AliTRDCalibraFit.h:40
 AliTRDCalibraFit.h:41
 AliTRDCalibraFit.h:42
 AliTRDCalibraFit.h:43
 AliTRDCalibraFit.h:44
 AliTRDCalibraFit.h:45
 AliTRDCalibraFit.h:46
 AliTRDCalibraFit.h:47
 AliTRDCalibraFit.h:48
 AliTRDCalibraFit.h:49
 AliTRDCalibraFit.h:50
 AliTRDCalibraFit.h:51
 AliTRDCalibraFit.h:52
 AliTRDCalibraFit.h:53
 AliTRDCalibraFit.h:54
 AliTRDCalibraFit.h:55
 AliTRDCalibraFit.h:56
 AliTRDCalibraFit.h:57
 AliTRDCalibraFit.h:58
 AliTRDCalibraFit.h:59
 AliTRDCalibraFit.h:60
 AliTRDCalibraFit.h:61
 AliTRDCalibraFit.h:62
 AliTRDCalibraFit.h:63
 AliTRDCalibraFit.h:64
 AliTRDCalibraFit.h:65
 AliTRDCalibraFit.h:66
 AliTRDCalibraFit.h:67
 AliTRDCalibraFit.h:68
 AliTRDCalibraFit.h:69
 AliTRDCalibraFit.h:70
 AliTRDCalibraFit.h:71
 AliTRDCalibraFit.h:72
 AliTRDCalibraFit.h:73
 AliTRDCalibraFit.h:74
 AliTRDCalibraFit.h:75
 AliTRDCalibraFit.h:76
 AliTRDCalibraFit.h:77
 AliTRDCalibraFit.h:78
 AliTRDCalibraFit.h:79
 AliTRDCalibraFit.h:80
 AliTRDCalibraFit.h:81
 AliTRDCalibraFit.h:82
 AliTRDCalibraFit.h:83
 AliTRDCalibraFit.h:84
 AliTRDCalibraFit.h:85
 AliTRDCalibraFit.h:86
 AliTRDCalibraFit.h:87
 AliTRDCalibraFit.h:88
 AliTRDCalibraFit.h:89
 AliTRDCalibraFit.h:90
 AliTRDCalibraFit.h:91
 AliTRDCalibraFit.h:92
 AliTRDCalibraFit.h:93
 AliTRDCalibraFit.h:94
 AliTRDCalibraFit.h:95
 AliTRDCalibraFit.h:96
 AliTRDCalibraFit.h:97
 AliTRDCalibraFit.h:98
 AliTRDCalibraFit.h:99
 AliTRDCalibraFit.h:100
 AliTRDCalibraFit.h:101
 AliTRDCalibraFit.h:102
 AliTRDCalibraFit.h:103
 AliTRDCalibraFit.h:104
 AliTRDCalibraFit.h:105
 AliTRDCalibraFit.h:106
 AliTRDCalibraFit.h:107
 AliTRDCalibraFit.h:108
 AliTRDCalibraFit.h:109
 AliTRDCalibraFit.h:110
 AliTRDCalibraFit.h:111
 AliTRDCalibraFit.h:112
 AliTRDCalibraFit.h:113
 AliTRDCalibraFit.h:114
 AliTRDCalibraFit.h:115
 AliTRDCalibraFit.h:116
 AliTRDCalibraFit.h:117
 AliTRDCalibraFit.h:118
 AliTRDCalibraFit.h:119
 AliTRDCalibraFit.h:120
 AliTRDCalibraFit.h:121
 AliTRDCalibraFit.h:122
 AliTRDCalibraFit.h:123
 AliTRDCalibraFit.h:124
 AliTRDCalibraFit.h:125
 AliTRDCalibraFit.h:126
 AliTRDCalibraFit.h:127
 AliTRDCalibraFit.h:128
 AliTRDCalibraFit.h:129
 AliTRDCalibraFit.h:130
 AliTRDCalibraFit.h:131
 AliTRDCalibraFit.h:132
 AliTRDCalibraFit.h:133
 AliTRDCalibraFit.h:134
 AliTRDCalibraFit.h:135
 AliTRDCalibraFit.h:136
 AliTRDCalibraFit.h:137
 AliTRDCalibraFit.h:138
 AliTRDCalibraFit.h:139
 AliTRDCalibraFit.h:140
 AliTRDCalibraFit.h:141
 AliTRDCalibraFit.h:142
 AliTRDCalibraFit.h:143
 AliTRDCalibraFit.h:144
 AliTRDCalibraFit.h:145
 AliTRDCalibraFit.h:146
 AliTRDCalibraFit.h:147
 AliTRDCalibraFit.h:148
 AliTRDCalibraFit.h:149
 AliTRDCalibraFit.h:150
 AliTRDCalibraFit.h:151
 AliTRDCalibraFit.h:152
 AliTRDCalibraFit.h:153
 AliTRDCalibraFit.h:154
 AliTRDCalibraFit.h:155
 AliTRDCalibraFit.h:156
 AliTRDCalibraFit.h:157
 AliTRDCalibraFit.h:158
 AliTRDCalibraFit.h:159
 AliTRDCalibraFit.h:160
 AliTRDCalibraFit.h:161
 AliTRDCalibraFit.h:162
 AliTRDCalibraFit.h:163
 AliTRDCalibraFit.h:164
 AliTRDCalibraFit.h:165
 AliTRDCalibraFit.h:166
 AliTRDCalibraFit.h:167
 AliTRDCalibraFit.h:168
 AliTRDCalibraFit.h:169
 AliTRDCalibraFit.h:170
 AliTRDCalibraFit.h:171
 AliTRDCalibraFit.h:172
 AliTRDCalibraFit.h:173
 AliTRDCalibraFit.h:174
 AliTRDCalibraFit.h:175
 AliTRDCalibraFit.h:176
 AliTRDCalibraFit.h:177
 AliTRDCalibraFit.h:178
 AliTRDCalibraFit.h:179
 AliTRDCalibraFit.h:180
 AliTRDCalibraFit.h:181
 AliTRDCalibraFit.h:182
 AliTRDCalibraFit.h:183
 AliTRDCalibraFit.h:184
 AliTRDCalibraFit.h:185
 AliTRDCalibraFit.h:186
 AliTRDCalibraFit.h:187
 AliTRDCalibraFit.h:188
 AliTRDCalibraFit.h:189
 AliTRDCalibraFit.h:190
 AliTRDCalibraFit.h:191
 AliTRDCalibraFit.h:192
 AliTRDCalibraFit.h:193
 AliTRDCalibraFit.h:194
 AliTRDCalibraFit.h:195
 AliTRDCalibraFit.h:196
 AliTRDCalibraFit.h:197
 AliTRDCalibraFit.h:198
 AliTRDCalibraFit.h:199
 AliTRDCalibraFit.h:200
 AliTRDCalibraFit.h:201
 AliTRDCalibraFit.h:202
 AliTRDCalibraFit.h:203
 AliTRDCalibraFit.h:204
 AliTRDCalibraFit.h:205
 AliTRDCalibraFit.h:206
 AliTRDCalibraFit.h:207
 AliTRDCalibraFit.h:208
 AliTRDCalibraFit.h:209
 AliTRDCalibraFit.h:210
 AliTRDCalibraFit.h:211
 AliTRDCalibraFit.h:212
 AliTRDCalibraFit.h:213
 AliTRDCalibraFit.h:214
 AliTRDCalibraFit.h:215
 AliTRDCalibraFit.h:216
 AliTRDCalibraFit.h:217
 AliTRDCalibraFit.h:218
 AliTRDCalibraFit.h:219
 AliTRDCalibraFit.h:220
 AliTRDCalibraFit.h:221
 AliTRDCalibraFit.h:222
 AliTRDCalibraFit.h:223
 AliTRDCalibraFit.h:224
 AliTRDCalibraFit.h:225
 AliTRDCalibraFit.h:226
 AliTRDCalibraFit.h:227
 AliTRDCalibraFit.h:228
 AliTRDCalibraFit.h:229
 AliTRDCalibraFit.h:230
 AliTRDCalibraFit.h:231
 AliTRDCalibraFit.h:232
 AliTRDCalibraFit.h:233
 AliTRDCalibraFit.h:234
 AliTRDCalibraFit.h:235
 AliTRDCalibraFit.h:236
 AliTRDCalibraFit.h:237
 AliTRDCalibraFit.h:238
 AliTRDCalibraFit.h:239
 AliTRDCalibraFit.h:240
 AliTRDCalibraFit.h:241
 AliTRDCalibraFit.h:242
 AliTRDCalibraFit.h:243
 AliTRDCalibraFit.h:244
 AliTRDCalibraFit.h:245
 AliTRDCalibraFit.h:246
 AliTRDCalibraFit.h:247
 AliTRDCalibraFit.h:248
 AliTRDCalibraFit.h:249
 AliTRDCalibraFit.h:250
 AliTRDCalibraFit.h:251
 AliTRDCalibraFit.h:252
 AliTRDCalibraFit.h:253
 AliTRDCalibraFit.h:254
 AliTRDCalibraFit.h:255
 AliTRDCalibraFit.h:256
 AliTRDCalibraFit.h:257
 AliTRDCalibraFit.h:258
 AliTRDCalibraFit.h:259
 AliTRDCalibraFit.h:260
 AliTRDCalibraFit.h:261
 AliTRDCalibraFit.h:262
 AliTRDCalibraFit.h:263
 AliTRDCalibraFit.h:264
 AliTRDCalibraFit.h:265
 AliTRDCalibraFit.h:266
 AliTRDCalibraFit.h:267
 AliTRDCalibraFit.h:268
 AliTRDCalibraFit.h:269
 AliTRDCalibraFit.h:270
 AliTRDCalibraFit.h:271
 AliTRDCalibraFit.h:272
 AliTRDCalibraFit.h:273
 AliTRDCalibraFit.h:274
 AliTRDCalibraFit.h:275
 AliTRDCalibraFit.h:276
 AliTRDCalibraFit.h:277
 AliTRDCalibraFit.h:278
 AliTRDCalibraFit.h:279
 AliTRDCalibraFit.h:280
 AliTRDCalibraFit.h:281
 AliTRDCalibraFit.h:282
 AliTRDCalibraFit.h:283
 AliTRDCalibraFit.h:284
 AliTRDCalibraFit.h:285
 AliTRDCalibraFit.h:286
 AliTRDCalibraFit.h:287
 AliTRDCalibraFit.h:288
 AliTRDCalibraFit.h:289
 AliTRDCalibraFit.h:290
 AliTRDCalibraFit.h:291
 AliTRDCalibraFit.h:292
 AliTRDCalibraFit.h:293
 AliTRDCalibraFit.h:294
 AliTRDCalibraFit.h:295
 AliTRDCalibraFit.h:296
 AliTRDCalibraFit.h:297
 AliTRDCalibraFit.h:298
 AliTRDCalibraFit.h:299
 AliTRDCalibraFit.h:300
 AliTRDCalibraFit.h:301
 AliTRDCalibraFit.h:302
 AliTRDCalibraFit.h:303
 AliTRDCalibraFit.h:304
 AliTRDCalibraFit.h:305
 AliTRDCalibraFit.h:306
 AliTRDCalibraFit.h:307
 AliTRDCalibraFit.h:308
 AliTRDCalibraFit.h:309
 AliTRDCalibraFit.h:310
 AliTRDCalibraFit.h:311
 AliTRDCalibraFit.h:312
 AliTRDCalibraFit.h:313
 AliTRDCalibraFit.h:314
 AliTRDCalibraFit.h:315
 AliTRDCalibraFit.h:316
 AliTRDCalibraFit.h:317
 AliTRDCalibraFit.h:318
 AliTRDCalibraFit.h:319
 AliTRDCalibraFit.h:320
 AliTRDCalibraFit.h:321
 AliTRDCalibraFit.h:322
 AliTRDCalibraFit.h:323
 AliTRDCalibraFit.h:324
 AliTRDCalibraFit.h:325
 AliTRDCalibraFit.h:326
 AliTRDCalibraFit.h:327
 AliTRDCalibraFit.h:328
 AliTRDCalibraFit.h:329
 AliTRDCalibraFit.h:330
 AliTRDCalibraFit.h:331
 AliTRDCalibraFit.h:332
 AliTRDCalibraFit.h:333
 AliTRDCalibraFit.h:334
 AliTRDCalibraFit.h:335
 AliTRDCalibraFit.h:336
 AliTRDCalibraFit.h:337
 AliTRDCalibraFit.h:338
 AliTRDCalibraFit.h:339
 AliTRDCalibraFit.h:340
 AliTRDCalibraFit.h:341
 AliTRDCalibraFit.h:342
 AliTRDCalibraFit.h:343
 AliTRDCalibraFit.h:344
 AliTRDCalibraFit.h:345
 AliTRDCalibraFit.h:346
 AliTRDCalibraFit.h:347
 AliTRDCalibraFit.h:348
 AliTRDCalibraFit.h:349
 AliTRDCalibraFit.h:350
 AliTRDCalibraFit.h:351
 AliTRDCalibraFit.h:352
 AliTRDCalibraFit.h:353
 AliTRDCalibraFit.h:354
 AliTRDCalibraFit.h:355
 AliTRDCalibraFit.h:356
 AliTRDCalibraFit.h:357
 AliTRDCalibraFit.h:358
 AliTRDCalibraFit.h:359
 AliTRDCalibraFit.h:360
 AliTRDCalibraFit.h:361
 AliTRDCalibraFit.h:362
 AliTRDCalibraFit.h:363
 AliTRDCalibraFit.h:364
 AliTRDCalibraFit.h:365
 AliTRDCalibraFit.h:366
 AliTRDCalibraFit.h:367
 AliTRDCalibraFit.h:368
 AliTRDCalibraFit.h:369
 AliTRDCalibraFit.h:370
 AliTRDCalibraFit.h:371
 AliTRDCalibraFit.h:372
 AliTRDCalibraFit.h:373
 AliTRDCalibraFit.h:374
 AliTRDCalibraFit.h:375
 AliTRDCalibraFit.h:376
 AliTRDCalibraFit.h:377
 AliTRDCalibraFit.h:378
 AliTRDCalibraFit.h:379
 AliTRDCalibraFit.h:380
 AliTRDCalibraFit.h:381
 AliTRDCalibraFit.h:382
 AliTRDCalibraFit.h:383
 AliTRDCalibraFit.h:384
 AliTRDCalibraFit.h:385
 AliTRDCalibraFit.h:386
 AliTRDCalibraFit.h:387