File indexing completed on 2024-04-06 12:29:47
0001 #include <vector>
0002 #include <memory>
0003
0004 #include "Geometry/MTDGeometryBuilder/interface/MTDGeomUtil.h"
0005 #include "SimDataFormats/Associations/interface/MtdRecoClusterToSimLayerClusterAssociator.h"
0006
0007 namespace edm {
0008 class EDProductGetter;
0009 }
0010
0011 class MtdRecoClusterToSimLayerClusterAssociatorByHitsImpl
0012 : public reco::MtdRecoClusterToSimLayerClusterAssociatorBaseImpl {
0013 public:
0014 explicit MtdRecoClusterToSimLayerClusterAssociatorByHitsImpl(edm::EDProductGetter const &,
0015 double,
0016 double,
0017 mtd::MTDGeomUtil &);
0018
0019 reco::RecoToSimCollectionMtd associateRecoToSim(
0020 const edm::Handle<FTLClusterCollection> &btlRecoClusH,
0021 const edm::Handle<FTLClusterCollection> &etlRecoClusH,
0022 const edm::Handle<MtdSimLayerClusterCollection> &simClusH) const override;
0023
0024 reco::SimToRecoCollectionMtd associateSimToReco(
0025 const edm::Handle<FTLClusterCollection> &btlRecoClusH,
0026 const edm::Handle<FTLClusterCollection> &etlRecoClusH,
0027 const edm::Handle<MtdSimLayerClusterCollection> &simClusH) const override;
0028
0029 private:
0030 edm::EDProductGetter const *productGetter_;
0031 const double energyCut_;
0032 const double timeCut_;
0033 mtd::MTDGeomUtil geomTools_;
0034 };