#include <TObject.h>
#include <TArrayI.h>
-#include <TVectorD.h>
-#include <TVectorF.h>
+#include <TVectorDfwd.h>
+#include <TVectorFfwd.h>
+#include <TMatrixDfwd.h>
class TGraph;
class TMap;
class TGraphErrors;
class TTreeSRedirector;
class AliTPCCalROC;
-
+class AliSplineFit;
class AliTPCcalibDButil : public TObject
{
void ProcessNoiseData(TVectorD &vNoiseMean, TVectorD &vNoiseMeanSenRegions,
TVectorD &vNoiseRMS, TVectorD &vNoiseRMSSenRegions,
Int_t &nonMaskedZero, Int_t &nNaN);
+ void ProcessQAData(TVectorD &vQaOcc, TVectorD &vQaQtot, TVectorD &vQaQmax);
void ProcessPulser(TVectorD &vMeanTime);
void ProcessALTROConfig(Int_t &nMasked);
void ProcessGoofie(TVectorD & vecEntries, TVectorD & vecMedian, TVectorD &vecMean, TVectorD &vecRMS);
static void SmoothGraph(TGraph *graph, Double_t delta);
static Int_t GetNearest(TGraph *graph, Double_t xref, Double_t &dx, Double_t &y);
static Double_t EvalGraphConst(TGraph * const graph, Double_t xref);
+ static Double_t EvalGraphConst(AliSplineFit *graph, Double_t xref);
+
//
// Filter sensors
//
static Double_t GetTriggerOffsetTPC(Int_t run, Int_t timeStamp, Double_t deltaT=86400, Double_t deltaTLaser=3600, Int_t valType=0);
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 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 /*run*/, Int_t timeStamp, Double_t deltaT=43200, Int_t side=2);
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 GetTime0TPCITS(Double_t &dist, Int_t run, Int_t timeStamp);
Int_t MakeRunList(Int_t startRun, Int_t stopRun); // find the list of usable runs
Int_t FindRunTPC(Int_t itime, Bool_t debug=kFALSE);
+
+ AliTPCCalPad* GetRefCalPad(AliCDBEntry *entry, const char* objName);
+ AliTPCCalPad* GetRefCalPad(AliCDBEntry *entry);
+ AliTPCCalPad* GetAltroMasked(const char* cdbPath, const char* name);
+ Bool_t HasRefChanged(const char *cdbPath);
+ Int_t GetCurrentReferenceRun(const char* type) const;
+ AliCDBEntry* GetRefEntry(const char* cdbPath);
+
private:
AliTPCcalibDB *fCalibDB; //pointer to calibDB object
AliTPCCalPad *fPadNoise; //noise information
AliTPCcalibDButil (const AliTPCcalibDButil& );
AliTPCcalibDButil& operator= (const AliTPCcalibDButil& );
- AliTPCCalPad* GetRefCalPad(AliCDBEntry *entry, const char* objName);
- AliTPCCalPad* GetRefCalPad(AliCDBEntry *entry);
- AliTPCCalPad* GetAltroMasked(const char* cdbPath, const char* name);
- Bool_t HasRefChanged(const char *cdbPath);
- Int_t GetCurrentReferenceRun(const char* type) const;
- AliCDBEntry* GetRefEntry(const char* cdbPath);
+
+ static Double_t GetVDriftTPCLaserTracksCommon(Double_t &dist, Int_t timeStamp, Double_t deltaT, Int_t side, TObjArray * const array);
+
ClassDef(AliTPCcalibDButil,0)
};