]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDrecoParam.cxx
Treatment of HC header corruption
[u/mrichter/AliRoot.git] / TRD / AliTRDrecoParam.cxx
CommitLineData
e4f2f73d 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"
9716329b 29#include "AliTRDrawStreamBase.h"
e4f2f73d 30
31ClassImp(AliTRDrecoParam)
32
33//______________________________________________________________
34AliTRDrecoParam::AliTRDrecoParam()
35 :AliDetectorRecoParam()
8ae98148 36 ,fkdNchdy(12.)
91834b8d 37 ,fkMaxTheta(1.0)
38 ,fkMaxPhi(2.0)
e4f2f73d 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
566bf887 46 ,fkRoadzMultiplicator(1.5)
e4f2f73d 47 ,fkFindable(.333)
eb38ed55 48 ,fkChi2Z(30./*14.*//*12.5*/)
e4f2f73d 49 ,fkChi2Y(.25)
5a2e200c 50 ,fkChi2YSlope(7.73)
51 ,fkChi2ZSlope(0.069)
52 ,fkChi2YCut(0.5)
53 ,fkPhiSlope(10.6)
8ae98148 54 ,fkNMeanClusters(20.)
55 ,fkNSigmaClusters(2.)
56 ,fkNClusterNoise(0.)
57 ,fkNMeanTracklets(5.5)
e4f2f73d 58 ,fkTrackLikelihood(-15.)
df83a620 59 ,fMinMaxCutSigma(4.)
60 ,fMinLeftRightCutSigma(8.)
fc546d21 61 ,fClusMaxThresh(4.5)
62 ,fClusSigThresh(3.5)
56b32fd7 63 ,fTCnexp(1)
4e459a9d 64 ,fNumberOfPresamples(0)
65 ,fNumberOfPostsamples(0)
e4f2f73d 66{
67 //
68 // Default constructor
69 //
d937ad7a 70 fSysCovMatrix[0] = 0.; // y direction (1 cm)
71 fSysCovMatrix[1] = 0.; // z direction (1 cm)
3afdab72 72 fSysCovMatrix[2] = 0.; // snp
73 fSysCovMatrix[3] = 0.; // tgl
74 fSysCovMatrix[4] = 0.; // 1/pt
22a4ab0c 75
76 memset(fPIDThreshold, 0, AliTRDCalPID::kNMom*sizeof(Double_t));
e4f2f73d 77}
78
a7ac01d2 79//______________________________________________________________
80AliTRDrecoParam::AliTRDrecoParam(const AliTRDrecoParam &ref)
81 :AliDetectorRecoParam(ref)
8ae98148 82 ,fkdNchdy(ref.fkdNchdy)
a7ac01d2 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)
566bf887 92 ,fkRoadzMultiplicator(ref.fkRoadzMultiplicator)
a7ac01d2 93 ,fkFindable(ref.fkFindable)
94 ,fkChi2Z(ref.fkChi2Z)
95 ,fkChi2Y(ref.fkChi2Y)
5a2e200c 96 ,fkChi2YSlope(ref.fkChi2YSlope)
97 ,fkChi2ZSlope(ref.fkChi2ZSlope)
98 ,fkChi2YCut(ref.fkChi2YCut)
99 ,fkPhiSlope(ref.fkPhiSlope)
8ae98148 100 ,fkNMeanClusters(ref.fkNMeanClusters)
101 ,fkNSigmaClusters(ref.fkNSigmaClusters)
102 ,fkNClusterNoise(ref.fkNClusterNoise)
103 ,fkNMeanTracklets(ref.fkNMeanTracklets)
a7ac01d2 104 ,fkTrackLikelihood(ref.fkTrackLikelihood)
a7ac01d2 105 ,fMinMaxCutSigma(ref.fMinMaxCutSigma)
106 ,fMinLeftRightCutSigma(ref.fMinLeftRightCutSigma)
107 ,fClusMaxThresh(ref.fClusMaxThresh)
108 ,fClusSigThresh(ref.fClusSigThresh)
109 ,fTCnexp(ref.fTCnexp)
4e459a9d 110 ,fNumberOfPresamples(ref.fNumberOfPresamples)
111 ,fNumberOfPostsamples(ref.fNumberOfPostsamples)
a7ac01d2 112{
113 //
114 // Copy constructor
115 //
a7ac01d2 116 memcpy(fSysCovMatrix, ref.fSysCovMatrix, 5*sizeof(Double_t));
22a4ab0c 117 memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
a7ac01d2 118}
119
e4f2f73d 120//______________________________________________________________
121AliTRDrecoParam *AliTRDrecoParam::GetLowFluxParam()
122{
123 //
124 // Parameters for the low flux environment
125 //
126
8ae98148 127 AliTRDrecoParam *rec = new AliTRDrecoParam();
128 rec->fkdNchdy = 12.; // pp in TRD
129 return rec;
e4f2f73d 130
131}
132
133//______________________________________________________________
134AliTRDrecoParam *AliTRDrecoParam::GetHighFluxParam()
135{
136 //
137 // Parameters for the high flux environment
138 //
139
fb872574 140 AliTRDrecoParam *rec = new AliTRDrecoParam();
8ae98148 141 rec->fkdNchdy = 4000.; // PbPb in TRD
8ae98148 142
fb872574 143 return rec;
e4f2f73d 144
145}
9716329b 146
147//______________________________________________________________
148AliTRDrecoParam *AliTRDrecoParam::GetCosmicTestParam()
149{
150 //
151 // Parameters for the cosmics data
152 //
153
154 AliTRDrawStreamBase::SetRawStreamVersion("TB");
155 AliTRDrecoParam *par = new AliTRDrecoParam();
6e39bde4 156 par->fSysCovMatrix[0] = 2.; // y direction (1 cm)
157 par->fSysCovMatrix[1] = 2.; // z direction (1 cm)
b72f4eaf 158 par->fkChi2YSlope = 0.11853;
159 par->fkChi2ZSlope = 0.04527;
160 par->fkChi2YCut = 1.;
6e39bde4 161 par->fkPhiSlope = 10.; //3.17954;
8ae98148 162 par->fkMaxTheta = 2.1445;
163 par->fkMaxPhi = 2.7475;
5a2e200c 164 par->fkNMeanClusters = 12.89;
165 par->fkNSigmaClusters = 2.095;
566bf887 166 par->fkRoadzMultiplicator = 3.;
9716329b 167 return par;
168
169}
8ae98148 170
171
172//______________________________________________________________
173Float_t AliTRDrecoParam::GetNClusters() const
174{
175 // Estimate the number of clusters in the TRD detector
176
177 Float_t nclusters = (fkNMeanClusters + 2*fkNSigmaClusters)*fkNMeanTracklets*fkdNchdy;
178 nclusters *= 1.+fkNClusterNoise;
179 return nclusters;
180}