]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TRD/AliTRDrecoParam.cxx
temporary bug fix (speed issues)
[u/mrichter/AliRoot.git] / TRD / AliTRDrecoParam.cxx
... / ...
CommitLineData
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/* $Id$ */
17
18///////////////////////////////////////////////////////////////////////////////
19// //
20// Parameter class for the TRD reconstruction //
21// //
22// Authors: //
23// Alex Bercuci <A.Bercuci@gsi.de> //
24// Markus Fasel <M.Fasel@gsi.de> //
25// //
26///////////////////////////////////////////////////////////////////////////////
27
28#include "AliTRDrecoParam.h"
29#include "AliTRDrawStreamBase.h"
30
31ClassImp(AliTRDrecoParam)
32
33//______________________________________________________________
34AliTRDrecoParam::AliTRDrecoParam()
35 :AliDetectorRecoParam()
36 ,fkdNchdy(12.)
37 ,fkMaxTheta(1.0)
38 ,fkMaxPhi(2.0)
39 ,fkRoad0y(6.0)
40 ,fkRoad0z(8.5)
41 ,fkRoad1y(2.0)
42 ,fkRoad1z(20.0)
43 ,fkRoad2y(3.0)
44 ,fkRoad2z(20.0)
45 ,fkPlaneQualityThreshold(5.0)// 4.2? under Investigation
46 ,fkFindable(.333)
47 ,fkChi2Z(30./*14.*//*12.5*/)
48 ,fkChi2Y(.25)
49 ,fkChi2YSlope(7.73)
50 ,fkChi2ZSlope(0.069)
51 ,fkChi2YCut(0.5)
52 ,fkPhiSlope(10.6)
53 ,fkNMeanClusters(20.)
54 ,fkNSigmaClusters(2.)
55 ,fkNClusterNoise(0.)
56 ,fkNMeanTracklets(5.5)
57 ,fkTrackLikelihood(-15.)
58 ,fMinMaxCutSigma(4.)
59 ,fMinLeftRightCutSigma(8.)
60 ,fClusMaxThresh(4.5)
61 ,fClusSigThresh(3.5)
62 ,fTCnexp(1)
63 ,fNumberOfPresamples(0)
64 ,fNumberOfPostsamples(0)
65{
66 //
67 // Default constructor
68 //
69 fSysCovMatrix[0] = 0.; // y direction (1 cm)
70 fSysCovMatrix[1] = 0.; // z direction (1 cm)
71 fSysCovMatrix[2] = 0.; // snp
72 fSysCovMatrix[3] = 0.; // tgl
73 fSysCovMatrix[4] = 0.; // 1/pt
74
75 memset(fPIDThreshold, 0, AliTRDCalPID::kNMom*sizeof(Double_t));
76}
77
78//______________________________________________________________
79AliTRDrecoParam::AliTRDrecoParam(const AliTRDrecoParam &ref)
80 :AliDetectorRecoParam(ref)
81 ,fkdNchdy(ref.fkdNchdy)
82 ,fkMaxTheta(ref.fkMaxTheta)
83 ,fkMaxPhi(ref.fkMaxPhi)
84 ,fkRoad0y(ref.fkRoad0y)
85 ,fkRoad0z(ref.fkRoad0z)
86 ,fkRoad1y(ref.fkRoad1y)
87 ,fkRoad1z(ref.fkRoad1z)
88 ,fkRoad2y(ref.fkRoad2y)
89 ,fkRoad2z(ref.fkRoad2z)
90 ,fkPlaneQualityThreshold(ref.fkPlaneQualityThreshold)
91 ,fkFindable(ref.fkFindable)
92 ,fkChi2Z(ref.fkChi2Z)
93 ,fkChi2Y(ref.fkChi2Y)
94 ,fkChi2YSlope(ref.fkChi2YSlope)
95 ,fkChi2ZSlope(ref.fkChi2ZSlope)
96 ,fkChi2YCut(ref.fkChi2YCut)
97 ,fkPhiSlope(ref.fkPhiSlope)
98 ,fkNMeanClusters(ref.fkNMeanClusters)
99 ,fkNSigmaClusters(ref.fkNSigmaClusters)
100 ,fkNClusterNoise(ref.fkNClusterNoise)
101 ,fkNMeanTracklets(ref.fkNMeanTracklets)
102 ,fkTrackLikelihood(ref.fkTrackLikelihood)
103 ,fMinMaxCutSigma(ref.fMinMaxCutSigma)
104 ,fMinLeftRightCutSigma(ref.fMinLeftRightCutSigma)
105 ,fClusMaxThresh(ref.fClusMaxThresh)
106 ,fClusSigThresh(ref.fClusSigThresh)
107 ,fTCnexp(ref.fTCnexp)
108 ,fNumberOfPresamples(ref.fNumberOfPresamples)
109 ,fNumberOfPostsamples(ref.fNumberOfPostsamples)
110{
111 //
112 // Copy constructor
113 //
114 memcpy(fSysCovMatrix, ref.fSysCovMatrix, 5*sizeof(Double_t));
115 memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
116}
117
118//______________________________________________________________
119AliTRDrecoParam *AliTRDrecoParam::GetLowFluxParam()
120{
121 //
122 // Parameters for the low flux environment
123 //
124
125 AliTRDrecoParam *rec = new AliTRDrecoParam();
126 rec->fkdNchdy = 12.; // pp in TRD
127 return rec;
128
129}
130
131//______________________________________________________________
132AliTRDrecoParam *AliTRDrecoParam::GetHighFluxParam()
133{
134 //
135 // Parameters for the high flux environment
136 //
137
138 AliTRDrecoParam *rec = new AliTRDrecoParam();
139 rec->fkdNchdy = 4000.; // PbPb in TRD
140
141 return rec;
142
143}
144
145//______________________________________________________________
146AliTRDrecoParam *AliTRDrecoParam::GetCosmicTestParam()
147{
148 //
149 // Parameters for the cosmics data
150 //
151
152 AliTRDrawStreamBase::SetRawStreamVersion("TB");
153 AliTRDrecoParam *par = new AliTRDrecoParam();
154 par->fSysCovMatrix[0] = 2.; // y direction (1 cm)
155 par->fSysCovMatrix[1] = 2.; // z direction (1 cm)
156 par->fkChi2YSlope = 0.11853;
157 par->fkChi2ZSlope = 0.04527;
158 par->fkChi2YCut = 1.;
159 par->fkPhiSlope = 10.; //3.17954;
160 par->fkMaxTheta = 2.1445;
161 par->fkMaxPhi = 2.7475;
162 par->fkNMeanClusters = 12.89;
163 par->fkNSigmaClusters = 2.095;
164 return par;
165
166}
167
168
169//______________________________________________________________
170Float_t AliTRDrecoParam::GetNClusters() const
171{
172 // Estimate the number of clusters in the TRD detector
173
174 Float_t nclusters = (fkNMeanClusters + 2*fkNSigmaClusters)*fkNMeanTracklets*fkdNchdy;
175 nclusters *= 1.+fkNClusterNoise;
176 return nclusters;
177}