]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibDB.h
mergeCalibRun.sh - merge result of calibration - over several runs
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibDB.h
index 14e285c3f222d00529f78bcad5e9f8997a6a39a2..89694444084359d031309d3ef9b14e3b84afbc5c 100644 (file)
@@ -19,6 +19,7 @@ class AliTPCExB;
 #include "TGraph.h"
 #include "AliTPCCalPad.h"
 #include "TString.h"
+#include "AliSplineFit.h"
 
 class AliTPCSensorTempArray;
 class AliDCSSensorArray;
@@ -30,7 +31,12 @@ class AliDCSSensor;
 class AliDCSSensorArray;
 class AliTPCCalibVdrift;
 class AliGRPObject;
+class AliTPCCalibRaw;
+class AliTPCdataQA;
 class TMap;
+class AliMagF;
+class AliTPCcalibDButil;
+class AliCTPTimeParams;
 //class AliCDBStorage;
 
 class AliTPCcalibDB : public TObject
@@ -51,6 +57,7 @@ class AliTPCcalibDB : public TObject
   AliTPCTransform* GetTransform() {return fTransform;}
   AliTPCExB*    GetExB() {return fExB;}
   void          SetExBField(Float_t bz);
+  void          SetExBField( const AliMagF*   bmap);
   static AliTPCExB*    GetExB(Float_t bz,Bool_t bdelete);
   AliTPCCalPad* GetPadGainFactor() {return fPadGainFactor;}
   AliTPCCalPad* GetDedxGainFactor() {return fDedxGainFactor;}
@@ -64,12 +71,18 @@ class AliTPCcalibDB : public TObject
   AliTPCCalPad* GetALTROFPED()     const {return fALTROConfigData?static_cast<AliTPCCalPad*>(fALTROConfigData->FindObject("FPED")):0;}
   AliTPCCalPad* GetALTROAcqStop()  const {return fALTROConfigData?static_cast<AliTPCCalPad*>(fALTROConfigData->FindObject("AcqStop")):0;}
   AliTPCCalPad* GetALTROMasked()   const {return fALTROConfigData?static_cast<AliTPCCalPad*>(fALTROConfigData->FindObject("Masked")):0;}
+  TMap* GetRCUconfig() const {return fALTROConfigData?(TMap*)(fALTROConfigData->FindObject("RCUconfig")):0;}
+  Int_t GetRCUTriggerConfig() const;
+  Bool_t IsTrgL0();
+  Bool_t IsTrgL1();
+    
+    
   //Pulser data
   TObjArray*    GetPulserData()  const {return fPulserData;}
   AliTPCCalPad* GetPulserTmean() const {return fPulserData?static_cast<AliTPCCalPad*>(fPulserData->FindObject("PulserTmean")):0;}
   AliTPCCalPad* GetPulserTrms()  const {return fPulserData?static_cast<AliTPCCalPad*>(fPulserData->FindObject("PulserTrms")):0;}
   AliTPCCalPad* GetPulserQmean() const {return fPulserData?static_cast<AliTPCCalPad*>(fPulserData->FindObject("PulserQmean")):0;}
-//CE data
+  //CE data
   TObjArray*    GetCEData()     const {return fCEData;}
   AliTPCCalPad* GetCETmean()    const {return fCEData?static_cast<AliTPCCalPad*>(fCEData->FindObject("CETmean")):0;}
   AliTPCCalPad* GetCETrms()     const {return fCEData?static_cast<AliTPCCalPad*>(fCEData->FindObject("CETrms")):0;}
@@ -80,7 +93,11 @@ class AliTPCcalibDB : public TObject
   TGraph*       GetCErocQgraph(const Int_t roc)const {return GetCErocQtime()?static_cast<TGraph*>(GetCErocQtime()->At(roc)):0;}
   static Float_t GetCEdriftTime(Int_t run, Int_t sector, Double_t timeStamp=-1., Int_t *entries=0);
   static Float_t GetCEchargeTime(Int_t run, Int_t sector, Double_t timeStamp=-1., Int_t *entries=0);
-//
+  //Raw calibration
+  AliTPCCalibRaw* GetCalibRaw() const {return fCalibRaw;}
+  //QA object
+  AliTPCdataQA*   GetDataQA() const {return fDataQA;}
+  //
   AliTPCSensorTempArray* GetTemperature() {return fTemperature;}
   AliTPCParam*  GetParameters(){return fParam;}
   AliTPCAltroMapping ** GetMapping(){ return fMapping;}
@@ -117,18 +134,29 @@ class AliTPCcalibDB : public TObject
   AliDCSSensorArray *     GetGoofieSensors(Int_t run);
   AliDCSSensorArray *     GetVoltageSensors(Int_t run);
   AliTPCCalibVdrift *     GetVdrift(Int_t run);
-       TObjArray *                                                     GetTimeGainSplinesRun(Int_t run);
+  TObjArray *                                                  GetTimeGainSplinesRun(Int_t run);
+  TObjArray*              GetTimeVdriftSplineRun(Int_t run);
   static Float_t GetGain(Int_t sector, Int_t row, Int_t pad);
   //
+  Double_t      GetVDriftCorrectionTime(Int_t timeStamp, Int_t run, Int_t side, Int_t mode);
+  Double_t      GetTime0CorrectionTime(Int_t timeStamp, Int_t run, Int_t side, Int_t mode);
+  Double_t      GetVDriftCorrectionGy(Int_t timeStamp, Int_t run, Int_t side, Int_t mode);
+  //
+  AliSplineFit* GetVdriftSplineFit(const char* name, Int_t run);
+  AliSplineFit* CreateVdriftSplineFit(const char* graphName, Int_t run);
+  //
   static void     CreateObjectList(const Char_t *filename, TObjArray *calibObjects);
   static void MakeTree(const char * fileName, TObjArray * array, const char * mapFileName = 0, AliTPCCalPad* outlierPad = 0, Float_t ltmFraction = 0.9);
   static void RegisterExB(Int_t index, Float_t bz, Bool_t bdelete);
   //
   //
-
+  
   AliGRPObject * MakeGRPObjectFromMap(TMap *map);
+  AliCTPTimeParams* GetCTPTimeParams() const {return fCTPTimeParams;}
   //Create a tree suited for diplaying with the AliTPCCalibViewerGUI
+  Bool_t CreateGUITree(const char* filename="");
   static Bool_t CreateGUITree(Int_t run, const char* filename="");
+  static Bool_t CreateRefFile(Int_t run, const char* filename="");
   //
 protected:
   
@@ -145,10 +173,15 @@ protected:
   AliTPCCalPad* fPadTime0;        // Time0 calibration entry
   AliTPCCalPad* fPadNoise;        // Noise calibration entry
   AliTPCCalPad* fPedestals;       // Pedestal calibration entry
+  AliTPCCalibRaw *fCalibRaw;      // raw data calibration entry
+  AliTPCdataQA  *fDataQA;         // qa object
   TObjArray *fALTROConfigData;    // ALTRO configuration data
   TObjArray *fPulserData;         // Calibration Pulser data
   TObjArray *fCEData;             // CE data
   //
+  //
+  //
+  //
   AliTPCSensorTempArray* fTemperature; // Temperature calibration entry
   AliTPCAltroMapping **fMapping;   // Altro mapping   
   //
@@ -173,6 +206,10 @@ protected:
   static AliTPCcalibDB* fgInstance;  // singleton control
   static Bool_t       fgTerminated;  // termination control 
   static TObjArray    fgExBArray;    // array of ExB corrections
+  AliTPCcalibDButil   *fDButil;       // utility class
+  //ctp info
+  AliCTPTimeParams *fCTPTimeParams;   //CTP timing parameters
+  
   ClassDef(AliTPCcalibDB, 0)
  private:
    AliTPCcalibDB (const AliTPCcalibDB& );