Line data Source code
1 : /**************************************************************************
2 : * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
3 : * *
4 : * Author: The ALICE Off-line Project. *
5 : * Contributors are mentioned in the code where appropriate. *
6 : * *
7 : * Permission to use, copy, modify and distribute this software and its *
8 : * documentation strictly for non-commercial purposes is hereby granted *
9 : * without fee, provided that the above copyright notice appears in all *
10 : * copies and that both the copyright notice and this permission notice *
11 : * appear in the supporting documentation. The authors make no claims *
12 : * about the suitability of this software for any purpose. It is *
13 : * provided "as is" without express or implied warranty. *
14 : **************************************************************************/
15 :
16 :
17 :
18 : //
19 : // Class to handle the AOD tracks with good HMPID data
20 : // Author: Levente Molnar
21 : // levente.molnar@cern.ch , March 2012
22 : //
23 :
24 : #include "AliAODHMPIDrings.h"
25 :
26 170 : ClassImp(AliAODHMPIDrings)
27 :
28 : //________________________________________________________________________________________________________________________________________________________
29 :
30 : AliAODHMPIDrings::AliAODHMPIDrings()
31 2 : :TObject(),
32 2 : fHmpidAODtrkId(0),
33 2 : fHmpidAODqn(0),
34 2 : fHmpidAODcluIdx(0),
35 2 : fHmpidAODtrkTheta(0),
36 2 : fHmpidAODtrkPhi(0),
37 2 : fHmpidAODsignal(0),
38 2 : fHmpidAODocc(0),
39 2 : fHmpidAODchi2(0),
40 2 : fHmpidAODtrkX(0),
41 2 : fHmpidAODtrkY(0),
42 2 : fHmpidAODmipX(0),
43 2 : fHmpidAODmipY(0)
44 :
45 10 : {
46 : //default ctor
47 24 : for(Int_t isp = 0 ; isp <AliPID::kSPECIES; isp++) fHmpidAODpid[isp] = 0;
48 16 : for ( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = 0;
49 4 : }
50 :
51 : //________________________________________________________________________________________________________________________________________________________
52 : AliAODHMPIDrings::AliAODHMPIDrings(
53 : Int_t trkId,
54 : Int_t qn,
55 : Int_t cluIdx,
56 : Double_t trkTheta,
57 : Double_t trkPhi,
58 : Double_t signal,
59 : Double_t occ,
60 : Double_t chi2,
61 : Double_t trkX,
62 : Double_t trkY,
63 : Double_t mipX,
64 : Double_t mipY,
65 : Double_t *pid,
66 : Double_t *p ):
67 15 : TObject(),
68 :
69 15 : fHmpidAODtrkId(trkId),
70 15 : fHmpidAODqn(qn),
71 15 : fHmpidAODcluIdx(cluIdx),
72 15 : fHmpidAODtrkTheta(trkTheta),
73 15 : fHmpidAODtrkPhi(trkPhi),
74 15 : fHmpidAODsignal(signal),
75 15 : fHmpidAODocc(occ),
76 15 : fHmpidAODchi2(chi2),
77 15 : fHmpidAODtrkX(trkX),
78 15 : fHmpidAODtrkY(trkY),
79 15 : fHmpidAODmipX(mipX),
80 15 : fHmpidAODmipY(mipY)
81 :
82 :
83 75 : {
84 : //
85 180 : for(Int_t isp = 0 ; isp <AliPID::kSPECIES; isp++) fHmpidAODpid[isp] = pid[isp];
86 120 : for ( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = p[ico];
87 :
88 30 : }
89 : //________________________________________________________________________________________________________________________________________________________
90 : AliAODHMPIDrings::AliAODHMPIDrings(const AliAODHMPIDrings& hmpidAOD):
91 :
92 0 : TObject(hmpidAOD),
93 0 : fHmpidAODtrkId(hmpidAOD.fHmpidAODtrkId),
94 0 : fHmpidAODqn(hmpidAOD.fHmpidAODqn),
95 0 : fHmpidAODcluIdx(hmpidAOD.fHmpidAODcluIdx),
96 0 : fHmpidAODtrkTheta(hmpidAOD.fHmpidAODtrkTheta),
97 0 : fHmpidAODtrkPhi(hmpidAOD.fHmpidAODtrkPhi),
98 0 : fHmpidAODsignal(hmpidAOD.fHmpidAODsignal),
99 0 : fHmpidAODocc(hmpidAOD.fHmpidAODocc),
100 0 : fHmpidAODchi2(hmpidAOD.fHmpidAODchi2),
101 0 : fHmpidAODtrkX(hmpidAOD.fHmpidAODtrkX),
102 0 : fHmpidAODtrkY(hmpidAOD.fHmpidAODtrkY),
103 0 : fHmpidAODmipX(hmpidAOD.fHmpidAODmipX),
104 0 : fHmpidAODmipY(hmpidAOD.fHmpidAODmipY)
105 :
106 :
107 0 : {
108 : //
109 0 : for(Int_t isp = 0 ; isp <AliPID::kSPECIES; isp++) fHmpidAODpid[isp] = hmpidAOD.fHmpidAODpid[isp];
110 0 : for ( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = hmpidAOD.fHMPIDmom[ico];
111 :
112 0 : }
113 :
114 : //________________________________________________________________________________________________________________________________________________________
115 : AliAODHMPIDrings& AliAODHMPIDrings::operator=(const AliAODHMPIDrings& hmpidAOD)
116 : {
117 0 : if (this!=&hmpidAOD) {
118 0 : AliAODHMPIDrings::operator=(hmpidAOD);
119 0 : fHmpidAODtrkId = hmpidAOD.fHmpidAODtrkId;
120 0 : fHmpidAODqn = hmpidAOD.fHmpidAODqn;
121 0 : fHmpidAODcluIdx = hmpidAOD.fHmpidAODcluIdx;
122 0 : fHmpidAODtrkTheta = hmpidAOD.fHmpidAODtrkTheta;
123 0 : fHmpidAODtrkPhi = hmpidAOD.fHmpidAODtrkPhi;
124 0 : fHmpidAODsignal = hmpidAOD.fHmpidAODsignal;
125 0 : fHmpidAODocc = hmpidAOD.fHmpidAODocc;
126 0 : fHmpidAODchi2 = hmpidAOD.fHmpidAODchi2;
127 0 : fHmpidAODtrkX = hmpidAOD.fHmpidAODtrkX;
128 0 : fHmpidAODtrkY = hmpidAOD.fHmpidAODtrkY;
129 0 : fHmpidAODmipX = hmpidAOD.fHmpidAODmipX;
130 0 : fHmpidAODmipY = hmpidAOD.fHmpidAODmipY;
131 :
132 0 : for(Int_t isp = 0 ; isp <AliPID::kSPECIES; isp++) fHmpidAODpid[isp] = hmpidAOD.fHmpidAODpid[isp];
133 0 : for ( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = hmpidAOD.fHMPIDmom[ico];
134 :
135 0 : }
136 :
137 0 : return *this;
138 :
139 : }
140 : //________________________________________________________________________________________________________________________________________________________
141 : void AliAODHMPIDrings::GetHmpPidProbs(Double_t *pid) const
142 : {
143 : // Gets probabilities of each particle type (in HMPID)
144 0 : for (Int_t i=0; i<AliPID::kSPECIES; i++) pid[i]=fHmpidAODpid[i];
145 0 : }
146 : //________________________________________________________________________________________________________________________________________________________
147 : void AliAODHMPIDrings::GetHmpMom(Double_t *mom) const
148 : {
149 0 : for( Int_t ico = 0 ; ico < 3; ico++) mom[ico] = fHMPIDmom[ico];
150 0 : }
151 : //________________________________________________________________________________________________________________________________________________________
152 : void AliAODHMPIDrings::SetHmpPidProbs(Double_t *pid)
153 : {
154 : // Gets probabilities of each particle type (in HMPID)
155 0 : for (Int_t i=0; i<AliPID::kSPECIES; i++) fHmpidAODpid[i] = pid[i];
156 0 : }
157 :
158 : //________________________________________________________________________________________________________________________________________________________
159 : void AliAODHMPIDrings::SetHmpMom(Double_t *mom)
160 : {
161 0 : for( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = mom[ico];
162 0 : }
163 : //________________________________________________________________________________________________________________________________________________________
164 :
|