# 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;
* 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.
*/
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
*
* @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:
/**
* Copy CTOR
*
* @param other Object to copy from.
*/
- AliFMDReconstructor(const AliFMDReconstructor& other);
+ AliFMDReconstructor(const AliFMDReconstructor&); //Not implemented
/**
* Assignment operator
*
*
* @return reference to this object
*/
- AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
+ AliFMDReconstructor& operator=(const AliFMDReconstructor&); //Not implemented
/**
* Try to get the vertex from either ESD or generator header. Sets
* @c fCurrentVertex to the found Z posistion of the vertex (if
* @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$,
*
* @param digits Array of digits.
*/
- virtual void ProcessDigits(TClonesArray* digits) const;
+ virtual void ProcessDigits(TClonesArray* digits) const;
/**
* Process a single digit
*
Float_t& eta,
Float_t& phi) 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.
+ * Mark dead channels as invalid, and those that are marked as invalid
+ * but are not dead, get the zero signal.
*
- * @param set
- */
- virtual void UseRecoParam(Bool_t set=kTRUE) const;
+ * @param esd ESD object to modify.
+ */
+ void MarkDeadChannels(AliESDFMD* esd) const;
+
/**
* Utility member function to get the reconstruction parameters for
* this event
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