CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/DataFormats/JetReco/interface/JetTracksAssociation.h

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