Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:55

0001 #ifndef L1TMuonEndCap_TrackFinder_h
0002 #define L1TMuonEndCap_TrackFinder_h
0003 
0004 #include <array>
0005 
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/Framework/interface/ConsumesCollector.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 
0011 #include "L1Trigger/L1TMuonEndCap/interface/Common.h"
0012 #include "L1Trigger/L1TMuonEndCap/interface/EMTFSetup.h"
0013 #include "L1Trigger/L1TMuonEndCap/interface/EMTFSubsystemCollector.h"
0014 #include "L1Trigger/L1TMuonEndCap/interface/SectorProcessor.h"
0015 
0016 class TrackFinder {
0017 public:
0018   explicit TrackFinder(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iConsumes);
0019   ~TrackFinder();
0020 
0021   void process(
0022       // Input
0023       const edm::Event& iEvent,
0024       const edm::EventSetup& iSetup,
0025       // Output
0026       EMTFHitCollection& out_hits,
0027       EMTFTrackCollection& out_tracks);
0028 
0029 private:
0030   EMTFSetup setup_;
0031 
0032   emtf::sector_array<SectorProcessor> sector_processors_;
0033 
0034   // Various tokens
0035   const edm::EDGetToken tokenDTPhi_;
0036   const edm::EDGetToken tokenDTTheta_;
0037   const edm::EDGetToken tokenCSC_;
0038   const edm::EDGetToken tokenCSCComparator_;
0039   const edm::EDGetToken tokenRPC_;
0040   const edm::EDGetToken tokenCPPF_;
0041   const edm::EDGetToken tokenGEM_;
0042   const edm::EDGetToken tokenME0_;
0043 
0044   int verbose_;
0045 };
0046 
0047 #endif