#include <TObject.h>
class TClonesArray;
+class TFile;
+class TTree;
+class AliESDEvent;
class AliMCEventHandler;
-class AliMUONDataInterface;
class AliMUONVTrackStore;
+class AliMUONTrack;
class AliMUONRecoCheck : public TObject
{
public:
- AliMUONRecoCheck(Char_t *chLoader, Char_t *pathSim = "./");
+ AliMUONRecoCheck(const Char_t *chLoader, const Char_t *pathSim = "./");
+ AliMUONRecoCheck(AliESDEvent *esdEvent, AliMCEventHandler *mcEventHandler);
virtual ~AliMUONRecoCheck();
- Int_t NumberOfEvents() const;
-
- AliMUONVTrackStore* ReconstructedTracks(Int_t event);
+ /// Return the list of reconstructed tracks
+ AliMUONVTrackStore* ReconstructedTracks(Int_t event, Bool_t refit = kTRUE);
+ /// Return reference muon tracks
AliMUONVTrackStore* TrackRefs(Int_t event);
- AliMUONVTrackStore* ReconstructibleTracks(Int_t event);
+ /// Return reconstructible reference tracks
+ AliMUONVTrackStore* ReconstructibleTracks(Int_t event, UInt_t requestedStationMask = 0x1F, Bool_t request2ChInSameSt45 = kTRUE);
+
+ /// Return the run number of the current ESD event
+ Int_t GetRunNumber();
+
+ /// 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; }
+
+ /// Return the track from the store matched with the given track (or 0x0) and the fraction of matched clusters.
+ static AliMUONTrack* FindCompatibleTrack(AliMUONTrack &track, AliMUONVTrackStore &trackStore,
+ Int_t &nMatchClusters, Bool_t useLabel = kFALSE, Double_t sigmaCut = 10.);
private:
/// Not implemented
void ResetStores();
+ void MakeReconstructedTracks(Bool_t refit);
+
void MakeTrackRefs();
void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore);
- void MakeReconstructibleTracks();
+ void MakeReconstructibleTracks(UInt_t requestedStationMask, Bool_t request2ChInSameSt45 = kTRUE);
private:
AliMCEventHandler* fMCEventHandler; ///< to access MC truth information
- AliMUONDataInterface* fDataInterface; ///< to access MUON data
+ 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* fRecoTrackRefStore; ///< current reconstructible tracks (owner)
AliMUONVTrackStore* fRecoTrackStore; ///< current reconstructed tracks (owner)
+ Bool_t fESDEventOwner; ///< using constructor from the analysis task
+
ClassDef(AliMUONRecoCheck, 0) //Utility class to check reconstruction
};