]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRecoCheck.h
fix for valgrind (m. tadel)
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoCheck.h
index 4529a96850465922f0581edbbc2b255b9b33810e..47485d82395181cdb97528daecaac608c5d86357 100644 (file)
 /// \brief Utility class to check reconstruction
 
 #include <TObject.h>
-#include "AliMUONTrack.h"
 
 class TClonesArray;
-class AliMUONMCDataInterface;
-class AliMUONDataInterface;
+class TFile;
+class TTree;
+class AliESDEvent;
+class AliMCEventHandler;
 class AliMUONVTrackStore;
 
 class AliMUONRecoCheck : public TObject 
 {
 public:
-  AliMUONRecoCheck(Char_t *chLoader, Char_t *chLoaderSim);
+  AliMUONRecoCheck(const Char_t *chLoader, const Char_t *pathSim = "./");
+  AliMUONRecoCheck(AliESDEvent *esdEvent, AliMCEventHandler *mcEventHandler);
   virtual ~AliMUONRecoCheck();
 
-  /// Return number of reconstructed tracks
+  /// Return the list of reconstructed tracks
   AliMUONVTrackStore* ReconstructedTracks(Int_t event);
   
   /// Return reference muon tracks
   AliMUONVTrackStore* TrackRefs(Int_t event);
 
-  /// Return reconstructible ref tracks
+  /// 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);
 
-  AliMUONVTrackStore* MakeReconstructibleTracks(const AliMUONVTrackStore& refTracks);
-
-  AliMUONVTrackStore* MakeTrackRefs(Int_t event);
+  void ResetStores();
+  
+  void MakeReconstructedTracks();
   
-  AliMUONVTrackStore* CleanMuonTrackRef(const AliMUONVTrackStore& refTracks);
+  void MakeTrackRefs();
   
+  void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore);
+  
+  void MakeReconstructibleTracks();
+
 private:
-    
-  AliMUONMCDataInterface* fMCDataInterface; ///< to access MC information
-  AliMUONDataInterface* fDataInterface; ///< to access MUON data
+  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)
   
+  Bool_t fESDEventOwner;         ///< using constructor from the analysis task
+
   ClassDef(AliMUONRecoCheck, 0)   //Utility class to check reconstruction
 };
 
 #endif
 
-
-
-
-
-
-
-