]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONRecoCheck.h
Updated for separation of simulation and reconstruction classes
[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 #include "AliMUONTrack.h"
15
16 class TClonesArray;
17 class AliMUONRecData;
18 class AliMUONSimData;
19 class AliRunLoader;
20
21
22 class AliMUONRecoCheck : public TObject 
23 {
24 public:
25   AliMUONRecoCheck(Char_t *chLoader, Char_t *chLoaderSim);
26   AliMUONRecoCheck(AliRunLoader *runloader, AliMUONRecData *muondata,
27                    AliRunLoader *runloaderSim, AliMUONSimData *muondataSim);
28   virtual          ~AliMUONRecoCheck();
29
30   /// Return MUON data   
31   AliMUONRecData*  GetMUONData() {return fMUONData;}
32   /// Return run loader          
33   AliRunLoader* GetRunLoader()    {return fRunLoader;}
34   AliRunLoader* GetRunLoaderSim() {return fRunLoaderSim;}
35
36   void MakeTrackRef();
37                 /// Add track reference
38   void AddMuonTrackReference(const AliMUONTrack *muonTrack) 
39     {new ((*fMuonTrackRef)[fMuonTrackRef->GetEntriesFast()]) AliMUONTrack(*muonTrack);}
40
41   void PrintEvent() const;
42   void ResetTracks() const;
43   void CleanMuonTrackRef();
44   void ReconstructibleTracks();
45                 /// Return number of reconstructible tracks
46   Int_t GetNumberOfReconstuctibleTracks() {return fReconstructibleTracks;}
47                 /// Return number of reconstructed tracks
48   Int_t GetNumberOfRecoTracks() {return fRecoTracks;}
49   TClonesArray *GetTrackReco();
50                 /// Return reference muon tracks
51   TClonesArray *GetMuonTrackRef() {return fMuonTrackRef;}
52
53 private:
54   /// Not implemented
55   AliMUONRecoCheck(const AliMUONRecoCheck& rhs);
56   /// Not implemented
57   AliMUONRecoCheck& operator = (const AliMUONRecoCheck& rhs);
58   
59   AliRunLoader*   fRunLoader;     ///< alice run loader 
60   AliMUONRecData* fMUONData;      ///< Data container for MUON subsystem 
61   AliRunLoader*   fRunLoaderSim;  ///< alice run loader 
62   AliMUONSimData* fMUONDataSim;   ///< Data container for MUON subsystem 
63   TClonesArray*   fMuonTrackRef;  ///< reference muon tracks
64   TClonesArray*   fTrackReco;     ///< reconstructed muon tracks
65   Int_t fReconstructibleTracks; ///< number of reconstructible tracks 
66   Int_t fRecoTracks;            ///< number of reconstructed tracks 
67   Bool_t fIsLoadConstructor;    //!< \brief boolean to tag the constructor, 
68                                 /// to decide if the class should or not deal with the loaders
69
70
71   ClassDef(AliMUONRecoCheck, 0)   //Utility class to check reconstruction
72 };
73
74 #endif
75
76
77
78
79
80
81
82