Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1TMuonEndCap_EMTFSubsystemCollector_h
0002 #define L1TMuonEndCap_EMTFSubsystemCollector_h
0003 
0004 #include "L1Trigger/L1TMuonEndCap/interface/Common.h"
0005 
0006 // Forward declarations
0007 namespace edm {
0008   class Event;
0009   class EDGetToken;
0010 }  // namespace edm
0011 
0012 // Class declaration
0013 class EMTFSubsystemCollector {
0014 public:
0015   // For 1 input collection
0016   template <typename T>
0017   void extractPrimitives(T tag,
0018                          const GeometryTranslator* tp_geom,
0019                          const edm::Event& iEvent,
0020                          const edm::EDGetToken& token,
0021                          TriggerPrimitiveCollection& out) const;
0022 
0023   // For 2 input collections
0024   template <typename T>
0025   void extractPrimitives(T tag,
0026                          const GeometryTranslator* tp_geom,
0027                          const edm::Event& iEvent,
0028                          const edm::EDGetToken& token1,
0029                          const edm::EDGetToken& token2,
0030                          TriggerPrimitiveCollection& out) const;
0031 
0032   // RPC functions
0033   void cluster_rpc(const TriggerPrimitiveCollection& muon_primitives,
0034                    TriggerPrimitiveCollection& clus_muon_primitives) const;
0035 
0036   // GEM functions
0037   void make_copad_gem(const TriggerPrimitiveCollection& muon_primitives,
0038                       TriggerPrimitiveCollection& copad_muon_primitives) const;
0039 };
0040 
0041 #endif