CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/SimTracker/VertexAssociation/interface/VertexAssociatorBase.h

Go to the documentation of this file.
00001 #ifndef SimTracker_VertexAssociatorBase_h
00002 #define SimTracker_VertexAssociatorBase_h
00003 
00004 #include "DataFormats/Common/interface/AssociationMap.h"
00005 #include "DataFormats/Common/interface/Handle.h"
00006 #include "DataFormats/Common/interface/OneToManyWithQuality.h"
00007 #include "DataFormats/Common/interface/View.h"
00008 #include "DataFormats/TrackReco/interface/Track.h"
00009 #include "DataFormats/VertexReco/interface/VertexFwd.h"
00010 #include "DataFormats/VertexReco/interface/Vertex.h"
00011 
00012 #include "FWCore/Framework/interface/Event.h"
00013 
00014 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticleFwd.h"
00015 #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertexContainer.h"
00016 
00017 #include "SimTracker/TrackAssociation/interface/TrackAssociatorBase.h"
00018 
00019 namespace reco
00020 {
00021     typedef edm::RefToBase<reco::Vertex> VertexBaseRef;
00022     typedef edm::AssociationMap<edm::OneToManyWithQuality <TrackingVertexCollection, edm::View<reco::Vertex>, double> > VertexSimToRecoCollection;
00023     typedef edm::AssociationMap<edm::OneToManyWithQuality <edm::View<reco::Vertex>, TrackingVertexCollection, double> > VertexRecoToSimCollection;
00024 }
00025 
00026 class VertexAssociatorBase
00027 {
00028 
00029 public:
00030 
00031     VertexAssociatorBase(){}
00032     virtual ~VertexAssociatorBase(){}
00033 
00034     virtual reco::VertexRecoToSimCollection
00035     associateRecoToSim (edm::Handle<edm::View<reco::Vertex> >&,
00036                         edm::Handle<TrackingVertexCollection>&,
00037                         const edm::Event&,
00038                         reco::RecoToSimCollection&) const = 0;
00039 
00040     virtual reco::VertexSimToRecoCollection
00041     associateSimToReco (edm::Handle<edm::View<reco::Vertex> >&,
00042                         edm::Handle<TrackingVertexCollection>&,
00043                         const edm::Event&,
00044                         reco::SimToRecoCollection&) const = 0;
00045 };
00046 
00047 #endif