00001
00002
00003 #ifndef JetMomentTools_JetPtAssociationTool_H
00004 #define JetMomentTools_JetPtAssociationTool_H
00005
00014
00015 #include "JetRec/JetModifierBase.h"
00016 #include "xAODJet/JetContainer.h"
00017
00018 class JetPtAssociationTool : public JetModifierBase {
00019 ASG_TOOL_CLASS(JetPtAssociationTool, IJetModifier)
00020
00021 public:
00022
00023 typedef std::vector<const xAOD::IParticle*> APVector;
00024 typedef std::vector<unsigned> IndexVector;
00025 typedef std::vector<float> FloatVector;
00026
00027 public:
00028
00030 JetPtAssociationTool(std::string myname);
00031
00033 StatusCode initialize();
00034
00038 int modifyJet(xAOD::Jet& jet) const;
00039
00045 int ptfrac(const APVector& aps, const xAOD::JetContainer& jets, FloatVector& ptsums) const;
00046
00052 int match(const APVector& aps, const xAOD::Jet& jet, APVector& apvs) const;
00053
00054 private:
00055
00057 std::string m_aname;
00058 std::string m_conname;
00059
00060 };
00061
00062 #endif