]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRecoParam.cxx
Implemented relevant changes to allow combined tracking to be functional again (we...
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoParam.cxx
CommitLineData
3304fa09 1/**************************************************************************
2* Copyright(c) 1998-2007, 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
17//-----------------------------------------------------------------------------
18/// \class AliMUONRecoParam
19///
20/// Class with MUON reconstruction parameters
21///
22/// \author Philippe Pillot
23//-----------------------------------------------------------------------------
24
25
26
27#include "AliMUONRecoParam.h"
28
29#include "AliLog.h"
30
31#include <Riostream.h>
32
33ClassImp(AliMUONRecoParam)
34
35
36//_____________________________________________________________________________
37AliMUONRecoParam::AliMUONRecoParam()
38: TObject(),
39 fClusteringMode("MLEM"),
40 fTrackingMode("KALMAN"),
41 fMinBendingMomentum(0.),
42 fMaxBendingMomentum(0.),
43 fNonBendingVertexDispersion(0.),
44 fBendingVertexDispersion(0.),
45 fMaxNonBendingDistanceToTrack(0.),
46 fMaxBendingDistanceToTrack(0.),
47 fSigmaCutForTracking(0.),
48 fSigmaCutForImprovement(0.),
fda59e58 49 fSigmaCutForTrigger(0.),
3304fa09 50 fMaxNormChi2MatchTrigger(0.),
51 fTrackAllTracks(kFALSE),
52 fRecoverTracks(kFALSE),
53 fMakeTrackCandidatesFast(kFALSE),
54 fComplementTracks(kFALSE),
55 fImproveTracks(kFALSE),
56 fUseSmoother(kFALSE)
57{
58 /// Constructor
59
60 // use the default parameters for low flux environment
61 SetLowFluxParam();
62}
63
64//_____________________________________________________________________________
65AliMUONRecoParam::~AliMUONRecoParam()
66{
67 /// Destructor
68}
69
70//_____________________________________________________________________________
71AliMUONRecoParam *AliMUONRecoParam::GetLowFluxParam()
72{
73 /// Return default reconstruction parameters for low flux environment
74
75 AliMUONRecoParam *param = new AliMUONRecoParam();
76 param->SetLowFluxParam();
77
78 return param;
79}
80
81//_____________________________________________________________________________
82AliMUONRecoParam *AliMUONRecoParam::GetHighFluxParam()
83{
84 /// Return default reconstruction parameters for high flux environment
85
86 AliMUONRecoParam *param = new AliMUONRecoParam();
87 param->SetHighFluxParam();
88
89 return param;
90}
91
92//_____________________________________________________________________________
93void AliMUONRecoParam::SetLowFluxParam()
94{
95 /// Set reconstruction parameters for low flux environment
96
96ebe67e 97 fMinBendingMomentum = 0.5;
3304fa09 98 fMaxBendingMomentum = 3000.;
99 fNonBendingVertexDispersion = 10.;
100 fBendingVertexDispersion = 10.;
101 fMaxNonBendingDistanceToTrack = 2.;
102 fMaxBendingDistanceToTrack = 2.;
103 fSigmaCutForTracking = 6.;
104 fSigmaCutForImprovement = 5.;
fda59e58 105 fSigmaCutForTrigger = 8.;
3304fa09 106 fMaxNormChi2MatchTrigger = 16.;
107 fTrackAllTracks = kTRUE;
108 fRecoverTracks = kTRUE;
109 fMakeTrackCandidatesFast = kFALSE;
110 fComplementTracks = kTRUE;
111 fImproveTracks = kTRUE;
112 fUseSmoother = kTRUE;
113
114}
115
116//_____________________________________________________________________________
117void AliMUONRecoParam::SetHighFluxParam()
118{
119 /// Set reconstruction parameters for high flux environment
120
96ebe67e 121 fMinBendingMomentum = 0.5;
3304fa09 122 fMaxBendingMomentum = 3000.;
123 fNonBendingVertexDispersion = 10.;
124 fBendingVertexDispersion = 10.;
125 fMaxNonBendingDistanceToTrack = 2.;
126 fMaxBendingDistanceToTrack = 2.;
127 fSigmaCutForTracking = 6.;
128 fSigmaCutForImprovement = 5.;
fda59e58 129 fSigmaCutForTrigger = 8.;
3304fa09 130 fMaxNormChi2MatchTrigger = 16.;
131 fTrackAllTracks = kTRUE;
132 fRecoverTracks = kTRUE;
133 fMakeTrackCandidatesFast = kFALSE;
134 fComplementTracks = kTRUE;
135 fImproveTracks = kTRUE;
136 fUseSmoother = kTRUE;
137
138}
139
140//_____________________________________________________________________________
141void AliMUONRecoParam::Print(Option_t *option) const
142{
143 /// print reconstruction parameters
144 /// if option = FULL then print also unused parameters
145
146 cout<<endl<<"\t------Reconstruction parameters------"<<endl;
147
148 cout<<Form("Clustering mode = %s",fClusteringMode.Data())<<endl;
149
150 cout<<Form("Tracking mode = %s",fTrackingMode.Data())<<endl;
151
152 cout<<Form("Bending momentum range = [%5.2f,%5.2f]",fMinBendingMomentum,fMaxBendingMomentum)<<endl;
153
154 if (strstr(fTrackingMode,"ORIGINAL"))
155 cout<<Form("Vertex dispertion = (%5.2f,%5.2f)",fNonBendingVertexDispersion,fBendingVertexDispersion)<<endl;
156 else if (strstr(option,"FULL"))
157 cout<<Form("Vertex dispertion (used for original tracking only) = (%5.2f,%5.2f)",fNonBendingVertexDispersion,fBendingVertexDispersion)<<endl;
158
159 cout<<Form("Maximum distance to track = (%5.2f,%5.2f)",fMaxNonBendingDistanceToTrack,fMaxBendingDistanceToTrack)<<endl;
160
161 cout<<Form("Sigma cut for tracking = %5.2f",fSigmaCutForTracking)<<endl;
fda59e58 162
163 cout<<Form("Sigma cut for trigger hit pattern = %5.2f",fSigmaCutForTrigger)<<endl;
3304fa09 164
165 if (fTrackAllTracks) cout<<"Track all the possible candidates"<<endl;
166 else cout<<"Track only the best candidates"<<endl;
167
168 if (strstr(option,"FULL")) {
169 cout<<"Make track candidates assuming linear propagation between stations 4 and 5: ";
170 if (fMakeTrackCandidatesFast) cout<<"ON"<<endl;
171 else cout<<"OFF"<<endl;
172 } else if (fMakeTrackCandidatesFast)
173 cout<<"Make track candidates assuming linear propagation between stations 4 and 5"<<endl;
174
175 if (strstr(option,"FULL")) {
176 cout<<"Try to recover tracks getting lost during tracking: ";
177 if (fRecoverTracks) cout<<"ON"<<endl;
178 else cout<<"OFF"<<endl;
179 } else if (fRecoverTracks)
180 cout<<"Try to recover tracks getting lost during tracking"<<endl;
181
182 if (strstr(option,"FULL")) {
183 cout<<"Try to complete the reconstructed tracks by adding missing clusters: ";
184 if (fComplementTracks) cout<<"ON"<<endl;
185 else cout<<"OFF"<<endl;
186 } else if (fComplementTracks)
187 cout<<"Try to complete the reconstructed tracks by adding missing clusters"<<endl;
188
189 if (strstr(option,"FULL")) {
190 cout<<"Try to improve the reconstructed tracks by removing bad clusters: ";
191 if (fImproveTracks) cout<<Form("ON (sigma cut = %5.2f)",fSigmaCutForImprovement)<<endl;
192 else cout<<"OFF"<<endl;
193 } else if (fImproveTracks)
194 cout<<Form("Try to improve the reconstructed tracks by removing bad clusters (sigma cut = %5.2f)",fSigmaCutForImprovement)<<endl;
195
196 if (strstr(option,"FULL")) {
197 cout<<"Use smoother to compute final track parameters, etc, at each cluster (used for Kalman tracking only): ";
198 if (fUseSmoother) cout<<"ON"<<endl;
199 else cout<<"OFF"<<endl;
200 } else if (fUseSmoother)
201 cout<<"Use smoother to compute final track parameters, etc, at each cluster"<<endl;
202
203 cout<<Form("Maximum normalized chi2 of tracking/trigger track matching = %5.2f",fMaxNormChi2MatchTrigger)<<endl;
204
205 cout<<"\t-------------------------------------"<<endl<<endl;
206
207}
208