]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AOD/AliAODHMPIDrings.h
#99183: commit to trunk and port to release AliAODTZERO with T0 vertex
[u/mrichter/AliRoot.git] / STEER / AOD / AliAODHMPIDrings.h
CommitLineData
3bf10ad9 1#ifndef ALIAODHMPIDRINGS_H
2#define ALIAODHMPIDRINGS_H
3
4
5//
6// Class to handle the AOD tracks with good HMPID rings
7// Author: Levente Molnar
8// levente.molnar@cern.ch , March 2012
9//
10
11
12
13//___ROOT includes
14#include <TMath.h>
15//___AliRoot includes
16#include "AliPID.h"
17
18
19class AliAODHMPIDrings : public TObject {
20
21 public:
22
23 AliAODHMPIDrings();
24 AliAODHMPIDrings(
25 Int_t trkId,
26 Int_t qn,
27 Int_t cluIdx,
28 Double32_t trkTheta,
29 Double32_t trkPhi,
30 Double32_t signal,
31 Double32_t occ,
32 Double32_t chi2,
33 Double32_t trkX,
34 Double32_t trkY,
35 Double32_t mipX,
36 Double32_t mipY,
37 Double32_t *pid,
38 Double32_t *p ); //
39
40
41 AliAODHMPIDrings(const AliAODHMPIDrings& hmpidAOD);//
42 AliAODHMPIDrings &operator=(const AliAODHMPIDrings& hmpidAOD);//
43 virtual ~AliAODHMPIDrings() {};
44
45 //___ Getters
46 Double32_t GetHmpTrkID() { return fHmpidAODtrkId; }
47
48 Double32_t GetHmpMipCharge() { return fHmpidAODqn%1000000; }
49 Double32_t GetHmpNumOfPhotonClusters() { return fHmpidAODqn/1000000;}
50
51 Int_t GetHmpChamber() { return fHmpidAODcluIdx/1000000; }
52
53 Double32_t GetHmpTrackTheta() { return fHmpidAODtrkTheta;}
54 Double32_t GetHmpTrackPhi() { return fHmpidAODtrkPhi;}
55
56 Double32_t GetHmpSignal() { return fHmpidAODsignal;}
57 Double32_t GetHmpOccupancy() { return fHmpidAODocc;}
58
59 Double32_t GetHmpChi2() { return fHmpidAODchi2;}
60
61 Double32_t GetHmpTrackX() { return fHmpidAODtrkX;}
62 Double32_t GetHmpTrackY() { return fHmpidAODtrkY;}
63
64 Double32_t GetHmpMipX() { return fHmpidAODmipX;}
65 Double32_t GetHmpMipY() { return fHmpidAODmipY;}
66
67 Double32_t GetHmpDX() { return fHmpidAODmipX - fHmpidAODtrkX;}
68 Double32_t GetHmpDY() { return fHmpidAODmipY - fHmpidAODtrkY;}
69 Double32_t GetHmpDist() { return TMath::Sqrt((fHmpidAODmipX - fHmpidAODtrkX)*(fHmpidAODmipX - fHmpidAODtrkX) + (fHmpidAODmipY - fHmpidAODtrkY)*(fHmpidAODmipY - fHmpidAODtrkY));}
70
71
72 void GetHmpPidProbs(Double32_t *pid); //defined in cxx
73 void GetHmpMom(Double32_t *mom); //defined in cxx
74
75 //___ Setters
76
77 void SetHmpMipCharge(Int_t q) { fHmpidAODqn = q; }
78 void SetHmpCluIdx(Int_t ch,Int_t idx) { fHmpidAODcluIdx=ch*1000000+idx;}
79
80 void SetHmpNumOfPhotonClusters(Int_t nph) { fHmpidAODqn = 1000000 * nph;}
81
82 void SetHmpTrackTheta(Double32_t trkTheta) { fHmpidAODtrkTheta = trkTheta;}
83 void SetHmpTrackPhi(Double32_t trkPhi) { fHmpidAODtrkPhi = trkPhi;}
84
85 void SetHmpSignal(Double32_t thetaC) { fHmpidAODsignal = thetaC;}
86 void SetHmpOccupancy(Double32_t occ) { fHmpidAODocc = occ;}
87
88 void SetHmpChi2(Double32_t chi2) { fHmpidAODchi2 = chi2;}
89
90 void SetHmpTrackX(Double32_t trkX) { fHmpidAODtrkX = trkX;}
91 void SetHmpTrackY(Double32_t trkY) { fHmpidAODtrkY = trkY;}
92
93 void SetHmpMipX(Double32_t mipX) { fHmpidAODmipX = mipX;}
94 void SetHmpMipY(Double32_t mipY) { fHmpidAODmipY = mipY;}
95
96 void SetHmpPidProbs(Double32_t *pid);
97 void SetHmpMom(Double32_t *mom);
98
99
100 // blablabla
101
102
103
104 protected:
105
106 Int_t fHmpidAODtrkId; // Unique track id as in ESD
107 Int_t fHmpidAODqn; // 1000000*number of photon clusters + QDC
108 Int_t fHmpidAODcluIdx; // 1000000*chamber id + cluster idx of the assigned MIP cluster
109
110 Double32_t fHmpidAODtrkTheta; // [-2*pi,2*pi,16] theta of the track extrapolated to the HMPID, LORS
111 Double32_t fHmpidAODtrkPhi; // [-2*pi,2*pi,16] theta of the track extrapolated to the HMPID, LORS
112 Double32_t fHmpidAODsignal; // [0,0.9,8] HMPID signal (Theta ckov, rad)
113 Double32_t fHmpidAODocc; // [0,0,,8] chamber occupancy where the track passed through: number of pads
114 Double32_t fHmpidAODchi2; // [0.,0.,8] chi2 in the HMPID
115 Double32_t fHmpidAODtrkX; // [0.,0.,8] x of the track impact, LORS
116 Double32_t fHmpidAODtrkY; // [0.,0.,8] y of the track impact, LORS
117 Double32_t fHmpidAODmipX; // [0.,0.,8] x of the MIP in LORS
118 Double32_t fHmpidAODmipY; // [0.,0.,8] y of the MIP in LORS
119 Double32_t fHmpidAODpid[AliPID::kSPECIES]; // [0.,0.,8] "detector response probabilities" (for the PID)
120 Double32_t fHMPIDmom[3]; // [0.,0.,8] track momentum at the HMPID ring reconstruction
121
122 ClassDef(AliAODHMPIDrings,1)
123
124};
125#endif