]>
Commit | Line | Data |
---|---|---|
892226be | 1 | #ifndef AliTPCcalibDButil_H |
2 | #define AliTPCcalibDButil_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /////////////////////////////////////////////////////////////////////////////// | |
8 | // // | |
9 | // Class providing the calculation of derived quantities (mean,rms,fits,...) // | |
10 | // of calibration entries // | |
11 | // // | |
12 | /////////////////////////////////////////////////////////////////////////////// | |
13 | ||
14 | #include <TObject.h> | |
15 | ||
16 | class AliDCSSensorArray; | |
17 | class AliTPCcalibDB; | |
18 | class AliTPCCalPad; | |
19 | class AliTPCmapper; | |
6e7d7dc4 | 20 | class AliTPCCalibRaw; |
892226be | 21 | |
22 | class AliTPCcalibDButil : public TObject | |
23 | { | |
24 | public: | |
25 | AliTPCcalibDButil(); | |
26 | virtual ~AliTPCcalibDButil(); | |
27 | ||
28 | void UpdateFromCalibDB(); | |
29 | //data processing functions | |
30 | void ProcessCEdata(const char* fitFormula, TVectorD &fitResultsA, TVectorD &fitResultsC, Int_t &noutliersCE); | |
31 | void ProcessCEgraphs(TVectorD &vecTEntries, TVectorD &vecTMean, TVectorD &vecTRMS, TVectorD &vecTMedian, | |
32 | TVectorD &vecQEntries, TVectorD &vecQMean, TVectorD &vecQRMS, TVectorD &vecQMedian, | |
33 | Float_t &driftTimeA, Float_t &driftTimeC ); | |
34 | void ProcessNoiseData(TVectorD &vNoiseMean, TVectorD &vNoiseMeanSenRegions, | |
35 | TVectorD &vNoiseRMS, TVectorD &vNoiseRMSSenRegions, | |
36 | Int_t &nonMaskedZero); | |
37 | void ProcessPulser(TVectorD &vMeanTime); | |
38 | void ProcessALTROConfig(Int_t &nMasked); | |
39 | void ProcessGoofie(TVectorD & vecEntries, TVectorD & vecMedian, TVectorD &vecMean, TVectorD &vecRMS); | |
40 | //getter preprocess information | |
41 | Int_t GetNPulserOutliers() const {return fNpulserOutliers;} | |
42 | Float_t GetMeanAltro(const AliTPCCalROC *roc, const Int_t row, const Int_t pad, AliTPCCalROC *rocOut=0x0); | |
43 | AliTPCCalPad *GetPulserOutlierMap() const {return fPulserOutlier;} | |
44 | //setters for pad by pad information | |
45 | void SetPulserData(AliTPCCalPad *tmean, AliTPCCalPad *trms=0x0, AliTPCCalPad *qmean=0x0) | |
46 | {fPulserTmean=tmean; fPulserTrms=trms; fPulserQmean=qmean;} | |
47 | void SetCEData(AliTPCCalPad *tmean, AliTPCCalPad *trms=0x0, AliTPCCalPad *qmean=0x0) | |
48 | {fCETmean=tmean; fCETrms=trms; fCEQmean=qmean;} | |
49 | void SetNoisePedestal(AliTPCCalPad *noise, AliTPCCalPad *pedestal=0x0) | |
50 | {fPadNoise=noise; fPedestals=pedestal;} | |
51 | void SetALTROData(AliTPCCalPad *masked) | |
52 | {fALTROMasked=masked;} | |
53 | void SetGoofieArray(AliDCSSensorArray *arr) {fGoofieArray=arr;} | |
54 | //creation of derived pad by pad calibration data | |
55 | AliTPCCalPad *CreatePadTime0(Int_t model=0); | |
56 | // | |
57 | void UpdatePulserOutlierMap(); | |
58 | private: | |
59 | AliTPCcalibDB *fCalibDB; //pointer to calibDB object | |
60 | AliTPCCalPad *fPadNoise; //noise information | |
61 | AliTPCCalPad *fPedestals; //pedestal information | |
62 | AliTPCCalPad *fPulserTmean; //pulser mean time information | |
63 | AliTPCCalPad *fPulserTrms; //pulser rms time information | |
64 | AliTPCCalPad *fPulserQmean; //pulser mean q information | |
65 | AliTPCCalPad *fPulserOutlier; //pulser outlier map | |
66 | AliTPCCalPad *fCETmean; //central electrode mean time information | |
67 | AliTPCCalPad *fCETrms; //central electrode rms time information | |
68 | AliTPCCalPad *fCEQmean; //central electrode mean q information | |
69 | AliTPCCalPad *fALTROMasked; //ALTRO masked channels information | |
70 | // | |
6e7d7dc4 | 71 | AliTPCCalibRaw *fCalibRaw; //raw calibration object |
72 | // | |
892226be | 73 | AliDCSSensorArray* fGoofieArray; //Goofie Data |
74 | // | |
75 | AliTPCmapper *fMapper; //TPC mapping handler | |
76 | Int_t fNpulserOutliers; //number of outliers from Pulser calibration | |
77 | ||
78 | Float_t fIrocTimeOffset; //timing offset between IROC and OROC in timebins | |
79 | Float_t fCETmaxLimitAbs; //maximum variation in CE data before pads will be treated as outliers | |
80 | Float_t fPulTmaxLimitAbs; //maximum variation of Pulser Signals (time) before pads will be treated as outliers | |
81 | Float_t fPulQmaxLimitAbs; //maximum variation of Pulser Signals (charge) before pads will be treated as outliers | |
82 | Float_t fPulQminLimit; //minimum charge value for Pulser Signals before pads will be treated as outliers | |
83 | ||
84 | AliTPCcalibDButil (const AliTPCcalibDButil& ); | |
85 | AliTPCcalibDButil& operator= (const AliTPCcalibDButil& ); | |
86 | ||
87 | ||
88 | ClassDef(AliTPCcalibDButil,0) | |
89 | }; | |
90 | ||
91 | ||
92 | #endif |