File indexing completed on 2024-04-06 12:04:24
0001 #ifndef JetReco_JetTracksAssociation_h
0002 #define JetReco_JetTracksAssociation_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include "DataFormats/Common/interface/AssociationVector.h"
0013 #include "DataFormats/JetReco/interface/JetCollection.h"
0014 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0015 #include "DataFormats/Common/interface/Ref.h"
0016 #include "DataFormats/Common/interface/RefVector.h"
0017 #include "DataFormats/Math/interface/LorentzVector.h"
0018
0019 namespace fwlite {
0020 class Event;
0021 }
0022
0023 namespace reco {
0024 namespace JetTracksAssociation {
0025 typedef math::PtEtaPhiELorentzVectorF LorentzVector;
0026 typedef reco::TrackRefVector Value;
0027 typedef std::vector<Value> Values;
0028 typedef edm::AssociationVector<reco::JetRefBaseProd, Values> Container;
0029 typedef Container::value_type value_type;
0030 typedef Container::transient_vector_type transient_vector_type;
0031 typedef edm::Ref<Container> Ref;
0032 typedef edm::RefProd<Container> RefProd;
0033 typedef edm::RefVector<Container> RefVector;
0034
0035
0036 int tracksNumber(const Container&, const reco::JetBaseRef);
0037
0038 int tracksNumber(const Container&, const reco::Jet&);
0039
0040 LorentzVector tracksP4(const Container&, const reco::JetBaseRef);
0041
0042 LorentzVector tracksP4(const Container&, const reco::Jet&);
0043
0044
0045 bool setValue(Container&, const reco::JetBaseRef&, reco::TrackRefVector);
0046
0047 bool setValue(Container*, const reco::JetBaseRef&, reco::TrackRefVector);
0048
0049 const reco::TrackRefVector& getValue(const Container&, const reco::JetBaseRef&);
0050
0051 const reco::TrackRefVector& getValue(const Container&, const reco::Jet&);
0052
0053 std::vector<reco::JetBaseRef> allJets(const Container&);
0054
0055 bool hasJet(const Container&, const reco::JetBaseRef&);
0056
0057 bool hasJet(const Container&, const reco::Jet&);
0058 }
0059
0060 typedef JetTracksAssociation::Container JetTracksAssociationCollection;
0061 typedef JetTracksAssociation::Ref JetTracksAssociationRef;
0062 typedef JetTracksAssociation::RefProd JetTracksAssociationRefProd;
0063 typedef JetTracksAssociation::RefVector JetTracksAssociationRefVector;
0064 }
0065
0066 #endif