#include "AliTPCCalPad.h"
#include "TString.h"
#include "AliSplineFit.h"
+#include "TMap.h"
class AliTPCSensorTempArray;
class AliDCSSensorArray;
class AliGRPObject;
class AliTPCCalibRaw;
class AliTPCdataQA;
-class TMap;
class AliMagF;
class AliTPCcalibDButil;
class AliCTPTimeParams;
void SetExBField(Float_t bz);
void SetExBField( const AliMagF* bmap);
static AliTPCExB* GetExB(Float_t bz,Bool_t bdelete);
- AliTPCCalPad* GetPadGainFactor() const {return fPadGainFactor;}
+ AliTPCCalPad* GetPadGainFactorOld() const {return fPadGainFactor;}
+ AliTPCCalPad* GetPadGainFactor() const {return fActiveChannelMap;}
+ AliTPCCalPad* GetActiveChannelMap() const { return fActiveChannelMap; }
AliTPCCalPad* GetDedxGainFactor() const {return fDedxGainFactor;}
AliTPCCalPad* GetPadTime0() const {return fPadTime0;}
AliTPCCalPad* GetDistortionMap(Int_t i) const;
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;}
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;}
Int_t GetRCUTriggerConfig() const;
Bool_t IsTrgL0();
Bool_t IsTrgL1();
+ TObjArray* GetIonTailArray() const {return fIonTailArray;}
//Pulser data
TObjArray* GetPulserData() const {return fPulserData;}
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;}
//
static Float_t GetGGoffsetVoltage(Int_t run, Int_t sector, Int_t timeStamp=-1, Int_t sigDigits=0);
static Float_t GetGGnegVoltage(Int_t run, Int_t sector, Int_t timeStamp=-1, Int_t sigDigits=0);
static Float_t GetGGposVoltage(Int_t run, Int_t sector, Int_t timeStamp=-1, Int_t sigDigits=0);
+ //
+ 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; }
+ Bool_t IsDataTakingActive(time_t timeStamp);
+ //
//Goofie Values
+ //
static Float_t GetValueGoofie(Int_t timeStamp, Int_t run, Int_t type);
//
static Bool_t GetTemperatureFit(Int_t timeStamp, Int_t run, Int_t side,TVectorD& fit);
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);
//
+ // Drift velocity information
+ //
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);
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;}
protected:
AliCDBEntry* GetCDBEntry(const char* cdbPath);
- Long64_t fRun; // current run number
+ void UpdateChamberHighVoltageData();
+ Int_t InitDeadMap();
+
+ Int_t fRun; // current run number
AliTPCTransform *fTransform; // object responsible for spacial corrections
AliTPCExB *fExB; // ExB correction factor
// AliCDBStorage* fLocator; // Storage locator retrieved from AliCDBManager
// calibration parameters per pad
//
AliTPCCalPad* fPadGainFactor; // Gain calibration entry
+ AliTPCCalPad* fActiveChannelMap; // Map of active channels calculated on the fly
AliTPCCalPad* fDedxGainFactor; // Gain calibration entry - for dEdx
AliTPCCalPad* fPadTime0; // Time0 calibration entry
TObjArray *fDistortionMap; // distortion map
AliTPCCalibRaw *fCalibRaw; // raw data calibration entry
AliTPCdataQA *fDataQA; // qa object
TObjArray *fALTROConfigData; // ALTRO configuration data
+ TObjArray * fIonTailArray; // array of graphs with the ion tail
TObjArray *fPulserData; // Calibration Pulser data
TObjArray *fCEData; // CE data
//
+ // Chamber HV info
+ //
+ Bool_t fChamberHVStatus[72]; // Status of the Chamber, HV wise (on/off)
+ Float_t fChamberHVmedian[72]; // median chamber high voltage
+ Float_t fCurrentNominalVoltage[72]; // current nominal voltages
+ Float_t fChamberHVgoodFraction[72]; // fraction of time the chamber has a good HV (wrt. robust median)
+ AliDCSSensor *fHVsensors[72]; // HV sensors
+ TGraph *fGrRunState; // store information if run is active or paused
//
//
//
//
// Get the corssrun information
//
- TObjArray fTimeGainSplinesArray; //! array Array of AliSplineFits: at 0 MIP position in time ; at 1 Fermi Plateau from cosmics
- TObjArray fGRPArray; //! array of GRPs - per run
- TObjArray fGRPMaps; //! array of GRPs maps - per run - old data
- TObjArray fGoofieArray; //! array of GOOFIE values -per run
- TObjArray fVoltageArray; //! array of Chamber HV values -per run
- TObjArray fTemperatureArray; //! array of temperature sensors - per run
- TObjArray fVdriftArray; //! array of v drift interfaces
- TObjArray fDriftCorrectionArray; //! array of drift correction
+ TMap fTimeGainSplinesArray; //! array Array of AliSplineFits: at 0 MIP position in time ; at 1 Fermi Plateau from cosmics
+ TMap fGRPArray; //! array of GRPs - per run
+ TMap fGRPMaps; //! array of GRPs maps - per run - old data
+ TMap fGoofieArray; //! array of GOOFIE values -per run
+ TMap fVoltageArray; //! array of Chamber HV values -per run
+ TMap fTemperatureArray; //! array of temperature sensors - per run
+ TMap fVdriftArray; //! array of v drift interfaces
+ TMap 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
AliTPCcalibDButil *fDButil; // utility class
//ctp info
AliCTPTimeParams *fCTPTimeParams; //CTP timing parameters
-
- ClassDef(AliTPCcalibDB, 0)
+ Int_t fMode; //RCU trigger config mode
+
private:
AliTPCcalibDB (const AliTPCcalibDB& );
AliTPCcalibDB& operator= (const AliTPCcalibDB& );
+
+ ClassDef(AliTPCcalibDB, 0)
};
-
#endif