File indexing completed on 2024-05-29 23:13:09
0001
0002 #ifndef SimCalorimetry_HGCalAssociatorProducers_LCToSimTSAssociatorByEnergyScoreImpl_h
0003 #define SimCalorimetry_HGCalAssociatorProducers_LCToSimTSAssociatorByEnergyScoreImpl_h
0004
0005 #include <vector>
0006 #include <map>
0007 #include <unordered_map>
0008 #include <memory> // shared_ptr
0009
0010 #include "SimDataFormats/Associations/interface/LayerClusterToSimTracksterAssociator.h"
0011 #include "RecoLocalCalo/HGCalRecAlgos/interface/RecHitTools.h"
0012
0013 #include "SimDataFormats/CaloAnalysis/interface/CaloParticleFwd.h"
0014 #include "SimDataFormats/Associations/interface/LayerClusterToCaloParticleAssociator.h"
0015 #include "SimDataFormats/CaloAnalysis/interface/SimClusterFwd.h"
0016 #include "SimDataFormats/Associations/interface/LayerClusterToSimClusterAssociator.h"
0017
0018 namespace edm {
0019 class EDProductGetter;
0020 }
0021
0022 class LCToSimTSAssociatorByEnergyScoreImpl : public ticl::LayerClusterToSimTracksterAssociatorBaseImpl {
0023 public:
0024 explicit LCToSimTSAssociatorByEnergyScoreImpl(edm::EDProductGetter const &);
0025
0026 ticl::RecoToSimTracksterCollection associateRecoToSim(
0027 const edm::Handle<reco::CaloClusterCollection> &cCH,
0028 const edm::Handle<ticl::TracksterCollection> &sTCH,
0029 const edm::Handle<CaloParticleCollection> &cPCH,
0030 const ticl::RecoToSimCollection &lCToCPs,
0031 const edm::Handle<SimClusterCollection> &sCCH,
0032 const ticl::RecoToSimCollectionWithSimClusters &lCToSCs) const override;
0033
0034 ticl::SimTracksterToRecoCollection associateSimToReco(
0035 const edm::Handle<reco::CaloClusterCollection> &cCH,
0036 const edm::Handle<ticl::TracksterCollection> &sTCH,
0037 const edm::Handle<CaloParticleCollection> &cPCH,
0038 const ticl::SimToRecoCollection &cPToLCs,
0039 const edm::Handle<SimClusterCollection> &sCCH,
0040 const ticl::SimToRecoCollectionWithSimClusters &sCToLCs) const override;
0041
0042 private:
0043 edm::EDProductGetter const *productGetter_;
0044 };
0045
0046 #endif