1 #ifndef ALIMUONRECOCHECK_H
2 #define ALIMUONRECOCHECK_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 /// \ingroup evaluation
10 /// \class AliMUONRecoCheck
11 /// \brief Utility class to check reconstruction
19 class AliMCEventHandler;
20 class AliMUONVTrackStore;
23 class AliMUONRecoCheck : public TObject
26 AliMUONRecoCheck(const Char_t *chLoader, const Char_t *pathSim = "./");
27 AliMUONRecoCheck(AliESDEvent *esdEvent, AliMCEventHandler *mcEventHandler);
28 virtual ~AliMUONRecoCheck();
30 /// Return the list of reconstructed tracks
31 AliMUONVTrackStore* ReconstructedTracks(Int_t event, Bool_t refit = kTRUE);
33 /// Return reference muon tracks
34 AliMUONVTrackStore* TrackRefs(Int_t event);
36 /// Return reconstructible reference tracks
37 AliMUONVTrackStore* ReconstructibleTracks(Int_t event, UInt_t requestedStationMask = 0x1F, Bool_t request2ChInSameSt45 = kTRUE);
39 /// Return the run number of the current ESD event
42 /// Return the total number of events.
43 Int_t NumberOfEvents() const;
45 /// Return the reconstructed data of current event
46 const AliESDEvent* GetESDEvent() { return fESDEvent; }
48 /// Return the interface to the Monte Carlo data of current event
49 const AliMCEventHandler* GetMCEventHandler() { return fMCEventHandler; }
51 /// Return the track from the store matched with the given track (or 0x0) and the fraction of matched clusters.
52 static AliMUONTrack* FindCompatibleTrack(AliMUONTrack &track, AliMUONVTrackStore &trackStore,
53 Int_t &nMatchClusters, Bool_t useLabel = kFALSE, Double_t sigmaCut = 10.);
57 AliMUONRecoCheck(const AliMUONRecoCheck& rhs);
59 AliMUONRecoCheck& operator = (const AliMUONRecoCheck& rhs);
63 void MakeReconstructedTracks(Bool_t refit);
67 void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore);
69 void MakeReconstructibleTracks(UInt_t requestedStationMask, Bool_t request2ChInSameSt45 = kTRUE);
72 AliMCEventHandler* fMCEventHandler; ///< to access MC truth information
73 AliESDEvent* fESDEvent; ///< ESD event to access MUON data
74 TTree* fESDTree; ///< ESD tree to access MUON data
75 TFile* fESDFile; ///< ESD file to access MUON data
77 Int_t fCurrentEvent; ///< current event number
79 AliMUONVTrackStore* fTrackRefStore; ///< current simulated tracks (owner)
80 AliMUONVTrackStore* fRecoTrackRefStore; ///< current reconstructible tracks (owner)
81 AliMUONVTrackStore* fRecoTrackStore; ///< current reconstructed tracks (owner)
83 Bool_t fESDEventOwner; ///< using constructor from the analysis task
85 ClassDef(AliMUONRecoCheck, 0) //Utility class to check reconstruction