00001 #ifndef TRACKTOOLS_TRACKACCEPTANCE_H 00002 #define TRACKTOOLS_TRACKACCEPTANCE_H 1 00003 00004 // Include files 00005 // ------------- 00006 // from Gaudi 00007 #include "GaudiAlg/GaudiTool.h" 00008 00009 // LHCbKernel 00010 #include "Relations/IAssociator.h" 00011 00012 // Event 00013 #include "Event/MCParticle.h" 00014 #include "Event/MCHit.h" 00015 #include "Event/MCVeloHit.h" 00016 00017 // Associators 00018 #include "TrackTools/ITrackReconstructible.h" 00019 00020 // Det 00021 #include "VeloDet/DeVelo.h" 00022 #include "STDet/STDetectionStation.h" 00023 #include "OTDet/DeOTStation.h" 00024 00043 class TrackAcceptance: public GaudiTool, 00044 virtual public ITrackReconstructible { 00045 public: 00047 typedef IAssociator<MCParticle, MCHit> MCHitAsct; 00048 typedef IAssociator<MCParticle, MCVeloHit> MCVeloHitAsct; 00049 00051 TrackAcceptance( const std::string& type, 00052 const std::string& name, 00053 const IInterface* parent ); 00054 00056 virtual ~TrackAcceptance(); 00057 00059 virtual StatusCode initialize(); 00060 00065 virtual bool hasVelo ( MCParticle* mcPart ); 00066 00071 virtual bool hasTT ( MCParticle* mcPart ); 00072 00077 virtual bool hasSeed ( MCParticle* mcPart ); 00078 00083 virtual bool hasVeloAndSeed ( MCParticle* mcPart ); 00084 00085 private: 00086 00088 DeVelo* m_velo; 00089 00090 // ST Detector information 00091 STDetectionStation* m_TT1Station; 00092 STDetectionStation* m_TT2Station; 00093 STDetectionStation* m_IT1Station; 00094 STDetectionStation* m_IT2Station; 00095 STDetectionStation* m_IT3Station; 00096 00097 // OT Detector information 00098 DeOTStation* m_OT1Station; 00099 DeOTStation* m_OT2Station; 00100 DeOTStation* m_OT3Station; 00101 00102 // associators 00103 MCVeloHitAsct* m_p2VeloHitAsct; 00104 MCHitAsct* m_p2ITHitAsct; 00105 MCHitAsct* m_p2OTHitAsct; 00106 00107 // job options 00108 std::string m_p2VeloHitAsctName; 00109 std::string m_p2ITHitAsctName; 00110 std::string m_p2OTHitAsctName; 00111 int m_minNVeloRHits; 00112 int m_minNVeloPhiHits; 00113 int m_minNTTHits; 00114 int m_minNT1Hits; 00115 int m_minNT2Hits; 00116 int m_minNT3Hits; 00117 }; 00118 00119 #endif // TRACKTOOLS_TRACKACCEPTANCE_H