15 produces<l1t::RegionalMuonCandBxCollection>(
"BMTF");
16 produces<l1t::RegionalMuonCandBxCollection>(
"BMTF2");
38 edm::LogInfo(
"L1TDQM") <<
"copy RegionalMuonCandBxCollections created";
39 edm::LogInfo(
"L1TDQM") <<
"bmtfKalman_copy address: " << bmtfKalman_copy;
40 edm::LogInfo(
"L1TDQM") <<
"bmtfLegacy_copy address: " << bmtfLegacy_copy;
50 edm::LogError(
"L1TDQM") <<
"[L1TBMTFAlgoSelector] Both BMTF feds (1376, 1377) seem empty." 51 <<
"Using Default Configuration." 52 <<
"Will be wrong if this is Kalman triggering and ZS is enabled";
54 std::unique_ptr<l1t::RegionalMuonCandBxCollection> bmtfTriggering, bmtfSecondary;
55 bmtfTriggering.reset(bmtfLegacy_copy);
56 bmtfSecondary.reset(bmtfKalman_copy);
58 edm::LogInfo(
"L1TDQM") <<
"Triggering and Secondary pointers filled:";
59 edm::LogInfo(
"L1TDQM") <<
"bmtfTriggering address: " << bmtfTriggering.get();
60 edm::LogInfo(
"L1TDQM") <<
"bmtfSecondary address: " << bmtfSecondary.get();
68 edm::LogInfo(
"L1TDQM") <<
"L1T Rcd taken from the FEDData.";
69 edm::LogInfo(
"L1TDQM") <<
"l1tRcd.size=" << l1tRcd.
size() <<
" for fed:" << nonEmptyFed;
71 const unsigned char *
data = l1tRcd.
data();
73 edm::LogInfo(
"L1TDQM") <<
"header and data extracted from the Rcd.";
86 if (!packet.
payload().empty()) {
88 const uint32_t *
start = (
const uint32_t*) payload64.get();
89 const uint32_t *
end = start + (packet.
payload().at(0).size() * 2);
92 algo_ver = payload.getAlgorithmFWVersion();
94 edm::LogInfo(
"L1TDQM") <<
"algo-ver = " << algo_ver << std::endl;
97 edm::LogError(
"L1TDQM") <<
"amc13 payload is empty, cannot extract AMC13 Packet...";
103 std::unique_ptr<l1t::RegionalMuonCandBxCollection> bmtfTriggering, bmtfSecondary;
104 if ( algo_ver >= 2499805536) {
106 bmtfTriggering.reset(bmtfKalman_copy);
107 bmtfSecondary.reset(bmtfLegacy_copy);
111 bmtfTriggering.reset(bmtfLegacy_copy);
112 bmtfSecondary.reset(bmtfKalman_copy);
115 edm::LogInfo(
"L1TDQM") <<
"Triggering and Secondary pointers filled:";
116 edm::LogInfo(
"L1TDQM") <<
"bmtfTriggering address: " << bmtfTriggering.get();
117 edm::LogInfo(
"L1TDQM") <<
"bmtfSecondary address: " << bmtfSecondary.get();
std::vector< amc::Packet > payload() const
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
~L1TBMTFAlgoSelector() override
BXVector< RegionalMuonCand > RegionalMuonCandBxCollection
bool getByToken(EDGetToken token, Handle< PROD > &result) const
size_t size() const
Lenght of the data buffer in bytes.
#define DEFINE_FWK_MODULE(type)
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
edm::EDGetToken bmtfLegacyToken
L1TBMTFAlgoSelector(const edm::ParameterSet &ps)
void produce(edm::Event &, const edm::EventSetup &) override
unsigned long long uint64_t
edm::EDGetToken bmtfKalmanToken
bool parse(const uint64_t *start, const uint64_t *data, unsigned int size, unsigned int lv1, unsigned int bx, bool legacy_mc=false, bool mtf7_mode=false)
char data[epos_bytes_allocation]
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.