File indexing completed on 2024-04-06 12:29:39
0001 #ifndef SimDataFormats_Associations_MultiClusterToCaloParticleAssociatorBaseImpl_h
0002 #define SimDataFormats_Associations_MultiClusterToCaloParticleAssociatorBaseImpl_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "DataFormats/Common/interface/Handle.h"
0014 #include "DataFormats/Common/interface/AssociationMap.h"
0015 #include "DataFormats/ParticleFlowReco/interface/HGCalMultiCluster.h"
0016
0017 #include "SimDataFormats/CaloAnalysis/interface/CaloParticleFwd.h"
0018
0019 namespace hgcal {
0020
0021 typedef edm::AssociationMap<
0022 edm::OneToManyWithQualityGeneric<CaloParticleCollection, reco::HGCalMultiClusterCollection, std::pair<float, float>>>
0023 SimToRecoCollectionWithMultiClusters;
0024 typedef edm::AssociationMap<
0025 edm::OneToManyWithQualityGeneric<reco::HGCalMultiClusterCollection, CaloParticleCollection, float>>
0026 RecoToSimCollectionWithMultiClusters;
0027
0028 class MultiClusterToCaloParticleAssociatorBaseImpl {
0029 public:
0030
0031 MultiClusterToCaloParticleAssociatorBaseImpl();
0032
0033 virtual ~MultiClusterToCaloParticleAssociatorBaseImpl();
0034
0035
0036 virtual hgcal::RecoToSimCollectionWithMultiClusters associateRecoToSim(
0037 const edm::Handle<reco::HGCalMultiClusterCollection> &cCH,
0038 const edm::Handle<CaloParticleCollection> &cPCH) const;
0039
0040
0041 virtual hgcal::SimToRecoCollectionWithMultiClusters associateSimToReco(
0042 const edm::Handle<reco::HGCalMultiClusterCollection> &cCH,
0043 const edm::Handle<CaloParticleCollection> &cPCH) const;
0044 };
0045 }
0046
0047 #endif