Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:10:49

0001 #ifndef L1T_PACKER_STAGE2_BMTFSETUP_H
0002 #define L1T_PACKER_STAGE2_BMTFSETUP_H
0003 
0004 #include "EventFilter/L1TRawToDigi/interface/Packer.h"
0005 #include "EventFilter/L1TRawToDigi/interface/PackingSetup.h"
0006 #include "EventFilter/L1TRawToDigi/interface/Unpacker.h"
0007 #include "FWCore/Framework/interface/ProducesCollector.h"
0008 
0009 #include "BMTFCollections.h"
0010 #include "BMTFTokens.h"
0011 #include "BMTFUnpackerOutput.h"
0012 #include "BMTFPackerOutput.h"
0013 
0014 namespace l1t {
0015   namespace stage2 {
0016     class BMTFSetup : public PackingSetup {
0017     public:
0018       std::unique_ptr<PackerTokens> registerConsumes(const edm::ParameterSet& cfg, edm::ConsumesCollector& cc) override;
0019       void fillDescription(edm::ParameterSetDescription& desc) override;
0020       PackerMap getPackers(int fed, unsigned int fw) override;
0021       void registerProducts(edm::ProducesCollector) override;
0022       std::unique_ptr<UnpackerCollections> getCollections(edm::Event& e) override;
0023       UnpackerMap getUnpackers(int fed, int board, int amc, unsigned int fw) override;
0024 
0025     private:
0026       const std::map<int, int> boardIdPerSlot{
0027           // {slot, boardId}
0028           {1, 1},
0029           {3, 2},
0030           {5, 3},
0031           {7, 4},
0032           {9, 5},
0033           {11, 6},  // Top Crate
0034           {2, 7},
0035           {4, 8},
0036           {6, 9},
0037           {8, 10},
0038           {10, 11},
0039           {12, 12}  // Bottom Crate
0040       };
0041       const unsigned int firstNewInputsFwVer = 0x92300120;
0042       const unsigned int firstKalmanFwVer = 0x95000160;
0043     };
0044   }  // namespace stage2
0045 }  // namespace l1t
0046 
0047 #endif