Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:26:05

0001 #ifndef RecoMuon_MuonSeedGenerator_RPCSeedOverlapper_H
0002 #define RecoMuon_MuonSeedGenerator_RPCSeedOverlapper_H
0003 
0004 /**  \class RPCSeedPattern

0005  *

0006  *  \author Haiyun.Teng - Peking University

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/src/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   // Signal for call run()

0037   bool isConfigured;
0038   bool isIOset;
0039   // Parameters for configuration

0040   bool isCheckgoodOverlap;
0041   bool isCheckcandidateOverlap;
0042   unsigned int ShareRecHitsNumberThreshold;
0043   // IO ref

0044   std::vector<weightedTrajectorySeed> *goodweightedSeedsRef;
0045   std::vector<weightedTrajectorySeed> *candidateweightedSeedsRef;
0046   const RPCGeometry *rpcGeometry;
0047 };
0048 
0049 #endif