- Disentangle masks effect from trigger chamber efficiency estimation.
[u/mrichter/AliRoot.git] / MUON / AliMUONReconstructor.h
index 3a20a06..dca7b4f 100644 (file)
 #  include "AliReconstructor.h"
 #endif
 
+class AliMUONCalibrationData;
+class AliMUONDigitCalibrator;
 class AliMUONDigitMaker;
-class AliMUONVDigitStore;
-class AliMUONVTriggerStore;
-
 class AliMUONGeometryTransformer;
-
-class AliMUONTriggerCrateStore;
-class AliMUONTriggerCircuit;
-class TClonesArray;
-class AliMUONVTriggerStore;
-
-class AliMUONDigitCalibrator;
-class AliMUONCalibrationData;
-
 class AliMUONTracker;
-class AliMUONVTrackStore;
-
-class AliMUONTriggerChamberEff;
-
-class AliMUONRecoParam;
-
+class AliMUONTriggerCircuit;
 class AliMUONVClusterFinder;
-
 class AliMUONVClusterServer;
+class AliMUONVClusterStore;
+class AliMUONVDigitStore;
+class AliMUONVTrackStore;
+class AliMUONVTriggerStore;
+class AliMUONTriggerElectronics;
+class TClonesArray;
+class AliMUONTriggerUtilities;
+
+#include "AliMUONRecoParam.h"
 
 class AliMUONReconstructor : public AliReconstructor
 {
@@ -57,10 +50,11 @@ public:
   
   virtual AliTracker* CreateTracker() const;
   
-  static void SetRecoParam(AliMUONRecoParam *param);
-  /// return reconstruction parametres
-  static const AliMUONRecoParam* GetRecoParam() {return fgRecoParam;}
+  /// Get param object
+  static const AliMUONRecoParam* GetRecoParam() { return dynamic_cast<const AliMUONRecoParam*>(AliReconstructor::GetRecoParam(7)); }
   
+  static AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType);
+
 private:
   /// Not implemented
   AliMUONReconstructor(const AliMUONReconstructor&);
@@ -71,21 +65,21 @@ private:
                      AliMUONVDigitStore* digitStore,
                      AliMUONVTriggerStore* triggerStore) const;
   void Calibrate(AliMUONVDigitStore& digitStore) const;
-  AliMUONTriggerCrateStore* CrateManager() const;
+  void CreateCalibrationData() const;
   void CreateCalibrator() const;
-  AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType) const;
   void CreateDigitMaker() const;
   void CreateTriggerCircuit() const;
+  void CreateTriggerUtilities() const;
   void CreateClusterServer() const;
-  void CreateTriggerChamberEff() const;
   void FillTreeR(AliMUONVTriggerStore* triggerStore,
                  TTree& clustersTree) const;
   
   AliMUONVDigitStore* DigitStore() const;
   AliMUONVTriggerStore* TriggerStore() const;
-
+  void ResponseRemovingChambers(AliMUONVTriggerStore* triggerStore) const;
+  
 private:
-  mutable AliMUONTriggerCrateStore* fCrateManager; //!< Trigger Crate manager
+
   mutable AliMUONDigitMaker* fDigitMaker; //!< Raw to Digits converter
   AliMUONGeometryTransformer* fTransformer; //!< Geometry transformer (local<->global)
   mutable AliMUONVDigitStore* fDigitStore; //!< Digit container
@@ -95,11 +89,11 @@ private:
   mutable AliMUONVClusterServer* fClusterServer; //!<  Clusterizer
   mutable AliMUONVTriggerStore* fTriggerStore; //!< Trigger container
   mutable AliMUONVTrackStore* fTrackStore; //!< Track container
-  mutable AliMUONTriggerChamberEff* fTrigChamberEff; //!< pointer to trigger chamber efficiency class
-  
-  static AliMUONRecoParam* fgRecoParam; //!< parameters used to tune the MUON reconstruction
+  mutable AliMUONVClusterStore* fClusterStore; //!< cluster store (when not in combined tracking mode)
+  mutable AliMUONTriggerElectronics* fTriggerProcessor; //!< Processor to recalculate trigger response
+  mutable AliMUONTriggerUtilities* fTriggerUtilities; //!< Trigger utilities for masks
   
-  ClassDef(AliMUONReconstructor,4) // Implementation of AliReconstructor
+  ClassDef(AliMUONReconstructor,10) // Implementation of AliReconstructor
 };
 
 #endif