]>
Commit | Line | Data |
---|---|---|
1 | #ifndef AliTPCdEdxInfo_H | |
2 | #define AliTPCdEdxInfo_H | |
3 | ||
4 | class TGraphErrors; | |
5 | class TObjArray; | |
6 | class AliExternalTrackParam; | |
7 | #include <TObject.h> | |
8 | ||
9 | class AliTPCdEdxInfo : public TObject | |
10 | { | |
11 | public: | |
12 | AliTPCdEdxInfo(); | |
13 | AliTPCdEdxInfo(const AliTPCdEdxInfo& source); | |
14 | AliTPCdEdxInfo& operator=(const AliTPCdEdxInfo& source); | |
15 | Double_t GetWeightedMean(Int_t qType, Int_t wType, Double_t w0, Double_t w1, Double_t w2); | |
16 | Double_t GetFractionOfClusters(Int_t iregion){ return fTPCsignalNRowRegion[iregion]>0 ? Double_t(fTPCsignalNRegion[iregion])/Double_t(fTPCsignalNRowRegion[iregion]):0;} | |
17 | // | |
18 | // qTot info | |
19 | void GetTPCSignalRegionInfo(Double_t signal[4], Char_t ncl[3], Char_t nrows[3]) const; | |
20 | void GetTPCSignals(Double_t signal[4]) const; | |
21 | ||
22 | void SetTPCSignalRegionInfo(Double_t signal[4], Char_t ncl[3], Char_t nrows[3]); | |
23 | void SetTPCSignals(Double_t signal[4]); | |
24 | ||
25 | ||
26 | // qMax info | |
27 | void GetTPCSignalRegionInfoQmax(Double_t signal[4], Char_t ncl[3], Char_t nrows[3]) const; | |
28 | void GetTPCSignalsQmax(Double_t signal[4]) const; | |
29 | ||
30 | void SetTPCSignalRegionInfoQmax(Double_t signal[4], Char_t ncl[3], Char_t nrows[3]); | |
31 | void SetTPCSignalsQmax(Double_t signal[4]); | |
32 | ||
33 | Double_t GetSignalTot(Int_t index){ return fTPCsignalRegion[index];} | |
34 | Double_t GetSignalMax(Int_t index){ return fTPCsignalRegionQmax[index];} | |
35 | Double_t GetNumberOfClusters(Int_t index) {return fTPCsignalNRegion[index%3];} | |
36 | Double_t GetNumberOfCrossedRows(Int_t index) {return fTPCsignalNRowRegion[index%3];} | |
37 | // | |
38 | Double_t GetTPCsignalShortPad() const {return fTPCsignalRegion[0];} | |
39 | Double_t GetTPCsignalMediumPad() const {return fTPCsignalRegion[1];} | |
40 | Double_t GetTPCsignalLongPad() const {return fTPCsignalRegion[2];} | |
41 | Double_t GetTPCsignalOROC() const {return fTPCsignalRegion[3];} | |
42 | ||
43 | Double_t GetTPCsignalShortPadQmax() const {return fTPCsignalRegionQmax[0];} | |
44 | Double_t GetTPCsignalMediumPadQmax() const {return fTPCsignalRegionQmax[1];} | |
45 | Double_t GetTPCsignalLongPadQmax() const {return fTPCsignalRegionQmax[2];} | |
46 | Double_t GetTPCsignalOROCQmax() const {return fTPCsignalRegionQmax[3];} | |
47 | static void RegisterSectorCalibration(TGraphErrors* gainSector, Int_t regionID, Int_t calibID); | |
48 | Double_t GetdEdxInfo(AliExternalTrackParam *param, Int_t regionID, Int_t calibID, Int_t qID, Int_t valueID); | |
49 | private: | |
50 | ||
51 | Double32_t fTPCsignalRegion[4]; //[0.,0.,10] TPC dEdx signal in 4 different regions - 0 - IROC, 1- OROC medium, 2 - OROC long, 3- OROC all, (default truncation used) - for qTot | |
52 | Double32_t fTPCsignalRegionQmax[4]; //[0.,0.,10] TPC dEdx signal in 4 different regions - 0 - IROC, 1- OROC medium, 2 - OROC long, 3- OROC all, (default truncation used) - for qMax | |
53 | Char_t fTPCsignalNRegion[3]; // number of clusters above threshold used in the dEdx calculation | |
54 | Char_t fTPCsignalNRowRegion[3]; // number of crosed rows used in the dEdx calculation - signal below threshold included | |
55 | // | |
56 | static TObjArray *fArraySectorCalibration; | |
57 | ||
58 | ClassDef(AliTPCdEdxInfo,3) | |
59 | }; | |
60 | ||
61 | #endif |