00001 #ifndef PARTICLEJETDELTARLABELTOOL_H 00002 #define PARTICLEJETDELTARLABELTOOL_H 00003 00004 #include "AsgTools/AsgTool.h" 00005 #include "JetInterface/IJetModifier.h" 00006 #include "xAODTruth/TruthParticle.h" 00007 #include "xAODTruth/TruthParticleContainer.h" 00008 00009 00010 class ParticleJetDeltaRLabelTool : public asg::AsgTool, public IJetModifier { 00011 ASG_TOOL_CLASS(ParticleJetDeltaRLabelTool, IJetModifier) 00012 public: 00013 00015 ParticleJetDeltaRLabelTool(const std::string& name); 00016 00017 int modify(xAOD::JetContainer& jets) const; 00018 00019 std::vector<std::vector<const xAOD::TruthParticle*> > match( 00020 const xAOD::TruthParticleContainer& parts, 00021 const xAOD::JetContainer& jets) const; 00022 00023 00024 protected: 00025 00027 std::string m_labelname; 00028 std::string m_doublelabelname; 00029 std::string m_taulabelname; 00030 std::string m_bottomlabelname; 00031 std::string m_charmlabelname; 00032 00034 std::string m_taupartcollection; 00035 std::string m_bottompartcollection; 00036 std::string m_charmpartcollection; 00037 00039 double m_partptmin; 00040 00042 double m_jetptmin; 00043 00045 double m_drmax; 00046 00048 std::string m_matchmode; 00049 }; 00050 00051 00052 #endif