]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONRecoCheck.h
Init() method added.
[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 AliMCEventHandler;
17 class AliMUONDataInterface;
18 class AliMUONVTrackStore;
19 class AliESDEvent;
20
21 class AliMUONRecoCheck : public TObject 
22 {
23 public:
24   AliMUONRecoCheck(Char_t *chLoader, Char_t *pathSim = "./");
25   virtual ~AliMUONRecoCheck();
26
27   /// Return the list of reconstructed tracks
28   AliMUONVTrackStore* ReconstructedTracks(Int_t event);
29   
30   /// Create and return a list of reconstructed tracks from ESD data.
31   static AliMUONVTrackStore* ReconstructedTracks(AliESDEvent* esd, Bool_t padMissing = kFALSE);
32   
33   /// Return reference muon tracks
34   AliMUONVTrackStore* TrackRefs(Int_t event);
35
36   /// Return reconstructible reference tracks
37   AliMUONVTrackStore* ReconstructibleTracks(Int_t event);
38   
39   /// Return the total number of events.
40   Int_t NumberOfEvents() const;
41   
42   /// Return the interface to the reconstructed data.
43   AliMUONDataInterface* GetDataInterface() { return fDataInterface; };
44   
45   /// Return the interface to the Monte Carlo data.
46   AliMCEventHandler* GetMCEventHandler() { return fMCEventHandler; };
47   
48 private:
49   /// Not implemented
50   AliMUONRecoCheck(const AliMUONRecoCheck& rhs);
51   /// Not implemented
52   AliMUONRecoCheck& operator = (const AliMUONRecoCheck& rhs);
53
54   void ResetStores();
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   AliMUONDataInterface* fDataInterface; ///< to access MUON data
65   
66   Int_t fCurrentEvent; ///< current event number
67   
68   AliMUONVTrackStore* fTrackRefStore;     ///< current simulated tracks (owner)
69   AliMUONVTrackStore* fRecoTrackRefStore; ///< current reconstructible tracks (owner)
70   AliMUONVTrackStore* fRecoTrackStore;    ///< current reconstructed tracks (owner)
71   
72   ClassDef(AliMUONRecoCheck, 0)   //Utility class to check reconstruction
73 };
74
75 #endif
76