Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 ///
0002 /// \class l1t::MicroGMTRelativeIsolationCheckLUTFactory
0003 ///
0004 /// \author: Thomas Reis
0005 ///
0006 //
0007 // This class implements the RelativeIsolationCheckLUT factory. Based on the firmware
0008 // version it selects the appropriate concrete implementation.
0009 //
0010 
0011 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0012 
0013 #include "L1Trigger/L1TMuon/interface/MicroGMTLUTFactories.h"
0014 
0015 using namespace edm;
0016 
0017 namespace l1t {
0018   MicroGMTRelativeIsolationCheckLUTFactory::ReturnType MicroGMTRelativeIsolationCheckLUTFactory::create(
0019       const std::string& filename, const int fwVersion) {
0020     ReturnType p;
0021 
0022     if (fwVersion >= 1) {
0023       p = std::make_shared<l1t::MicroGMTRelativeIsolationCheckLUT>(filename);
0024     } else {
0025       LogError("MicroGMTRelativeIsolationCheckLUTFactory")
0026           << "Invalid firmware version requested: 0x" << std::hex << fwVersion << std::dec;
0027     }
0028     return p;
0029   }
0030 
0031   MicroGMTRelativeIsolationCheckLUTFactory::ReturnType MicroGMTRelativeIsolationCheckLUTFactory::create(
0032       l1t::LUT* lut, const int fwVersion) {
0033     ReturnType p;
0034 
0035     if (fwVersion >= 1) {
0036       p = std::make_shared<l1t::MicroGMTRelativeIsolationCheckLUT>(lut);
0037     } else {
0038       LogError("MicroGMTRelativeIsolationCheckLUTFactory")
0039           << "Invalid firmware version requested: 0x" << std::hex << fwVersion << std::dec;
0040     }
0041     return p;
0042   }
0043 }  // namespace l1t