Class providing the calculation of derived quantities (mean,rms,fits,...) of calibration entries
AliTPCcalibDButil() | |
virtual | ~AliTPCcalibDButil() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
static TTree* | ConnectCalPadTrees(TString baseDir, TString pattern, TTree* tMain, Bool_t checkAliases) |
static TTree* | ConnectDistortionTrees(TString baseDir, TString selection, TTree* tMain) |
static TTree* | ConnectGainTrees(TString baseDir) |
static TTree* | ConnectPulserTrees(TString baseDir, TTree* tree = 0) |
virtual void | TObject::Copy(TObject& object) const |
AliTPCCalPad* | CreateCEOutlyerMap(Int_t& noutliersCE, AliTPCCalPad *const ceOut = 0, Float_t minSignal = 10, Float_t cutTrmsMin = 0.9, Float_t cutTrmsMax = 1.2, Float_t cutMaxDistT = 0.7) |
Bool_t | CreateGUIRefTree(const char* filename = "") |
AliTPCCalPad* | CreatePadTime0(Int_t model, Double_t& gyA, Double_t& gyC, Double_t& chi2A, Double_t& chi2C) |
AliTPCCalPad* | CreatePadTime0CE(TVectorD& fitResultsA, TVectorD& fitResultsC, Int_t& nOut, Double_t& chi2A, Double_t& chi2C, const char* dumpfile = 0) |
AliTPCCalPad* | CreatePulserOutlyerMap(Int_t& noutliersPulser, AliTPCCalPad *const pulserOut = 0, Float_t cutTime = 3, Float_t cutnRMSQ = 5, Float_t cutnRMSrms = 5) |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
static Double_t | EvalGraphConst(TGraph *const graph, Double_t xref) |
static Double_t | EvalGraphConst(AliSplineFit* graph, Double_t xref) |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
static void | FilterCE(Double_t deltaT = 100, Double_t cutAbs = 10, Double_t cutSigma = 4., TTreeSRedirector *const pcstream = 0) |
static void | FilterGoofie(AliDCSSensorArray* goofieArray, Double_t deltaT = 2, Double_t cutSigma = 4., Double_t minVdn = 8.5, Double_t maxVdn = 9.05, TTreeSRedirector *const pcstream = 0) |
static TGraph* | FilterGraphMedian(TGraph *const graph, Float_t sigmaCut, Double_t& medianY) |
static TGraph* | FilterGraphMedianAbs(TGraph* graph, Float_t cut, Double_t& medianY) |
static TGraphErrors* | FilterGraphMedianErr(TGraphErrors* graph, Float_t sigmaCut, Double_t& medianY) |
static Float_t | FilterSensor(AliDCSSensor* sensor, Double_t ymin, Double_t ymax, Double_t maxdy, Double_t sigmaCut) |
static Float_t | FilterTemperature(AliTPCSensorTempArray* tempArray, Double_t ymin = 15, Double_t ymax = 22, Double_t sigmaCut = 5) |
static void | FilterTracks(Int_t run, Double_t cutSigma = 20., TTreeSRedirector *const pcstream = 0) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
Int_t | FindRunTPC(Int_t itime, Bool_t debug = kFALSE) |
AliTPCCalPad* | GetAltroMasked(const char* cdbPath, const char* name) |
Int_t | GetCurrentReferenceRun(const char* type) const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
const char* | GetGUIRefTreeDefaultName() |
virtual const char* | TObject::GetIconName() const |
static Double_t | GetLaserTime0(Int_t run, Int_t timeStamp, Int_t deltaT, Int_t side) |
Float_t | GetMeanAltro(const AliTPCCalROC* roc, const Int_t row, const Int_t pad, AliTPCCalROC *const rocOut = 0x0) |
virtual const char* | TObject::GetName() const |
static Int_t | GetNearest(TGraph* graph, Double_t xref, Double_t& dx, Double_t& y) |
Int_t | GetNPulserOutliers() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
AliTPCCalPad* | GetPulserOutlierMap() const |
AliTPCCalPad* | GetRefALTROAcqStart() const |
AliTPCCalPad* | GetRefALTROAcqStop() const |
AliTPCCalPad* | GetRefALTROFPED() const |
AliTPCCalPad* | GetRefALTROMasked() const |
AliTPCCalPad* | GetRefALTROZsThr() const |
AliTPCCalPad* | GetRefCalPad(AliCDBEntry* entry) |
AliTPCCalPad* | GetRefCalPad(AliCDBEntry* entry, const char* objName) |
AliTPCCalPad* | GetRefCEMasked() const |
AliTPCCalPad* | GetRefCEQmean() const |
AliTPCCalPad* | GetRefCETmean() const |
AliTPCCalPad* | GetRefCETrms() const |
AliCDBEntry* | GetRefEntry(const char* cdbPath) |
TMap* | GetReferenceMap() const |
Int_t | GetReferenceRun(const char* type) const |
AliTPCCalPad* | GetRefPadNoise() const |
AliTPCCalPad* | GetRefPedestalMasked() const |
AliTPCCalPad* | GetRefPedestals() const |
AliTPCCalPad* | GetRefPulserMasked() const |
AliTPCCalPad* | GetRefPulserOutlier() const |
AliTPCCalPad* | GetRefPulserQmean() const |
AliTPCCalPad* | GetRefPulserTmean() const |
AliTPCCalPad* | GetRefPulserTrms() const |
const char* | GetRefValidity() const |
static Double_t | GetTime0TPCITS(Double_t& dist, Int_t run, Int_t timeStamp) |
virtual const char* | TObject::GetTitle() const |
static Double_t | GetTriggerOffsetTPC(Int_t run, Int_t timeStamp, Double_t deltaT = 86400, Double_t deltaTLaser = 3600, Int_t valType = 0) |
virtual UInt_t | TObject::GetUniqueID() const |
static Double_t | GetVDriftTPC(Double_t& dist, Int_t run, Int_t timeStamp, Double_t deltaT = 86400, Double_t deltaTLaser = 3600, Int_t valType = 0) |
static Double_t | GetVDriftTPCCE(Double_t& dist, Int_t run, Int_t timeStamp, Double_t deltaT = 43200, Int_t side = 2) |
static Double_t | GetVDriftTPCITS(Double_t& dist, Int_t run, Int_t timeStamp) |
static Double_t | GetVDriftTPCLaserTracks(Double_t& dist, Int_t run, Int_t timeStamp, Double_t deltaT = 43200, Int_t side = 2) |
static Double_t | GetVDriftTPCLaserTracksOnline(Double_t& dist, Int_t, Int_t timeStamp, Double_t deltaT = 43200, Int_t side = 2) |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
Bool_t | HasRefChanged(const char* cdbPath) |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
Int_t | MakeRunList(Int_t startRun, Int_t stopRun) |
static TMatrixD* | MakeStatRelKalman(TObjArray *const array, Float_t minFraction, Int_t minStat, Float_t maxvd) |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
void | ProcessALTROConfig(Int_t& nMasked) |
void | ProcessCEdata(const char* fitFormula, TVectorD& fitResultsA, TVectorD& fitResultsC, Int_t& noutliersCE, Double_t& chi2A, Double_t& chi2C, AliTPCCalPad *const outCE = 0) |
void | ProcessCEgraphs(TVectorD& vecTEntries, TVectorD& vecTMean, TVectorD& vecTRMS, TVectorD& vecTMedian, TVectorD& vecQEntries, TVectorD& vecQMean, TVectorD& vecQRMS, TVectorD& vecQMedian, Float_t& driftTimeA, Float_t& driftTimeC) |
void | ProcessGoofie(TVectorD& vecEntries, TVectorD& vecMedian, TVectorD& vecMean, TVectorD& vecRMS) |
void | ProcessNoiseData(TVectorD& vNoiseMean, TVectorD& vNoiseMeanSenRegions, TVectorD& vNoiseRMS, TVectorD& vNoiseRMSSenRegions, Int_t& nonMaskedZero, Int_t& nNaN) |
void | ProcessNoiseVariations(TVectorF& noiseDeviations) |
void | ProcessPedestalVariations(TVectorF& pedestalDeviations) |
void | ProcessPulser(TVectorD& vMeanTime) |
void | ProcessPulserVariations(TVectorF& pulserQdeviations, Float_t& varQMean, Int_t& npadsOutOneTB, Int_t& npadsOffAdd) |
void | ProcessQAData(TVectorD& vQaOcc, TVectorD& vQaQtot, TVectorD& vQaQmax) |
void | PulserOutlierMap(AliTPCCalPad* pulOut, const AliTPCCalPad* pulT, const AliTPCCalPad* pulQ) |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | SetALTROData(AliTPCCalPad *const masked) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetCEData(AliTPCCalPad *const tmean, AliTPCCalPad *const trms = 0x0, AliTPCCalPad *const qmean = 0x0) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetGoofieArray(AliDCSSensorArray *const arr) |
void | SetNoisePedestal(AliTPCCalPad *const noise, AliTPCCalPad *const pedestal = 0x0) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetPulserData(AliTPCCalPad *const tmean, AliTPCCalPad *const trms = 0x0, AliTPCCalPad *const qmean = 0x0) |
void | SetRefALTROData(AliTPCCalPad *const masked) |
void | SetRefCEData(AliTPCCalPad *const tmean, AliTPCCalPad *const trms = 0x0, AliTPCCalPad *const qmean = 0x0) |
void | SetReferenceRun(Int_t run = -1) |
void | SetRefFile(const char* filename) |
void | SetRefNoisePedestal(AliTPCCalPad *const noise, AliTPCCalPad *const pedestal = 0x0) |
void | SetRefPulserData(AliTPCCalPad *const tmean, AliTPCCalPad *const trms = 0x0, AliTPCCalPad *const qmean = 0x0) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
static void | SmoothGraph(TGraph* graph, Double_t delta) |
static TObjArray* | SmoothRelKalman(TObjArray *const arrayP, TObjArray *const arrayM) |
static TObjArray* | SmoothRelKalman(TObjArray *const array, const TMatrixD& stat, Bool_t direction, Float_t sigmaCut) |
static void | Sort(TGraph* graph) |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
void | UpdateFromCalibDB() |
void | UpdatePulserOutlierMap() |
void | UpdateRefDataFromOCDB() |
void | UpdateRefPulserOutlierMap() |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
AliTPCcalibDButil(const AliTPCcalibDButil&) | |
static Double_t | GetVDriftTPCLaserTracksCommon(Double_t& dist, Int_t timeStamp, Double_t deltaT, Int_t side, TObjArray *const array) |
AliTPCcalibDButil& | operator=(const AliTPCcalibDButil&) |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
AliTPCCalPad* | fALTROMasked | ALTRO masked channels information |
AliTPCCalPad* | fCEQmean | central electrode mean q information |
Float_t | fCETmaxLimitAbs | maximum variation in CE data before pads will be treated as outliers |
AliTPCCalPad* | fCETmean | central electrode mean time information |
AliTPCCalPad* | fCETrms | central electrode rms time information |
AliTPCcalibDB* | fCalibDB | pointer to calibDB object |
AliTPCCalibRaw* | fCalibRaw | raw calibration object |
TMap* | fCurrentRefMap | reference data map of entries currently loaded |
AliTPCdataQA* | fDataQA | data qa |
AliDCSSensorArray* | fGoofieArray | Goofie Data |
Float_t | fIrocTimeOffset | timing offset between IROC and OROC in timebins |
AliTPCmapper* | fMapper | TPC mapping handler |
Int_t | fNpulserOutliers | number of outliers from Pulser calibration |
AliTPCCalPad* | fPadNoise | noise information |
AliTPCCalPad* | fPedestals | pedestal information |
Float_t | fPulQmaxLimitAbs | maximum variation of Pulser Signals (charge) before pads will be treated as outliers |
Float_t | fPulQminLimit | minimum charge value for Pulser Signals before pads will be treated as outliers |
Float_t | fPulTmaxLimitAbs | maximum variation of Pulser Signals (time) before pads will be treated as outliers |
AliTPCCalPad* | fPulserOutlier | pulser outlier map |
AliTPCCalPad* | fPulserQmean | pulser mean q information |
AliTPCCalPad* | fPulserTmean | pulser mean time information |
AliTPCCalPad* | fPulserTrms | pulser rms time information |
AliTPCCalPad* | fRefALTROAcqStart | Reference accquistion start time bin |
AliTPCCalPad* | fRefALTROAcqStop | Reference accquistion stop time bin |
AliTPCCalPad* | fRefALTROFPED | Reference fixed pedestal value |
AliTPCCalPad* | fRefALTROMasked | Reference ALTRO masked channels information |
AliTPCCalPad* | fRefALTROZsThr | Reference zero suppression threshol |
AliTPCCalPad* | fRefCEMasked | Reference masked channels in laser run |
AliTPCCalPad* | fRefCEQmean | Reference central electrode mean q information |
AliTPCCalPad* | fRefCETmean | Reference central electrode mean time information |
AliTPCCalPad* | fRefCETrms | Reference central electrode rms time information |
AliTPCCalibRaw* | fRefCalibRaw | Reference raw calibration object |
AliTPCdataQA* | fRefDataQA | Reference data QA |
TMap* | fRefMap | latest map to reference information |
AliTPCCalPad* | fRefPadNoise | Reference noise information |
AliTPCCalPad* | fRefPedestalMasked | Reference masked channels in pedestal run |
AliTPCCalPad* | fRefPedestals | Reference pedestal information |
AliTPCCalPad* | fRefPulserMasked | Reference masked channels in pulser run |
AliTPCCalPad* | fRefPulserOutlier | Reference pulser outlier map |
AliTPCCalPad* | fRefPulserQmean | Reference pulser mean q information |
AliTPCCalPad* | fRefPulserTmean | Reference pulser mean time information |
AliTPCCalPad* | fRefPulserTrms | Reference pulser rms time information |
TString | fRefValidity | validity range of reference data |
TArrayI | fRuns | run list with OCDB info |
TArrayI | fRunsStart | start time for given run |
TArrayI | fRunsStop | stop time for given run |
Inheritance Chart: | ||||||||
|
Process the CE data for this run the return TVectorD arrays contian the results of the fit noutliersCE contains the number of pads marked as outliers, not including masked and edge pads
Calculate statistical information from the CE graphs for drift time and charge
process noise data vNoiseMean/RMS contains the Mean/RMS noise of the complete TPC [0], IROCs only [1], OROCs small pads [2] and OROCs large pads [3] vNoiseMean/RMSsenRegions constains the same information, but only for the sensitive regions (edge pads, corners, IROC spot) nonMaskedZero contains the number of pads which show zero noise and were not masked. This might indicate an error
process QA data vQaOcc/Qtot/Qmax contains the Mean occupancy/Qtot/Qmax for each sector
Process the Pulser information vMeanTime: pulser mean time position in IROC-A, IROC-C, OROC-A, OROC-C
Proces Goofie values, return statistical information of the currently set goofieArray The meaning of the entries are given below 1 TPC_ANODE_I_A00_STAT 2 TPC_DVM_CO2 3 TPC_DVM_DriftVelocity 4 TPC_DVM_FCageHV 5 TPC_DVM_GainFar 6 TPC_DVM_GainNear 7 TPC_DVM_N2 8 TPC_DVM_NumberOfSparks 9 TPC_DVM_PeakAreaFar 10 TPC_DVM_PeakAreaNear 11 TPC_DVM_PeakPosFar 12 TPC_DVM_PeakPosNear 13 TPC_DVM_PickupHV 14 TPC_DVM_Pressure 15 TPC_DVM_T1_Over_P 16 TPC_DVM_T2_Over_P 17 TPC_DVM_T_Over_P 18 TPC_DVM_TemperatureS1
check the variations of the pedestal data to the reference pedestal data thresholds are 0.5, 1.0, 1.5 and 2 timebins respectively.
check the variations of the noise data to the reference noise data thresholds are 5, 10, 15 and 20 percent respectively.
check the variations of the pulserQmean data to the reference pulserQmean data: pulserQdeviations thresholds are .5, 1, 5 and 10 percent respectively.
Create a map that contains outliers from the Pulser calibration data. The outliers include masked channels, edge pads and pads with too large timing and charge variations. fNpulserOutliers is the number of outliers in the Pulser calibration data. those do not contain masked and edge pads
Create pad time0 object from pulser and/or CE data, depending on the selected model Model 0: normalise each readout chamber to its mean, outlier cutted, only Pulser Model 1: normalise IROCs/OROCs of each readout side to its mean, only Pulser Model 2: use CE data and a combination CE fit + pulser in the outlier regions. In case model 2 is invoked - gy arival time gradient is also returned
GetMeanAlto information
TObjArray object type case find 'objName' in 'arr' cast is to a calPad and store it in 'pad'
AliTPCCalPad object type case cast object to a calPad and store it in 'pad'
set altro masked channel map for 'cdbPath'
Get reference run number for the specified OCDB path
Author: marian.ivanov@cern.ch Create outlier map for CE study Parameters: Return value - outlyer map noutlyersCE - number of outlyers minSignal - minimal total Q signal cutRMSMin - minimal width of the signal in respect to the median cutRMSMax - maximal width of the signal in respect to the median cutMaxDistT - maximal deviation from time median per chamber Outlyers criteria: 0. Exclude masked pads 1. Exclude first two rows in IROC and last two rows in OROC 2. Exclude edge pads 3. Exclude channels with too large variations 4. Exclude pads with too small signal 5. Exclude signal with outlyers RMS 6. Exclude channels to far from the chamber median
Author: marian.ivanov@cern.ch Create outlier map for Pulser Parameters: Return value - outlyer map noutlyersPulser - number of outlyers cutTime - absolute cut - distance to the median of chamber cutnRMSQ - nsigma cut from median q distribution per chamber cutnRMSrms - nsigma cut from median rms distribution Outlyers criteria: 0. Exclude masked pads 1. Exclude time outlyers (default 3 time bins) 2. Exclude q outlyers (default 5 sigma) 3. Exclude rms outlyers (default 5 sigma)
Author : Marian Ivanov Create pad time0 correction map using information from the CE and from pulser Return PadTime0 to be used for time0 relative alignment if dump file specified intermediat results are dumped to the fiel and can be visualized using $ALICE_ROOT/TPC/script/gui application fitResultsA - fitParameters A side fitResultsC - fitParameters C side chi2A - chi2/ndf for A side (assuming error 1 time bin) chi2C - chi2/ndf for C side (assuming error 1 time bin) Algorithm: 1. Find outlier map for CE 2. Find outlier map for Pulser 3. Replace outlier by median at given sector (median without outliers) 4. Substract from the CE data pulser 5. Fit the CE with formula 5.1) (IROC-OROC) offset 5.2) gx 5.3) gy 5.4) (lx-xmid) 5.5) (IROC-OROC)*(lx-xmid) 5.6) (ly/lx)^2 6. Substract gy fit dependence from the CE data 7. Add pulser back to CE data 8. Replace outliers by fit value - median of diff per given chamber -GY fit 9. return CE data Time0 <= padCE = padCEin -padCEfitGy - if not outlier Time0 <= padCE = padFitAll-padCEfitGy - if outlier
find the closest point to xref in x direction return dx and value
Get the correction of the trigger offset combining information from the laser track calibration and from cosmic calibration run - run number timeStamp - tim stamp in seconds deltaT - integration period to calculate offset deltaTLaser -max validity of laser data valType - 0 - median, 1- mean Integration vaues are just recomendation - if not possible to get points automatically increase the validity by factor 2 (recursive algorithm until one month of data taking)
Get the correction of the drift velocity combining information from the laser track calibration and from cosmic calibration dist - return value - distance to closest point in graph run - run number timeStamp - tim stamp in seconds deltaT - integration period to calculate time0 offset deltaTLaser -max validity of laser data valType - 0 - median, 1- mean Integration vaues are just recomendation - if not possible to get points automatically increase the validity by factor 2 (recursive algorithm until one month of data taking)
Create a gui reference tree if dirname and filename are empty default values will be used this is the recommended way of using this function it allows to check whether a file with the given run validity alredy exists
Get the correction of the drift velocity using the offline laser tracks calbration run - run number timeStamp - tim stamp in seconds deltaT - integration period to calculate time0 offset side - 0 - A side, 1 - C side, 2 - mean from both sides Note in case no data form both A and C side - the value from active side used
Get the correction of the drift velocity using the online laser tracks calbration run - run number timeStamp - tim stamp in seconds deltaT - integration period to calculate time0 offset side - 0 - A side, 1 - C side, 2 - mean from both sides Note in case no data form both A and C side - the value from active side used
common drift velocity retrieval for online and offline method
Get the correction of the drift velocity using the CE laser data combining information from the CE, laser track calibration and P/T calibration run - run number timeStamp - tim stamp in seconds deltaT - integration period to calculate time0 offset side - 0 - A side, 1 - C side, 2 - mean from both sides
return drift velocity using the TPC-ITS matchin method return also distance to the closest point
Get time dependent time 0 (trigger delay in cm) correction Arguments: timestamp - timestamp run - run number Notice - Extrapolation outside of calibration range - using constant function
VERY obscure method - we need something in framework Find the TPC runs with temperature OCDB entry cache the start and end of the run
binary search - find the run for given time stamp
filter outlyer measurement Only points around median +- sigmaCut filtered
filter outlyer measurement Only points around median +- cut filtered
filter outlyer measurement Only points with normalized errors median +- sigmaCut filtered
Use constant interpolation outside of range
Use constant interpolation outside of range also for spline fits
Filter DCS sensor information ymin - minimal value ymax - max value maxdy - maximal deirivative sigmaCut - cut on values and derivative in terms of RMS distribution Return value - accepted fraction Algorithm: 0. Calculate median and rms of values in specified range 1. Filter out outliers - median+-sigmaCut*rms values replaced by median
Filter temperature array tempArray - array of temperatures - ymin - minimal accepted temperature - default 15 ymax - maximal accepted temperature - default 22 sigmaCut - values filtered on interval median+-sigmaCut*rms - defaut 5 return value - fraction of filtered sensors
Filter CE data Input parameters: deltaT - smoothing window (in seconds) cutAbs - max distance of the time info to the median (in time bins) cutSigma - max distance (in the RMS) pcstream - optional debug streamer to store original and filtered info Hardwired parameters: kMinPoints =10; // minimal number of points to define the CE kMinSectors=12; // minimal number of sectors to define sideCE Algorithm: 0. Filter almost emty graphs (kMinPoints=10) 1. calculate median and RMS per side 2. Filter graphs - in respect with side medians - cutAbs and cutDelta used 3. Cut in respect wit the graph median - cutAbs and cutRMS used 4. Calculate mean for A side and C side
Filter Drift velocity measurement using the tracks 0. remove outlyers - error based cutSigma
get laser time offset median around timeStamp+-deltaT QA - chi2 needed for later usage - to be added - currently cut on error
Filter Goofie data goofieArray - points will be filtered deltaT - smmothing time window cutSigma - outler sigma cut in rms minVn, maxVd- range absolute cut for variable vd/pt - to be tuned Ignore goofie if not enough points
Make a statistic matrix Input parameters: array - TObjArray of AliRelKalmanAlign minFraction - minimal ration of accepted tracks minStat - minimal statistic (number of accepted tracks) maxvd - maximal deviation for the 1 Output matrix: columns - Mean, Median, RMS row - parameter type (rotation[3], translation[3], drift[3])
Smooth the array of AliRelKalmanAlign - detector alignment and drift calibration) Input: array - input array stat - mean parameters statistic direction - sigmaCut - maximal allowed deviation from mean in terms of RMS
Merge 2 RelKalman arrays Input: arrayP - rel kalman in direction plus arrayM - rel kalman in direction minus
baseDir: Base directory with the raw Kr calibration trees and the trees from the calibQA it assumes to following structure below: KryptonCalib/<year>/calibKr/calibKr.<year>.<id>.root calibQAdEdx/<year>/calibQA.<year>.<perid>.tree.root map/treeMapping.root
baseDir: Base directory with Pulser information TTrees are added to the base tree as a friend tree === add the calibPulser trees ======================================
baseDir: Base directory with Distortion information TTrees are added to the base tree as a friend tree If base tree not provide - first tree from list is used as base === add the calibDistortion trees ====================================== TString inputTreesDistortionCalib = gSystem->GetFromPipe(Form("ls %s/calibDistortion/20*/*.tree.root",baseDir.Data())); TString baseDir="$NOTES/reconstruction/distortionFit/"; TTree *tMain=0; AliTPCcalibDButil::ConnectDistortionTrees("$NOTES/reconstruction/distortionFit/", "calibTimeResHisto.root", 0);
baseDir: Base directory with per Pad information TTrees are added to the base tree as a friend tree Example usage TString baseDir="/hera/alice/fsozzi/summarymaps/calib2/"; // prefix directory with calibration with slash at the end TString pattern="QA/*/*root"; TTree * tree = AliTPCcalibDButil::ConnectCalPadTrees(baseDir,pattern,0); //create tree and attach calibration as friends
setters for pad by pad information
{fPulserTmean=tmean; fPulserTrms=trms; fPulserQmean=qmean;}
{fPadNoise=noise; fPedestals=pedestal;}
{fRefPulserTmean=tmean; fRefPulserTrms=trms; fRefPulserQmean=qmean;}
{fRefCETmean=tmean; fRefCETrms=trms; fRefCEQmean=qmean;}
{fRefPadNoise=noise; fRefPedestals=pedestal;}