4 //_____________________________________________________________________________
6 // Author: Jaroslav Adam
7 //_____________________________________________________________________________
13 class AliUPCTrack : public TObject
18 virtual ~AliUPCTrack() {};
20 void Clear(Option_t * /*option*/ ="");
23 void SetPxPyPz(Double_t p[3]) {fP[0]=p[0]; fP[1]=p[1]; fP[2]=p[2];}
24 void SetCharge(Short_t charge) {fCharge=charge;}
25 void SetMaskMan(UChar_t mask) {fMaskMan=mask;}
26 void SetFilterMap(UInt_t map) {fFilterMap=map;}
27 void SetFilterBit(UInt_t ibit) {fFilterMap |= (1 << ibit);}
28 void SetChi2perNDF(Double_t chi2) {fChi2perNDF=chi2;}
30 void SetTPCmomentum(Double_t momentum) {fTPCmomentum=momentum;}
31 void SetTPCsignal(Double_t signal) {fTPCsignal=signal;}
32 void SetTPCNcls(UShort_t ncls) {fTPCncls=ncls;}
33 void SetTPCCrossedRows(Float_t nrows) {fTPCrows=nrows;}
34 void SetTPCNclsF(UShort_t ncls) {fTPCnclsF=ncls;}
35 void SetTPCNclsS(UShort_t ncls) {fTPCnclsS=ncls;}
37 void SetITSchi2perNDF(Double_t chi2) {fITSchi2perNDF=chi2;}
38 void SetITSClusterMap(UChar_t cmap) {fITSClusterMap=cmap;}
40 void SetImpactParameters(Float_t *p, Float_t *cov);
41 void SetImpactParametersSPD(Float_t *p, Float_t *cov);
42 void SetImpactParametersIP(Float_t *p, Float_t *cov);
45 void GetPxPyPz(Double_t p[3]) const {p[0]=fP[0]; p[1]=fP[1]; p[2]=fP[2];}
46 void GetMomentum(TLorentzVector *v, Double_t mass) const;
47 Short_t GetCharge(void) const { return fCharge; }
48 UChar_t GetMaskMan(void) const { return fMaskMan; }
49 UInt_t GetFilterMap(void) const { return fFilterMap; }
50 Bool_t TestFilterBit(UInt_t filterBit) const {return (Bool_t) ((filterBit & fFilterMap) != 0);}
51 Double_t GetChi2perNDF(void) const { return fChi2perNDF; }
53 Double_t GetTPCmomentum(void) const { return fTPCmomentum; }
54 Double_t GetTPCsignal(void) const { return fTPCsignal; }
55 UShort_t GetTPCNcls() const { return fTPCncls; }
56 Float_t GetTPCCrossedRows() const { return fTPCrows; }
57 UShort_t GetTPCNclsF() const { return fTPCnclsF; }
58 UShort_t GetTPCNclsS() const { return fTPCnclsS; }
60 Double_t GetITSchi2perNDF(void) const { return fITSchi2perNDF; }
61 UChar_t GetITSClusterMap(void) const { return fITSClusterMap; }
62 Int_t GetITSNcls(void) const;
64 void GetImpactParameters(Double_t &xy, Double_t &z) const {xy = (Double_t) fDZ[0]; z = (Double_t) fDZ[1];}
65 void GetImpactParameters(Double_t *p, Double_t *cov) const;
67 void GetImpactParametersSPD(Double_t &xy, Double_t &z) const {xy = (Double_t) fdzSPD[0]; z = (Double_t) fdzSPD[1];}
68 void GetImpactParametersSPD(Double_t *p, Double_t *cov) const;
70 void GetImpactParametersIP(Double_t &xy, Double_t &z) const {xy = (Double_t) fdzIP[0]; z = (Double_t) fdzIP[1];}
71 void GetImpactParametersIP(Double_t *p, Double_t *cov) const;
74 AliUPCTrack(const AliUPCTrack &o);
75 AliUPCTrack &operator=(const AliUPCTrack &o);
77 Double_t fP[3]; // momentum px, py, pz
78 Short_t fCharge; // track charge
79 UChar_t fMaskMan; // 8-bit filter mask, manual fill
80 UInt_t fFilterMap; // // filter information, one bit per set of cuts, 32 bit
81 Double_t fChi2perNDF; // chi2/NDF of momentum fit
82 Double_t fTPCmomentum; // tpc momentum
83 Double_t fTPCsignal; // tpc dEdx signal
84 UShort_t fTPCncls; // number of clusters assigned in the TPC
85 Float_t fTPCrows; // number of of crossed raws in TPC
86 UShort_t fTPCnclsF; // number of findable clusters in the TPC
87 UShort_t fTPCnclsS; // number of shared clusters in the TPC
88 Double_t fITSchi2perNDF; // chi2 in ITS per cluster
89 UChar_t fITSClusterMap; // map of clusters, one bit per a layer
90 Float_t fDZ[2]; // impact parameters in XY and Z to default primary vertex
91 Float_t fCov[3]; // Covariance matrix of the impact parameters
92 Float_t fdzSPD[2]; // SPD impact parameters in XY and Z
93 Float_t fCovSPD[3]; // Covariance matrix of the impact parameters to the SPD vertex
94 Float_t fdzIP[2]; // impact parameters in XY and Z to nominal interaction point
95 Float_t fCovIP[3]; // Covariance matrix of the impact parameters to nominal interaction point
97 ClassDef(AliUPCTrack,1)