/* $Id$ */
-/// \ingroup base
+/// \ingroup evaluation
/// \class AliMUONRecoCheck
/// \brief Utility class to check reconstruction
-//////////////////////////////////////////////////////////////////////////
-// //
-// AliMUONRecoCheck //
-// //
-//////////////////////////////////////////////////////////////////////////
#include <TObject.h>
#include "AliMUONTrack.h"
class TClonesArray;
-class AliMUONData;
-class AliRunLoader;
-
+class AliMUONMCDataInterface;
+class AliMUONDataInterface;
+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 GetNumberOfRecoTracks() {return fRecoTracks;}
- TClonesArray *GetTrackReco();
- TClonesArray *GetMuonTrackRef() {return fMuonTrackRef;}
+ AliMUONRecoCheck(Char_t *chLoader, Char_t *chLoaderSim);
+ virtual ~AliMUONRecoCheck();
-private:
+ /// Return number of reconstructed tracks
+ AliMUONVTrackStore* ReconstructedTracks(Int_t event);
+
+ /// Return reference muon tracks
+ AliMUONVTrackStore* TrackRefs(Int_t event);
+
+ /// Return reconstructible ref tracks
+ AliMUONVTrackStore* ReconstructibleTracks(Int_t event);
+
+ Int_t NumberOfEvents() const;
- 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
+private:
+ /// Not implemented
+ AliMUONRecoCheck(const AliMUONRecoCheck& rhs);
+ /// Not implemented
+ AliMUONRecoCheck& operator = (const AliMUONRecoCheck& rhs);
+ AliMUONVTrackStore* MakeReconstructibleTracks(const AliMUONVTrackStore& refTracks);
+
+ AliMUONVTrackStore* MakeTrackRefs(Int_t event);
+
+ AliMUONVTrackStore* CleanMuonTrackRef(const AliMUONVTrackStore& refTracks);
+
+private:
+
+ AliMUONMCDataInterface* fMCDataInterface; ///< to access MC information
+ AliMUONDataInterface* fDataInterface; ///< to access MUON data
+
ClassDef(AliMUONRecoCheck, 0) //Utility class to check reconstruction
};