/* 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
-
-
-
-
-
-
-