File indexing completed on 2024-05-29 23:13:10
0001 #ifndef SimDataFormats_Associations_LayerClusterToSimTracksterAssociatorBaseImpl_h
0002 #define SimDataFormats_Associations_LayerClusterToSimTracksterAssociatorBaseImpl_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/CaloRecHit/interface/CaloClusterFwd.h"
0016 #include "DataFormats/HGCalReco/interface/Trackster.h"
0017
0018 #include "SimDataFormats/CaloAnalysis/interface/CaloParticleFwd.h"
0019 #include "LayerClusterToCaloParticleAssociatorBaseImpl.h"
0020 #include "SimDataFormats/CaloAnalysis/interface/SimClusterFwd.h"
0021 #include "LayerClusterToSimClusterAssociatorBaseImpl.h"
0022
0023 namespace ticl {
0024
0025 typedef edm::AssociationMap<
0026 edm::OneToManyWithQualityGeneric<ticl::TracksterCollection, reco::CaloClusterCollection, std::pair<float, float>>>
0027 SimTracksterToRecoCollection;
0028 typedef edm::AssociationMap<
0029 edm::OneToManyWithQualityGeneric<reco::CaloClusterCollection, ticl::TracksterCollection, float>>
0030 RecoToSimTracksterCollection;
0031
0032 class LayerClusterToSimTracksterAssociatorBaseImpl {
0033 public:
0034
0035 LayerClusterToSimTracksterAssociatorBaseImpl();
0036
0037 virtual ~LayerClusterToSimTracksterAssociatorBaseImpl();
0038
0039
0040 virtual ticl::RecoToSimTracksterCollection associateRecoToSim(
0041 const edm::Handle<reco::CaloClusterCollection> &cCH,
0042 const edm::Handle<ticl::TracksterCollection> &sTCH,
0043 const edm::Handle<CaloParticleCollection> &cPCH,
0044 const ticl::RecoToSimCollection &lCToCPs,
0045 const edm::Handle<SimClusterCollection> &sCCH,
0046 const ticl::RecoToSimCollectionWithSimClusters &lCToSCs) const;
0047
0048
0049 virtual ticl::SimTracksterToRecoCollection associateSimToReco(
0050 const edm::Handle<reco::CaloClusterCollection> &cCH,
0051 const edm::Handle<ticl::TracksterCollection> &sTCH,
0052 const edm::Handle<CaloParticleCollection> &cPCH,
0053 const ticl::SimToRecoCollection &cPToLCs,
0054 const edm::Handle<SimClusterCollection> &sCCH,
0055 const ticl::SimToRecoCollectionWithSimClusters &sCToLCs) const;
0056 };
0057 }
0058
0059 #endif