Line data Source code
1 : #ifndef AliTPCdEdxInfo_H
2 : #define AliTPCdEdxInfo_H
3 :
4 : class TGraphErrors;
5 : class TObjArray;
6 : class AliExternalTrackParam;
7 : #include <TObject.h>
8 :
9 3120 : 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) const;
16 0 : 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 0 : Double_t GetSignalTot(Int_t index){ return fTPCsignalRegion[index];}
34 0 : Double_t GetSignalMax(Int_t index){ return fTPCsignalRegionQmax[index];}
35 0 : Double_t GetNumberOfClusters(Int_t index) {return fTPCsignalNRegion[index%3];}
36 0 : Double_t GetNumberOfCrossedRows(Int_t index) {return fTPCsignalNRowRegion[index%3];}
37 : //
38 0 : Double_t GetTPCsignalShortPad() const {return fTPCsignalRegion[0];}
39 0 : Double_t GetTPCsignalMediumPad() const {return fTPCsignalRegion[1];}
40 0 : Double_t GetTPCsignalLongPad() const {return fTPCsignalRegion[2];}
41 0 : Double_t GetTPCsignalOROC() const {return fTPCsignalRegion[3];}
42 :
43 0 : Double_t GetTPCsignalShortPadQmax() const {return fTPCsignalRegionQmax[0];}
44 0 : Double_t GetTPCsignalMediumPadQmax() const {return fTPCsignalRegionQmax[1];}
45 0 : Double_t GetTPCsignalLongPadQmax() const {return fTPCsignalRegionQmax[2];}
46 0 : 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 1656 : ClassDef(AliTPCdEdxInfo,3)
59 : };
60 :
61 : #endif
|