Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:07

0001 #ifndef VertexAssociatorByTracks_h
0002 #define VertexAssociatorByTracks_h
0003 
0004 #include "SimDataFormats/Associations/interface/TrackAssociation.h"
0005 #include "SimDataFormats/Associations/interface/VertexToTrackingVertexAssociatorBaseImpl.h"
0006 
0007 class TrackingParticleSelector;
0008 
0009 class VertexAssociatorByTracks : public reco::VertexToTrackingVertexAssociatorBaseImpl {
0010 public:
0011   VertexAssociatorByTracks(const edm::EDProductGetter *productGetter,
0012                            double R2SMatchedSimRatio,
0013                            double R2SMatchedRecoRatio,
0014                            double S2RMatchedSimRatio,
0015                            double S2RMatchedRecoRatio,
0016                            const TrackingParticleSelector *selector,
0017                            reco::TrackBase::TrackQuality trackQuality,
0018                            const reco::RecoToSimCollection *trackRecoToSimAssociation,
0019                            const reco::SimToRecoCollection *trackSimToRecoAssociation);
0020 
0021   ~VertexAssociatorByTracks() override;
0022 
0023   /* Associate TrackingVertex to RecoVertex By Hits */
0024   reco::VertexRecoToSimCollection associateRecoToSim(const edm::Handle<edm::View<reco::Vertex>> &vCH,
0025                                                      const edm::Handle<TrackingVertexCollection> &tVCH) const override;
0026 
0027   reco::VertexSimToRecoCollection associateSimToReco(const edm::Handle<edm::View<reco::Vertex>> &vCH,
0028                                                      const edm::Handle<TrackingVertexCollection> &tVCH) const override;
0029 
0030 private:
0031   // ----- member data
0032   const edm::EDProductGetter *productGetter_;
0033 
0034   const double R2SMatchedSimRatio_;
0035   const double R2SMatchedRecoRatio_;
0036   const double S2RMatchedSimRatio_;
0037   const double S2RMatchedRecoRatio_;
0038 
0039   const TrackingParticleSelector *selector_;  // Owned by VertexAssociatorByTracksProducer
0040   const reco::TrackBase::TrackQuality trackQuality_;
0041 
0042   const reco::RecoToSimCollection *trackRecoToSimAssociation_;
0043   const reco::SimToRecoCollection *trackSimToRecoAssociation_;
0044 };
0045 
0046 #endif