File indexing completed on 2025-01-09 23:33:55
0001 #ifndef MuonSeedGenerator_SETPatternRecognition_h
0002 #define MuonSeedGenerator_SETPatternRecognition_h
0003
0004 #include "RecoMuon/MuonSeedGenerator/interface/MuonSeedVPatternRecognition.h"
0005 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
0006 #include "FWCore/Framework/interface/ConsumesCollector.h"
0007
0008 #include "DataFormats/DTRecHit/interface/DTRecSegment4D.h"
0009 #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h"
0010 #include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h"
0011 #include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h"
0012
0013 class SETPatternRecognition : public MuonSeedVPatternRecognition {
0014 public:
0015 explicit SETPatternRecognition(const edm::ParameterSet& pset, edm::ConsumesCollector& iC);
0016 ~SETPatternRecognition() override {}
0017
0018 void produce(const edm::Event& event,
0019 const edm::EventSetup& eSetup,
0020 std::vector<MuonRecHitContainer>& result) override;
0021
0022 void setServiceProxy(MuonServiceProxy* service) { theService = service; }
0023
0024 bool segmentCleaning(const DetId& detId,
0025 const LocalPoint& localPosition,
0026 const LocalError& localError,
0027 const LocalVector& localDirection,
0028 const LocalError& localDirectionError,
0029 const double& chi2,
0030 const int& ndf);
0031
0032 private:
0033 int maxActiveChambers;
0034 bool useRPCs;
0035
0036 edm::InputTag DTRecSegmentLabel;
0037 edm::InputTag CSCRecSegmentLabel;
0038 edm::InputTag RPCRecSegmentLabel;
0039
0040 edm::EDGetTokenT<DTRecSegment4DCollection> dtToken;
0041 edm::EDGetTokenT<CSCSegmentCollection> cscToken;
0042 edm::EDGetTokenT<RPCRecHitCollection> rpcToken;
0043
0044 double outsideChamberErrorScale;
0045 double minLocalSegmentAngle;
0046
0047
0048 MuonServiceProxy* theService;
0049 };
0050
0051 #endif