Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-06-04 06:14:51

0001 #ifndef SimDataFormats_Associations_TracksterToSimTracksterAssociatorBaseImpl_h
0002 #define SimDataFormats_Associations_TracksterToSimTracksterAssociatorBaseImpl_h
0003 
0004 /** \class TracksterToSimTracksterAssociatorBaseImpl
0005  *
0006  * Base class for TracksterToSimTracksterAssociator. Methods take as input
0007  * the handles of Tracksters, LayerClusters and SimTracksters collections and return an
0008  * AssociationMap (oneToManyWithQuality)
0009  *
0010  *  \author Leonardo Cristella
0011  */
0012 
0013 #include "DataFormats/Common/interface/Handle.h"
0014 #include "DataFormats/Common/interface/AssociationMap.h"
0015 #include "DataFormats/HGCalReco/interface/Trackster.h"
0016 #include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h"
0017 
0018 #include "SimDataFormats/CaloAnalysis/interface/SimClusterFwd.h"
0019 
0020 namespace hgcal {
0021 
0022   typedef edm::AssociationMap<
0023       edm::OneToManyWithQualityGeneric<ticl::TracksterCollection, ticl::TracksterCollection, std::pair<float, float>>>
0024       SimToRecoCollectionSimTracksters;
0025   typedef edm::AssociationMap<
0026       edm::OneToManyWithQualityGeneric<ticl::TracksterCollection, ticl::TracksterCollection, float>>
0027       RecoToSimCollectionSimTracksters;
0028 
0029   class TracksterToSimTracksterAssociatorBaseImpl {
0030   public:
0031     /// Constructor
0032     TracksterToSimTracksterAssociatorBaseImpl();
0033     /// Destructor
0034     virtual ~TracksterToSimTracksterAssociatorBaseImpl();
0035 
0036     /// Associate a Trackster to SimClusters
0037     virtual hgcal::RecoToSimCollectionSimTracksters associateRecoToSim(
0038         const edm::Handle<ticl::TracksterCollection> &tCH,
0039         const edm::Handle<reco::CaloClusterCollection> &lCCH,
0040         const edm::Handle<ticl::TracksterCollection> &sTCH) const;
0041 
0042     /// Associate a SimCluster to Tracksters
0043     virtual hgcal::SimToRecoCollectionSimTracksters associateSimToReco(
0044         const edm::Handle<ticl::TracksterCollection> &tCH,
0045         const edm::Handle<reco::CaloClusterCollection> &lCCH,
0046         const edm::Handle<ticl::TracksterCollection> &sTCH) const;
0047   };
0048 }  // namespace hgcal
0049 
0050 #endif