]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliHFEreducedTrack.cxx
Fix
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEreducedTrack.cxx
1 /**************************************************************************
2 * Copyright(c) 1998-1999, 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 // Debug track
17 // the tree is represented as reduced events
18 // 
19 // Authors:
20 //   M.Fasel <M.Fasel@gsi.de>
21 //
22
23 #include <cstring>
24
25 #include "AliHFEreducedTrack.h"
26
27 ClassImp(AliHFEreducedTrack)
28
29
30 //_______________________________________
31 AliHFEreducedTrack::AliHFEreducedTrack():
32 TObject(),
33   fSignedPt(0.),
34   fP(0.),
35   fEta(0.),
36   fPhi(0.),
37   fTPCmomentum(0.),
38   fFilterBit(20),
39   fTrackID(0),
40   fMCSignedPt(0.),
41   fMCP(0.),
42   fMCEta(0.),
43   fMCPhi(0.),
44   fMCPDG(0),
45   fMCMotherPdg(0),
46   fMCSignal(kFALSE),
47   fMCSource(5),
48   fMCEleSource(0),
49   fTrackStatus(8),
50   fNclustersITS(0),
51   fNclustersTPC(0),
52   fNclustersTRD(0),
53   fITSclusterMap(6),
54   fITSstatusMap(6),
55   fNclustersTPCPID(0),
56   fNclustersTPCAll(0),
57   fTPCcrossedRows(0),
58   fTPCsharedClusters(0),
59   fTPCclusterRatio(0.),
60   fTPCclusterRatioAll(0.),
61   fChi2PerTPCcluster(0.),
62   fTRDtrackletsPID(0),
63   fTRDnslices(0),
64   fTRDlayer(6),
65   fTRDchi2(0.),
66   fTPCdEdx(0.),
67   fTPCdEdxCorrected(0.),
68   fTPCsigmaEl(-1000.),
69   fTPCsigmaElCorrected(-1000.),
70   fTOFsigmaEl(-1000.),
71   fTOFsigmaDeuteron(-1000.),
72   fTOFmismatchProb(0.),
73   fITSsigmaEl(-1000.),
74   fEoverP(-1.),
75   fEMCALsigmaEl(-1000.),
76   fV0PID(kV0undef),
77   fV0ProdR(-0.1),
78   fDCAerr(0.)
79 {
80   // 
81   // Default Constuctor
82   //
83   memset(fMCProdVtx, 0, sizeof(Double_t)*3);
84   memset(fMCMotherProdVtx, 0, sizeof(Double_t)*3);
85   memset(fShowerShape, 0, sizeof(Double_t)*4);
86   memset(fDCA, 0, sizeof(Float_t)*2);
87   fHFEImpactParam[0] = -999.;
88   fHFEImpactParam[1] = -999.;
89 }
90
91 //_______________________________________
92 AliHFEreducedTrack::AliHFEreducedTrack(const AliHFEreducedTrack &ref):
93   TObject(ref),
94   fSignedPt(ref.fSignedPt),
95   fP(ref.fP),
96   fEta(ref.fEta),
97   fPhi(ref.fPhi),
98   fTPCmomentum(ref.fTPCmomentum),
99   fFilterBit(ref.fFilterBit),
100   fTrackID(ref.fTrackID),
101   fMCSignedPt(ref.fMCSignedPt),
102   fMCP(ref.fMCP),
103   fMCEta(ref.fMCEta),
104   fMCPhi(ref.fMCPhi),
105   fMCPDG(ref.fMCPDG),
106   fMCMotherPdg(ref.fMCMotherPdg),
107   fMCSignal(ref.fMCSignal),
108   fMCSource(ref.fMCSource),
109   fMCEleSource(ref.fMCEleSource),
110   fTrackStatus(ref.fTrackStatus),
111   fNclustersITS(ref.fNclustersITS),
112   fNclustersTPC(ref.fNclustersTPC),
113   fNclustersTRD(ref.fNclustersTRD),
114   fITSclusterMap(ref.fITSclusterMap),
115   fITSstatusMap(ref.fITSstatusMap),
116   fNclustersTPCPID(ref.fNclustersTPCPID),
117   fNclustersTPCAll(ref.fNclustersTPCAll),
118   fTPCcrossedRows(ref.fTPCcrossedRows),
119   fTPCsharedClusters(ref.fTPCsharedClusters),
120   fTPCclusterRatio(ref.fTPCclusterRatio),
121   fTPCclusterRatioAll(ref.fTPCclusterRatioAll),
122   fChi2PerTPCcluster(ref.fChi2PerTPCcluster),
123   fTRDtrackletsPID(ref.fTRDtrackletsPID),
124   fTRDnslices(ref.fTRDnslices),
125   fTRDlayer(ref.fTRDlayer),
126   fTRDchi2(ref.fTRDchi2),
127   fTPCdEdx(ref.fTPCdEdx),
128   fTPCdEdxCorrected(ref.fTPCdEdxCorrected),
129   fTPCsigmaEl(ref.fTPCsigmaEl),
130   fTPCsigmaElCorrected(ref.fTPCsigmaElCorrected),
131   fTOFsigmaEl(ref.fTOFsigmaEl),
132   fTOFsigmaDeuteron(ref.fTOFsigmaDeuteron),
133   fTOFmismatchProb(ref.fTOFmismatchProb),
134   fITSsigmaEl(ref.fITSsigmaEl),
135   fEoverP(ref.fEoverP),
136   fEMCALsigmaEl(ref.fEMCALsigmaEl),
137   fV0PID(ref.fV0PID),
138   fV0ProdR(ref.fV0ProdR),
139   fDCAerr(ref.fDCAerr)
140 {
141   // 
142   // Copy Constuctor
143   //
144   memcpy(fMCProdVtx, ref.fMCProdVtx, sizeof(Double_t) *3);
145   memcpy(fMCMotherProdVtx, ref.fMCMotherProdVtx, sizeof(Double_t) *3);
146   memcpy(fShowerShape, ref.fShowerShape, sizeof(Double_t)*4);
147   memcpy(fDCA, ref.fDCA, sizeof(Float_t)*2);
148   memcpy(fHFEImpactParam, ref.fHFEImpactParam, sizeof(Double_t) * 2);
149 }
150
151 //_______________________________________
152 AliHFEreducedTrack &AliHFEreducedTrack::operator=(const AliHFEreducedTrack &ref){
153   //
154   // Assignment Operator
155   //
156   if(&ref != this){
157     TObject::operator=(ref);
158     fSignedPt = ref.fSignedPt;
159     fP = ref.fP;
160     fEta = ref.fEta;
161     fPhi = ref.fPhi;
162     fTPCmomentum = ref.fTPCmomentum;
163     fFilterBit = ref.fFilterBit;
164     fTrackID = ref.fTrackID;
165     fMCSignedPt = ref.fMCSignedPt;
166     fMCP = ref.fMCP;
167     fMCEta = ref.fMCEta;
168     fMCPhi = ref.fMCPhi;
169     fMCPDG = ref.fMCPDG;
170     fMCMotherPdg = ref.fMCMotherPdg;
171     fMCSignal = ref.fMCSignal;
172     fMCSource = ref.fMCSource;
173     fMCEleSource = ref.fMCEleSource;
174     memcpy(fMCProdVtx, ref.fMCProdVtx, sizeof(Double_t) *3);
175     memcpy(fMCMotherProdVtx, ref.fMCMotherProdVtx, sizeof(Double_t) *3);
176     fTrackStatus =ref.fTrackStatus;
177     fNclustersITS = ref.fNclustersITS;
178     fNclustersTPC = ref.fNclustersTPC;
179     fNclustersTRD = ref.fNclustersTRD;
180     fITSclusterMap = ref.fITSclusterMap;
181     fITSstatusMap = ref.fITSstatusMap;
182     fNclustersTPCPID = ref.fNclustersTPCPID;
183     fNclustersTPCAll = ref.fNclustersTPCAll;
184     fTPCcrossedRows = ref.fTPCcrossedRows;
185     fTPCsharedClusters = ref.fTPCsharedClusters;
186     fTPCclusterRatio = ref.fTPCclusterRatio;
187     fTPCclusterRatioAll = ref.fTPCclusterRatioAll;
188     fChi2PerTPCcluster = ref.fChi2PerTPCcluster;
189     fTRDtrackletsPID = ref.fTRDtrackletsPID;
190     fTRDnslices = ref.fTRDnslices;
191     fTRDlayer = ref.fTRDlayer;
192     fTRDchi2 = ref.fTRDchi2;
193     fTPCdEdx = ref.fTPCdEdx;
194     fTPCdEdxCorrected = ref.fTPCdEdxCorrected;
195     fTPCsigmaEl = ref.fTPCsigmaEl;
196     fTPCsigmaElCorrected = ref.fTPCsigmaElCorrected;
197     fTOFsigmaEl = ref.fTOFsigmaEl;
198     fTOFmismatchProb = ref.fTOFmismatchProb;
199     fITSsigmaEl = ref.fITSsigmaEl;
200     fEoverP = ref.fEoverP;
201     fEMCALsigmaEl = ref.fEMCALsigmaEl;
202     fV0PID = ref.fV0PID;
203     fV0ProdR = ref.fV0ProdR;
204     memcpy(fShowerShape, ref.fShowerShape, sizeof(Double_t)*4);
205     memcpy(fDCA, ref.fDCA, sizeof(Float_t)*2);
206     memcpy(fHFEImpactParam, ref.fHFEImpactParam, sizeof(Double_t) * 2);
207   }
208   return *this;
209 }