Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:01:34

0001 #ifndef RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H
0002 #define RecoMuon_GlobalTrackingTools_GlobalMuonRefitter_H
0003 
0004 #include "DataFormats/Common/interface/Handle.h"
0005 
0006 #include "FWCore/Framework/interface/ESHandle.h"
0007 #include "FWCore/Utilities/interface/InputTag.h"
0008 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 
0011 #include "DataFormats/DTRecHit/interface/DTRecSegment2D.h"
0012 #include "DataFormats/DTRecHit/interface/DTRecSegment4D.h"
0013 #include "DataFormats/CSCRecHit/interface/CSCSegment.h"
0014 #include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h"
0015 
0016 #include "DataFormats/MuonReco/interface/Muon.h"
0017 #include "FWCore/Framework/interface/ConsumesCollector.h"
0018 
0019 namespace edm {
0020   class Event;
0021   class EventSetup;
0022 }  // namespace edm
0023 namespace reco {
0024   class TransientTrack;
0025 }
0026 
0027 class MuonServiceProxy;
0028 
0029 class MuonSegmentMatcher {
0030 public:
0031   /// constructor with Parameter Set and MuonServiceProxy
0032   MuonSegmentMatcher(const edm::ParameterSet&, edm::ConsumesCollector& iC);
0033 
0034   /// destructor
0035   virtual ~MuonSegmentMatcher();
0036 
0037   /// perform the matching
0038   std::vector<const DTRecSegment4D*> matchDT(const reco::Track& muon, const edm::Event& event);
0039 
0040   std::vector<const CSCSegment*> matchCSC(const reco::Track& muon, const edm::Event& event);
0041 
0042   std::vector<const RPCRecHit*> matchRPC(const reco::Track& muon, const edm::Event& event);
0043 
0044 protected:
0045 private:
0046   const MuonServiceProxy* theService;
0047   const edm::Event* theEvent;
0048 
0049   edm::InputTag TKtrackTags_;
0050   edm::InputTag trackTags_;  //used to select what tracks to read from configuration file
0051   edm::InputTag DTSegmentTags_;
0052   edm::InputTag CSCSegmentTags_;
0053   edm::InputTag RPCHitTags_;
0054 
0055   edm::EDGetTokenT<DTRecSegment4DCollection> dtRecHitsToken;
0056   edm::EDGetTokenT<CSCSegmentCollection> allSegmentsCSCToken;
0057   edm::EDGetTokenT<RPCRecHitCollection> rpcRecHitsToken;
0058 
0059   double dtRadius_;
0060 
0061   bool dtTightMatch;
0062   bool cscTightMatch;
0063 };
0064 #endif