#ifndef AliTPCdEdxInfo_H
#define AliTPCdEdxInfo_H
+class TGraphErrors;
+class TObjArray;
+class AliExternalTrackParam;
#include <TObject.h>
class AliTPCdEdxInfo : public TObject
AliTPCdEdxInfo();
AliTPCdEdxInfo(const AliTPCdEdxInfo& source);
AliTPCdEdxInfo& operator=(const AliTPCdEdxInfo& source);
+ Double_t GetWeightedMean(Int_t qType, Int_t wType, Double_t w0, Double_t w1, Double_t w2);
+ Double_t GetFractionOfClusters(Int_t iregion){ return fTPCsignalNRowRegion[iregion]>0 ? Double_t(fTPCsignalNRegion[iregion])/Double_t(fTPCsignalNRowRegion[iregion]):0;}
//
- void GetTPCSignalRegionInfo(Double32_t signal[4], Char_t ncl[3], Char_t nrows[3]) const;
- void SetTPCSignalRegionInfo(Double32_t signal[4], Char_t ncl[3], Char_t nrows[3]);
+ // qTot info
+ void GetTPCSignalRegionInfo(Double_t signal[4], Char_t ncl[3], Char_t nrows[3]) const;
+ void GetTPCSignals(Double_t signal[4]) const;
+
+ void SetTPCSignalRegionInfo(Double_t signal[4], Char_t ncl[3], Char_t nrows[3]);
+ void SetTPCSignals(Double_t signal[4]);
+
+
+ // qMax info
+ void GetTPCSignalRegionInfoQmax(Double_t signal[4], Char_t ncl[3], Char_t nrows[3]) const;
+ void GetTPCSignalsQmax(Double_t signal[4]) const;
+
+ void SetTPCSignalRegionInfoQmax(Double_t signal[4], Char_t ncl[3], Char_t nrows[3]);
+ void SetTPCSignalsQmax(Double_t signal[4]);
-private:
+ Double_t GetSignalTot(Int_t index){ return fTPCsignalRegion[index];}
+ Double_t GetSignalMax(Int_t index){ return fTPCsignalRegionQmax[index];}
+ Double_t GetNumberOfClusters(Int_t index) {return fTPCsignalNRegion[index%3];}
+ Double_t GetNumberOfCrossedRows(Int_t index) {return fTPCsignalNRowRegion[index%3];}
+ //
+ Double_t GetTPCsignalShortPad() const {return fTPCsignalRegion[0];}
+ Double_t GetTPCsignalMediumPad() const {return fTPCsignalRegion[1];}
+ Double_t GetTPCsignalLongPad() const {return fTPCsignalRegion[2];}
+ Double_t GetTPCsignalOROC() const {return fTPCsignalRegion[3];}
+
+ Double_t GetTPCsignalShortPadQmax() const {return fTPCsignalRegionQmax[0];}
+ Double_t GetTPCsignalMediumPadQmax() const {return fTPCsignalRegionQmax[1];}
+ Double_t GetTPCsignalLongPadQmax() const {return fTPCsignalRegionQmax[2];}
+ Double_t GetTPCsignalOROCQmax() const {return fTPCsignalRegionQmax[3];}
+ static void RegisterSectorCalibration(TGraphErrors* gainSector, Int_t regionID, Int_t calibID);
+ Double_t GetdEdxInfo(AliExternalTrackParam *param, Int_t regionID, Int_t calibID, Int_t qID, Int_t valueID);
+private:
- Double32_t fTPCsignalRegion[4]; // TPC dEdx signal in 4 different regions - 0 - IROC, 1- OROC medium, 2 - OROC long, 3- OROC all, (default truncation used)
+ 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
+ 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
Char_t fTPCsignalNRegion[3]; // number of clusters above threshold used in the dEdx calculation
Char_t fTPCsignalNRowRegion[3]; // number of crosed rows used in the dEdx calculation - signal below threshold included
-
+ //
+ static TObjArray *fArraySectorCalibration;
- ClassDef(AliTPCdEdxInfo,1)
+ ClassDef(AliTPCdEdxInfo,3)
};
#endif