00001 // IJetGroomer.h 00002 00003 #ifndef IJetGroomer_H 00004 #define IJetGroomer_H 00005 00006 // David Adams 00007 // January 2014 00008 00011 00012 #include "AsgTools/IAsgTool.h" 00013 #include "xAODJet/Jet.h" 00014 #include "xAODJet/JetContainer.h" 00015 #include "JetInterface/IJetPseudojetRetriever.h" 00016 00017 class IJetGroomer : virtual public asg::IAsgTool { 00018 ASG_TOOL_INTERFACE(IJetGroomer) 00019 00020 public: 00021 00023 IJetGroomer(); 00024 00026 virtual ~IJetGroomer(); 00027 00033 virtual int groom(const xAOD::Jet& jin, xAOD::JetContainer& jout) const =0; 00034 00036 virtual const IJetPseudojetRetriever* pseudojetRetriever() const; 00037 00039 virtual void setPseudojetRetriever(const IJetPseudojetRetriever* ppjr); 00040 00041 private: 00042 00044 const IJetPseudojetRetriever* m_ppjr; 00045 00046 }; 00047 00048 #endif