Go to the documentation of this file.00001 #ifndef JetReco_JetTracksAssociation_h
00002 #define JetReco_JetTracksAssociation_h
00003
00013 #include "DataFormats/Common/interface/AssociationVector.h"
00014 #include "DataFormats/JetReco/interface/JetCollection.h"
00015 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00016 #include "DataFormats/Common/interface/Ref.h"
00017 #include "DataFormats/Common/interface/RefVector.h"
00018 #include "DataFormats/Math/interface/LorentzVector.h"
00019
00020 namespace fwlite {
00021 class Event;
00022 }
00023
00024 namespace reco {
00025 namespace JetTracksAssociation {
00026 typedef math::PtEtaPhiELorentzVectorF LorentzVector;
00027 typedef reco::TrackRefVector Value;
00028 typedef std::vector<Value> Values;
00029 typedef edm::AssociationVector<reco::JetRefBaseProd, Values> Container;
00030 typedef Container::value_type value_type;
00031 typedef Container::transient_vector_type transient_vector_type;
00032 typedef edm::Ref <Container> Ref;
00033 typedef edm::RefProd <Container> RefProd;
00034 typedef edm::RefVector <Container> RefVector;
00035
00037 int tracksNumber (const Container&, const reco::JetBaseRef);
00039 int tracksNumber (const Container&, const reco::Jet&);
00041 LorentzVector tracksP4 (const Container&, const reco::JetBaseRef);
00043 LorentzVector tracksP4 (const Container&, const reco::Jet&);
00044
00046 bool setValue (Container&, const reco::JetBaseRef&, reco::TrackRefVector);
00048 bool setValue (Container*, const reco::JetBaseRef&, reco::TrackRefVector);
00050 const reco::TrackRefVector& getValue (const Container&, const reco::JetBaseRef&);
00052 const reco::TrackRefVector& getValue (const Container&, const reco::Jet&);
00054 std::vector<reco::JetBaseRef > allJets (const Container&);
00056 bool hasJet (const Container&, const reco::JetBaseRef&);
00058 bool hasJet (const Container&, const reco::Jet&);
00059 }
00061 typedef JetTracksAssociation::Container JetTracksAssociationCollection;
00062 typedef JetTracksAssociation::Ref JetTracksAssociationRef;
00063 typedef JetTracksAssociation::RefProd JetTracksAssociationRefProd;
00064 typedef JetTracksAssociation::RefVector JetTracksAssociationRefVector;
00065 }
00066
00067 #endif