LCOV - code coverage report
Current view: top level - MUON/MUONevaluation - AliMUONRecoCheck.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 3 33.3 %
Date: 2016-06-14 17:26:59 Functions: 1 7 14.3 %

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

Generated by: LCOV version 1.11