X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONRecoCheck.h;h=a2640033459f0c03d6edcff8e50d3946a1d70019;hb=6dd9ec100e601f0c46e7cba86ad4cbb9e1bfebb3;hp=0897c1b28512a852ff34f418eb6f407c6912817c;hpb=a99c34494b81eabeb3c53fbcf161c4e4b57faeb0;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONRecoCheck.h b/MUON/AliMUONRecoCheck.h index 0897c1b2851..a2640033459 100644 --- a/MUON/AliMUONRecoCheck.h +++ b/MUON/AliMUONRecoCheck.h @@ -18,6 +18,15 @@ class TTree; class AliESDEvent; class AliMCEventHandler; class AliMUONVTrackStore; +class AliMUONVTriggerTrackStore; +class AliMUONTrack; +class AliMUONTrackParam; +class AliMUONTriggerTrack; +class AliMUONGeometryTransformer; +class AliMUONTriggerCircuit; +class AliMUONLocalTrigger; +class AliMUONCalibrationData; +class AliMUONTriggerElectronics; class AliMUONRecoCheck : public TObject { @@ -28,13 +37,24 @@ public: /// Return the list of reconstructed tracks AliMUONVTrackStore* ReconstructedTracks(Int_t event, Bool_t refit = kTRUE); - + + /// Return the list of reconstructed trigger tracks + AliMUONVTriggerTrackStore* TriggeredTracks(Int_t event); + + void TriggerToTrack(const AliMUONLocalTrigger& locTrg, AliMUONTriggerTrack& triggerTrack); + /// Return reference muon tracks AliMUONVTrackStore* TrackRefs(Int_t event); + /// Return triggerable reference tracks + AliMUONVTriggerTrackStore* TriggerableTracks(Int_t event); + /// Return reconstructible reference tracks - AliMUONVTrackStore* ReconstructibleTracks(Int_t event); - + AliMUONVTrackStore* ReconstructibleTracks(Int_t event, UInt_t requestedStationMask = 0x1F, + Bool_t request2ChInSameSt45 = kTRUE, + Bool_t hitInFrontOfPad = kFALSE); + + /// Return the run number of the current ESD event Int_t GetRunNumber(); @@ -42,10 +62,20 @@ public: Int_t NumberOfEvents() const; /// Return the reconstructed data of current event - const AliESDEvent* GetESDEvent() { return fESDEvent; } + const AliESDEvent* GetESDEvent() const { return fESDEvent; } /// Return the interface to the Monte Carlo data of current event - const AliMCEventHandler* GetMCEventHandler() { return fMCEventHandler; } + const AliMCEventHandler* GetMCEventHandler() const { 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.); + + /// Return the trigger track from the store matched with the given track (or 0x0) + static AliMUONTriggerTrack* FindCompatibleTrack(AliMUONTriggerTrack &track, + const AliMUONVTriggerTrackStore &triggerTrackStore, + Double_t sigmaCut = 10.); private: /// Not implemented @@ -56,13 +86,25 @@ private: void ResetStores(); void MakeReconstructedTracks(Bool_t refit); + + void MakeTriggeredTracks(); void MakeTrackRefs(); void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore); - void MakeReconstructibleTracks(); + void MakeReconstructibleTracks(UInt_t requestedStationMask, Bool_t request2ChInSameSt45 = kTRUE, + Bool_t hitInFrontOfPad = kFALSE); + + void MakeTriggerableTracks(); + + Bool_t InitCircuit(); + Bool_t InitTriggerResponse(); + Bool_t InitCalibrationData(); + Bool_t InitGeometryTransformer(); + Bool_t IsHitInFrontOfPad(AliMUONTrackParam *param) const; + private: AliMCEventHandler* fMCEventHandler; ///< to access MC truth information AliESDEvent* fESDEvent; ///< ESD event to access MUON data @@ -73,7 +115,14 @@ private: AliMUONVTrackStore* fTrackRefStore; ///< current simulated tracks (owner) AliMUONVTrackStore* fRecoTrackRefStore; ///< current reconstructible tracks (owner) + AliMUONVTriggerTrackStore* fRecoTriggerRefStore; ///< current triggerable tracks (owner) AliMUONVTrackStore* fRecoTrackStore; ///< current reconstructed tracks (owner) + AliMUONVTriggerTrackStore* fRecoTriggerTrackStore; ///< current reconstructed trigger tracks (owner) + + AliMUONGeometryTransformer* fGeometryTransformer; ///< geometry transformer + AliMUONTriggerCircuit* fTriggerCircuit; ///< trigger circuit + AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks + AliMUONTriggerElectronics* fTriggerElectronics; ///< object to re-compute the trigger info Bool_t fESDEventOwner; ///< using constructor from the analysis task