]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDrecoParam.cxx
- new option for selecting 8 dEdx slices in ESD track for TRD
[u/mrichter/AliRoot.git] / TRD / AliTRDrecoParam.cxx
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"
29 #include "AliTRDrawStreamBase.h"
30
31 ClassImp(AliTRDrecoParam)
32
33 //______________________________________________________________
34 AliTRDrecoParam::AliTRDrecoParam()
35   :AliDetectorRecoParam()
36   ,fkMaxTheta(1.0)      
37   ,fkMaxPhi(2.0) 
38   ,fkRoad0y(6.0)
39   ,fkRoad0z(8.5) 
40   ,fkRoad1y(2.0)
41   ,fkRoad1z(20.0)       
42   ,fkRoad2y(3.0)
43   ,fkRoad2z(20.0)
44   ,fkPlaneQualityThreshold(5.0)// 4.2? under Investigation
45   ,fkFindable(.333)
46   ,fkChi2Z(30./*14.*//*12.5*/)
47   ,fkChi2Y(.25)
48   ,fkChi2YCut(7.73)
49   ,fkChi2ZCut(0.069)
50   ,fkPhiCut(10.6)
51   ,fkMeanNclusters(72)
52   ,fkSigmaNclusters(5.2632)
53   ,fkTrackLikelihood(-15.)
54   ,fMinMaxCutSigma(4.)
55   ,fMinLeftRightCutSigma(8.)
56   ,fClusMaxThresh(4.5)
57   ,fClusSigThresh(3.5)
58   ,fTCnexp(1)
59   ,fNumberOfPresamples(0)
60   ,fNumberOfPostsamples(0)
61 {
62   //
63   // Default constructor
64   //
65   SetTailCancelation();
66   SetLUT();
67   SetClusterSharing(kFALSE);
68   SetVertexConstrained();
69   SetImproveTracklets(kFALSE);
70
71   fSysCovMatrix[0] = 1.; // y direction (1 cm)
72   fSysCovMatrix[1] = 1.; // z direction (1 cm)
73   fSysCovMatrix[2] = 0.; // snp
74   fSysCovMatrix[3] = 0.; // tgl
75   fSysCovMatrix[4] = 0.; // 1/pt
76
77   memset(fPIDThreshold, 0, AliTRDCalPID::kNMom*sizeof(Double_t));
78 }
79
80 //______________________________________________________________
81 AliTRDrecoParam::AliTRDrecoParam(const AliTRDrecoParam &ref)
82   :AliDetectorRecoParam(ref)
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   ,fkFindable(ref.fkFindable)
93   ,fkChi2Z(ref.fkChi2Z)
94   ,fkChi2Y(ref.fkChi2Y)
95   ,fkChi2YCut(ref.fkChi2YCut)
96   ,fkChi2ZCut(ref.fkChi2ZCut)
97   ,fkPhiCut(ref.fkPhiCut)
98   ,fkMeanNclusters(ref.fkMeanNclusters)
99   ,fkSigmaNclusters(ref.fkSigmaNclusters)
100   ,fkTrackLikelihood(ref.fkTrackLikelihood)
101   ,fMinMaxCutSigma(ref.fMinMaxCutSigma)
102   ,fMinLeftRightCutSigma(ref.fMinLeftRightCutSigma)
103   ,fClusMaxThresh(ref.fClusMaxThresh)
104   ,fClusSigThresh(ref.fClusSigThresh)
105   ,fTCnexp(ref.fTCnexp)
106   ,fNumberOfPresamples(ref.fNumberOfPresamples)
107   ,fNumberOfPostsamples(ref.fNumberOfPostsamples)
108 {
109   //
110   // Copy constructor
111   //
112   SetClusterSharing(ref.IsClusterSharing());
113   SetVertexConstrained(ref.IsVertexConstrained());
114   SetLUT(ref.IsLUT());
115   SetTailCancelation(ref.IsTailCancelation());
116   SetImproveTracklets(ref.HasImproveTracklets());
117
118   memcpy(fSysCovMatrix, ref.fSysCovMatrix, 5*sizeof(Double_t));
119   memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t));
120 }
121
122 //______________________________________________________________
123 AliTRDrecoParam *AliTRDrecoParam::GetLowFluxParam()
124 {
125   //
126   // Parameters for the low flux environment
127   //
128
129   return new AliTRDrecoParam();
130
131 }
132
133 //______________________________________________________________
134 AliTRDrecoParam *AliTRDrecoParam::GetHighFluxParam()
135 {
136   //
137   // Parameters for the high flux environment
138   //
139
140   AliTRDrecoParam *rec = new AliTRDrecoParam();
141   rec->SetImproveTracklets(kTRUE);
142   return rec;
143
144 }
145
146 //______________________________________________________________
147 AliTRDrecoParam *AliTRDrecoParam::GetCosmicTestParam()
148 {
149   //
150   // Parameters for the cosmics data
151   //
152
153   AliTRDrawStreamBase::SetRawStreamVersion("TB");
154   AliTRDrecoParam *par = new AliTRDrecoParam();
155   par->SetVertexConstrained(kFALSE);
156   par->SetChi2YCut(1.136);
157   par->SetChi2ZCut(0.069);
158   par->SetMaxTheta(2.1445);
159   par->SetMaxPhi(2.7475);
160   par->SetMeanNclusters(48.1197);
161   par->SetSigmaNclusters(8.59347);
162   return par;
163
164 }