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
0028 {1, 1},
0029 {3, 2},
0030 {5, 3},
0031 {7, 4},
0032 {9, 5},
0033 {11, 6},
0034 {2, 7},
0035 {4, 8},
0036 {6, 9},
0037 {8, 10},
0038 {10, 11},
0039 {12, 12}
0040 };
0041 const unsigned int firstNewInputsFwVer = 0x92300120;
0042 const unsigned int firstKalmanFwVer = 0x95000160;
0043 };
0044 }
0045 }
0046
0047 #endif