00001 
00002 
00003 #ifndef JETTRACKTOOLS_JETTRACKSHRINKINGCONEASSOCIATION_H
00004 #define JETTRACKTOOLS_JETTRACKSHRINKINGCONEASSOCIATION_H
00005 
00006 #include "ParticleJetTools/JetTrackAssociation.h"
00007 
00008 #include <vector>
00009 #include <string>
00010 
00011 namespace Analysis {
00012 
00013     class JetTrackShrinkingConeAssociation : public JetTrackAssociation {
00014         ASG_TOOL_CLASS2(JetTrackShrinkingConeAssociation, JetTrackAssociation, IJetModifier)
00015         public:
00016 
00017             JetTrackShrinkingConeAssociation(const std::string& name);
00018 
00019             const std::vector<std::vector<const xAOD::TrackParticle*> >*
00020                 match(xAOD::JetContainer&) const;
00021 
00022             inline double coneSize(double pt) const {
00023                 return (m_coneSizeFitPar1 + exp(m_coneSizeFitPar2 + m_coneSizeFitPar3*pt));
00024             }
00025 
00026 
00027         private:
00028             std::string m_inputTrackCollectionName;
00029             double m_coneSizeFitPar1;
00030             double m_coneSizeFitPar2;
00031             double m_coneSizeFitPar3;
00032     };
00033 
00034 }
00035 #endif
00036