class AliMUONVTrackStore;
class AliMUONVTriggerTrackStore;
class AliMUONTrack;
+class AliMUONTrackParam;
class AliMUONTriggerTrack;
class AliMUONGeometryTransformer;
class AliMUONTriggerCircuit;
class AliMUONLocalTrigger;
+class AliMUONCalibrationData;
+class AliMUONTriggerElectronics;
class AliMUONRecoCheck : public TObject
{
/// Return the list of reconstructed trigger tracks
AliMUONVTriggerTrackStore* TriggeredTracks(Int_t event);
- void TriggerToTrack(const AliMUONLocalTrigger& locTrg, AliMUONTriggerTrack& triggerTrack);
+ Bool_t TriggerToTrack(const AliMUONLocalTrigger& locTrg, AliMUONTriggerTrack& triggerTrack);
/// Return reference muon tracks
AliMUONVTrackStore* TrackRefs(Int_t event);
AliMUONVTriggerTrackStore* TriggerableTracks(Int_t event);
/// Return reconstructible reference tracks
- AliMUONVTrackStore* ReconstructibleTracks(Int_t event, UInt_t requestedStationMask = 0x1F, Bool_t request2ChInSameSt45 = kTRUE);
+ 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 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.
+ /// 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.);
+ 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,
- AliMUONVTriggerTrackStore &triggerTrackStore,
+ const AliMUONVTriggerTrackStore &triggerTrackStore,
Double_t sigmaCut = 10.);
private:
void CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefStore);
- void MakeReconstructibleTracks(UInt_t requestedStationMask, Bool_t request2ChInSameSt45 = kTRUE);
+ 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
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