Updates to scripts. Mostly documentation and some new functionalities
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / ForwardAODConfig.C
index 8952856..338441d 100644 (file)
@@ -28,6 +28,40 @@ ForwardAODConfig(AliForwardMultiplicityBase* task)
   // Whether to enable low flux specific code 
   task->SetEnableLowFlux(kFALSE);
 
+  // Would like to use dynamic cast but CINT interprets that as a 
+  // static cast - sigh!
+  Bool_t mc = false;
+  if (task->IsA() == AliForwardMCMultiplicityTask::Class()) 
+    mc = true;
+  
+#if 0 
+  if (mc) {
+    AliForwardMCMultiplicityTask* mcTask = 
+      static_cast<AliForwardMCMultiplicityTask*>(task);
+    mcTask->SetOnlyPrimary(true);
+  }
+#endif
+  Double_t nXi = mc ? 2 : 2;   //HHD test
+  Bool_t   includeSigma = false; //true;
+
+  AliFMDMultCuts cSharing;
+  //c.SetNXi(mc ? 1 : 1);
+  //c.SetIncludeSigma(true);
+  //c.SetMPVFraction(0.5);
+  
+  Double_t factor = 1.;
+  //if(mc) factor = 1.15;
+  
+  cSharing.SetMultCuts(0.3, 0.3, 0.3, 0.3, 0.3);
+  AliFMDMultCuts cDensity;
+  //c2.SetNXi(mc ? 1 : 1);
+  //  c2.SetIncludeSigma(false);
+  //c2.SetMPVFraction(0.5);
+  //Double_t factor = 1.2;
+  cDensity.SetMultCuts(0.3, 0.3, 0.3, 0.3, 0.3);
+  
+  
   // --- Event inspector ---------------------------------------------
   // Set the number of SPD tracklets for which we consider the event a
   // low flux event
@@ -37,17 +71,39 @@ ForwardAODConfig(AliForwardMultiplicityBase* task)
 
   // --- Sharing filter ----------------------------------------------
   // Set the low cut used for sharing - overrides settings in eloss fits
-  task->GetSharingFilter().SetLowCut(0.3);
+  //  Float_t factor = 1.;
+  //if(mc) factor = 1.2;
+  //task->GetSharingFilter().SetLowCut(0.3*factor);
+  // Enable use of angle corrected signals in the algorithm 
+  task->GetSharingFilter().SetUseAngleCorrectedSignals(true);
+  // Disable use of angle corrected signals in the algorithm 
+  task->GetSharingFilter().SetZeroSharedHitsBelowThreshold(false);
+  // Enable use of angle corrected signals in the algorithm 
+  
+  task->GetSharingFilter().GetHCuts().SetMultCuts(-1);
   // Set the number of xi's (width of landau peak) to stop at 
-  task->GetSharingFilter().SetNXi(1);
-
+  task->GetSharingFilter().GetHCuts().SetNXi(nXi);
+  // Set whether or not to include sigma in cut
+  task->GetSharingFilter().GetHCuts().SetIncludeSigma(includeSigma);
+  // Enable use of angle corrected signals in the algorithm 
+  task->GetSharingFilter().SetLCuts(cSharing);
+  
+   
   // --- Density calculator 
   // Set the maximum number of particle to try to reconstruct 
-  task->GetDensityCalculator().SetMaxParticles(3);
+  task->GetDensityCalculator().SetMaxParticles(10);
   // Wet whether to use poisson statistics to estimate N_ch
-  task->GetDensityCalculator().SetUsePoisson(false);
-  // Set the lower multiplicity cut.  Overrides setting in energy loss fits.
-  task->GetDensityCalculator().SetMultCut(0.3); //was 0.3
+  task->GetDensityCalculator().SetUsePoisson(true);
+
+  // Set whether or not to include sigma in cut
+  task->GetDensityCalculator().SetCuts(cDensity);
+  
+  // Set whether or not to use the phi acceptance
+  //   AliFMDDensityCalculator::kPhiNoCorrect
+  //   AliFMDDensityCalculator::kPhiCorrectNch
+  //   AliFMDDensityCalculator::kPhiCorrectELoss
+  task->GetDensityCalculator()
+    .SetUsePhiAcceptance(AliFMDDensityCalculator::kPhiCorrectNch);
 
   // --- Corrector ---------------------------------------------------
   // Whether to use the secondary map correction
@@ -82,7 +138,7 @@ ForwardAODConfig(AliForwardMultiplicityBase* task)
   // Set the overall debug level (1: some output, 3: a lot of output)
   task->SetDebug(0);
   // Set the debug level of a single algorithm 
-  // task->GetEventInspector().SetDebug(4);
+  task->GetSharingFilter().SetDebug(0);
 
   // --- Set limits on fits the energy -------------------------------
   // Maximum relative error on parameters