Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1Trigger_L1TMuonCPPF_EmulateCPPF_h
0002 #define L1Trigger_L1TMuonCPPF_EmulateCPPF_h
0003 
0004 #include "L1Trigger/L1TMuonCPPF/interface/RecHitProcessor.h"
0005 
0006 #include "FWCore/Framework/interface/ConsumesCollector.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "DataFormats/Common/interface/DetSetVector.h"
0009 
0010 class EmulateCPPF {
0011 public:
0012   explicit EmulateCPPF(const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iConsumes);
0013   ~EmulateCPPF();
0014 
0015   void process(
0016       // Input
0017       const edm::Event &iEvent,
0018       const edm::EventSetup &iSetup,
0019       // Output
0020       l1t::CPPFDigiCollection &cppf_recHit);
0021 
0022 private:
0023   // For now, treat CPPF as single board
0024   // In the future, may want to treat the 4 CPPF boards in each endcap as
0025   // separate entities
0026   std::array<RecHitProcessor, 1> recHit_processors_;
0027 
0028   const edm::EDGetToken rpcDigiToken_;
0029   const edm::EDGetToken recHitToken_;
0030   const edm::EDGetToken rpcDigiSimLinkToken_;
0031   const edm::ESGetToken<RPCGeometry, MuonGeometryRecord> rpcGeomToken_;
0032 
0033   enum class CppfSource { File, EventSetup } cppfSource_;
0034   std::vector<RecHitProcessor::CppfItem> CppfVec_1;
0035   int MaxClusterSize_;
0036 };  // End class EmulateCPPF
0037 
0038 #endif  // #define L1Trigger_L1TMuonCPPF_EmulateCPPF_h