if (IsDefault()) cout<<"\t\t*** Parameters used by default ***"<<endl;
+ cout << "Event Specie=" << GetEventSpecie() << endl;
+
cout<<Form("Calibration mode = %s",fCalibrationMode.Data())<<endl;
cout<<Form("Clustering mode = %s",fClusteringMode.Data())<<endl;
cout<<Form("Tracking mode = %s",fTrackingMode.Data())<<endl;
cout << "The pad limits we are using are :" << endl;
- cout << Form("%5.0f <= HVSt12 <= %5.0f Volts",HVSt12LowLimit(),HVSt12HighLimit()) << endl;
- cout << Form("%5.0f <= HVSt345 <= %5.0f Volts",HVSt345LowLimit(),HVSt345HighLimit()) << endl;
+ for ( int ichamber = 0; ichamber < 10; ++ichamber )
+ {
+ cout << Form("HV Ch %d must be >= %5.2f",ichamber,HVLimit(ichamber)) << endl;
+ }
+
cout << Form("%7.2f <= Pedestal mean <= %7.2f",PedMeanLowLimit(),PedMeanHighLimit()) << endl;
cout << Form("%7.2f <= Pedestal sigma <= %7.2f",PedSigmaLowLimit(),PedSigmaHighLimit()) << endl;
cout << Form("%e <= Gain linear term <= %e",GainA1LowLimit(),GainA1HighLimit()) << endl;
//_____________________________________________________________________________
void
-AliMUONRecoParam::SetDefaultLimits()
+AliMUONRecoParam::SetHVLimit(Int_t chamberId, Double_t value)
{
- /// Set the default limits and pad goodness policy
+ /// Set the HV limit for a given chamber (or all chambers
+ /// if chamberId==-1
+
+ if ( chamberId == -1 )
+ {
+ for ( Int_t i = 0; i < 10; ++i )
+ {
+ fHVLimit[i] = value;
+ }
+ }
+ else if ( chamberId >= 0 && chamberId < 10 )
+ {
+ fHVLimit[chamberId]=value;
+ }
+ else
+ {
+ AliError(Form("chamberId = %d is not a valid chamberId",chamberId));
+ }
+}
- fHVSt12Limits[0]=1500;
- fHVSt12Limits[1]=2000;
+//_____________________________________________________________________________
+Double_t AliMUONRecoParam::HVLimit(Int_t chamberId) const
+{
+ /// Get the HV limit for a given chamber
+ if ( chamberId >= 0 && chamberId < 10 )
+ {
+ return fHVLimit[chamberId];
+ }
+ AliError(Form("chamberId = %d is not a valid chamberId",chamberId));
- fHVSt345Limits[0]=1500;
- fHVSt345Limits[1]=2000;
+ return 0.0;
+}
+//_____________________________________________________________________________
+void
+AliMUONRecoParam::SetDefaultLimits()
+{
+ /// Set the default limits and pad goodness policy
+
+ fHVSt12Limits[0]=1500; // kept for backward compatibility only
+ fHVSt12Limits[1]=2000; // kept for backward compatibility only
+ fHVSt345Limits[0]=1500; // kept for backward compatibility only
+ fHVSt345Limits[1]=2000; // kept for backward compatibility only
+
+ SetHVLimit(-1,1590); // this one is the real HV limit used now
+
fPedMeanLimits[0] = 20;
fPedMeanLimits[1] = 1024;
fDEOccupancyLimits[1] = 1.0;
fMissingPadFractionLimit = -1; // DEPRECATED
- fFractionOfBuspatchOutsideOccupancyLimit = 0.10; // 10 %
+ fFractionOfBuspatchOutsideOccupancyLimit = 0.05; // 5 %
ChargeSigmaCut(4.0); // pad with charge < 4.0 x sigma will be removed (where sigma is the actual noise of that very pad, i.e. not the average)
/// "pprealsim"
/// LowFlux (modified to reconstruct realistic p-p simulation)
/// Calibration
+ /// "pbpbreal"
+ /// HighFlux (modified to reconstruct real Pb-Pb data)
+ /// Calibration
AliMUONRecoParam* param(0x0);
// set default lowFlux parameters
param = AliMUONRecoParam::GetLowFluxParam();
}
- else if ( stype == "ppreal" || stype == "pprealsim" || "pprealnofield" )
+ else if ( stype == "ppreal" || stype == "pprealsim" || stype == "pprealnofield" )
{
// common parameters for p-p data and realistic p-p simu
param = AliMUONRecoParam::GetLowFluxParam();
param->SetManuOccupancyLimits(-1.,0.01);
param->SetBuspatchOccupancyLimits(-1.,0.01);
param->SetFractionOfBuspatchOutsideOccupancyLimit(0.05); // 5 %
+ param->SetEventSizeLimits(45., 65.);
// specific parameters for p-p data or realistic p-p simu
if ( stype == "ppreal" || stype == "pprealnofield" )
{
- param->SetPadGoodnessMask(0x400BE80);
+ param->SetPadGoodnessMask(0x400BE9B);
}
else
{
param->TryRecover(kTRUE);
}
}
+ else if ( stype == "pbpbreal" || stype == "pbpbrealsim" )
+ {
+ // common parameters for Pb-Pb data and realistic Pb-Pb simu
+ param = AliMUONRecoParam::GetHighFluxParam();
+ defaultParam = AliRecoParam::kHighMult;
+ param->SaveFullClusterInESD(kTRUE, 100.);
+ for (Int_t iCh=0; iCh<10; iCh++)
+ {
+ param->SetDefaultNonBendingReso(iCh,0.2);
+ param->SetDefaultBendingReso(iCh,0.2);
+ }
+ param->SetSigmaCutForTracking(5.);
+ param->SetStripCutForTrigger(1.5);
+ param->SetSigmaCutForTrigger(4.);
+ param->ImproveTracks(kTRUE, 4.);
+ param->SetPedMeanLimits(20, 700);
+ param->SetManuOccupancyLimits(-1.,0.03);
+ param->SetBuspatchOccupancyLimits(-1.,0.1); // 10 % (this cut not used for the reco anyway)
+ param->SetFractionOfBuspatchOutsideOccupancyLimit(0.05); // 5 %
+ param->SetEventSizeLimits(100., 150.);
+
+ // specific parameters for Pb-Pb data or realistic Pb-Pb simu
+ if ( stype == "pbpbreal" )
+ {
+ param->SetPadGoodnessMask(0x400BE9B);
+ }
+ else
+ {
+ param->SetPadGoodnessMask(0x8080);
+ }
+ }
else
{
AliErrorClass("Unknown settings !");