CMS 3D CMS Logo

MicroGMTMatchQualLUTFactory.cc
Go to the documentation of this file.
1 //
7 // This class implements the MatchQualLUT factory. Based on the firmware
8 // version it selects the appropriate concrete implementation.
9 //
10 
12 
14 
15 using namespace edm;
16 
17 namespace l1t {
19  const std::string& filename, const double maxDR, const double fEta, const double fEtaCoarse,
20  const double fPhi, cancel_t cancelType, const int fwVersion) {
21  ReturnType p;
22 
23  if (fwVersion == 1) {
25  filename, maxDR, fEtaCoarse, fPhi, cancelType));
26  } else if (fwVersion >= 0x2020000) {
28  filename, maxDR, fEta, fEtaCoarse, fPhi, cancelType));
29  } else {
30  LogError("MicroGMTMatchQualLUTFactory")
31  << "Invalid firmware version requested: 0x" << std::hex << fwVersion << std::dec;
32  }
33  return p;
34  }
35 
38  ReturnType p;
39 
40  if (fwVersion == 1) {
41  p = ReturnType(new MicroGMTMatchQualSimpleLUT(lut, cancelType));
42  } else if (fwVersion >= 0x2020000) {
43  p = ReturnType(new MicroGMTMatchQualFineLUT(lut, cancelType));
44  } else {
45  LogError("MicroGMTMatchQualLUTFactory") << "Invalid firmware version requested: 0x" << std::hex << fwVersion << std::dec;
46  }
47  return p;
48  }
49 }
def create(alignables, pedeDump, additionalData, outputFile, config)
delete x;
Definition: CaloConfig.h:22
std::map< DetId, double > ReturnType
Definition: LUT.h:29
HLT enums.
std::shared_ptr< MicroGMTMatchQualLUT > ReturnType