]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDrecoParam.cxx
new QA plot (nunmber of clusters/track/species) by AlexW
[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
46 ,fkFindable(.333)
eb38ed55 47 ,fkChi2Z(30./*14.*//*12.5*/)
e4f2f73d 48 ,fkChi2Y(.25)
91834b8d 49 ,fkChi2YCut(7.73)
50 ,fkChi2ZCut(0.069)
51 ,fkPhiCut(10.6)
8ae98148 52 ,fkNMeanClusters(20.)
53 ,fkNSigmaClusters(2.)
54 ,fkNClusterNoise(0.)
55 ,fkNMeanTracklets(5.5)
e4f2f73d 56 ,fkTrackLikelihood(-15.)
df83a620 57 ,fMinMaxCutSigma(4.)
58 ,fMinLeftRightCutSigma(8.)
fc546d21 59 ,fClusMaxThresh(4.5)
60 ,fClusSigThresh(3.5)
56b32fd7 61 ,fTCnexp(1)
4e459a9d 62 ,fNumberOfPresamples(0)
63 ,fNumberOfPostsamples(0)
e4f2f73d 64{
65 //
66 // Default constructor
67 //
fb872574 68 SetTailCancelation();
69 SetLUT();
a7ac01d2 70 SetClusterSharing(kFALSE);
a7ac01d2 71 SetVertexConstrained();
fb872574 72 SetImproveTracklets(kFALSE);
3a039a31 73
3afdab72 74 fSysCovMatrix[0] = 1.; // y direction (1 cm)
75 fSysCovMatrix[1] = 1.; // z direction (1 cm)
76 fSysCovMatrix[2] = 0.; // snp
77 fSysCovMatrix[3] = 0.; // tgl
78 fSysCovMatrix[4] = 0.; // 1/pt
22a4ab0c 79
80 memset(fPIDThreshold, 0, AliTRDCalPID::kNMom*sizeof(Double_t));
e4f2f73d 81}
82
a7ac01d2 83//______________________________________________________________
84AliTRDrecoParam::AliTRDrecoParam(const AliTRDrecoParam &ref)
85 :AliDetectorRecoParam(ref)
8ae98148 86 ,fkdNchdy(ref.fkdNchdy)
a7ac01d2 87 ,fkMaxTheta(ref.fkMaxTheta)
88 ,fkMaxPhi(ref.fkMaxPhi)
89 ,fkRoad0y(ref.fkRoad0y)
90 ,fkRoad0z(ref.fkRoad0z)
91 ,fkRoad1y(ref.fkRoad1y)
92 ,fkRoad1z(ref.fkRoad1z)
93 ,fkRoad2y(ref.fkRoad2y)
94 ,fkRoad2z(ref.fkRoad2z)
95 ,fkPlaneQualityThreshold(ref.fkPlaneQualityThreshold)
96 ,fkFindable(ref.fkFindable)
97 ,fkChi2Z(ref.fkChi2Z)
98 ,fkChi2Y(ref.fkChi2Y)
91834b8d 99 ,fkChi2YCut(ref.fkChi2YCut)
22a4ab0c 100 ,fkChi2ZCut(ref.fkChi2ZCut)
91834b8d 101 ,fkPhiCut(ref.fkPhiCut)
8ae98148 102 ,fkNMeanClusters(ref.fkNMeanClusters)
103 ,fkNSigmaClusters(ref.fkNSigmaClusters)
104 ,fkNClusterNoise(ref.fkNClusterNoise)
105 ,fkNMeanTracklets(ref.fkNMeanTracklets)
a7ac01d2 106 ,fkTrackLikelihood(ref.fkTrackLikelihood)
a7ac01d2 107 ,fMinMaxCutSigma(ref.fMinMaxCutSigma)
108 ,fMinLeftRightCutSigma(ref.fMinLeftRightCutSigma)
109 ,fClusMaxThresh(ref.fClusMaxThresh)
110 ,fClusSigThresh(ref.fClusSigThresh)
111 ,fTCnexp(ref.fTCnexp)
4e459a9d 112 ,fNumberOfPresamples(ref.fNumberOfPresamples)
113 ,fNumberOfPostsamples(ref.fNumberOfPostsamples)
a7ac01d2 114{
115 //
116 // Copy constructor
117 //
118 SetClusterSharing(ref.IsClusterSharing());
a7ac01d2 119 SetVertexConstrained(ref.IsVertexConstrained());
120 SetLUT(ref.IsLUT());
121 SetTailCancelation(ref.IsTailCancelation());
fb872574 122 SetImproveTracklets(ref.HasImproveTracklets());
a7ac01d2 123
124 memcpy(fSysCovMatrix, ref.fSysCovMatrix, 5*sizeof(Double_t));
22a4ab0c 125 memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
a7ac01d2 126}
127
e4f2f73d 128//______________________________________________________________
129AliTRDrecoParam *AliTRDrecoParam::GetLowFluxParam()
130{
131 //
132 // Parameters for the low flux environment
133 //
134
8ae98148 135 AliTRDrecoParam *rec = new AliTRDrecoParam();
136 rec->fkdNchdy = 12.; // pp in TRD
137 return rec;
e4f2f73d 138
139}
140
141//______________________________________________________________
142AliTRDrecoParam *AliTRDrecoParam::GetHighFluxParam()
143{
144 //
145 // Parameters for the high flux environment
146 //
147
fb872574 148 AliTRDrecoParam *rec = new AliTRDrecoParam();
8ae98148 149 rec->fkdNchdy = 4000.; // PbPb in TRD
fb872574 150 rec->SetImproveTracklets(kTRUE);
8ae98148 151
fb872574 152 return rec;
e4f2f73d 153
154}
9716329b 155
156//______________________________________________________________
157AliTRDrecoParam *AliTRDrecoParam::GetCosmicTestParam()
158{
159 //
160 // Parameters for the cosmics data
161 //
162
163 AliTRDrawStreamBase::SetRawStreamVersion("TB");
164 AliTRDrecoParam *par = new AliTRDrecoParam();
91834b8d 165 par->SetVertexConstrained(kFALSE);
8ae98148 166 par->fkChi2YCut = 1.136;
167 par->fkChi2ZCut = 0.069;
168 par->fkMaxTheta = 2.1445;
169 par->fkMaxPhi = 2.7475;
170 par->fkNMeanClusters = 12.;
171 par->fkNSigmaClusters = 2.5;
9716329b 172 return par;
173
174}
8ae98148 175
176
177//______________________________________________________________
178Float_t AliTRDrecoParam::GetNClusters() const
179{
180 // Estimate the number of clusters in the TRD detector
181
182 Float_t nclusters = (fkNMeanClusters + 2*fkNSigmaClusters)*fkNMeanTracklets*fkdNchdy;
183 nclusters *= 1.+fkNClusterNoise;
184 return nclusters;
185}