]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRecoCheck.h
added slewing correction by data
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoCheck.h
index 5e463cbdba5f77709c8b52d761ecc640f1a7510d..381e4c8680d0286fda81fd5207893a3528791b59 100644 (file)
@@ -20,10 +20,13 @@ 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 
 {
@@ -38,7 +41,7 @@ public:
   /// 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);
@@ -47,7 +50,9 @@ public:
   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
@@ -57,18 +62,19 @@ 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.
+  /// 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:
@@ -87,12 +93,18 @@ 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
@@ -109,6 +121,8 @@ private:
        
   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