Fixes in reconstruction:
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoCheck.h
CommitLineData
b8dc484b 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
692de412 7/* $Id$ */
8
6b092dfc 9/// \ingroup evaluation
692de412 10/// \class AliMUONRecoCheck
11/// \brief Utility class to check reconstruction
12
b8dc484b 13#include <TObject.h>
b8dc484b 14
15class TClonesArray;
61fed964 16class TFile;
17class TTree;
18class AliESDEvent;
96ebe67e 19class AliMCEventHandler;
48217459 20class AliMUONVTrackStore;
f202486b 21class AliMUONTrack;
b8dc484b 22
23class AliMUONRecoCheck : public TObject
24{
25public:
1f2d22de 26 AliMUONRecoCheck(const Char_t *chLoader, const Char_t *pathSim = "./");
7c29acf1 27 AliMUONRecoCheck(AliESDEvent *esdEvent, AliMCEventHandler *mcEventHandler);
48217459 28 virtual ~AliMUONRecoCheck();
29
9bdda5f6 30 /// Return the list of reconstructed tracks
a99c3449 31 AliMUONVTrackStore* ReconstructedTracks(Int_t event, Bool_t refit = kTRUE);
48217459 32
9bdda5f6 33 /// Return reference muon tracks
48217459 34 AliMUONVTrackStore* TrackRefs(Int_t event);
b8dc484b 35
9bdda5f6 36 /// Return reconstructible reference tracks
f202486b 37 AliMUONVTrackStore* ReconstructibleTracks(Int_t event, UInt_t requestedStationMask = 0x1F, Bool_t request2ChInSameSt45 = kTRUE);
48217459 38
a99c3449 39 /// Return the run number of the current ESD event
40 Int_t GetRunNumber();
41
9bdda5f6 42 /// Return the total number of events.
43 Int_t NumberOfEvents() const;
44
61fed964 45 /// Return the reconstructed data of current event
46 const AliESDEvent* GetESDEvent() { return fESDEvent; }
9bdda5f6 47
61fed964 48 /// Return the interface to the Monte Carlo data of current event
49 const AliMCEventHandler* GetMCEventHandler() { return fMCEventHandler; }
9bdda5f6 50
f202486b 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.);
54
b8dc484b 55private:
71a2d3aa 56 /// Not implemented
57 AliMUONRecoCheck(const AliMUONRecoCheck& rhs);
58 /// Not implemented
59 AliMUONRecoCheck& operator = (const AliMUONRecoCheck& rhs);
068e4c36 60
96ebe67e 61 void ResetStores();
62
a99c3449 63 void MakeReconstructedTracks(Bool_t refit);
61fed964 64
96ebe67e 65 void MakeTrackRefs();
48217459 66
96ebe67e 67 void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore);
48217459 68
f202486b 69 void MakeReconstructibleTracks(UInt_t requestedStationMask, Bool_t request2ChInSameSt45 = kTRUE);
96ebe67e 70
48217459 71private:
96ebe67e 72 AliMCEventHandler* fMCEventHandler; ///< to access MC truth information
61fed964 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
48217459 76
96ebe67e 77 Int_t fCurrentEvent; ///< current event number
78
79 AliMUONVTrackStore* fTrackRefStore; ///< current simulated tracks (owner)
80 AliMUONVTrackStore* fRecoTrackRefStore; ///< current reconstructible tracks (owner)
81 AliMUONVTrackStore* fRecoTrackStore; ///< current reconstructed tracks (owner)
82
7c29acf1 83 Bool_t fESDEventOwner; ///< using constructor from the analysis task
84
54d7ba50 85 ClassDef(AliMUONRecoCheck, 0) //Utility class to check reconstruction
b8dc484b 86};
87
88#endif
89