00001 #ifndef RETRIEVEPFOTOOL_H
00002 #define RETRIEVEPFOTOOL_H
00003
00006 #include "AsgTools/AsgTool.h"
00007
00008 #include "PFlowUtils/IRetrievePFOTool.h"
00009
00010 #include <string>
00011
00012 namespace CP {
00013
00014 class RetrievePFOTool : public virtual IRetrievePFOTool, public asg::AsgTool {
00015
00017 ASG_TOOL_CLASS( RetrievePFOTool, IRetrievePFOTool );
00018
00019 public:
00021 RetrievePFOTool(const std::string& name);
00022
00024 virtual const xAOD::PFOContainer* retrievePFO(const CP::PFO_JetMETConfig_inputScale& theScale) const override;
00025
00027 virtual const xAOD::PFOContainer* retrievePFO(const CP::PFO_JetMETConfig_inputScale& theScale, const CP::PFO_JetMETConfig_charge& theCharge) const override;
00028
00029 private:
00030
00032 StatusCode retrieve_neutralPFO(const CP::PFO_JetMETConfig_inputScale& theScale, xAOD::PFOContainer* theContainer) const;
00033
00035 StatusCode fillPFOContainer( xAOD::PFOContainer* newContainer, const std::string& theName) const;
00036
00037 };
00038
00039 }
00040 #endif