1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 ///////////////////////////////////////////////////////////////////////////////
20 // Parameter class for the TRD reconstruction //
23 // Alex Bercuci <A.Bercuci@gsi.de> //
24 // Markus Fasel <M.Fasel@gsi.de> //
26 ///////////////////////////////////////////////////////////////////////////////
28 #include "AliTRDrecoParam.h"
29 #include "AliTRDrawStreamBase.h"
31 ClassImp(AliTRDrecoParam)
33 //______________________________________________________________
34 AliTRDrecoParam::AliTRDrecoParam()
35 :AliDetectorRecoParam()
45 ,fkPlaneQualityThreshold(5.0)// 4.2? under Investigation
46 ,fkRoadzMultiplicator(1.5)
48 ,fkChi2Z(30./*14.*//*12.5*/)
57 ,fkNMeanTracklets(5.5)
58 ,fkTrackLikelihood(-15.)
60 ,fMinLeftRightCutSigma(8.)
64 ,fNumberOfPresamples(0)
65 ,fNumberOfPostsamples(0)
68 // Default constructor
70 fSysCovMatrix[0] = 0.; // y direction (1 cm)
71 fSysCovMatrix[1] = 0.; // z direction (1 cm)
72 fSysCovMatrix[2] = 0.; // snp
73 fSysCovMatrix[3] = 0.; // tgl
74 fSysCovMatrix[4] = 0.; // 1/pt
76 memset(fPIDThreshold, 0, AliTRDCalPID::kNMom*sizeof(Double_t));
79 //______________________________________________________________
80 AliTRDrecoParam::AliTRDrecoParam(const AliTRDrecoParam &ref)
81 :AliDetectorRecoParam(ref)
82 ,fkdNchdy(ref.fkdNchdy)
83 ,fkMaxTheta(ref.fkMaxTheta)
84 ,fkMaxPhi(ref.fkMaxPhi)
85 ,fkRoad0y(ref.fkRoad0y)
86 ,fkRoad0z(ref.fkRoad0z)
87 ,fkRoad1y(ref.fkRoad1y)
88 ,fkRoad1z(ref.fkRoad1z)
89 ,fkRoad2y(ref.fkRoad2y)
90 ,fkRoad2z(ref.fkRoad2z)
91 ,fkPlaneQualityThreshold(ref.fkPlaneQualityThreshold)
92 ,fkRoadzMultiplicator(ref.fkRoadzMultiplicator)
93 ,fkFindable(ref.fkFindable)
96 ,fkChi2YSlope(ref.fkChi2YSlope)
97 ,fkChi2ZSlope(ref.fkChi2ZSlope)
98 ,fkChi2YCut(ref.fkChi2YCut)
99 ,fkPhiSlope(ref.fkPhiSlope)
100 ,fkNMeanClusters(ref.fkNMeanClusters)
101 ,fkNSigmaClusters(ref.fkNSigmaClusters)
102 ,fkNClusterNoise(ref.fkNClusterNoise)
103 ,fkNMeanTracklets(ref.fkNMeanTracklets)
104 ,fkTrackLikelihood(ref.fkTrackLikelihood)
105 ,fMinMaxCutSigma(ref.fMinMaxCutSigma)
106 ,fMinLeftRightCutSigma(ref.fMinLeftRightCutSigma)
107 ,fClusMaxThresh(ref.fClusMaxThresh)
108 ,fClusSigThresh(ref.fClusSigThresh)
109 ,fTCnexp(ref.fTCnexp)
110 ,fNumberOfPresamples(ref.fNumberOfPresamples)
111 ,fNumberOfPostsamples(ref.fNumberOfPostsamples)
116 memcpy(fSysCovMatrix, ref.fSysCovMatrix, 5*sizeof(Double_t));
117 memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
120 //______________________________________________________________
121 AliTRDrecoParam *AliTRDrecoParam::GetLowFluxParam()
124 // Parameters for the low flux environment
127 AliTRDrecoParam *rec = new AliTRDrecoParam();
128 rec->fkdNchdy = 12.; // pp in TRD
133 //______________________________________________________________
134 AliTRDrecoParam *AliTRDrecoParam::GetHighFluxParam()
137 // Parameters for the high flux environment
140 AliTRDrecoParam *rec = new AliTRDrecoParam();
141 rec->fkdNchdy = 4000.; // PbPb in TRD
147 //______________________________________________________________
148 AliTRDrecoParam *AliTRDrecoParam::GetCosmicTestParam()
151 // Parameters for the cosmics data
154 AliTRDrawStreamBase::SetRawStreamVersion("TB");
155 AliTRDrecoParam *par = new AliTRDrecoParam();
156 par->fSysCovMatrix[0] = 2.; // y direction (1 cm)
157 par->fSysCovMatrix[1] = 2.; // z direction (1 cm)
158 par->fkChi2YSlope = 0.11853;
159 par->fkChi2ZSlope = 0.04527;
160 par->fkChi2YCut = 1.;
161 par->fkPhiSlope = 10.; //3.17954;
162 par->fkMaxTheta = 2.1445;
163 par->fkMaxPhi = 2.7475;
164 par->fkNMeanClusters = 12.89;
165 par->fkNSigmaClusters = 2.095;
166 par->fkRoadzMultiplicator = 3.;
172 //______________________________________________________________
173 Float_t AliTRDrecoParam::GetNClusters() const
175 // Estimate the number of clusters in the TRD detector
177 Float_t nclusters = (fkNMeanClusters + 2*fkNSigmaClusters)*fkNMeanTracklets*fkdNchdy;
178 nclusters *= 1.+fkNClusterNoise;