00001 #ifndef ITRACKVERTEXASSOCIATIONTOOL_H 00002 #define ITRACKVERTEXASSOCIATIONTOOL_H 00003 00004 #include "AsgTools/IAsgTool.h" 00005 #include "xAODTracking/TrackParticleFwd.h" 00006 #include "xAODTracking/TrackParticleContainerFwd.h" 00007 #include "xAODTracking/VertexFwd.h" 00008 #include "xAODTracking/VertexContainerFwd.h" 00009 #include "TrackVertexAssociationTool/TrackVertexAssociationMap.h" 00010 00011 #include "AthContainers/AuxElement.h" 00012 #include "AthLinks/ElementLink.h" 00013 00014 #include <vector> 00015 00016 namespace CP 00017 { 00018 00019 class ITrackVertexAssociationTool : virtual public asg::IAsgTool 00020 { 00021 ASG_TOOL_INTERFACE(ITrackVertexAssociationTool) 00022 public: 00025 virtual bool isCompatible( const xAOD::TrackParticle &, const xAOD::Vertex &) const = 0; // return the decision of with the track match to the vertex 00026 virtual xAOD::TrackVertexAssociationMap getMatchMap( std::vector< const xAOD::TrackParticle *> &, std::vector< const xAOD::Vertex *> &) const = 0; 00027 virtual xAOD::TrackVertexAssociationMap getMatchMap( const xAOD::TrackParticleContainer &, const xAOD::VertexContainer & ) const = 0; 00028 // virtual TrackToVertexMap doTrackToVertex(std::vector< const xAOD::TrackParticle* > , std::vector< const xAOD::Vectex* > ) = 0; 00029 00031 00032 virtual ElementLink< xAOD::VertexContainer> getUniqueMatchVertexLink(const xAOD::TrackParticle &, const xAOD::VertexContainer &) const = 0; 00033 00034 virtual const xAOD::Vertex* getUniqueMatchVertex(const xAOD::TrackParticle &, std::vector< const xAOD::Vertex *> & ) const = 0; 00035 00037 virtual xAOD::TrackVertexAssociationMap getUniqueMatchMap( std::vector< const xAOD::TrackParticle *>& , std::vector< const xAOD::Vertex *>& ) const = 0; // return the map of vertex matched with the tracks in the 00038 virtual xAOD::TrackVertexAssociationMap getUniqueMatchMap( const xAOD::TrackParticleContainer &, const xAOD::VertexContainer & ) const = 0 ; // return the map of vertex matched with the tracks in the 00039 00041 }; 00042 } 00043 00044 #endif 00045 00046