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