]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDReconstructor.h
Added cut for K* checks with/without TRD
[u/mrichter/AliRoot.git] / FMD / AliFMDReconstructor.h
index 374a245c9ca89c2d707b68b1c97626362ff3743d..1107c716f88e9345849d796168fa37b66c42a405 100644 (file)
 # include <AliReconstructor.h>
 #endif
 #include "AliLog.h"
+#include <AliFMDBoolMap.h>
 
 //____________________________________________________________________
 class TTree;
 class TClonesArray;
 class AliFMDDigit;
 class AliRawReader;
+class AliFMDRawReader;
 class AliESDEvent;
 class AliESDFMD;
 class AliFMDRecoParam;
@@ -102,6 +104,7 @@ public:
    *       TClonesArray of AliFMDDigits
    */
   virtual void   Reconstruct(AliRawReader *, TTree*) const;
+  virtual void Reconstruct(AliFMDRawReader& reader) const;
   /** 
    * Put in the ESD data, the FMD ESD data.  The object created by
    * the Reconstruct member function is copied to the ESD object. 
@@ -118,7 +121,12 @@ public:
    */
   virtual void   FillESD(AliRawReader*, TTree* clusterTree, 
                         AliESDEvent* esd) const;
-
+  /** 
+   * Return the filled FMD ESD object
+   * 
+   * @return FMD ESD object
+   */
+  AliESDFMD* GetESDObject() const { return fESDObj; }
   /** 
    * Create SDigits from raw data
    * 
@@ -160,6 +168,17 @@ public:
    * @param use If true, make the diagnostics file 
    */
   void SetDiagnose(Bool_t use=kTRUE) { fDiagnostics = use; }
+  /** 
+   * Process AliFMDDigit objects in @a digits.  For each digit, find
+   * the psuedo-rapidity @f$ \eta@f$, azimuthal angle @f$ \varphi@f$,
+   * energy deposited @f$ E@f$, and psuedo-inclusive multiplicity @f$
+   * M@f$.
+   * 
+   * @param digits  Array of digits. 
+   * @param rawRead Raw reader used 
+   */
+  virtual void ProcessDigits(TClonesArray* digits,
+                            const AliFMDRawReader& rawRead) const;
     
 protected:
   /** 
@@ -184,6 +203,14 @@ protected:
    * @param esd ESD structure to get Vz from
    */
   virtual void GetVertex(AliESDEvent* esd) const;
+  /** 
+   * Set-up reconstructor to use values from reconstruction
+   * parameters, if present, for this event.   If the argument @a set
+   * is @c false, then restore preset values. 
+   * 
+   * @param set 
+   */  
+  virtual void UseRecoParam(Bool_t set=kTRUE) const;
   /** 
    * Process AliFMDDigit objects in @a digits.  For each digit, find
    * the psuedo-rapidity @f$ \eta@f$, azimuthal angle @f$ \varphi@f$,
@@ -192,7 +219,7 @@ protected:
    * 
    * @param digits Array of digits. 
    */
-  virtual void     ProcessDigits(TClonesArray* digits) const;
+  virtual void ProcessDigits(TClonesArray* digits) const;
   /** 
    * Process a single digit 
    * 
@@ -372,14 +399,6 @@ protected:
    */
   void MarkDeadChannels(AliESDFMD* esd) const;
 
-  /** 
-   * Set-up reconstructor to use values from reconstruction
-   * parameters, if present, for this event.   If the argument @a set
-   * is @c false, then restore preset values. 
-   * 
-   * @param set 
-   */  
-  virtual void UseRecoParam(Bool_t set=kTRUE) const;
   /** 
    * Utility member function to get the reconstruction parameters for 
    * this event
@@ -416,6 +435,8 @@ protected:
   TH1*                  fDiagAll;      // Diagnostics histogram
   mutable Bool_t        fZS[3];         // Zero-suppredded?
   mutable UShort_t      fZSFactor[3];   // Noise factor for Zero-suppression
+  mutable AliFMDBoolMap fBad;           // Strip marked bad
+  Bool_t                fZombie;        // Are we a zombie?
 private:
    
   ClassDef(AliFMDReconstructor, 3)  // class for the FMD reconstruction