]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRecoParam.cxx
Class version increased
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoParam.cxx
index 33f88ecbf528bc8f517f9cc7bad7ce1ec56bdb5a..61720754f1df6ff161ce3dd0daa2c7c9cc820b9c 100644 (file)
 
 
 #include "AliMUONRecoParam.h"
+#include "AliMUONPadStatusMaker.h"
 
+#include "AliRecoParam.h"
 #include "AliLog.h"
-#include "AliMUONPadStatusMaker.h"
 
 #include <Riostream.h>
 
@@ -70,12 +71,9 @@ AliMUONRecoParam::AliMUONRecoParam()
   fChargeSigmaCut(4.0)
 {
   /// Constructor
-  SetNameTitle("MUON","MUON");
   
-       SetDefaultLimits();
-       
-  // use the default parameters for low flux environment
-  SetLowFluxParam();
+  SetNameTitle("Dummy","Dummy");
+  SetDefaultLimits();
 }
 
 //_____________________________________________________________________________
@@ -147,6 +145,8 @@ void AliMUONRecoParam::SetLowFluxParam()
 {
   /// Set reconstruction parameters for low flux environment
   
+  SetNameTitle("Low Flux","Low Flux");
+  SetEventSpecie(AliRecoParam::kLowMult);
   fMinBendingMomentum = 1.;
   fMaxBendingMomentum = 3000.;
   fMaxNonBendingSlope = 0.3;
@@ -169,7 +169,11 @@ void AliMUONRecoParam::SetLowFluxParam()
   fComplementTracks = kTRUE;
   fImproveTracks = kTRUE;
   fUseSmoother = kTRUE;
-  for (Int_t iCh = 0; iCh < 10; iCh++) fUseChamber[iCh] = kTRUE;
+  for (Int_t iCh = 0; iCh < 10; iCh++) {
+    fUseChamber[iCh] = kTRUE;
+    fDefaultNonBendingReso[iCh] = 0.144;
+    fDefaultBendingReso[iCh] = 0.01;
+  }
   for (Int_t iSt = 0; iSt < 5; iSt++) fRequestStation[iSt] = kTRUE;
   fBypassSt45 = 0;
   
@@ -180,6 +184,8 @@ void AliMUONRecoParam::SetHighFluxParam()
 {
   /// Set reconstruction parameters for high flux environment
   
+  SetNameTitle("High Flux","High Flux");
+  SetEventSpecie(AliRecoParam::kHighMult);
   fMinBendingMomentum = 1.;
   fMaxBendingMomentum = 3000.;
   fMaxNonBendingSlope = 0.3;
@@ -202,7 +208,11 @@ void AliMUONRecoParam::SetHighFluxParam()
   fComplementTracks = kTRUE;
   fImproveTracks = kTRUE;
   fUseSmoother = kTRUE;
-  for (Int_t iCh = 0; iCh < 10; iCh++) fUseChamber[iCh] = kTRUE;
+  for (Int_t iCh = 0; iCh < 10; iCh++) {
+    fUseChamber[iCh] = kTRUE;
+    fDefaultNonBendingReso[iCh] = 0.144;
+    fDefaultBendingReso[iCh] = 0.01;
+  }
   for (Int_t iSt = 0; iSt < 5; iSt++) fRequestStation[iSt] = kTRUE;
   fBypassSt45 = 0;
   
@@ -229,6 +239,8 @@ void AliMUONRecoParam::SetCosmicParam()
 {
   /// Set reconstruction parameters for high flux environment
   
+  SetNameTitle("Cosmic","Cosmic");
+  SetEventSpecie(AliRecoParam::kCosmic);
   fMinBendingMomentum = 1.;
   fMaxBendingMomentum = 10000000.;
   fMaxNonBendingSlope = 0.3;
@@ -251,7 +263,11 @@ void AliMUONRecoParam::SetCosmicParam()
   fImproveTracks = kTRUE;
   fUseSmoother = kTRUE;
   fSaveFullClusterInESD = kTRUE;
-  for (Int_t iCh = 0; iCh < 10; iCh++) fUseChamber[iCh] = kTRUE;
+  for (Int_t iCh = 0; iCh < 10; iCh++) {
+    fUseChamber[iCh] = kTRUE;
+    fDefaultNonBendingReso[iCh] = 0.144;
+    fDefaultBendingReso[iCh] = 0.01;
+  }
   for (Int_t iSt = 0; iSt < 5; iSt++) fRequestStation[iSt] = kTRUE;
   fBypassSt45 = 0;
   
@@ -263,7 +279,9 @@ void AliMUONRecoParam::Print(Option_t *option) const
   /// print reconstruction parameters
   /// if option = FULL then print also unused parameters
   
-  cout<<endl<<"\t------Reconstruction parameters------"<<endl;
+  cout<<endl<<"\t------MUON Reconstruction parameters ("<<GetName()<<")------"<<endl;
+  
+  if (IsDefault()) cout<<"\t\t*** Parameters used by default ***"<<endl;
   
   cout<<Form("Calibration mode = %s",fCalibrationMode.Data())<<endl;
   cout<<Form("Clustering mode = %s",fClusteringMode.Data())<<endl;
@@ -386,23 +404,30 @@ void AliMUONRecoParam::Print(Option_t *option) const
   } while (++st < 5);
   if (discardedSt) cout<<endl;
   
-       cout << Form("Pad goodness policy mask is 0x%x",PadGoodnessMask()) << endl;
-       cout << "Which means we reject pads having the condition = " <<
-       AliMUONPadStatusMaker::AsCondition(PadGoodnessMask()).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;
-       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;
-       cout << Form("%e <= Gain quadratic term <= %e",GainA2LowLimit(),GainA2HighLimit()) << endl;
-       cout << Form("%5.0f <= Gain threshold term <= %5.0f",GainThresLowLimit(),GainThresHighLimit()) << endl;
+  cout << Form("Pad goodness policy mask is 0x%x",PadGoodnessMask()) << endl;
+  cout << "Which means we reject pads having the condition = " <<
+  AliMUONPadStatusMaker::AsCondition(PadGoodnessMask()).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;
+  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;
+  cout << Form("%e <= Gain quadratic term <= %e",GainA2LowLimit(),GainA2HighLimit()) << endl;
+  cout << Form("%5.0f <= Gain threshold term <= %5.0f",GainThresLowLimit(),GainThresHighLimit()) << endl;
   
   cout << Form("And we cut on charge >= %7.2f x ( pedestal sigma ) ",ChargeSigmaCut()) << endl;
   
-  cout<<"\t-------------------------------------"<<endl<<endl;
+  cout << "chamber non bending resolution = |";
+  for (Int_t iCh = 0; iCh < 10; iCh++) cout << Form(" %6.3f |",fDefaultNonBendingReso[iCh]);
+  cout << endl;
+  cout << "chamber bending resolution = |";
+  for (Int_t iCh = 0; iCh < 10; iCh++) cout << Form(" %6.3f |",fDefaultBendingReso[iCh]);
+  cout << endl;
+  
+  cout<<"\t-----------------------------------------------------"<<endl<<endl;
   
 }