]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRecoParam.cxx
Test for Coverity
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoParam.cxx
index 1f75b8424f4db8f07cee032d081ede08f447304c..75ab88f24b2263a92ac0639804b8ef35ef4a8824 100644 (file)
@@ -355,6 +355,8 @@ void AliMUONRecoParam::Print(Option_t *option) const
   
   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;
@@ -483,8 +485,11 @@ void AliMUONRecoParam::Print(Option_t *option) const
   
   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;
@@ -537,16 +542,54 @@ void AliMUONRecoParam::Print(Option_t *option) const
 
 //_____________________________________________________________________________
 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;
        
@@ -574,7 +617,7 @@ AliMUONRecoParam::SetDefaultLimits()
   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)
   
@@ -611,6 +654,9 @@ AliMUONRecoParam::Create(const char* settings)
   /// "pprealsim"
   ///      LowFlux (modified to reconstruct realistic p-p simulation)
   ///      Calibration
+  /// "pbpbreal"
+  ///      HighFlux (modified to reconstruct real Pb-Pb data)
+  ///      Calibration
   
   AliMUONRecoParam* param(0x0);
   
@@ -630,7 +676,7 @@ AliMUONRecoParam::Create(const char* settings)
     // 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();
@@ -648,11 +694,12 @@ AliMUONRecoParam::Create(const char* settings)
     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
     {
@@ -664,6 +711,37 @@ AliMUONRecoParam::Create(const char* settings)
       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 !");