Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef MuonSeedGenerator_SETPatternRecognition_h
0002 #define MuonSeedGenerator_SETPatternRecognition_h
0003 
0004 #include "RecoMuon/MuonSeedGenerator/src/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   /** Output is a cluster, with possibly more than one hit per layer */
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   // don't use "bad" segments
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