]>
Commit | Line | Data |
---|---|---|
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 | |
15 | class TClonesArray; | |
61fed964 | 16 | class TFile; |
17 | class TTree; | |
18 | class AliESDEvent; | |
96ebe67e | 19 | class AliMCEventHandler; |
48217459 | 20 | class AliMUONVTrackStore; |
9f164762 | 21 | class AliMUONVTriggerTrackStore; |
f202486b | 22 | class AliMUONTrack; |
9f164762 | 23 | class AliMUONTriggerTrack; |
24 | class AliMUONGeometryTransformer; | |
25 | class AliMUONTriggerCircuit; | |
26 | class AliMUONLocalTrigger; | |
b8dc484b | 27 | |
28 | class AliMUONRecoCheck : public TObject | |
29 | { | |
30 | public: | |
1f2d22de | 31 | AliMUONRecoCheck(const Char_t *chLoader, const Char_t *pathSim = "./"); |
7c29acf1 | 32 | AliMUONRecoCheck(AliESDEvent *esdEvent, AliMCEventHandler *mcEventHandler); |
48217459 | 33 | virtual ~AliMUONRecoCheck(); |
34 | ||
9bdda5f6 | 35 | /// Return the list of reconstructed tracks |
a99c3449 | 36 | AliMUONVTrackStore* ReconstructedTracks(Int_t event, Bool_t refit = kTRUE); |
9f164762 | 37 | |
38 | /// Return the list of reconstructed trigger tracks | |
39 | AliMUONVTriggerTrackStore* TriggeredTracks(Int_t event); | |
40 | ||
41 | void TriggerToTrack(const AliMUONLocalTrigger& locTrg, AliMUONTriggerTrack& triggerTrack); | |
42 | ||
9bdda5f6 | 43 | /// Return reference muon tracks |
48217459 | 44 | AliMUONVTrackStore* TrackRefs(Int_t event); |
b8dc484b | 45 | |
9f164762 | 46 | /// Return triggerable reference tracks |
47 | AliMUONVTriggerTrackStore* TriggerableTracks(Int_t event); | |
48 | ||
9bdda5f6 | 49 | /// Return reconstructible reference tracks |
f202486b | 50 | AliMUONVTrackStore* ReconstructibleTracks(Int_t event, UInt_t requestedStationMask = 0x1F, Bool_t request2ChInSameSt45 = kTRUE); |
9f164762 | 51 | |
52 | ||
a99c3449 | 53 | /// Return the run number of the current ESD event |
54 | Int_t GetRunNumber(); | |
55 | ||
9bdda5f6 | 56 | /// Return the total number of events. |
57 | Int_t NumberOfEvents() const; | |
58 | ||
61fed964 | 59 | /// Return the reconstructed data of current event |
9ee1d6ff | 60 | const AliESDEvent* GetESDEvent() const { return fESDEvent; } |
9bdda5f6 | 61 | |
61fed964 | 62 | /// Return the interface to the Monte Carlo data of current event |
9ee1d6ff | 63 | const AliMCEventHandler* GetMCEventHandler() const { return fMCEventHandler; } |
9bdda5f6 | 64 | |
f202486b | 65 | /// Return the track from the store matched with the given track (or 0x0) and the fraction of matched clusters. |
66 | static AliMUONTrack* FindCompatibleTrack(AliMUONTrack &track, AliMUONVTrackStore &trackStore, | |
67 | Int_t &nMatchClusters, Bool_t useLabel = kFALSE, Double_t sigmaCut = 10.); | |
68 | ||
9f164762 | 69 | /// Return the trigger track from the store matched with the given track (or 0x0) |
70 | static AliMUONTriggerTrack* FindCompatibleTrack(AliMUONTriggerTrack &track, | |
57e2ad1a | 71 | const AliMUONVTriggerTrackStore &triggerTrackStore, |
9f164762 | 72 | Double_t sigmaCut = 10.); |
73 | ||
b8dc484b | 74 | private: |
71a2d3aa | 75 | /// Not implemented |
76 | AliMUONRecoCheck(const AliMUONRecoCheck& rhs); | |
77 | /// Not implemented | |
78 | AliMUONRecoCheck& operator = (const AliMUONRecoCheck& rhs); | |
068e4c36 | 79 | |
96ebe67e | 80 | void ResetStores(); |
81 | ||
a99c3449 | 82 | void MakeReconstructedTracks(Bool_t refit); |
9f164762 | 83 | |
84 | void MakeTriggeredTracks(); | |
61fed964 | 85 | |
96ebe67e | 86 | void MakeTrackRefs(); |
48217459 | 87 | |
96ebe67e | 88 | void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore); |
48217459 | 89 | |
f202486b | 90 | void MakeReconstructibleTracks(UInt_t requestedStationMask, Bool_t request2ChInSameSt45 = kTRUE); |
9f164762 | 91 | |
92 | void MakeTriggerableTracks(); | |
93 | ||
94 | Bool_t InitCircuit(); | |
96ebe67e | 95 | |
48217459 | 96 | private: |
96ebe67e | 97 | AliMCEventHandler* fMCEventHandler; ///< to access MC truth information |
61fed964 | 98 | AliESDEvent* fESDEvent; ///< ESD event to access MUON data |
99 | TTree* fESDTree; ///< ESD tree to access MUON data | |
100 | TFile* fESDFile; ///< ESD file to access MUON data | |
48217459 | 101 | |
96ebe67e | 102 | Int_t fCurrentEvent; ///< current event number |
103 | ||
104 | AliMUONVTrackStore* fTrackRefStore; ///< current simulated tracks (owner) | |
105 | AliMUONVTrackStore* fRecoTrackRefStore; ///< current reconstructible tracks (owner) | |
9f164762 | 106 | AliMUONVTriggerTrackStore* fRecoTriggerRefStore; ///< current triggerable tracks (owner) |
96ebe67e | 107 | AliMUONVTrackStore* fRecoTrackStore; ///< current reconstructed tracks (owner) |
9f164762 | 108 | AliMUONVTriggerTrackStore* fRecoTriggerTrackStore; ///< current reconstructed trigger tracks (owner) |
109 | ||
110 | AliMUONGeometryTransformer* fGeometryTransformer; ///< geometry transformer | |
111 | AliMUONTriggerCircuit* fTriggerCircuit; ///< trigger circuit | |
96ebe67e | 112 | |
7c29acf1 | 113 | Bool_t fESDEventOwner; ///< using constructor from the analysis task |
114 | ||
54d7ba50 | 115 | ClassDef(AliMUONRecoCheck, 0) //Utility class to check reconstruction |
b8dc484b | 116 | }; |
117 | ||
118 | #endif | |
119 |