00001 #ifndef ASSOCIATIONUTILS_OVERLAPREMOVALTESTALG_H
00002 #define ASSOCIATIONUTILS_OVERLAPREMOVALTESTALG_H
00003
00004
00005 #include "GaudiKernel/ToolHandle.h"
00006 #include "AthenaBaseComps/AthAlgorithm.h"
00007
00008
00009 #include "xAODBase/IParticleContainer.h"
00010
00011
00012 #include "AssociationUtils/IOverlapRemovalTool.h"
00013
00018 class OverlapRemovalTestAlg : public AthAlgorithm
00019 {
00020
00021 public:
00022
00024 OverlapRemovalTestAlg(const std::string& name, ISvcLocator* svcLoc);
00025
00027 virtual StatusCode initialize();
00028
00030 virtual StatusCode execute();
00031
00032 private:
00033
00035 template<class ContainerType>
00036 void applySelection(const ContainerType& container);
00037
00039 template<class ObjType>
00040 bool selectObject(const ObjType& obj);
00041
00043 void printObjects(const xAOD::IParticleContainer& container,
00044 const std::string& type);
00045
00047 ToolHandle<ORUtils::IOverlapRemovalTool> m_orTool;
00048
00050 std::string m_selectionLabel;
00051 std::string m_overlapLabel;
00052 std::string m_bJetLabel;
00053
00054 };
00055
00056 #endif