- Added track parameters at DCA in AliESDMuonTrack
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoCheck.h
1 #ifndef ALIMUONRECOCHECK_H
2 #define ALIMUONRECOCHECK_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 /// \ingroup evaluation
10 /// \class AliMUONRecoCheck
11 /// \brief Utility class to check reconstruction
12
13 #include <TObject.h>
14
15 class TClonesArray;
16 class TFile;
17 class TTree;
18 class AliESDEvent;
19 class AliMCEventHandler;
20 class AliMUONVTrackStore;
21
22 class AliMUONRecoCheck : public TObject 
23 {
24 public:
25   AliMUONRecoCheck(Char_t *chLoader, Char_t *pathSim = "./");
26   virtual ~AliMUONRecoCheck();
27
28   /// Return the list of reconstructed tracks
29   AliMUONVTrackStore* ReconstructedTracks(Int_t event);
30   
31   /// Return reference muon tracks
32   AliMUONVTrackStore* TrackRefs(Int_t event);
33
34   /// Return reconstructible reference tracks
35   AliMUONVTrackStore* ReconstructibleTracks(Int_t event);
36   
37   /// Return the total number of events.
38   Int_t NumberOfEvents() const;
39   
40   /// Return the reconstructed data of current event
41   const AliESDEvent* GetESDEvent() { return fESDEvent; }
42   
43   /// Return the interface to the Monte Carlo data of current event
44   const AliMCEventHandler* GetMCEventHandler() { return fMCEventHandler; }
45   
46 private:
47   /// Not implemented
48   AliMUONRecoCheck(const AliMUONRecoCheck& rhs);
49   /// Not implemented
50   AliMUONRecoCheck& operator = (const AliMUONRecoCheck& rhs);
51
52   void ResetStores();
53   
54   void MakeReconstructedTracks();
55   
56   void MakeTrackRefs();
57   
58   void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore);
59   
60   void MakeReconstructibleTracks();
61
62 private:
63   AliMCEventHandler* fMCEventHandler; ///< to access MC truth information
64   AliESDEvent* fESDEvent; ///< ESD event to access MUON data
65   TTree* fESDTree;        ///< ESD tree to access MUON data
66   TFile* fESDFile;        ///< ESD file to access MUON data
67   
68   Int_t fCurrentEvent; ///< current event number
69   
70   AliMUONVTrackStore* fTrackRefStore;     ///< current simulated tracks (owner)
71   AliMUONVTrackStore* fRecoTrackRefStore; ///< current reconstructible tracks (owner)
72   AliMUONVTrackStore* fRecoTrackStore;    ///< current reconstructed tracks (owner)
73   
74   ClassDef(AliMUONRecoCheck, 0)   //Utility class to check reconstruction
75 };
76
77 #endif
78