]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRecoParam.cxx
From Redmer:
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoParam.cxx
index 75ab88f24b2263a92ac0639804b8ef35ef4a8824..fafb9b296807b4fd445beb6ef8ddc4f24e9eec3c 100644 (file)
@@ -36,6 +36,8 @@
 
 #include <Riostream.h>
 
+using std::cout;
+using std::endl;
 ClassImp(AliMUONRecoParam)
 
 
@@ -83,7 +85,10 @@ AliMUONRecoParam::AliMUONRecoParam()
   fEventSizeSoftLimit(35.0),
   fEventSizeHardLimit(45.0),
   fTokenLostLimit(0.0),
-  fTryRecover(kFALSE)
+  fTryRecover(kFALSE),
+  fDiscardMonoCathodClusters(kFALSE),
+  fMonoCathodClNonBendingRes(0.),
+  fMonoCathodClBendingRes(0.)
 {  
   /// Constructor
   
@@ -214,6 +219,9 @@ void AliMUONRecoParam::SetLowFluxParam()
   fBypassSt45 = 0;
   fMaxTriggerTracks = 100;
   fMaxTrackCandidates = 10000;  
+  fDiscardMonoCathodClusters = kFALSE;
+  fMonoCathodClNonBendingRes = 10.;
+  fMonoCathodClBendingRes = 10.;
 }
 
 //_____________________________________________________________________________
@@ -256,6 +264,9 @@ void AliMUONRecoParam::SetHighFluxParam()
   fBypassSt45 = 0;
   fMaxTriggerTracks = 100;
   fMaxTrackCandidates = 10000;
+  fDiscardMonoCathodClusters = kFALSE;
+  fMonoCathodClNonBendingRes = 10.;
+  fMonoCathodClBendingRes = 10.;
 }
 
 //_____________________________________________________________________________
@@ -305,6 +316,9 @@ void AliMUONRecoParam::SetCosmicParam()
   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
   fMaxTriggerTracks = 100;
   fMaxTrackCandidates = 10000;
+  fDiscardMonoCathodClusters = kFALSE;
+  fMonoCathodClNonBendingRes = 10.;
+  fMonoCathodClBendingRes = 10.;
   
   SetPedMeanLimits(20, 700);
   SetManuOccupancyLimits(-1.,0.01); // reject manu above occ=1%
@@ -500,9 +514,9 @@ void AliMUONRecoParam::Print(Option_t *option) const
   
   cout << "Occupancy limits are :" << endl;
   
-  cout << Form("%e <= Manu occupancy < %7.2f",ManuOccupancyLowLimit(),ManuOccupancyHighLimit()) << endl;
-  cout << Form("%e <= Buspatch occupancy < %7.2f",BuspatchOccupancyLowLimit(),BuspatchOccupancyHighLimit()) << endl;
-  cout << Form("%e <= DE occupancy < %7.2f",DEOccupancyLowLimit(),DEOccupancyHighLimit()) << endl;
+  cout << Form("%e <= Manu occupancy < %7.3f",ManuOccupancyLowLimit(),ManuOccupancyHighLimit()) << endl;
+  cout << Form("%e <= Buspatch occupancy < %7.3f",BuspatchOccupancyLowLimit(),BuspatchOccupancyHighLimit()) << endl;
+  cout << Form("%e <= DE occupancy < %7.3f",DEOccupancyLowLimit(),DEOccupancyHighLimit()) << endl;
   
   cout << "'QAChecker' limits" << endl;  
   cout << Form("FractionOfBuspatchOutsideOccupancyLimit = %5.2f %%",FractionOfBuspatchOutsideOccupancyLimit()*100.0) << endl;
@@ -530,6 +544,14 @@ void AliMUONRecoParam::Print(Option_t *option) const
                ClusterChargeCut(),ClusterChargeCut()*AverageNoisePadCharge()) << endl;
   cout << Form("Note that LowestPadCharge is then %7.2f fC",LowestPadCharge()) << endl;
   
+  if (strstr(option,"FULL")) {
+    cout<<"Try to improve the reconstructed tracks by changing the resolution of mono-cathod clusters: ";
+    if (fDiscardMonoCathodClusters) cout<<Form("ON (res = %6.3f, %6.3f)",fMonoCathodClNonBendingRes,fMonoCathodClBendingRes)<<endl;
+    else cout<<"OFF"<<endl;
+  } else if (fDiscardMonoCathodClusters)
+    cout<<Form("Try to improve the reconstructed tracks by changing the resolution of mono-cathod clusters (res = %6.3f, %6.3f)",
+              fMonoCathodClNonBendingRes,fMonoCathodClBendingRes)<<endl;
+  
   if (TryRecover())
   {
     cout << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
@@ -691,10 +713,14 @@ AliMUONRecoParam::Create(const char* settings)
     param->SetSigmaCutForTrigger(6.);
     param->ImproveTracks(kTRUE, 6.);
     param->SetPedMeanLimits(20, 700);
-    param->SetManuOccupancyLimits(-1.,0.01);
-    param->SetBuspatchOccupancyLimits(-1.,0.01);  
+    param->SetManuOccupancyLimits(-1.,0.015);
+    param->SetBuspatchOccupancyLimits(-1.,0.05);  
     param->SetFractionOfBuspatchOutsideOccupancyLimit(0.05); // 5 %
     param->SetEventSizeLimits(45., 65.);
+    param->SetHVLimit(0,1550);
+    param->SetHVLimit(1,1550);
+    param->SetHVLimit(2,1550);
+    param->SetHVLimit(3,1550);
     
     // specific parameters for p-p data or realistic p-p simu
     if ( stype == "ppreal" || stype == "pprealnofield" )