00001 #ifndef TAUREC_TAUVERTEXVARIABLES_H
00002 #define TAUREC_TAUVERTEXVARIABLES_H
00003
00004 #include "xAODTracking/VertexContainer.h"
00005 #include "xAODTracking/VertexAuxContainer.h"
00006 #include "tauRecTools/TauRecToolBase.h"
00007 #include "GaudiKernel/ToolHandle.h"
00008
00009
00010 class TauEventData;
00011 namespace Trk {
00012 class ITrackToVertexIPEstimator;
00013 class IVertexFitter;
00014 class IVertexSeedFinder;
00015 class IVxCandidateXAODVertex;
00016 }
00017
00025 class TauVertexVariables : virtual public TauRecToolBase {
00026 public:
00027
00028
00029
00030 TauVertexVariables(const std::string& name);
00031 ASG_TOOL_CLASS2(TauVertexVariables, TauRecToolBase, ITauToolBase);
00032 ~TauVertexVariables();
00033
00034 virtual StatusCode initialize();
00035 virtual StatusCode execute(xAOD::TauJet&);
00036 virtual StatusCode eventInitialize();
00037 virtual StatusCode finalize();
00038 virtual StatusCode eventFinalize() { return StatusCode::SUCCESS; }
00039
00040 virtual void print() const { }
00041
00042
00045
00046 double trFlightPathSig(const xAOD::TauJet& pTau, const xAOD::Vertex& secVertex);
00047
00048 private:
00049 std::string m_primaryVertexKey;
00050 std::string m_inputTrackParticleContainerName;
00051 bool m_useOldSeedFinderAPI;
00052 bool m_AODmode;
00053 ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator;
00054 ToolHandle< Trk::IVertexFitter > m_fitTool;
00055 ToolHandle< Trk::IVertexSeedFinder > m_SeedFinder;
00056 ToolHandle< Trk::IVxCandidateXAODVertex > m_xaodConverter;
00057
00058 xAOD::VertexContainer* m_pSecVtxContainer;
00059 xAOD::VertexAuxContainer* m_pSecVtxAuxContainer;
00060 };
00061
00062 #endif
00063