]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRecoCheck.h
updated vertex selection
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoCheck.h
index cf6e2551e8507b7a675a36519ee662027f7accc3..1d0aa412fde66a60091dc9b6039b4ea7d7ac17ba 100644 (file)
 #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
@@ -39,15 +60,19 @@ private:
 
   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
   
@@ -55,6 +80,8 @@ private:
   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
 };