+ /// switch on/off a chamber in the reconstruction
+ void UseChamber(Int_t iCh, Bool_t flag) {if (iCh >= 0 && iCh < 10) fUseChamber[iCh] = flag;}
+ /// return kTRUE/kFALSE whether the chamber must be used or not
+ Bool_t UseChamber(Int_t iCh) const {return (iCh >= 0 && iCh < 10) ? fUseChamber[iCh] : kFALSE;}
+
+ /// request or not at least one cluster in the station to validate the track
+ void RequestStation(Int_t iSt, Bool_t flag) {if (iSt >= 0 && iSt < 5) fRequestStation[iSt] = flag;}
+ /// return kTRUE/kFALSE whether at least one cluster is requested in the station to validate the track
+ Bool_t RequestStation(Int_t iSt) const {return (iSt >= 0 && iSt < 5) ? fRequestStation[iSt] : kFALSE;}
+ /// return an integer where first 5 bits are set to 1 if the corresponding station is requested
+ UInt_t RequestedStationMask() const;
+
+ /// set the bypassSt45 value
+ void BypassSt45(Bool_t st4, Bool_t st5);
+
+ /// return kTRUE if we should replace clusters in St 4 and 5 by generated clusters from trigger tracks
+ Bool_t BypassSt45() const { return fBypassSt45==45; }
+
+ /// return kTRUE if we should replace clusters in St 4 by generated clusters from trigger tracks
+ Bool_t BypassSt4() const { return BypassSt45() || fBypassSt45==4 ; }
+
+ /// return kTRUE if we should replace clusters in St 5 by generated clusters from trigger tracks
+ Bool_t BypassSt5() const { return BypassSt45() || fBypassSt45==5 ; }
+
+ /// Set Low and High threshold for St12 HV
+ void SetHVSt12Limits(float low, float high) { fHVSt12Limits[0]=low; fHVSt12Limits[1]=high; }
+ /// Retrieve low limit for St12's HV
+ Float_t HVSt12LowLimit() const { return fHVSt12Limits[0]; }
+ /// Retrieve high limit for St12's HV
+ Float_t HVSt12HighLimit() const { return fHVSt12Limits[1]; }
+
+ /// Set Low and High threshold for St345 HV
+ void SetHVSt345Limits(float low, float high) { fHVSt345Limits[0]=low; fHVSt345Limits[1]=high; }
+ /// Retrieve low limit for St345's HV
+ Float_t HVSt345LowLimit() const { return fHVSt345Limits[0]; }
+ /// Retrieve high limit for St345's HV
+ Float_t HVSt345HighLimit() const { return fHVSt345Limits[1]; }
+
+ /// Set Low and High threshold for pedestal mean
+ void SetPedMeanLimits(float low, float high) { fPedMeanLimits[0]=low; fPedMeanLimits[1]=high; }
+ /// Retrieve low limit of ped mean
+ Float_t PedMeanLowLimit() const { return fPedMeanLimits[0]; }
+ /// Retrieve high limit of ped mean
+ Float_t PedMeanHighLimit() const { return fPedMeanLimits[1]; }
+
+ /// Set Low and High threshold for pedestal sigma
+ void SetPedSigmaLimits(float low, float high) { fPedSigmaLimits[0]=low; fPedSigmaLimits[1]=high; }
+ /// Retrieve low limit of ped sigma
+ Float_t PedSigmaLowLimit() const { return fPedSigmaLimits[0]; }
+ /// Retrieve high limit of ped sigma
+ Float_t PedSigmaHighLimit() const { return fPedSigmaLimits[1]; }
+
+ /// Set Low and High threshold for gain a0 term
+ void SetGainA1Limits(float low, float high) { fGainA1Limits[0]=low; fGainA1Limits[1]=high; }
+ /// Retrieve low limit of a1 (linear term) gain parameter
+ Float_t GainA1LowLimit() const { return fGainA1Limits[0]; }
+ /// Retrieve high limit of a1 (linear term) gain parameter
+ Float_t GainA1HighLimit() const { return fGainA1Limits[1]; }
+
+ /// Set Low and High threshold for gain a1 term
+ void SetGainA2Limits(float low, float high) { fGainA2Limits[0]=low; fGainA2Limits[1]=high; }
+ /// Retrieve low limit of a2 (quadratic term) gain parameter
+ Float_t GainA2LowLimit() const { return fGainA2Limits[0]; }
+ /// Retrieve high limit of a2 (quadratic term) gain parameter
+ Float_t GainA2HighLimit() const { return fGainA2Limits[1]; }
+
+ /// Set Low and High threshold for gain threshold term
+ void SetGainThresLimits(float low, float high) { fGainThresLimits[0]=low; fGainThresLimits[1]=high; }
+ /// Retrieve low limit on threshold gain parameter
+ Float_t GainThresLowLimit() const { return fGainThresLimits[0]; }
+ /// Retrieve high limit on threshold gain parameter
+ Float_t GainThresHighLimit() const { return fGainThresLimits[1]; }
+
+ /// Set the goodness mask (see AliMUONPadStatusMapMaker)
+ void SetPadGoodnessMask(UInt_t mask) { fPadGoodnessMask=mask; }
+ /// Get the goodness mask
+ UInt_t PadGoodnessMask() const { return fPadGoodnessMask; }
+
+ /// Number of sigma cut we must apply when cutting on adc-ped
+ Double_t ChargeSigmaCut() const { return fChargeSigmaCut; }
+
+ /// Number of sigma cut we must apply when cutting on adc-ped
+ void ChargeSigmaCut(Double_t value) { fChargeSigmaCut=value; }
+
+ /// Set the default non bending resolution of chamber iCh
+ void SetDefaultNonBendingReso(Int_t iCh, Double_t val) {if (iCh >= 0 && iCh < 10) fDefaultNonBendingReso[iCh] = val;}
+ /// Get the default non bending resolution of chamber iCh
+ Double_t GetDefaultNonBendingReso(Int_t iCh) const {return (iCh >= 0 && iCh < 10) ? fDefaultNonBendingReso[iCh] : FLT_MAX;}
+ /// Set the default bending resolution of chamber iCh
+ void SetDefaultBendingReso(Int_t iCh, Double_t val) {if (iCh >= 0 && iCh < 10) fDefaultBendingReso[iCh] = val;}
+ /// Get the default bending resolution of chamber iCh
+ Double_t GetDefaultBendingReso(Int_t iCh) const {return (iCh >= 0 && iCh < 10) ? fDefaultBendingReso[iCh] : FLT_MAX;}
+
+ /// Set the maximum number of trigger tracks above which the tracking is cancelled
+ void SetMaxTriggerTracks(Int_t maxTriggerTracks) {fMaxTriggerTracks = maxTriggerTracks;}
+ /// Get the maximum number of trigger tracks above which the tracking is cancelled
+ Int_t GetMaxTriggerTracks() const {return fMaxTriggerTracks;}
+
+ /// Set the maximum number of track candidates above which the tracking abort
+ void SetMaxTrackCandidates(Int_t maxTrackCandidates) {fMaxTrackCandidates = maxTrackCandidates;}
+ /// Get the maximum number of track candidates above which the tracking abort
+ Int_t GetMaxTrackCandidates() const {return fMaxTrackCandidates;}
+
+ /// Set the limits for the acceptable manu occupancy
+ void SetManuOccupancyLimits(float low, float high) { fManuOccupancyLimits[0]=low; fManuOccupancyLimits[1]=high; }
+ /// Retrieve low value of manu occupancy limit
+ Float_t ManuOccupancyLowLimit() const { return fManuOccupancyLimits[0]; }
+ /// Retrieve high value of manu occupancy limit
+ Float_t ManuOccupancyHighLimit() const { return fManuOccupancyLimits[1]; }
+
+ /// Set the limits for the acceptable bp occupancy
+ void SetBuspatchOccupancyLimits(float low, float high) { fBuspatchOccupancyLimits[0]=low; fBuspatchOccupancyLimits[1]=high; }
+ /// Retrieve low value of bp occupancy limit
+ Float_t BuspatchOccupancyLowLimit() const { return fBuspatchOccupancyLimits[0]; }
+ /// Retrieve high value of bp occupancy limit
+ Float_t BuspatchOccupancyHighLimit() const { return fBuspatchOccupancyLimits[1]; }
+
+ /// Set the limits for the acceptable DE occupancy
+ void SetDEOccupancyLimits(float low, float high) { fDEOccupancyLimits[0]=low; fDEOccupancyLimits[1]=high; }
+ /// Retrieve low value of DE occupancy limit
+ Float_t DEOccupancyLowLimit() const { return fDEOccupancyLimits[0]; }
+ /// Retrieve high value of DE occupancy limit
+ Float_t DEOccupancyHighLimit() const { return fDEOccupancyLimits[1]; }
+