00001
00002 #ifndef TAUANALYSISTOOLS_ITAUTRUTHTRACKMATCHINGTOOL_H
00003 #define TAUANALYSISTOOLS_ITAUTRUTHTRACKMATCHINGTOOL_H
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "AsgTools/IAsgTool.h"
00017
00018
00019 #include "xAODTracking/TrackParticle.h"
00020 #include "xAODTau/TauJet.h"
00021 #include "xAODTruth/TruthParticleContainer.h"
00022
00023
00024 #include "PATInterfaces/CorrectionCode.h"
00025
00026 namespace TauAnalysisTools
00027 {
00028
00029 #ifdef XAODTAU_VERSIONS_TAUJET_V3_H
00030 typedef xAOD::TauTrack TAUTRACKPARTICLE;
00031 #else
00032 typedef xAOD::TrackParticle TAUTRACKPARTICLE;
00033 #endif // XAODTAU_VERSIONS_TAUJET_V3_H
00034
00035 class ITauTruthTrackMatchingTool : public virtual asg::IAsgTool
00036 {
00037
00039 ASG_TOOL_INTERFACE( TauAnalysisTools::ITauTruthTrackMatchingTool )
00040
00041 public:
00043 virtual StatusCode initialize() = 0;
00044
00045
00046 virtual StatusCode classifyTracks(std::vector<const TAUTRACKPARTICLE*>& vTracks) = 0;
00047
00048
00049 virtual StatusCode classifyTrack(const TAUTRACKPARTICLE& xTrackParticle) = 0;
00050
00051 };
00052
00053 }
00054
00055 #endif // TAUANALYSISTOOLS_ITAUTRUTHTRACKMATCHINGTOOL_H