]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRecoParam.cxx
Update of the alignment-data fileting macro including a fix for the access to the...
[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
bf4d93eb 16// $Id$
3304fa09 17
18//-----------------------------------------------------------------------------
19/// \class AliMUONRecoParam
20///
21/// Class with MUON reconstruction parameters
22///
23/// \author Philippe Pillot
24//-----------------------------------------------------------------------------
25
26
27
28#include "AliMUONRecoParam.h"
ad3c6eda 29#include "AliMUONPadStatusMaker.h"
3304fa09 30
ad3c6eda 31#include "AliRecoParam.h"
3304fa09 32#include "AliLog.h"
33
34#include <Riostream.h>
35
36ClassImp(AliMUONRecoParam)
37
38
39//_____________________________________________________________________________
40AliMUONRecoParam::AliMUONRecoParam()
15d30ed4 41: AliDetectorRecoParam(),
3304fa09 42 fClusteringMode("MLEM"),
43 fTrackingMode("KALMAN"),
44 fMinBendingMomentum(0.),
45 fMaxBendingMomentum(0.),
9bf6860b 46 fMaxNonBendingSlope(0.),
9f093251 47 fMaxBendingSlope(0.),
3304fa09 48 fNonBendingVertexDispersion(0.),
49 fBendingVertexDispersion(0.),
50 fMaxNonBendingDistanceToTrack(0.),
51 fMaxBendingDistanceToTrack(0.),
52 fSigmaCutForTracking(0.),
53 fSigmaCutForImprovement(0.),
fda59e58 54 fSigmaCutForTrigger(0.),
b5270f21 55 fStripCutForTrigger(0.),
56 fMaxStripAreaForTrigger(0.),
3304fa09 57 fMaxNormChi2MatchTrigger(0.),
0a18ba02 58 fPercentOfFullClusterInESD(10.),
38bcf0ef 59 fCombinedClusterTrackReco(kFALSE),
3304fa09 60 fTrackAllTracks(kFALSE),
61 fRecoverTracks(kFALSE),
62 fMakeTrackCandidatesFast(kFALSE),
9bf6860b 63 fMakeMoreTrackCandidates(kFALSE),
3304fa09 64 fComplementTracks(kFALSE),
65 fImproveTracks(kFALSE),
0a18ba02 66 fUseSmoother(kFALSE),
de98fdc9 67 fSaveFullClusterInESD(kTRUE),
9bf6860b 68 fCalibrationMode("NOGAIN"),
004a9ccd 69 fBypassSt45(0),
170f4046 70 fPadGoodnessMask(0),
c59f70b9 71 fChargeSigmaCut(4.0),
89c8d66d 72 fRemoveConnectedTracksInSt12(kFALSE),
73 fMaxTriggerTracks(0),
6b191dea 74 fMaxTrackCandidates(0),
75 fSelectTrackOnSlope(kFALSE)
3304fa09 76{
77 /// Constructor
78
ad3c6eda 79 SetNameTitle("Dummy","Dummy");
80 SetDefaultLimits();
3304fa09 81}
82
83//_____________________________________________________________________________
84AliMUONRecoParam::~AliMUONRecoParam()
85{
86 /// Destructor
87}
88
004a9ccd 89//_____________________________________________________________________________
90void
91AliMUONRecoParam::BypassSt45(Bool_t st4, Bool_t st5)
92{
93 /// Set the bypass status
94
95 if ( st4 && st5 ) fBypassSt45 = 45;
96 else if ( st4 ) fBypassSt45 = 4;
97 else if ( st5 ) fBypassSt45 = 5;
98 else fBypassSt45 = 0;
99}
100
9bf6860b 101//_____________________________________________________________________________
102Option_t*
103AliMUONRecoParam::GetCalibrationMode() const
104{
105 /// Return the calibration mode. Can be :
106 /// NOGAIN : only do pedestal subtraction
107 /// GAIN : do pedestal subtraction, and apply gain correction, but with a
108 /// single capacitance value for all channels
66cdf5b3 109 /// INJECTIONGAIN : as GAIN, but with gain values taken as EMELEC factory values
9bf6860b 110 /// GAINCONSTANTCAPA : as GAIN, but with a channel-dependent capacitance value
111
112 return fCalibrationMode.Data();
113}
114
3304fa09 115//_____________________________________________________________________________
116AliMUONRecoParam *AliMUONRecoParam::GetLowFluxParam()
117{
118 /// Return default reconstruction parameters for low flux environment
119
120 AliMUONRecoParam *param = new AliMUONRecoParam();
121 param->SetLowFluxParam();
122
123 return param;
124}
125
126//_____________________________________________________________________________
127AliMUONRecoParam *AliMUONRecoParam::GetHighFluxParam()
128{
129 /// Return default reconstruction parameters for high flux environment
130
131 AliMUONRecoParam *param = new AliMUONRecoParam();
132 param->SetHighFluxParam();
133
134 return param;
135}
136
0e894e58 137//_____________________________________________________________________________
138AliMUONRecoParam *AliMUONRecoParam::GetCosmicParam()
139{
140 /// Return default reconstruction parameters for high flux environment
141
142 AliMUONRecoParam *param = new AliMUONRecoParam();
143 param->SetCosmicParam();
144
145 return param;
146}
147
3304fa09 148//_____________________________________________________________________________
149void AliMUONRecoParam::SetLowFluxParam()
150{
151 /// Set reconstruction parameters for low flux environment
152
ad3c6eda 153 SetNameTitle("Low Flux","Low Flux");
154 SetEventSpecie(AliRecoParam::kLowMult);
9bf6860b 155 fMinBendingMomentum = 1.;
3304fa09 156 fMaxBendingMomentum = 3000.;
9bf6860b 157 fMaxNonBendingSlope = 0.3;
9f093251 158 fMaxBendingSlope = 0.4;
6b191dea 159 fSelectTrackOnSlope = kFALSE;
160 fNonBendingVertexDispersion = 70.;
161 fBendingVertexDispersion = 70.;
9bf6860b 162 fMaxNonBendingDistanceToTrack = 1.;
163 fMaxBendingDistanceToTrack = 1.;
3304fa09 164 fSigmaCutForTracking = 6.;
165 fSigmaCutForImprovement = 5.;
fda59e58 166 fSigmaCutForTrigger = 8.;
b5270f21 167 fStripCutForTrigger = 1.;
168 fMaxStripAreaForTrigger = 3.;
3304fa09 169 fMaxNormChi2MatchTrigger = 16.;
6cac085d 170 fCombinedClusterTrackReco = kFALSE;
3304fa09 171 fTrackAllTracks = kTRUE;
172 fRecoverTracks = kTRUE;
173 fMakeTrackCandidatesFast = kFALSE;
9bf6860b 174 fMakeMoreTrackCandidates = kFALSE;
3304fa09 175 fComplementTracks = kTRUE;
176 fImproveTracks = kTRUE;
c59f70b9 177 fRemoveConnectedTracksInSt12 = kTRUE;
3304fa09 178 fUseSmoother = kTRUE;
35be7ed7 179 for (Int_t iCh = 0; iCh < 10; iCh++) {
180 fUseChamber[iCh] = kTRUE;
181 fDefaultNonBendingReso[iCh] = 0.144;
182 fDefaultBendingReso[iCh] = 0.01;
183 }
9bf6860b 184 for (Int_t iSt = 0; iSt < 5; iSt++) fRequestStation[iSt] = kTRUE;
004a9ccd 185 fBypassSt45 = 0;
89c8d66d 186 fMaxTriggerTracks = 100;
187 fMaxTrackCandidates = 10000;
3304fa09 188
189}
190
191//_____________________________________________________________________________
192void AliMUONRecoParam::SetHighFluxParam()
193{
194 /// Set reconstruction parameters for high flux environment
195
ad3c6eda 196 SetNameTitle("High Flux","High Flux");
197 SetEventSpecie(AliRecoParam::kHighMult);
9bf6860b 198 fMinBendingMomentum = 1.;
3304fa09 199 fMaxBendingMomentum = 3000.;
9bf6860b 200 fMaxNonBendingSlope = 0.3;
9f093251 201 fMaxBendingSlope = 0.4;
6b191dea 202 fSelectTrackOnSlope = kFALSE;
203 fNonBendingVertexDispersion = 70.;
204 fBendingVertexDispersion = 70.;
9bf6860b 205 fMaxNonBendingDistanceToTrack = 1.;
206 fMaxBendingDistanceToTrack = 1.;
3304fa09 207 fSigmaCutForTracking = 6.;
208 fSigmaCutForImprovement = 5.;
fda59e58 209 fSigmaCutForTrigger = 8.;
b5270f21 210 fStripCutForTrigger = 1.;
211 fMaxStripAreaForTrigger = 3.;
3304fa09 212 fMaxNormChi2MatchTrigger = 16.;
6cac085d 213 fCombinedClusterTrackReco = kFALSE;
3304fa09 214 fTrackAllTracks = kTRUE;
215 fRecoverTracks = kTRUE;
216 fMakeTrackCandidatesFast = kFALSE;
9bf6860b 217 fMakeMoreTrackCandidates = kFALSE;
3304fa09 218 fComplementTracks = kTRUE;
219 fImproveTracks = kTRUE;
c59f70b9 220 fRemoveConnectedTracksInSt12 = kFALSE;
3304fa09 221 fUseSmoother = kTRUE;
35be7ed7 222 for (Int_t iCh = 0; iCh < 10; iCh++) {
223 fUseChamber[iCh] = kTRUE;
224 fDefaultNonBendingReso[iCh] = 0.144;
225 fDefaultBendingReso[iCh] = 0.01;
226 }
9bf6860b 227 for (Int_t iSt = 0; iSt < 5; iSt++) fRequestStation[iSt] = kTRUE;
004a9ccd 228 fBypassSt45 = 0;
89c8d66d 229 fMaxTriggerTracks = 100;
230 fMaxTrackCandidates = 10000;
3304fa09 231
232}
233
0e894e58 234//_____________________________________________________________________________
235void AliMUONRecoParam::SetCosmicParam()
236{
237 /// Set reconstruction parameters for high flux environment
238
ad3c6eda 239 SetNameTitle("Cosmic","Cosmic");
240 SetEventSpecie(AliRecoParam::kCosmic);
0e894e58 241 fMinBendingMomentum = 1.;
242 fMaxBendingMomentum = 10000000.;
6b191dea 243 fMaxNonBendingSlope = 0.4;
6dbd970f 244 fMaxBendingSlope = 0.7;
6b191dea 245 fSelectTrackOnSlope = kTRUE;
246 fNonBendingVertexDispersion = 200.;
247 fBendingVertexDispersion = 200.;
248 fMaxNonBendingDistanceToTrack = 1.;
249 fMaxBendingDistanceToTrack = 1.;
89c8d66d 250 fSigmaCutForTracking = 7.;
6dbd970f 251 fSigmaCutForImprovement = 6.;
0e894e58 252 fSigmaCutForTrigger = 8.;
54355f2c 253 fStripCutForTrigger = 1.5;
254 fMaxStripAreaForTrigger = 3.;
0e894e58 255 fMaxNormChi2MatchTrigger = 16.;
256 fPercentOfFullClusterInESD = 100.;
257 fCombinedClusterTrackReco = kFALSE;
258 fTrackAllTracks = kTRUE;
259 fRecoverTracks = kTRUE;
260 fMakeTrackCandidatesFast = kFALSE;
261 fMakeMoreTrackCandidates = kFALSE;
262 fComplementTracks = kTRUE;
263 fImproveTracks = kTRUE;
c59f70b9 264 fRemoveConnectedTracksInSt12 = kTRUE;
0e894e58 265 fUseSmoother = kTRUE;
266 fSaveFullClusterInESD = kTRUE;
35be7ed7 267 for (Int_t iCh = 0; iCh < 10; iCh++) {
268 fUseChamber[iCh] = kTRUE;
6dbd970f 269 fDefaultNonBendingReso[iCh] = 0.152;
270 fDefaultBendingReso[iCh] = 0.027;
35be7ed7 271 }
6dbd970f 272 fRequestStation[0] = kFALSE;
273 fRequestStation[1] = kFALSE;
274 fRequestStation[2] = kFALSE;
275 fRequestStation[3] = kTRUE;
276 fRequestStation[4] = kTRUE;
004a9ccd 277 fBypassSt45 = 0;
7eafe398 278 fPadGoodnessMask = 0x400BE80; // Ped Mean is Zero | Ped Mean Too Low | Ped Mean Too High | Ped Sigma Too Low | Ped Sigma Too High | Ped is missing | HV is missing | manu occupancy too high
89c8d66d 279 fMaxTriggerTracks = 100;
280 fMaxTrackCandidates = 10000;
6dbd970f 281 SetPedMeanLimits(20, 700);
282 SetManuOccupancyLimits(-1.,0.01); // reject manu above occ=1%
0e894e58 283
284}
285
c59f70b9 286//_____________________________________________________________________________
287UInt_t
288AliMUONRecoParam::RequestedStationMask() const
289{
290 /// Get the mask of the requested station, i.e. an integer where
291 /// bit n is set to one if the station n was requested
292
293 UInt_t m(0);
294
295 for ( Int_t i = 0; i < 5; ++i )
296 {
297 if ( RequestStation(i) ) m |= ( 1 << i );
298 }
299 return m;
300}
301
3304fa09 302//_____________________________________________________________________________
303void AliMUONRecoParam::Print(Option_t *option) const
304{
305 /// print reconstruction parameters
306 /// if option = FULL then print also unused parameters
307
4348af6f 308 cout<<endl<<"\t------MUON Reconstruction parameters ("<<GetName()<<")------"<<endl;
ad3c6eda 309
310 if (IsDefault()) cout<<"\t\t*** Parameters used by default ***"<<endl;
3304fa09 311
de98fdc9 312 cout<<Form("Calibration mode = %s",fCalibrationMode.Data())<<endl;
3304fa09 313 cout<<Form("Clustering mode = %s",fClusteringMode.Data())<<endl;
3304fa09 314 cout<<Form("Tracking mode = %s",fTrackingMode.Data())<<endl;
9bf6860b 315
004a9ccd 316 TString bypass;
317
318 if ( BypassSt45() )
319 {
320 bypass = "stations 4 and 5";
321 }
322 else if ( BypassSt4() )
323 {
324 bypass = "station 4";
325 }
326 else if ( BypassSt5() )
327 {
328 bypass = "station 5";
329 }
330
331 if (bypass.Length()) cout << "Will bypass " << bypass.Data() << " (replacing real clusters by generated ones from trigger tracks)" << endl;
3304fa09 332
15d30ed4 333 if (fCombinedClusterTrackReco) cout<<"Combined cluster/track reconstruction: ON"<<endl;
334 else cout<<"Combined cluster/track reconstruction: OFF"<<endl;
38bcf0ef 335
0a18ba02 336 if (fSaveFullClusterInESD) cout<<Form("Save all cluster info in ESD for %5.2f %% of events",fPercentOfFullClusterInESD)<<endl;
337 else cout<<"Save partial cluster info in ESD"<<endl;
9bdbee64 338
6b191dea 339 cout<<"Selection of track candidates:"<<endl;
340 if (fSelectTrackOnSlope) cout<<Form("\t- Non-bending slope < %5.2f",fMaxNonBendingSlope)<<endl;
341 else cout<<"\t- Impact parameter < 3 * vertex dispersion in the non-bending direction"<<endl;
342 cout<<Form("\t- if B!=0: Bending momentum > %5.2f",fMinBendingMomentum)<<endl;
343 if (fSelectTrackOnSlope) cout<<Form("\t if B==0: Bending slope < %5.2f",fMaxBendingSlope)<<endl;
344 else cout<<"\t if B==0: Impact parameter < 3 * vertex dispersion in the bending direction"<<endl;
9f093251 345
6b191dea 346 cout<<Form("Vertex dispersion (used to estimate initial bending momentum resolution) = (%5.2f,%5.2f)",fNonBendingVertexDispersion,fBendingVertexDispersion)<<endl;
3304fa09 347
348 cout<<Form("Maximum distance to track = (%5.2f,%5.2f)",fMaxNonBendingDistanceToTrack,fMaxBendingDistanceToTrack)<<endl;
349
350 cout<<Form("Sigma cut for tracking = %5.2f",fSigmaCutForTracking)<<endl;
fda59e58 351
352 cout<<Form("Sigma cut for trigger hit pattern = %5.2f",fSigmaCutForTrigger)<<endl;
b5270f21 353
354 cout<<Form("Cut in strips for trigger chamber efficiency = %5.2f",fStripCutForTrigger)<<endl;
355
356 cout<<Form("Max search area in strips for trigger chamber efficiency = %5.2f",fMaxStripAreaForTrigger)<<endl;
357
3304fa09 358 if (fTrackAllTracks) cout<<"Track all the possible candidates"<<endl;
359 else cout<<"Track only the best candidates"<<endl;
360
361 if (strstr(option,"FULL")) {
362 cout<<"Make track candidates assuming linear propagation between stations 4 and 5: ";
363 if (fMakeTrackCandidatesFast) cout<<"ON"<<endl;
364 else cout<<"OFF"<<endl;
365 } else if (fMakeTrackCandidatesFast)
366 cout<<"Make track candidates assuming linear propagation between stations 4 and 5"<<endl;
367
9bf6860b 368 if (strstr(option,"FULL")) {
369 cout<<"Make track candidates starting from 1 cluster in each of the stations 4 and 5: ";
370 if (fMakeMoreTrackCandidates) cout<<"ON"<<endl;
371 else cout<<"OFF"<<endl;
372 } else if (fMakeMoreTrackCandidates)
373 cout<<"Make track candidates starting from 1 cluster in each of the stations 4 and 5"<<endl;
374
3304fa09 375 if (strstr(option,"FULL")) {
376 cout<<"Try to recover tracks getting lost during tracking: ";
377 if (fRecoverTracks) cout<<"ON"<<endl;
378 else cout<<"OFF"<<endl;
379 } else if (fRecoverTracks)
380 cout<<"Try to recover tracks getting lost during tracking"<<endl;
381
382 if (strstr(option,"FULL")) {
383 cout<<"Try to complete the reconstructed tracks by adding missing clusters: ";
384 if (fComplementTracks) cout<<"ON"<<endl;
385 else cout<<"OFF"<<endl;
386 } else if (fComplementTracks)
387 cout<<"Try to complete the reconstructed tracks by adding missing clusters"<<endl;
388
389 if (strstr(option,"FULL")) {
390 cout<<"Try to improve the reconstructed tracks by removing bad clusters: ";
391 if (fImproveTracks) cout<<Form("ON (sigma cut = %5.2f)",fSigmaCutForImprovement)<<endl;
392 else cout<<"OFF"<<endl;
393 } else if (fImproveTracks)
394 cout<<Form("Try to improve the reconstructed tracks by removing bad clusters (sigma cut = %5.2f)",fSigmaCutForImprovement)<<endl;
395
c59f70b9 396 if (fRemoveConnectedTracksInSt12) cout<<"Remove tracks sharing one cluster or more in any station"<<endl;
397 else cout<<"Remove tracks sharing one cluster or more in stations 3, 4 and 5"<<endl;
398
3304fa09 399 if (strstr(option,"FULL")) {
400 cout<<"Use smoother to compute final track parameters, etc, at each cluster (used for Kalman tracking only): ";
401 if (fUseSmoother) cout<<"ON"<<endl;
402 else cout<<"OFF"<<endl;
403 } else if (fUseSmoother)
404 cout<<"Use smoother to compute final track parameters, etc, at each cluster"<<endl;
405
406 cout<<Form("Maximum normalized chi2 of tracking/trigger track matching = %5.2f",fMaxNormChi2MatchTrigger)<<endl;
407
9bf6860b 408 Bool_t discardedCh = kFALSE;
409 Int_t ch = 0;
410 do {
411 if (!UseChamber(ch)) {
412 if (!discardedCh) {
413 cout<<"Discarded chambers(1..): "<<ch+1;
414 discardedCh = kTRUE;
415 }
416 else cout<<" "<<ch+1;
417 }
418 } while (++ch < 10);
419 if (discardedCh) cout<<endl;
420
421 Bool_t discardedSt = kFALSE;
422 Int_t st = 0;
423 do {
424 if (!RequestStation(st)) {
425 if (!discardedSt) {
426 cout<<"Not requested stations(1..): "<<st+1;
427 discardedSt = kTRUE;
428 }
429 else cout<<" "<<st+1;
430 }
431 } while (++st < 5);
432 if (discardedSt) cout<<endl;
433
35be7ed7 434 cout << Form("Pad goodness policy mask is 0x%x",PadGoodnessMask()) << endl;
435 cout << "Which means we reject pads having the condition = " <<
436 AliMUONPadStatusMaker::AsCondition(PadGoodnessMask()).Data() << endl;
437
438 cout << "The pad limits we are using are :" << endl;
439
440 cout << Form("%5.0f <= HVSt12 <= %5.0f Volts",HVSt12LowLimit(),HVSt12HighLimit()) << endl;
441 cout << Form("%5.0f <= HVSt345 <= %5.0f Volts",HVSt345LowLimit(),HVSt345HighLimit()) << endl;
442 cout << Form("%7.2f <= Pedestal mean <= %7.2f",PedMeanLowLimit(),PedMeanHighLimit()) << endl;
443 cout << Form("%7.2f <= Pedestal sigma <= %7.2f",PedSigmaLowLimit(),PedSigmaHighLimit()) << endl;
444 cout << Form("%e <= Gain linear term <= %e",GainA1LowLimit(),GainA1HighLimit()) << endl;
445 cout << Form("%e <= Gain quadratic term <= %e",GainA2LowLimit(),GainA2HighLimit()) << endl;
446 cout << Form("%5.0f <= Gain threshold term <= %5.0f",GainThresLowLimit(),GainThresHighLimit()) << endl;
7eafe398 447
170f4046 448 cout << Form("And we cut on charge >= %7.2f x ( pedestal sigma ) ",ChargeSigmaCut()) << endl;
449
7eafe398 450 cout << "Occupancy limits are :" << endl;
451
452 cout << Form("%7.2f <= Manu occupancy < %7.2f",ManuOccupancyLowLimit(),ManuOccupancyHighLimit()) << endl;
453 cout << Form("%7.2f <= Buspatch occupancy < %7.2f",BuspatchOccupancyLowLimit(),BuspatchOccupancyHighLimit()) << endl;
454 cout << Form("%7.2f <= DE occupancy < %7.2f",DEOccupancyLowLimit(),DEOccupancyHighLimit()) << endl;
455
35be7ed7 456 cout << "chamber non bending resolution = |";
457 for (Int_t iCh = 0; iCh < 10; iCh++) cout << Form(" %6.3f |",fDefaultNonBendingReso[iCh]);
458 cout << endl;
459 cout << "chamber bending resolution = |";
460 for (Int_t iCh = 0; iCh < 10; iCh++) cout << Form(" %6.3f |",fDefaultBendingReso[iCh]);
461 cout << endl;
89c8d66d 462 cout<<Form("maximum number of trigger tracks above which the tracking is cancelled = %d",fMaxTriggerTracks)<<endl;
aa2b81a1 463 cout<<Form("maximum number of track candidates above which the tracking is abandonned = %d",fMaxTrackCandidates)<<endl;
35be7ed7 464
4348af6f 465 cout<<"\t-----------------------------------------------------"<<endl<<endl;
3304fa09 466
467}
468
004a9ccd 469//_____________________________________________________________________________
470void
471AliMUONRecoParam::SetDefaultLimits()
472{
473 /// Set the default limits and pad goodness policy
474
475 fHVSt12Limits[0]=1500;
476 fHVSt12Limits[1]=2000;
477
478 fHVSt345Limits[0]=1500;
479 fHVSt345Limits[1]=2000;
480
6dbd970f 481 fPedMeanLimits[0] = 20;
004a9ccd 482 fPedMeanLimits[1] = 1024;
483
89c8d66d 484 fPedSigmaLimits[0] = 0.6;
004a9ccd 485 fPedSigmaLimits[1] = 100;
486
487 fGainA1Limits[0] = 0.1;
488 fGainA1Limits[1] = 10;
489
490 fGainA2Limits[0] = -1E30;
491 fGainA2Limits[1] = 1E30;
492
493 fGainThresLimits[0] = 0;
494 fGainThresLimits[1] = 4095;
495
7eafe398 496 fPadGoodnessMask = 0x8080; // Ped is missing | HV is missing
497
498 fManuOccupancyLimits[0] = -1.0;
499 fManuOccupancyLimits[1] = 1.0;
500
501 fBuspatchOccupancyLimits[0] = -1.0;
502 fBuspatchOccupancyLimits[1] = 1.0;
503
504 fDEOccupancyLimits[0] = -1.0;
505 fDEOccupancyLimits[1] = 1.0;
2b8a1212 506
170f4046 507 fChargeSigmaCut = 4.0;
004a9ccd 508}
509