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
71 SetClusterSharing(kFALSE);
72 SetVertexConstrained();
73 SetImproveTracklets(kFALSE);
75 fSysCovMatrix[0] = 1.; // y direction (1 cm)
76 fSysCovMatrix[1] = 1.; // z direction (1 cm)
77 fSysCovMatrix[2] = 0.; // snp
78 fSysCovMatrix[3] = 0.; // tgl
79 fSysCovMatrix[4] = 0.; // 1/pt
81 memset(fPIDThreshold, 0, AliTRDCalPID::kNMom*sizeof(Double_t));
84 //______________________________________________________________
85 AliTRDrecoParam::AliTRDrecoParam(const AliTRDrecoParam &ref)
86 :AliDetectorRecoParam(ref)
87 ,fkdNchdy(ref.fkdNchdy)
88 ,fkMaxTheta(ref.fkMaxTheta)
89 ,fkMaxPhi(ref.fkMaxPhi)
90 ,fkRoad0y(ref.fkRoad0y)
91 ,fkRoad0z(ref.fkRoad0z)
92 ,fkRoad1y(ref.fkRoad1y)
93 ,fkRoad1z(ref.fkRoad1z)
94 ,fkRoad2y(ref.fkRoad2y)
95 ,fkRoad2z(ref.fkRoad2z)
96 ,fkPlaneQualityThreshold(ref.fkPlaneQualityThreshold)
97 ,fkFindable(ref.fkFindable)
100 ,fkChi2YSlope(ref.fkChi2YSlope)
101 ,fkChi2ZSlope(ref.fkChi2ZSlope)
102 ,fkChi2YCut(ref.fkChi2YCut)
103 ,fkPhiSlope(ref.fkPhiSlope)
104 ,fkNMeanClusters(ref.fkNMeanClusters)
105 ,fkNSigmaClusters(ref.fkNSigmaClusters)
106 ,fkNClusterNoise(ref.fkNClusterNoise)
107 ,fkNMeanTracklets(ref.fkNMeanTracklets)
108 ,fkTrackLikelihood(ref.fkTrackLikelihood)
109 ,fMinMaxCutSigma(ref.fMinMaxCutSigma)
110 ,fMinLeftRightCutSigma(ref.fMinLeftRightCutSigma)
111 ,fClusMaxThresh(ref.fClusMaxThresh)
112 ,fClusSigThresh(ref.fClusSigThresh)
113 ,fTCnexp(ref.fTCnexp)
114 ,fNumberOfPresamples(ref.fNumberOfPresamples)
115 ,fNumberOfPostsamples(ref.fNumberOfPostsamples)
120 SetClusterSharing(ref.IsClusterSharing());
121 SetVertexConstrained(ref.IsVertexConstrained());
123 SetTailCancelation(ref.IsTailCancelation());
124 SetImproveTracklets(ref.HasImproveTracklets());
126 memcpy(fSysCovMatrix, ref.fSysCovMatrix, 5*sizeof(Double_t));
127 memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
130 //______________________________________________________________
131 AliTRDrecoParam *AliTRDrecoParam::GetLowFluxParam()
134 // Parameters for the low flux environment
137 AliTRDrecoParam *rec = new AliTRDrecoParam();
138 rec->fkdNchdy = 12.; // pp in TRD
143 //______________________________________________________________
144 AliTRDrecoParam *AliTRDrecoParam::GetHighFluxParam()
147 // Parameters for the high flux environment
150 AliTRDrecoParam *rec = new AliTRDrecoParam();
151 rec->fkdNchdy = 4000.; // PbPb in TRD
152 rec->SetImproveTracklets(kTRUE);
158 //______________________________________________________________
159 AliTRDrecoParam *AliTRDrecoParam::GetCosmicTestParam()
162 // Parameters for the cosmics data
165 AliTRDrawStreamBase::SetRawStreamVersion("TB");
166 AliTRDrecoParam *par = new AliTRDrecoParam();
167 par->SetVertexConstrained(kFALSE);
168 par->fkChi2YSlope = 0.11853;
169 par->fkChi2ZSlope = 0.04527;
170 par->fkChi2YCut = 1.;
171 par->fkPhiSlope = 3.17954;
172 par->fkMaxTheta = 2.1445;
173 par->fkMaxPhi = 2.7475;
174 par->fkNMeanClusters = 12.89;
175 par->fkNSigmaClusters = 2.095;
181 //______________________________________________________________
182 Float_t AliTRDrecoParam::GetNClusters() const
184 // Estimate the number of clusters in the TRD detector
186 Float_t nclusters = (fkNMeanClusters + 2*fkNSigmaClusters)*fkNMeanTracklets*fkdNchdy;
187 nclusters *= 1.+fkNClusterNoise;