Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef SimDataFormats_Associations_TracksterToSimClusterAssociatorBaseImpl_h
0002 #define SimDataFormats_Associations_TracksterToSimClusterAssociatorBaseImpl_h
0003 
0004 /** \class TracksterToSimClusterAssociatorBaseImpl
0005  *
0006  * Base class for TracksterToSimClusterAssociator. Methods take as input
0007  * the handles of Tracksters, LayerClusters and SimClusters 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 ticl {
0021 
0022   typedef edm::AssociationMap<
0023       edm::OneToManyWithQualityGeneric<SimClusterCollection, ticl::TracksterCollection, std::pair<float, float>>>
0024       SimToRecoCollectionTracksters;
0025   typedef edm::AssociationMap<edm::OneToManyWithQualityGeneric<ticl::TracksterCollection, SimClusterCollection, float>>
0026       RecoToSimCollectionTracksters;
0027 
0028   class TracksterToSimClusterAssociatorBaseImpl {
0029   public:
0030     /// Constructor
0031     TracksterToSimClusterAssociatorBaseImpl();
0032     /// Destructor
0033     virtual ~TracksterToSimClusterAssociatorBaseImpl();
0034 
0035     /// Associate a Trackster to SimClusters
0036     virtual ticl::RecoToSimCollectionTracksters associateRecoToSim(const edm::Handle<ticl::TracksterCollection> &tCH,
0037                                                                    const edm::Handle<reco::CaloClusterCollection> &lCCH,
0038                                                                    const edm::Handle<SimClusterCollection> &sCCH) const;
0039 
0040     /// Associate a SimCluster to Tracksters
0041     virtual ticl::SimToRecoCollectionTracksters associateSimToReco(const edm::Handle<ticl::TracksterCollection> &tCH,
0042                                                                    const edm::Handle<reco::CaloClusterCollection> &lCCH,
0043                                                                    const edm::Handle<SimClusterCollection> &sCCH) const;
0044   };
0045 }  // namespace ticl
0046 
0047 #endif