ROOT logo
AliRoot » TPC » BASE » AliTPCcalibDB

class AliTPCcalibDB: public TObject


Class providing the calibration parameters by accessing the CDB

Request an instance with AliTPCcalibDB::Instance()
If a new event is processed set the event number with SetRun
Then request the calibration data


 Calibration data:
 0.)  Altro mapping
          Simulation      - not yet
          Reconstruction  - AliTPCclusterer::Digits2Clusters(AliRawReader* rawReader)

 1.)  pad by pad calibration -  AliTPCCalPad

      a.) fPadGainFactor
          Simulation: AliTPCDigitizer::ExecFast - Multiply by gain
          Reconstruction : AliTPCclusterer::Digits2Clusters - Divide by gain

      b.) fPadNoise -
          Simulation:        AliTPCDigitizer::ExecFast
          Reconstruction:    AliTPCclusterer::FindClusters(AliTPCCalROC * noiseROC)
                             Noise depending cut on clusters charge (n sigma)
      c.) fPedestal:
          Simulation:     Not used yet - To be impleneted - Rounding to the nearest integer
          Reconstruction: Used in AliTPCclusterer::Digits2Clusters(AliRawReader* rawReader)
                          if data taken without zero suppression
                          Currently switch in  fRecoParam->GetCalcPedestal();

      d.) fPadTime0
          Simulation:      applied in the AliTPC::MakeSector - adding offset
          Reconstruction:  AliTPCTransform::Transform() - remove offset
                           AliTPCTransform::Transform() - to be called
                           in AliTPCtracker::Transform()


 2.)  Space points transformation:

      a.) General coordinate tranformation - AliTPCtransform (see $ALICE_ROOT/TPC/AliTPCtransform.cxx)
          Created on fly - use the other calibration components
                 Unisochronity  - (substract time0 - pad by pad)
                 Drift velocity - Currently common drift velocity - functionality of AliTPCParam
                 ExB effect
          Simulation     - Not used directly (the effects are applied one by one (see AliTPC::MakeSector)
          Reconstruction -
                           AliTPCclusterer::AddCluster
                           AliTPCtracker::Transform
      b.) ExB effect calibration -
             classes (base class AliTPCExB, implementation- AliTPCExBExact.h  AliTPCExBFirst.h)
             a.a) Simulation:   applied in the AliTPC::MakeSector -
                                calib->GetExB()->CorrectInverse(dxyz0,dxyz1);
             a.b) Reconstruction -

                  in AliTPCtransform::Correct() - called calib->GetExB()->Correct(dxyz0,dxyz1)

  3.)   cluster error, shape and Q parameterization




Function Members (Methods)

public:
AliTPCcalibDB()
virtual~AliTPCcalibDB()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Bool_tCreateGUITree(const char* filename = "")
static Bool_tCreateGUITree(Int_t run, const char* filename = "")
static voidCreateObjectList(const Char_t* filename, TObjArray* calibObjects)
static Bool_tCreateRefFile(Int_t run, const char* filename = "")
AliSplineFit*CreateVdriftSplineFit(const char* graphName, Int_t run)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
AliTPCCalPad*GetActiveChannelMap() const
AliTPCCalPad*GetALTROAcqStart() const
AliTPCCalPad*GetALTROAcqStop() const
TObjArray*GetAltroConfigData() const
AliTPCCalPad*GetALTROFPED() const
AliTPCCalPad*GetALTROMasked() const
AliTPCCalPad*GetALTROZsThr() const
static Float_tGetBz(Int_t run)
AliTPCCalibRaw*GetCalibRaw() const
static Float_tGetCEchargeTime(Int_t run, Int_t sector, Double_t timeStamp = -1., Int_t* entries = 0)
TObjArray*GetCEData() const
static Float_tGetCEdriftTime(Int_t run, Int_t sector, Double_t timeStamp = -1., Int_t* entries = 0)
TObjArray*GetCEfitsDrift() const
AliTPCCalPad*GetCEQmean() const
TGraph*GetCErocQgraph(const Int_t roc) const
TObjArray*GetCErocQtime() const
TGraph*GetCErocTgraph(const Int_t roc) const
TObjArray*GetCErocTtime() const
AliTPCCalPad*GetCETmean() const
AliTPCCalPad*GetCETrms() const
Float_tGetChamberCurrentNominalHighVoltage(UInt_t roc) const
Float_tGetChamberGoodHighVoltageFraction(UInt_t roc) const
static Float_tGetChamberHighVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0, Bool_t current = kFALSE)
Float_tGetChamberHighVoltageMedian(UInt_t roc) const
AliDCSSensor*GetChamberHVSensor(UInt_t roc) const
Bool_tGetChamberHVStatus(UInt_t roc) const
AliTPCClusterParam*GetClusterParam() const
static Float_tGetCoverVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
AliCTPTimeParams*GetCTPTimeParams() const
AliTPCdataQA*GetDataQA() const
static Float_tGetDCSSensorMeanValue(AliDCSSensorArray* arr, const char* sensorName, Int_t sigDigits = -1)
static Float_tGetDCSSensorValue(AliDCSSensorArray* arr, Int_t timeStamp, const char* sensorName, Int_t sigDigits = -1)
TMap*GetDDLMap() const
AliTPCCalPad*GetDedxGainFactor() const
AliTPCCalPad*GetDistortionMap(Int_t i) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
AliTPCExB*GetExB() const
static AliTPCExB*GetExB(Float_t bz, Bool_t bdelete)
static Float_tGetGain(Int_t sector, Int_t row, Int_t pad)
Double_tGetGainCorrectionHVandPT(Int_t timeStamp, Int_t run, Int_t sector, Int_t deltaCache, Int_t mode)
static Float_tGetGGnegVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
static Float_tGetGGoffsetVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
static Float_tGetGGposVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
AliDCSSensorArray*GetGoofieSensors(Int_t run)
static AliGRPObject*GetGRP(Int_t run)
static TMap*GetGRPMap(Int_t run)
virtual const char*TObject::GetIconName() const
TObjArray*GetIonTailArray() const
static Float_tGetL3Current(Int_t run, Int_t statType = 0)
static Char_tGetL3Polarity(Int_t run)
AliTPCAltroMapping**GetMapping() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
AliTPCCalPad*GetPadGainFactor() const
AliTPCCalPad*GetPadGainFactorOld() const
AliTPCCalPad*GetPadNoise() const
AliTPCCalPad*GetPadTime0() const
AliTPCParam*GetParameters() const
AliTPCCalPad*GetPedestals() const
static Float_tGetPressure(Int_t timeStamp, Int_t run, Int_t type = 0)
AliDCSSensor*GetPressureSensor(Int_t run, Int_t type = 0)
static Double_tGetPTRelative(UInt_t timeSec, Int_t run, Int_t side)
TObjArray*GetPulserData() const
AliTPCCalPad*GetPulserQmean() const
AliTPCCalPad*GetPulserTmean() const
AliTPCCalPad*GetPulserTrms() const
TMap*GetRCUconfig() const
Int_tGetRCUTriggerConfig() const
AliTPCRecoParam*GetRecoParam(Int_t i) const
Long64_tGetRun() const
static TStringGetRunType(Int_t run)
static Float_tGetSkirtVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
Bool_tGetTailcancelationGraphs(Int_t sector, TGraphErrors** graphRes, Float_t* indexAmpGraphs)
AliTPCSensorTempArray*GetTemperature() const
static Float_tGetTemperature(Int_t timeStamp, Int_t run, Int_t side)
static Bool_tGetTemperatureFit(Int_t timeStamp, Int_t run, Int_t side, TVectorD& fit)
AliTPCSensorTempArray*GetTemperatureSensor(Int_t run)
Double_tGetTime0CorrectionTime(Int_t timeStamp, Int_t run, Int_t side, Int_t mode)
TObjArray*GetTimeGainSplines() const
TObjArray*GetTimeGainSplinesRun(Int_t run)
TObjArray*GetTimeVdriftSplineRun(Int_t run)
virtual const char*TObject::GetTitle() const
AliTPCCorrection*GetTPCComposedCorrection() const
AliTPCCorrection*GetTPCComposedCorrection(Float_t field) const
TObjArray*GetTPCComposedCorrectionArray() const
AliTPCCorrection*GetTPCComposedCorrectionDelta() const
AliTPCTransform*GetTransform() const
virtual UInt_tTObject::GetUniqueID() const
static Float_tGetValueGoofie(Int_t timeStamp, Int_t run, Int_t type)
AliTPCCalibVdrift*GetVdrift(Int_t run)
Double_tGetVDriftCorrectionDeltaZ(Int_t timeStamp, Int_t run, Int_t side, Int_t mode)
Double_tGetVDriftCorrectionGy(Int_t timeStamp, Int_t run, Int_t side, Int_t mode)
Double_tGetVDriftCorrectionTime(Int_t timeStamp, Int_t run, Int_t side, Int_t mode)
AliSplineFit*GetVdriftSplineFit(const char* name, Int_t run)
AliDCSSensorArray*GetVoltageSensors(Int_t run)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasAlignmentOCDB() const
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
static AliTPCcalibDB*Instance()
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsDataTakingActive(time_t timeStamp)
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tIsTrgL0()
Bool_tIsTrgL1()
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
AliTPCCalPad*MakeDeadMap(Double_t notInMap = 1, const char* nameMappingFile = "$ALICE_ROOT/TPC/Calib/tpcMapping.root")
AliGRPObject*MakeGRPObjectFromMap(TMap* map)
static voidMakeTree(const char* fileName, TObjArray* array, const char* mapFileName = 0, AliTPCCalPad* outlierPad = 0, Float_t ltmFraction = 0.9)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
static voidRegisterExB(Int_t index, Float_t bz, Bool_t bdelete)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetExBField(Float_t bz)
voidSetExBField(const AliMagF* bmap)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetRun(Long64_t run)
voidSetTPCComposedCorrection(AliTPCCorrection* compCorr)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
static voidTerminate()
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUpdate()
voidUpdateNonRec()
voidUpdateRunInformations(Int_t run, Bool_t force = kFALSE)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
AliCDBEntry*GetCDBEntry(const char* cdbPath)
Int_tInitDeadMap()
voidTObject::MakeZombie()
voidUpdateChamberHighVoltageData()

Data Members

protected:
TObjArray*fALTROConfigDataALTRO configuration data
AliTPCCalPad*fActiveChannelMapMap of active channels calculated on the fly
Bool_tfBHasAlignmentOCDBFlag - alignment from the Transformation class
TObjArray*fCEDataCE data
AliCTPTimeParams*fCTPTimeParamsCTP timing parameters
AliTPCCalibRaw*fCalibRawraw data calibration entry
Bool_tfChamberHVStatus[72]Status of the Chamber, HV wise (on/off)
Float_tfChamberHVgoodFraction[72]fraction of time the chamber has a good HV (wrt. robust median)
Float_tfChamberHVmedian[72]median chamber high voltage
AliTPCClusterParam*fClusterParamTPC cluster error, shape and Q parameterization
AliTPCCorrection*fComposedCorrectiongeneral space point corrections
TObjArray*fComposedCorrectionArrayspace point corrections for different field setting
Float_tfCurrentNominalVoltage[72]current nominal voltages
AliTPCcalibDButil*fDButilutility class
AliTPCdataQA*fDataQAqa object
AliTPCCalPad*fDedxGainFactorGain calibration entry - for dEdx
TObjArray*fDistortionMapdistortion map
TMapfDriftCorrectionArray! array of drift correction
AliTPCExB*fExBExB correction factor
TMapfGRPArray! array of GRPs - per run
TMapfGRPMaps! array of GRPs maps - per run - old data
TMapfGoofieArray! array of GOOFIE values -per run
TGraph*fGrRunStatestore information if run is active or paused
AliDCSSensor*fHVsensors[72]HV sensors
TObjArray*fIonTailArrayarray of graphs with the ion tail
AliTPCAltroMapping**fMappingAltro mapping
Int_tfModeRCU trigger config mode
AliTPCCalPad*fPadGainFactorGain calibration entry
AliTPCCalPad*fPadNoiseNoise calibration entry
AliTPCCalPad*fPadTime0Time0 calibration entry
AliTPCParam*fParamTPC parameters
AliTPCCalPad*fPedestalsPedestal calibration entry
TObjArray*fPulserDataCalibration Pulser data
TObjArray*fRecoParamListList of TPC reco param objects
Int_tfRuncurrent run number
TArrayIfRunList! run list - indicates try to get the run param
AliTPCSensorTempArray*fTemperatureTemperature calibration entry
TMapfTemperatureArray! array of temperature sensors - per run
TObjArray*fTimeGainSplinesArray of AliSplineFits: at 0 MIP position in time ; at 1 Fermi Plateau from cosmics
TMapfTimeGainSplinesArray! array Array of AliSplineFits: at 0 MIP position in time ; at 1 Fermi Plateau from cosmics
AliTPCTransform*fTransformobject responsible for spacial corrections
TMapfVdriftArray! array of v drift interfaces
TMapfVoltageArray! array of Chamber HV values -per run
static TObjArrayfgExBArrayarray of ExB corrections
static AliTPCcalibDB*fgInstancesingleton control
static Bool_tfgTerminatedtermination control

Class Charts

Inheritance Chart:
TObject
AliTPCcalibDB

Function documentation

AliTPCcalibDB* Instance()
 Singleton implementation
 Returns an instance of this class, it is created if necessary

void Terminate()
 Singleton implementation
 Deletes the instance of this class and sets the terminated flag, instances cannot be requested anymore
 This function can be called several times.

AliTPCcalibDB()
 constructor


AliTPCcalibDB(const AliTPCcalibDB& )
 Copy constructor invalid -- singleton implementation

AliTPCcalibDB& operator=(const AliTPCcalibDB& )
 Singleton implementation - no assignment operator

~AliTPCcalibDB()
 destructor

delete fIonTailArray;
AliTPCCalPad* GetDistortionMap(Int_t i) const
 get distortion map - due E field distortions

AliTPCRecoParam* GetRecoParam(Int_t i) const
AliCDBEntry* GetCDBEntry(const char* cdbPath)
 Retrieves an entry with path <cdbPath> from the CDB.

void SetRun(Long64_t run)
 Sets current run number. Calibration data is read from the corresponding file.

void Update()
 cache the OCDB entries for simulation, reconstruction, calibration


void UpdateNonRec()
 Update/Load the parameters which are important for QA studies
 and not used yet for the reconstruction

RAW calibration data
Bool_t GetTailcancelationGraphs(Int_t sector, TGraphErrors** graphRes, Float_t* indexAmpGraphs)
void CreateObjectList(const Char_t* filename, TObjArray* calibObjects)
 Create calibration objects and read contents from OCDB

Int_t InitDeadMap()
 Initialize DeadChannel Map
 Source of information:
 -  HV (see UpdateChamberHighVoltageData())
 -  Altro disabled channels. Noisy channels.
 -  DDL list
void MakeTree(const char* fileName, TObjArray* array, const char* mapFileName = 0, AliTPCCalPad* outlierPad = 0, Float_t ltmFraction = 0.9)
 Write a tree with all available information
 if mapFileName is specified, the Map information are also written to the tree
 pads specified in outlierPad are not used for calculating statistics
  - the same function as AliTPCCalPad::MakeTree -

Int_t GetRCUTriggerConfig() const
 return the RCU trigger configuration register

Bool_t IsTrgL0()
 return if the FEE readout was triggered on L0

Bool_t IsTrgL1()
 return if the FEE readout was triggered on L1

void RegisterExB(Int_t index, Float_t bz, Bool_t bdelete)
 Register static ExB correction map
 index - registration index - used for visualization
 bz    - bz field in kGaus
AliTPCExB* GetExB(Float_t bz, Bool_t bdelete)
 bz filed in KGaus not in tesla
 Get ExB correction map
 if doesn't exist - create it

void SetExBField(Float_t bz)
 Set magnetic filed for ExB correction

void SetExBField(const AliMagF* bmap)
 Set magnetic field for ExB correction

void UpdateRunInformations(Int_t run, Bool_t force = kFALSE)
 - > Don't use it for reconstruction - Only for Calibration studies

Float_t GetGain(Int_t sector, Int_t row, Int_t pad)
 Get Gain factor for given pad

AliSplineFit* GetVdriftSplineFit(const char* name, Int_t run)
 GetDrift velocity spline fit

AliSplineFit* CreateVdriftSplineFit(const char* graphName, Int_t run)
 create spline fit from the drift time graph in TimeDrift

AliGRPObject * GetGRP(Int_t run)
 Get GRP object for given run

TMap * GetGRPMap(Int_t run)
 Get GRP map for given run

AliDCSSensor * GetPressureSensor(Int_t run, Int_t type = 0)
 Get Pressure sensor
 run  = run number
 type = 0 - Cavern pressure
        1 - Suface pressure
 First try to get if trom map - if existing  (Old format of data storing)

AliTPCSensorTempArray * GetTemperatureSensor(Int_t run)
 Get temperature sensor array

TObjArray * GetTimeGainSplinesRun(Int_t run)
 Get temperature sensor array

TObjArray * GetTimeVdriftSplineRun(Int_t run)
 Get drift spline array

AliDCSSensorArray * GetVoltageSensors(Int_t run)
 Get temperature sensor array

AliDCSSensorArray * GetGoofieSensors(Int_t run)
 Get temperature sensor array

AliTPCCalibVdrift * GetVdrift(Int_t run)
 Get the interface to the the vdrift

Float_t GetCEdriftTime(Int_t run, Int_t sector, Double_t timeStamp = -1., Int_t* entries = 0)
 GetCE drift time information for 'sector'
 sector 72 is the mean drift time of the A-Side
 sector 73 is the mean drift time of the C-Side
 it timestamp==-1 return mean value

Float_t GetCEchargeTime(Int_t run, Int_t sector, Double_t timeStamp = -1., Int_t* entries = 0)
 GetCE mean charge for 'sector'
 it timestamp==-1 return mean value

Float_t GetDCSSensorValue(AliDCSSensorArray* arr, Int_t timeStamp, const char* sensorName, Int_t sigDigits = -1)
 Get Value for a DCS sensor 'sensorName', run 'run' at time 'timeStamp'

Float_t GetDCSSensorMeanValue(AliDCSSensorArray* arr, const char* sensorName, Int_t sigDigits = -1)
 Get mean Value for a DCS sensor 'sensorName' during run 'run'

Bool_t IsDataTakingActive(time_t timeStamp)
void UpdateChamberHighVoltageData()
 set chamber high voltage data
 1. Robust median (sampling the hv graphs over time)
 2. Current nominal voltages (nominal voltage corrected for common HV offset)
 3. Fraction of good HV values over time (deviation from robust median)
 4. HV status, based on the above

Float_t GetChamberHighVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0, Bool_t current = kFALSE)
 return the chamber HV for given run and time: 0-35 IROC, 36-72 OROC
 if timeStamp==-1 return mean value

Float_t GetSkirtVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
 Get the skirt voltage for 'run' at 'timeStamp' and 'sector': 0-35 IROC, 36-72 OROC
 type corresponds to the following: 0 - IROC A-Side; 1 - IROC C-Side; 2 - OROC A-Side; 3 - OROC C-Side
 if timeStamp==-1 return the mean value for the run

Float_t GetCoverVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
 Get the cover voltage for run 'run' at time 'timeStamp'
 type corresponds to the following: 0 - IROC A-Side; 1 - IROC C-Side; 2 - OROC A-Side; 3 - OROC C-Side
 if timeStamp==-1 return the mean value for the run

Float_t GetGGoffsetVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
 Get the GG offset voltage for run 'run' at time 'timeStamp'
 type corresponds to the following: 0 - IROC A-Side; 1 - IROC C-Side; 2 - OROC A-Side; 3 - OROC C-Side
 if timeStamp==-1 return the mean value for the run

Float_t GetGGnegVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
 Get the GG offset voltage for run 'run' at time 'timeStamp'
 type corresponds to the following: 0 - IROC A-Side; 1 - IROC C-Side; 2 - OROC A-Side; 3 - OROC C-Side
 if timeStamp==-1 return the mean value for the run

Float_t GetGGposVoltage(Int_t run, Int_t sector, Int_t timeStamp = -1, Int_t sigDigits = 0)
 Get the GG offset voltage for run 'run' at time 'timeStamp'
 type corresponds to the following: 0 - IROC A-Side; 1 - IROC C-Side; 2 - OROC A-Side; 3 - OROC C-Side
 if timeStamp==-1 return the mean value for the run

Float_t GetPressure(Int_t timeStamp, Int_t run, Int_t type = 0)
 GetPressure for given time stamp and runt

Float_t GetL3Current(Int_t run, Int_t statType = 0)
 return L3 current
 stat type is: AliGRPObject::Stats: kMean = 0, kTruncMean = 1, kMedian = 2, kSDMean = 3, kSDMedian = 4

Float_t GetBz(Int_t run)
 calculate BZ in T from L3 current

Char_t GetL3Polarity(Int_t run)
 get l3 polarity from GRP

TString GetRunType(Int_t run)
 return run type from grp

Float_t GetValueGoofie(Int_t timeStamp, Int_t run, Int_t type)
 GetPressure for given time stamp and runt

Bool_t GetTemperatureFit(Int_t timeStamp, Int_t run, Int_t side, TVectorD& fit)
 GetTmeparature fit at parameter for given time stamp

Float_t GetTemperature(Int_t timeStamp, Int_t run, Int_t side)
 Get mean temperature

Double_t GetPTRelative(UInt_t timeSec, Int_t run, Int_t side)
 Get relative P/T
 time - absolute time
 run  - run number
 side - 0 - A side   1-C side
AliGRPObject * MakeGRPObjectFromMap(TMap* map)
 Function to covert old GRP run information from TMap to GRPObject

  TMap * map = AliTPCcalibDB::GetGRPMap(52406);
Bool_t CreateGUITree(Int_t run, const char* filename = "")
 Create a gui tree for run number 'run'

Bool_t CreateGUITree(const char* filename = "")


Bool_t CreateRefFile(Int_t run, const char* filename = "")
 Create a gui tree for run number 'run'

Double_t GetVDriftCorrectionTime(Int_t timeStamp, Int_t run, Int_t side, Int_t mode)
 Get time dependent drift velocity correction
 multiplication factor        vd = vdnom *(1+vdriftcorr)
 Arguments:
 mode determines the algorith how to combine the Laser Track, LaserCE and physics tracks
 timestamp - timestamp
 run       - run number
 side      - the drift velocity per side (possible for laser and CE)

 Notice - Extrapolation outside of calibration range  - using constant function

Double_t GetTime0CorrectionTime(Int_t timeStamp, Int_t run, Int_t side, Int_t mode)
 Get time dependent time 0 (trigger delay in cm) correction
 additive correction        time0 = time0+ GetTime0CorrectionTime
 Value etracted combining the vdrift correction using laser tracks and CE and the physics track matchin
 Arguments:
 mode determines the algorith how to combine the Laser Track and physics tracks
 timestamp - timestamp
 run       - run number
 side      - the drift velocity per side (possible for laser and CE)

 Notice - Extrapolation outside of calibration range  - using constant function

Double_t GetVDriftCorrectionGy(Int_t timeStamp, Int_t run, Int_t side, Int_t mode)
 Get global y correction drift velocity correction factor
 additive factor        vd = vdnom*(1+GetVDriftCorrectionGy *gy)
 Value etracted combining the vdrift correction using laser tracks and CE or TPC-ITS
 Arguments:
 mode determines the algorith how to combine the Laser Track, LaserCE or TPC-ITS
 timestamp - timestamp
 run       - run number
 side      - the drift velocity gy correction per side (CE and Laser tracks)

 Notice - Extrapolation outside of calibration range  - using constant function

Double_t GetVDriftCorrectionDeltaZ(Int_t timeStamp, Int_t run, Int_t side, Int_t mode)
 Get deltaZ run/by/run  correction - as fitted together with drift velocity
 Value extracted  form the TPC-ITS, mean value is used
AliTPCCalPad* MakeDeadMap(Double_t notInMap = 1, const char* nameMappingFile = "$ALICE_ROOT/TPC/Calib/tpcMapping.root")
   Read list of active DDLs from OCDB entry
   Generate and return AliTPCCalPad containing 1 for all pads in active DDLs,
   0 for all pads in non-active DDLs.
   For DDLs with missing status information (no DCS input point to Shuttle),
     the value of the AliTPCCalPad entry is determined by the parameter
     notInMap (default value 1)

AliTPCCorrection * GetTPCComposedCorrection(Float_t field) const
 GetComposed correction for given field setting
 If not specific correction for field used return correction for all field
        - Complication needed to gaurantee OCDB back compatibility
        - Not neeeded for the new space point correction
AliTPCCorrection * GetTPCComposedCorrectionDelta() const
 GetComposedCorrection delta
 Delta is time dependent - taken form the CalibTime OCDB entry

Double_t GetGainCorrectionHVandPT(Int_t timeStamp, Int_t run, Int_t sector, Int_t deltaCache, Int_t mode)
 Correction for  changes of gain caused by change of the HV and by relative change of the gas density
 Function is slow some kind of caching needed
 Cache implemented using the static TVectorD

 Input paremeters:
  deltaCache - maximal time differnce above which the cache is recaclulated
  mode       - mode==0 by default return combined correction
                       actual HV and Pt correction has to be present in the run calibration otherwise it is ignored.
                       (retrun value differnt than 1 only in case calibration present in the OCDB entry CalibTimeGain
               mode==1 return combined correction ( important for calibration pass)
                       (in case thereis  no calibration in  CalibTimeGain, default value from the AliTPCParam (Parameters) is used
                       this mode is used in the CPass0
               mode==2 return HV correction
               mode==3 return P/T correction
  Usage in the simulation/reconstruction
  MC:     Qcorr  = Qorig*GetGainCorrectionHVandPT   ( in AliTPC.cxx )
  Rec:    dEdx   = dEdx/GetGainCorrectionHVandPT    ( in aliTPCseed.cxx )

Long64_t GetRun() const
{return fRun;}
AliTPCTransform* GetTransform() const


{return fTransform;}
AliTPCExB* GetExB() const
{return fExB;}
AliTPCCalPad* GetPadGainFactorOld() const
{return fPadGainFactor;}
AliTPCCalPad* GetPadGainFactor() const
AliTPCCalPad* GetActiveChannelMap() const
{ return fActiveChannelMap; }
AliTPCCalPad* GetDedxGainFactor() const
{return fDedxGainFactor;}
AliTPCCalPad* GetPadTime0() const
{return fPadTime0;}
AliTPCCorrection * GetTPCComposedCorrection() const
TObjArray * GetTPCComposedCorrectionArray() const
void SetTPCComposedCorrection(AliTPCCorrection* compCorr)
{ fComposedCorrection=compCorr;}
Bool_t HasAlignmentOCDB() const
AliTPCCalPad* GetPadNoise() const
{return fPadNoise;}
AliTPCCalPad* GetPedestals() const
ALTRO config data
{return fPedestals;}
TObjArray* GetAltroConfigData() const
AliTPCCalPad* GetALTROAcqStart() const
{return fALTROConfigData?static_cast<AliTPCCalPad*>(fALTROConfigData->FindObject("AcqStart")):0;}
AliTPCCalPad* GetALTROZsThr() const
{return fALTROConfigData?static_cast<AliTPCCalPad*>(fALTROConfigData->FindObject("ZsThr")):0;}
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* GetDDLMap() const
{return fALTROConfigData?static_cast<TMap*>(fALTROConfigData->FindObject("DDLArray")):0;}
TMap* GetRCUconfig() const
{return fALTROConfigData?(TMap*)(fALTROConfigData->FindObject("RCUconfig")):0;}
TObjArray* GetIonTailArray() const
{return fIonTailArray;}
TObjArray* GetPulserData() const
Pulser data
{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
CE data
{return fPulserData?static_cast<AliTPCCalPad*>(fPulserData->FindObject("PulserQmean")):0;}
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;}
AliTPCCalPad* GetCEQmean() const
{return fCEData?static_cast<AliTPCCalPad*>(fCEData->FindObject("CEQmean")):0;}
TObjArray* GetCErocTtime() const
{return fCEData?static_cast<TObjArray*>(fCEData->FindObject("rocTtime")):0;}
TObjArray* GetCErocQtime() const
{return fCEData?static_cast<TObjArray*>(fCEData->FindObject("rocQtime")):0;}
TObjArray* GetCEfitsDrift() const
{return fCEData?static_cast<TObjArray*>(fCEData->FindObject("ceFitsDrift")):0;}
TGraph* GetCErocTgraph(const Int_t roc) const
{return GetCErocTtime()?static_cast<TGraph*>(GetCErocTtime()->At(roc)):0;}
TGraph* GetCErocQgraph(const Int_t roc) const
{return GetCErocQtime()?static_cast<TGraph*>(GetCErocQtime()->At(roc)):0;}
AliTPCCalibRaw* GetCalibRaw() const
Raw calibration
{return fCalibRaw;}
AliTPCdataQA* GetDataQA() const
QA object
{return fDataQA;}
AliTPCSensorTempArray* GetTemperature() const
{return fTemperature;}
AliTPCParam* GetParameters() const
{return fParam;}
AliTPCAltroMapping ** GetMapping() const
{ return fMapping;}
AliTPCClusterParam * GetClusterParam() const
{ return fClusterParam;}
TObjArray * GetTimeGainSplines() const
Reco param getter
{ return fTimeGainSplines;}
Bool_t GetChamberHVStatus(UInt_t roc) const
{ return (roc<72)?fChamberHVStatus[roc]:kFALSE; }
Float_t GetChamberHighVoltageMedian(UInt_t roc) const
{ return (roc<72)?fChamberHVmedian[roc]:0.; }
Float_t GetChamberCurrentNominalHighVoltage(UInt_t roc) const
{ return (roc<72)?fCurrentNominalVoltage[roc]:0.; }
Float_t GetChamberGoodHighVoltageFraction(UInt_t roc) const
{ return (roc<72)?fChamberHVgoodFraction[roc]:0.; }
AliDCSSensor* GetChamberHVSensor(UInt_t roc) const
{ return (roc<72)?fHVsensors[roc]:0x0; }
AliCTPTimeParams* GetCTPTimeParams() const
Create a tree suited for diplaying with the AliTPCCalibViewerGUI
{return fCTPTimeParams;}