Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-29 23:13:10

0001 #ifndef SimDataFormats_Associations_TracksterToSimTracksterHitLCAssociator_h
0002 #define SimDataFormats_Associations_TracksterToSimTracksterHitLCAssociator_h
0003 // Original Author:  Leonardo Cristella
0004 
0005 // system include files
0006 #include <memory>
0007 
0008 // user include files
0009 
0010 #include "SimDataFormats/Associations/interface/TracksterToSimTracksterHitLCAssociatorBaseImpl.h"
0011 
0012 namespace ticl {
0013 
0014   class TracksterToSimTracksterHitLCAssociator {
0015   public:
0016     TracksterToSimTracksterHitLCAssociator(std::unique_ptr<ticl::TracksterToSimTracksterHitLCAssociatorBaseImpl>);
0017     TracksterToSimTracksterHitLCAssociator() = default;
0018     TracksterToSimTracksterHitLCAssociator(TracksterToSimTracksterHitLCAssociator &&) = default;
0019     TracksterToSimTracksterHitLCAssociator &operator=(TracksterToSimTracksterHitLCAssociator &&) = default;
0020     TracksterToSimTracksterHitLCAssociator(const TracksterToSimTracksterHitLCAssociator &) = delete;
0021     const TracksterToSimTracksterHitLCAssociator &operator=(const TracksterToSimTracksterHitLCAssociator &) = delete;
0022 
0023     ~TracksterToSimTracksterHitLCAssociator() = default;
0024 
0025     ticl::association_t makeConnections(const edm::Handle<ticl::TracksterCollection> &tCH,
0026                                         const edm::Handle<reco::CaloClusterCollection> &lCCH,
0027                                         const edm::Handle<SimClusterCollection> &sCCH,
0028                                         const edm::Handle<CaloParticleCollection> &cPCH,
0029                                         const edm::Handle<ticl::TracksterCollection> &sTCH) const {
0030       return m_impl->makeConnections(tCH, lCCH, sCCH, cPCH, sTCH);
0031     }
0032     /// Associate a Trackster to SimClusters
0033     ticl::RecoToSimCollectionSimTracksters associateRecoToSim(const edm::Handle<ticl::TracksterCollection> &tCH,
0034                                                               const edm::Handle<reco::CaloClusterCollection> &lCCH,
0035                                                               const edm::Handle<SimClusterCollection> &sCCH,
0036                                                               const edm::Handle<CaloParticleCollection> &cPCH,
0037                                                               const edm::Handle<ticl::TracksterCollection> &sTCH) const {
0038       return m_impl->associateRecoToSim(tCH, lCCH, sCCH, cPCH, sTCH);
0039     };
0040 
0041     /// Associate a SimCluster to Tracksters
0042     ticl::SimToRecoCollectionSimTracksters associateSimToReco(const edm::Handle<ticl::TracksterCollection> &tCH,
0043                                                               const edm::Handle<reco::CaloClusterCollection> &lCCH,
0044                                                               const edm::Handle<SimClusterCollection> &sCCH,
0045                                                               const edm::Handle<CaloParticleCollection> &cPCH,
0046                                                               const edm::Handle<ticl::TracksterCollection> &sTCH) const {
0047       return m_impl->associateSimToReco(tCH, lCCH, sCCH, cPCH, sTCH);
0048     }
0049 
0050   private:
0051     std::unique_ptr<TracksterToSimTracksterHitLCAssociatorBaseImpl> m_impl;
0052   };
0053 }  // namespace ticl
0054 
0055 #endif