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
47 ,fkChi2Z(30./*14.*//*12.5*/)
56 ,fkNMeanTracklets(5.5)
57 ,fkTrackLikelihood(-15.)
59 ,fMinLeftRightCutSigma(8.)
63 ,fNumberOfPresamples(0)
64 ,fNumberOfPostsamples(0)
67 // Default constructor
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
75 memset(fPIDThreshold, 0, AliTRDCalPID::kNMom*sizeof(Double_t));
78 //______________________________________________________________
79 AliTRDrecoParam::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)
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)
114 memcpy(fSysCovMatrix, ref.fSysCovMatrix, 5*sizeof(Double_t));
115 memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
118 //______________________________________________________________
119 AliTRDrecoParam *AliTRDrecoParam::GetLowFluxParam()
122 // Parameters for the low flux environment
125 AliTRDrecoParam *rec = new AliTRDrecoParam();
126 rec->fkdNchdy = 12.; // pp in TRD
131 //______________________________________________________________
132 AliTRDrecoParam *AliTRDrecoParam::GetHighFluxParam()
135 // Parameters for the high flux environment
138 AliTRDrecoParam *rec = new AliTRDrecoParam();
139 rec->fkdNchdy = 4000.; // PbPb in TRD
145 //______________________________________________________________
146 AliTRDrecoParam *AliTRDrecoParam::GetCosmicTestParam()
149 // Parameters for the cosmics data
152 AliTRDrawStreamBase::SetRawStreamVersion("TB");
153 AliTRDrecoParam *par = new AliTRDrecoParam();
154 par->fSysCovMatrix[0] = 1.; // y direction (1 cm)
155 par->fSysCovMatrix[1] = 1.; // z direction (1 cm)
156 par->fkChi2YSlope = 0.11853;
157 par->fkChi2ZSlope = 0.04527;
158 par->fkChi2YCut = 1.;
159 par->fkPhiSlope = 3.17954;
160 par->fkMaxTheta = 2.1445;
161 par->fkMaxPhi = 2.7475;
162 par->fkNMeanClusters = 12.89;
163 par->fkNSigmaClusters = 2.095;
169 //______________________________________________________________
170 Float_t AliTRDrecoParam::GetNClusters() const
172 // Estimate the number of clusters in the TRD detector
174 Float_t nclusters = (fkNMeanClusters + 2*fkNSigmaClusters)*fkNMeanTracklets*fkdNchdy;
175 nclusters *= 1.+fkNClusterNoise;