void AddLaserGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift);
void SetDefaultGraphDrift(TGraph *graph, Int_t color, Int_t style);
void MakeDefaultPlots(TObjArray * const arr, TObjArray *picArray);
+ Bool_t ValidateTimeDrift(Double_t maxVDriftCorr=0.03);
//
// Gain part
//
void ReadGainGlobal(const Char_t* fileName="CalibObjectsTrain1.root");
void MakeQAPlot(Float_t FPtoMIPratio);
Bool_t AnalyzeGain(Int_t startRunNumber, Int_t endRunNumber, Int_t minEntriesGaussFit = 500, Float_t FPtoMIPratio = 1.43);
+ Bool_t AnalyzeAttachment(Int_t startRunNumber, Int_t endRunNumber, Int_t minEntriesFit = 2000);
+ Bool_t ValidateTimeGain(Double_t minGain=2.0, Double_t maxGain = 3.0);
//
// QA drawing part
//
static TGraphErrors* FilterGraphDrift(TGraphErrors * graph, Float_t errSigmaCut, Float_t medianCutAbs);
static TGraphErrors * MakeGraphFilter0(THnSparse *hisN, Int_t itime, Int_t ival, Int_t minEntries, Double_t offset=0);
+ //
+ void SwitchOnValidation(Bool_t val = kTRUE) {fSwitchOnValidation = val;}
+ Bool_t IsSwitchOnValidation() { return fSwitchOnValidation; }
+
+
private:
Int_t fMinEntries; // minimal number of entries for fit
Int_t startRun; // start Run - used to make fast selection in THnSparse
AliTPCcalibTime * fTimeDrift; // input data to construct calibration graphs
TGraphErrors * fGraphMIP; // graph time dependence of MIP
TGraphErrors * fGraphCosmic; // graph time dependence at Plateu
+ TGraphErrors * fGraphAttachmentMIP; // graph time dependence of attachment (signal vs. mean driftlength)
AliSplineFit * fFitMIP; // fit of dependence - MIP
AliSplineFit * fFitCosmic; // fit of dependence - Plateu
TObjArray * fGainArray; // array to be stored in the OCDB
AliTPCcalibTimeGain * fGainMIP; // calibration component for MIP
AliTPCcalibTimeGain * fGainCosmic; // calibration component for cosmic
+
+ Bool_t fSwitchOnValidation; // flag to switch on validation of OCDB parameters
private:
AliTPCPreprocessorOffline& operator=(const AliTPCPreprocessorOffline&); // not implemented