X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCcalibDB.h;h=11f774107c9bb7c4682bbb8837d4cf762e64bcaf;hb=64bf5ca0627a5cb132333414814c1c7b03ca8cc3;hp=14e285c3f222d00529f78bcad5e9f8997a6a39a2;hpb=892226be1b2a068a93c0c0e38cba1320b3077329;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCcalibDB.h b/TPC/AliTPCcalibDB.h index 14e285c3f22..11f774107c9 100644 --- a/TPC/AliTPCcalibDB.h +++ b/TPC/AliTPCcalibDB.h @@ -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,13 @@ class AliDCSSensor; class AliDCSSensorArray; class AliTPCCalibVdrift; class AliGRPObject; +class AliTPCCalibRaw; +class AliTPCdataQA; class TMap; +class AliMagF; +class AliTPCcalibDButil; +class AliCTPTimeParams; +class AliTPCCorrection; //class AliCDBStorage; class AliTPCcalibDB : public TObject @@ -43,20 +50,30 @@ class AliTPCcalibDB : public TObject void SetRun(Long64_t run); void Update(); //update entries void UpdateRunInformations(Int_t run, Bool_t force=kFALSE); + void UpdateNonRec(); // Long64_t GetRun() const {return fRun;} // // // - AliTPCTransform* GetTransform() {return fTransform;} - AliTPCExB* GetExB() {return fExB;} + AliTPCTransform* GetTransform() const {return fTransform;} + AliTPCExB* GetExB() const {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;} - AliTPCCalPad* GetPadTime0() {return fPadTime0;} - AliTPCCalPad* GetPadNoise() {return fPadNoise;} - AliTPCCalPad* GetPedestals() {return fPedestals;} + AliTPCCalPad* GetPadGainFactor() const {return fPadGainFactor;} + AliTPCCalPad* GetDedxGainFactor() const {return fDedxGainFactor;} + AliTPCCalPad* GetPadTime0() const {return fPadTime0;} + AliTPCCalPad* GetDistortionMap(Int_t i) const; + AliTPCCorrection * GetTPCComposedCorrection() const { return fComposedCorrection;} + TObjArray * GetTPCComposedCorrectionArray() const { return fComposedCorrectionArray;} + void SetTPCComposedCorrection(AliTPCCorrection *compCorr) { fComposedCorrection=compCorr;} + AliTPCCorrection * GetTPCComposedCorrection(Float_t field) const; + AliTPCCorrection * GetTPCComposedCorrectionDelta() const; + Bool_t HasAlignmentOCDB() const { return fBHasAlignmentOCDB;} + + AliTPCCalPad* GetPadNoise() const {return fPadNoise;} + AliTPCCalPad* GetPedestals() const{return fPedestals;} //ALTRO config data TObjArray* GetAltroConfigData() const {return fALTROConfigData;} AliTPCCalPad* GetALTROAcqStart() const {return fALTROConfigData?static_cast(fALTROConfigData->FindObject("AcqStart")):0;} @@ -64,28 +81,39 @@ class AliTPCcalibDB : public TObject AliTPCCalPad* GetALTROFPED() const {return fALTROConfigData?static_cast(fALTROConfigData->FindObject("FPED")):0;} AliTPCCalPad* GetALTROAcqStop() const {return fALTROConfigData?static_cast(fALTROConfigData->FindObject("AcqStop")):0;} AliTPCCalPad* GetALTROMasked() const {return fALTROConfigData?static_cast(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(fPulserData->FindObject("PulserTmean")):0;} AliTPCCalPad* GetPulserTrms() const {return fPulserData?static_cast(fPulserData->FindObject("PulserTrms")):0;} AliTPCCalPad* GetPulserQmean() const {return fPulserData?static_cast(fPulserData->FindObject("PulserQmean")):0;} -//CE data + //CE data TObjArray* GetCEData() const {return fCEData;} AliTPCCalPad* GetCETmean() const {return fCEData?static_cast(fCEData->FindObject("CETmean")):0;} AliTPCCalPad* GetCETrms() const {return fCEData?static_cast(fCEData->FindObject("CETrms")):0;} AliTPCCalPad* GetCEQmean() const {return fCEData?static_cast(fCEData->FindObject("CEQmean")):0;} TObjArray* GetCErocTtime() const {return fCEData?static_cast(fCEData->FindObject("rocTtime")):0;} TObjArray* GetCErocQtime() const {return fCEData?static_cast(fCEData->FindObject("rocQtime")):0;} + TObjArray* GetCEfitsDrift()const {return fCEData?static_cast(fCEData->FindObject("ceFitsDrift")):0;} TGraph* GetCErocTgraph(const Int_t roc)const {return GetCErocTtime()?static_cast(GetCErocTtime()->At(roc)):0;} TGraph* GetCErocQgraph(const Int_t roc)const {return GetCErocQtime()?static_cast(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); -// - AliTPCSensorTempArray* GetTemperature() {return fTemperature;} - AliTPCParam* GetParameters(){return fParam;} - AliTPCAltroMapping ** GetMapping(){ return fMapping;} - AliTPCClusterParam *GetClusterParam(){ return fClusterParam;} - TObjArray *GetTimeGainSplines(){ return fTimeGainSplines;} + //Raw calibration + AliTPCCalibRaw* GetCalibRaw() const {return fCalibRaw;} + //QA object + AliTPCdataQA* GetDataQA() const {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 { return fTimeGainSplines;} // //GRP information static AliGRPObject * GetGRP(Int_t run); @@ -99,7 +127,7 @@ class AliTPCcalibDB : public TObject static Float_t GetDCSSensorValue(AliDCSSensorArray *arr, Int_t timeStamp, const char * sensorName, Int_t sigDigits=-1); static Float_t GetDCSSensorMeanValue(AliDCSSensorArray *arr, const char * sensorName, Int_t sigDigits=-1); //Voltage information - static Float_t GetChamberHighVoltage(Int_t run, Int_t sector, Int_t timeStamp=-1, Int_t sigDigits=0); + static Float_t GetChamberHighVoltage(Int_t run, Int_t sector, Int_t timeStamp=-1, Int_t sigDigits=0, Bool_t current=kFALSE); static Float_t GetSkirtVoltage(Int_t run, Int_t sector, Int_t timeStamp=-1, Int_t sigDigits=0); static Float_t GetCoverVoltage(Int_t run, Int_t sector, Int_t timeStamp=-1, Int_t sigDigits=0); static Float_t GetGGoffsetVoltage(Int_t run, Int_t sector, Int_t timeStamp=-1, Int_t sigDigits=0); @@ -117,18 +145,30 @@ 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); // // - + + AliTPCCalPad* MakeDeadMap(Double_t notInMap=1, const char *nameMappingFile="$ALICE_ROOT/TPC/Calib/tpcMapping.root" ); 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: @@ -143,12 +183,20 @@ protected: AliTPCCalPad* fPadGainFactor; // Gain calibration entry AliTPCCalPad* fDedxGainFactor; // Gain calibration entry - for dEdx AliTPCCalPad* fPadTime0; // Time0 calibration entry + TObjArray *fDistortionMap; // distortion map + AliTPCCorrection *fComposedCorrection; // general space point corrections + TObjArray * fComposedCorrectionArray; //space point corrections for different field setting 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 // @@ -169,10 +217,16 @@ protected: TObjArray fDriftCorrectionArray; //! array of drift correction TArrayI fRunList; //! run list - indicates try to get the run param + Bool_t fBHasAlignmentOCDB; // Flag - alignment from the Transformation class // 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 + Int_t fMode; //RCU trigger config mode + ClassDef(AliTPCcalibDB, 0) private: AliTPCcalibDB (const AliTPCcalibDB& );