]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRecoCheck.h
Integrating dimuon HLT with AliSimulation framework via AliHLTSystem interfaces.
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoCheck.h
index 48b6d1f12cc53124eb42eb3b9e301b4d5b1fcd1c..5600a2c99e54217b969543e7528fb0510c0df576 100644 (file)
@@ -4,58 +4,75 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-//////////////////////////////////////////////////////////////////////////
-//                                                                      //
-// AliMUONRecoCheck                                                     //
-//                                                                      //
-//////////////////////////////////////////////////////////////////////////
+/* $Id$ */
+
+/// \ingroup evaluation
+/// \class AliMUONRecoCheck
+/// \brief Utility class to check reconstruction
+
 #include <TObject.h>
-#include "AliMUONTrack.h"
 
 class TClonesArray;
-class AliMUONData;
-class AliRunLoader;
-
+class TFile;
+class TTree;
+class AliESDEvent;
+class AliMCEventHandler;
+class AliMUONVTrackStore;
 
 class AliMUONRecoCheck : public TObject 
 {
 public:
-  AliMUONRecoCheck(Char_t *chLoader);
-  virtual          ~AliMUONRecoCheck();
-
-  AliMUONData*  GetMUONData() {return fMUONData;}
-  void MakeTrackRef();
-  void AddMuonTrackReference(const AliMUONTrack *muonTrack) 
-    {new ((*fMuonTrackRef)[fMuonTrackRef->GetEntriesFast()]) AliMUONTrack(*muonTrack);}
-  void PrintEvent() const;
-  void ResetTracks() const;
-  AliRunLoader* GetRunLoader() {return fRunLoader;}
-  void CleanMuonTrackRef();
-  void ReconstructibleTracks();
-  Int_t GetNumberOfReconstuctibleTracks() {return fReconstructibleTracks;}
-  Int_t ChamberNumber(Float_t z) const;
-  Int_t GetNumberOfRecoTracks() {return fRecoTracks;}
-  TClonesArray *GetTrackReco();
-  TClonesArray *GetMuonTrackRef() {return fMuonTrackRef;}
+  AliMUONRecoCheck(Char_t *chLoader, Char_t *pathSim = "./");
+  virtual ~AliMUONRecoCheck();
 
+  /// Return the list of reconstructed tracks
+  AliMUONVTrackStore* ReconstructedTracks(Int_t event);
+  
+  /// Return reference muon tracks
+  AliMUONVTrackStore* TrackRefs(Int_t event);
+
+  /// Return reconstructible reference tracks
+  AliMUONVTrackStore* ReconstructibleTracks(Int_t event);
+  
+  /// Return the total number of events.
+  Int_t NumberOfEvents() const;
+  
+  /// Return the reconstructed data of current event
+  const AliESDEvent* GetESDEvent() { return fESDEvent; }
+  
+  /// Return the interface to the Monte Carlo data of current event
+  const AliMCEventHandler* GetMCEventHandler() { return fMCEventHandler; }
+  
 private:
+  /// Not implemented
+  AliMUONRecoCheck(const AliMUONRecoCheck& rhs);
+  /// Not implemented
+  AliMUONRecoCheck& operator = (const AliMUONRecoCheck& rhs);
+
+  void ResetStores();
+  
+  void MakeReconstructedTracks();
+  
+  void MakeTrackRefs();
   
-  AliRunLoader* fRunLoader;     // alice run loader 
-  AliMUONData*  fMUONData;      // Data container for MUON subsystem 
-  TClonesArray* fMuonTrackRef;  // reference muon tracks
-  TClonesArray* fTrackReco;     // reconstructed muon tracks
-  Int_t fReconstructibleTracks; // number of reconstructible tracks 
-  Int_t fRecoTracks; // number of reconstructed tracks 
+  void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore);
+  
+  void MakeReconstructibleTracks();
 
+private:
+  AliMCEventHandler* fMCEventHandler; ///< to access MC truth information
+  AliESDEvent* fESDEvent; ///< ESD event to access MUON data
+  TTree* fESDTree;        ///< ESD tree to access MUON data
+  TFile* fESDFile;        ///< ESD file to access MUON data
+  
+  Int_t fCurrentEvent; ///< current event number
+  
+  AliMUONVTrackStore* fTrackRefStore;     ///< current simulated tracks (owner)
+  AliMUONVTrackStore* fRecoTrackRefStore; ///< current reconstructible tracks (owner)
+  AliMUONVTrackStore* fRecoTrackStore;    ///< current reconstructed tracks (owner)
+  
   ClassDef(AliMUONRecoCheck, 0)   //Utility class to check reconstruction
 };
 
 #endif
 
-
-
-
-
-
-
-