File indexing completed on 2025-01-09 23:33:54
0001 #ifndef RecoMuon_MuonSeedGenerator_RPCSeedOverlapper_H
0002 #define RecoMuon_MuonSeedGenerator_RPCSeedOverlapper_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <DataFormats/TrajectorySeed/interface/TrajectorySeed.h>
0012 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0013 #include <Geometry/RPCGeometry/interface/RPCGeometry.h>
0014 #include <DataFormats/Common/interface/OwnVector.h>
0015 #include <DataFormats/TrackingRecHit/interface/TrackingRecHit.h>
0016 #include "RecoMuon/MuonSeedGenerator/interface/RPCSeedPattern.h"
0017
0018 class RPCSeedOverlapper {
0019 typedef RPCSeedPattern::weightedTrajectorySeed weightedTrajectorySeed;
0020
0021 public:
0022 RPCSeedOverlapper();
0023 ~RPCSeedOverlapper();
0024 void setIO(std::vector<weightedTrajectorySeed> *goodweightedRef,
0025 std::vector<weightedTrajectorySeed> *candidateweightedRef);
0026 void unsetIO();
0027 void run();
0028 void configure(const edm::ParameterSet &iConfig);
0029 void setGeometry(const RPCGeometry &iGeom);
0030
0031 private:
0032 void CheckOverlap(const RPCGeometry &iGeom, std::vector<weightedTrajectorySeed> *SeedsRef);
0033 bool isShareHit(const std::vector<TrackingRecHit const *> &RecHits,
0034 const TrackingRecHit &hit,
0035 const RPCGeometry &rpcGeometry);
0036
0037 bool isConfigured;
0038 bool isIOset;
0039
0040 bool isCheckgoodOverlap;
0041 bool isCheckcandidateOverlap;
0042 unsigned int ShareRecHitsNumberThreshold;
0043
0044 std::vector<weightedTrajectorySeed> *goodweightedSeedsRef;
0045 std::vector<weightedTrajectorySeed> *candidateweightedSeedsRef;
0046 const RPCGeometry *rpcGeometry;
0047 };
0048
0049 #endif