00001 #ifndef JetReco_JetFloatAssociation_h 00002 #define JetReco_JetFloatAssociation_h 00003 00013 #include "DataFormats/Common/interface/AssociationVector.h" 00014 #include "DataFormats/JetReco/interface/JetCollection.h" 00015 #include "DataFormats/Common/interface/Ref.h" 00016 #include "DataFormats/Common/interface/RefToBase.h" 00017 #include "DataFormats/Common/interface/RefVector.h" 00018 00019 namespace fwlite { 00020 class Event; 00021 } 00022 00023 namespace reco { 00024 namespace JetFloatAssociation { 00025 typedef float Value; 00026 typedef std::vector<Value> Values; 00027 typedef edm::AssociationVector<reco::JetRefBaseProd, Values> Container; 00028 typedef Container::value_type value_type; 00029 typedef Container::transient_vector_type transient_vector_type; 00030 typedef edm::Ref <Container> Ref; 00031 typedef edm::RefProd <Container> RefProd; 00032 typedef edm::RefVector <Container> RefVector; 00033 00035 float getValue (const Container&, const reco::JetBaseRef&); 00037 float getValue (const Container&, const reco::Jet&); 00039 bool setValue (Container&, const reco::JetBaseRef&, float); 00041 bool setValue (Container*, const reco::JetBaseRef&, float); 00043 std::vector<reco::JetBaseRef > allJets (const Container&); 00045 bool hasJet (const Container&, const reco::JetBaseRef&); 00047 bool hasJet (const Container&, const reco::Jet&); 00048 } 00049 } 00050 00051 #endif