More code clean up.
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliFMDSharingFilter.h
index 71bf3cb77fdead72ea4bd4b253df796cca2e83b8..7d8ba9922d066d1e8f66c5be792494875a30d855 100644 (file)
@@ -70,7 +70,18 @@ public:
    * 
    * @param lowCut Low cut
    */
-  void SetLowCut(Double_t lowCut=0.3) { fLowCut = lowCut; }
+  void SetLowCut(Double_t lowCut=0) { fLowCut = lowCut; }
+  /** 
+   * Reset the low cut for sharing to use the fit range lower cut 
+   * 
+   */
+  void UnsetLowCut() { fLowCut = 0; }
+  /** 
+   * Set the debug level.  The higher the value the more output 
+   * 
+   * @param dbg Debug level 
+   */
+  void SetDebug(Int_t dbg=1) { fDebug = dbg; }
 
   /** 
    * Enable use of angle corrected signals in the algorithm 
@@ -80,23 +91,29 @@ public:
    * signals are always angle corrected. 
    */
   void UseAngleCorrectedSignals(Bool_t use) { fCorrectAngles = use; }
+  /** 
+   * Set the number of landau width to subtract from the most probably
+   * value to get the high cut for the merging algorithm.
+   * 
+   * @param n Number of @f$ \xi@f$ 
+   */
+  void SetNXi(Short_t n) { fNXi = n; }
   /** 
    * Filter the input AliESDFMD object
    * 
    * @param input     Input 
    * @param lowFlux   If this is a low-flux event 
    * @param output    Output AliESDFMD object 
-   * @param vz        Current vertex position 
    * 
    * @return True on success, false otherwise 
    */
   Bool_t Filter(const AliESDFMD& input, 
                Bool_t           lowFlux, 
-               AliESDFMD&       output,
-               Double_t         vz);
+               AliESDFMD&       output);
   /** 
    * Scale the histograms to the total number of events 
    * 
+   * @param dir     Where the output is 
    * @param nEvents Number of events 
    */
   void ScaleHistograms(TList* dir, Int_t nEvents);
@@ -109,6 +126,12 @@ public:
    * @param dir Directory to add to 
    */
   void DefineOutput(TList* dir);
+  /** 
+   * Print information
+   * 
+   * @param option Not used 
+   */
+  void Print(Option_t* option="") const;
 protected:
   /** 
    * Internal data structure to keep track of the histograms
@@ -145,16 +168,30 @@ protected:
      */
     ~RingHistos();
     /** 
-     * Initialise this object 
+     * Clear this object
      */
     void Clear(const Option_t* ="") { fNHits = 0; } 
+    /** 
+     * Increase number of hits 
+     * 
+     */
     void Incr() { fNHits++; } 
+    /** 
+     * Finish off 
+     * 
+     */
     void Finish(); 
+    /** 
+     * Make output 
+     * 
+     * @param dir where to store 
+     */
     void Output(TList* dir);
     /** 
      * Scale the histograms to the total number of events 
      * 
      * @param nEvents Number of events 
+     * @param dir     Where the output is 
      */
     void ScaleHistograms(TList* dir, Int_t nEvents);
     TH1D*     fBefore;       // Distribution of signals before filter
@@ -240,11 +277,19 @@ protected:
    * 2 times the width of the corresponding Landau.
    */
   virtual Double_t GetHighCut(UShort_t d, Char_t r, Double_t eta) const;
+  /**
+   * Get the low cut.  Normally, the low cut is taken to be the lower
+   * value of the fit range used when generating the energy loss fits.
+   * However, if fLowCut is set (using SetLowCit) to a value greater
+   * than 0, then that value is used.
+   */
+  virtual Double_t GetLowCut() const;
 
   TList    fRingHistos;    // List of histogram containers
   Double_t fLowCut;        // Low cut on sharing
   Bool_t   fCorrectAngles; // Whether to work on angle corrected signals
-  TH2*     fEtaCorr;
+  Short_t  fNXi;           // Number of xi's from Delta to stop merging
+  Int_t    fDebug;         // Debug level 
 
   ClassDef(AliFMDSharingFilter,1); //
 };