]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRecoParam.cxx
Adding a commented line demsostrating how to switch off
[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()
15d30ed4 38: AliDetectorRecoParam(),
3304fa09 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.),
0a18ba02 51 fPercentOfFullClusterInESD(10.),
38bcf0ef 52 fCombinedClusterTrackReco(kFALSE),
3304fa09 53 fTrackAllTracks(kFALSE),
54 fRecoverTracks(kFALSE),
55 fMakeTrackCandidatesFast(kFALSE),
56 fComplementTracks(kFALSE),
57 fImproveTracks(kFALSE),
0a18ba02 58 fUseSmoother(kFALSE),
59 fSaveFullClusterInESD(kTRUE)
3304fa09 60{
61 /// Constructor
15d30ed4 62 SetNameTitle("MUON","MUON");
3304fa09 63
64 // use the default parameters for low flux environment
65 SetLowFluxParam();
66}
67
68//_____________________________________________________________________________
69AliMUONRecoParam::~AliMUONRecoParam()
70{
71 /// Destructor
72}
73
74//_____________________________________________________________________________
75AliMUONRecoParam *AliMUONRecoParam::GetLowFluxParam()
76{
77 /// Return default reconstruction parameters for low flux environment
78
79 AliMUONRecoParam *param = new AliMUONRecoParam();
80 param->SetLowFluxParam();
81
82 return param;
83}
84
85//_____________________________________________________________________________
86AliMUONRecoParam *AliMUONRecoParam::GetHighFluxParam()
87{
88 /// Return default reconstruction parameters for high flux environment
89
90 AliMUONRecoParam *param = new AliMUONRecoParam();
91 param->SetHighFluxParam();
92
93 return param;
94}
95
96//_____________________________________________________________________________
97void AliMUONRecoParam::SetLowFluxParam()
98{
99 /// Set reconstruction parameters for low flux environment
100
96ebe67e 101 fMinBendingMomentum = 0.5;
3304fa09 102 fMaxBendingMomentum = 3000.;
103 fNonBendingVertexDispersion = 10.;
104 fBendingVertexDispersion = 10.;
105 fMaxNonBendingDistanceToTrack = 2.;
106 fMaxBendingDistanceToTrack = 2.;
107 fSigmaCutForTracking = 6.;
108 fSigmaCutForImprovement = 5.;
fda59e58 109 fSigmaCutForTrigger = 8.;
3304fa09 110 fMaxNormChi2MatchTrigger = 16.;
111 fTrackAllTracks = kTRUE;
112 fRecoverTracks = kTRUE;
113 fMakeTrackCandidatesFast = kFALSE;
114 fComplementTracks = kTRUE;
115 fImproveTracks = kTRUE;
116 fUseSmoother = kTRUE;
117
118}
119
120//_____________________________________________________________________________
121void AliMUONRecoParam::SetHighFluxParam()
122{
123 /// Set reconstruction parameters for high flux environment
124
96ebe67e 125 fMinBendingMomentum = 0.5;
3304fa09 126 fMaxBendingMomentum = 3000.;
127 fNonBendingVertexDispersion = 10.;
128 fBendingVertexDispersion = 10.;
129 fMaxNonBendingDistanceToTrack = 2.;
130 fMaxBendingDistanceToTrack = 2.;
131 fSigmaCutForTracking = 6.;
132 fSigmaCutForImprovement = 5.;
fda59e58 133 fSigmaCutForTrigger = 8.;
3304fa09 134 fMaxNormChi2MatchTrigger = 16.;
135 fTrackAllTracks = kTRUE;
136 fRecoverTracks = kTRUE;
137 fMakeTrackCandidatesFast = kFALSE;
138 fComplementTracks = kTRUE;
139 fImproveTracks = kTRUE;
140 fUseSmoother = kTRUE;
141
142}
143
144//_____________________________________________________________________________
145void AliMUONRecoParam::Print(Option_t *option) const
146{
147 /// print reconstruction parameters
148 /// if option = FULL then print also unused parameters
149
150 cout<<endl<<"\t------Reconstruction parameters------"<<endl;
151
152 cout<<Form("Clustering mode = %s",fClusteringMode.Data())<<endl;
153
154 cout<<Form("Tracking mode = %s",fTrackingMode.Data())<<endl;
155
15d30ed4 156 if (fCombinedClusterTrackReco) cout<<"Combined cluster/track reconstruction: ON"<<endl;
157 else cout<<"Combined cluster/track reconstruction: OFF"<<endl;
38bcf0ef 158
0a18ba02 159 if (fSaveFullClusterInESD) cout<<Form("Save all cluster info in ESD for %5.2f %% of events",fPercentOfFullClusterInESD)<<endl;
160 else cout<<"Save partial cluster info in ESD"<<endl;
161
3304fa09 162 cout<<Form("Bending momentum range = [%5.2f,%5.2f]",fMinBendingMomentum,fMaxBendingMomentum)<<endl;
163
164 if (strstr(fTrackingMode,"ORIGINAL"))
165 cout<<Form("Vertex dispertion = (%5.2f,%5.2f)",fNonBendingVertexDispersion,fBendingVertexDispersion)<<endl;
166 else if (strstr(option,"FULL"))
167 cout<<Form("Vertex dispertion (used for original tracking only) = (%5.2f,%5.2f)",fNonBendingVertexDispersion,fBendingVertexDispersion)<<endl;
168
169 cout<<Form("Maximum distance to track = (%5.2f,%5.2f)",fMaxNonBendingDistanceToTrack,fMaxBendingDistanceToTrack)<<endl;
170
171 cout<<Form("Sigma cut for tracking = %5.2f",fSigmaCutForTracking)<<endl;
fda59e58 172
173 cout<<Form("Sigma cut for trigger hit pattern = %5.2f",fSigmaCutForTrigger)<<endl;
3304fa09 174
175 if (fTrackAllTracks) cout<<"Track all the possible candidates"<<endl;
176 else cout<<"Track only the best candidates"<<endl;
177
178 if (strstr(option,"FULL")) {
179 cout<<"Make track candidates assuming linear propagation between stations 4 and 5: ";
180 if (fMakeTrackCandidatesFast) cout<<"ON"<<endl;
181 else cout<<"OFF"<<endl;
182 } else if (fMakeTrackCandidatesFast)
183 cout<<"Make track candidates assuming linear propagation between stations 4 and 5"<<endl;
184
185 if (strstr(option,"FULL")) {
186 cout<<"Try to recover tracks getting lost during tracking: ";
187 if (fRecoverTracks) cout<<"ON"<<endl;
188 else cout<<"OFF"<<endl;
189 } else if (fRecoverTracks)
190 cout<<"Try to recover tracks getting lost during tracking"<<endl;
191
192 if (strstr(option,"FULL")) {
193 cout<<"Try to complete the reconstructed tracks by adding missing clusters: ";
194 if (fComplementTracks) cout<<"ON"<<endl;
195 else cout<<"OFF"<<endl;
196 } else if (fComplementTracks)
197 cout<<"Try to complete the reconstructed tracks by adding missing clusters"<<endl;
198
199 if (strstr(option,"FULL")) {
200 cout<<"Try to improve the reconstructed tracks by removing bad clusters: ";
201 if (fImproveTracks) cout<<Form("ON (sigma cut = %5.2f)",fSigmaCutForImprovement)<<endl;
202 else cout<<"OFF"<<endl;
203 } else if (fImproveTracks)
204 cout<<Form("Try to improve the reconstructed tracks by removing bad clusters (sigma cut = %5.2f)",fSigmaCutForImprovement)<<endl;
205
206 if (strstr(option,"FULL")) {
207 cout<<"Use smoother to compute final track parameters, etc, at each cluster (used for Kalman tracking only): ";
208 if (fUseSmoother) cout<<"ON"<<endl;
209 else cout<<"OFF"<<endl;
210 } else if (fUseSmoother)
211 cout<<"Use smoother to compute final track parameters, etc, at each cluster"<<endl;
212
213 cout<<Form("Maximum normalized chi2 of tracking/trigger track matching = %5.2f",fMaxNormChi2MatchTrigger)<<endl;
214
215 cout<<"\t-------------------------------------"<<endl<<endl;
216
217}
218