00001 //------------------------------------------------- 00002 // 00003 // \class L1MuGMTParametersProducer 00004 // 00005 // Description: A class to produce the L1 GMT emulator Parameters record in the event setup 00006 // 00007 // $Date$ 00008 // $Revision$ 00009 // 00010 // Author : 00011 // I. Mikulec 00012 // 00013 //-------------------------------------------------- 00014 #include "L1TriggerConfig/GMTConfigProducers/interface/L1MuGMTParametersProducer.h" 00015 00016 L1MuGMTParametersProducer::L1MuGMTParametersProducer(const edm::ParameterSet& ps) 00017 { 00018 00019 m_ps = new edm::ParameterSet(ps); 00020 setWhatProduced(this, &L1MuGMTParametersProducer::produceL1MuGMTParameters); 00021 setWhatProduced(this, &L1MuGMTParametersProducer::produceL1MuGMTChannelMask); 00022 00023 } 00024 00025 00026 L1MuGMTParametersProducer::~L1MuGMTParametersProducer() { 00027 delete m_ps; 00028 } 00029 00030 00031 // 00032 // member functions 00033 // 00034 00035 // ------------ methods called to produce the data ------------ 00036 std::auto_ptr<L1MuGMTParameters> 00037 L1MuGMTParametersProducer::produceL1MuGMTParameters(const L1MuGMTParametersRcd& iRecord) 00038 { 00039 using namespace edm::es; 00040 00041 std::auto_ptr<L1MuGMTParameters> gmtparams = std::auto_ptr<L1MuGMTParameters>( new L1MuGMTParameters() ); 00042 00043 gmtparams->setEtaWeight_barrel(m_ps->getParameter<double>("EtaWeight_barrel")); 00044 gmtparams->setPhiWeight_barrel(m_ps->getParameter<double>("PhiWeight_barrel")); 00045 gmtparams->setEtaPhiThreshold_barrel(m_ps->getParameter<double>("EtaPhiThreshold_barrel")); 00046 gmtparams->setEtaWeight_endcap(m_ps->getParameter<double>("EtaWeight_endcap")); 00047 gmtparams->setPhiWeight_endcap(m_ps->getParameter<double>("PhiWeight_endcap")); 00048 gmtparams->setEtaPhiThreshold_endcap(m_ps->getParameter<double>("EtaPhiThreshold_endcap")); 00049 gmtparams->setEtaWeight_COU(m_ps->getParameter<double>("EtaWeight_COU")); 00050 gmtparams->setPhiWeight_COU(m_ps->getParameter<double>("PhiWeight_COU")); 00051 gmtparams->setEtaPhiThreshold_COU(m_ps->getParameter<double>("EtaPhiThreshold_COU")); 00052 gmtparams->setCaloTrigger(m_ps->getParameter<bool>("CaloTrigger")); 00053 gmtparams->setIsolationCellSizeEta(m_ps->getParameter<int>("IsolationCellSizeEta")); 00054 gmtparams->setIsolationCellSizePhi(m_ps->getParameter<int>("IsolationCellSizePhi")); 00055 gmtparams->setDoOvlRpcAnd(m_ps->getParameter<bool>("DoOvlRpcAnd")); 00056 gmtparams->setPropagatePhi(m_ps->getParameter<bool>("PropagatePhi")); 00057 gmtparams->setMergeMethodPhiBrl(m_ps->getParameter<std::string>("MergeMethodPhiBrl")); 00058 gmtparams->setMergeMethodPhiFwd(m_ps->getParameter<std::string>("MergeMethodPhiFwd")); 00059 gmtparams->setMergeMethodEtaBrl(m_ps->getParameter<std::string>("MergeMethodEtaBrl")); 00060 gmtparams->setMergeMethodEtaFwd(m_ps->getParameter<std::string>("MergeMethodEtaFwd")); 00061 gmtparams->setMergeMethodPtBrl(m_ps->getParameter<std::string>("MergeMethodPtBrl")); 00062 gmtparams->setMergeMethodPtFwd(m_ps->getParameter<std::string>("MergeMethodPtFwd")); 00063 gmtparams->setMergeMethodChargeBrl(m_ps->getParameter<std::string>("MergeMethodChargeBrl")); 00064 gmtparams->setMergeMethodChargeFwd(m_ps->getParameter<std::string>("MergeMethodChargeFwd")); 00065 gmtparams->setMergeMethodMIPBrl(m_ps->getParameter<std::string>("MergeMethodMIPBrl")); 00066 gmtparams->setMergeMethodMIPFwd(m_ps->getParameter<std::string>("MergeMethodMIPFwd")); 00067 gmtparams->setMergeMethodMIPSpecialUseANDBrl(m_ps->getParameter<bool>("MergeMethodMIPSpecialUseANDBrl")); 00068 gmtparams->setMergeMethodMIPSpecialUseANDFwd(m_ps->getParameter<bool>("MergeMethodMIPSpecialUseANDFwd")); 00069 gmtparams->setMergeMethodISOBrl(m_ps->getParameter<std::string>("MergeMethodISOBrl")); 00070 gmtparams->setMergeMethodISOFwd(m_ps->getParameter<std::string>("MergeMethodISOFwd")); 00071 gmtparams->setMergeMethodISOSpecialUseANDBrl(m_ps->getParameter<bool>("MergeMethodISOSpecialUseANDBrl")); 00072 gmtparams->setMergeMethodISOSpecialUseANDFwd(m_ps->getParameter<bool>("MergeMethodISOSpecialUseANDFwd")); 00073 gmtparams->setMergeMethodSRKBrl(m_ps->getParameter<std::string>("MergeMethodSRKBrl")); 00074 gmtparams->setMergeMethodSRKFwd(m_ps->getParameter<std::string>("MergeMethodSRKFwd")); 00075 gmtparams->setHaloOverwritesMatchedBrl(m_ps->getParameter<bool>("HaloOverwritesMatchedBrl")); 00076 gmtparams->setHaloOverwritesMatchedFwd(m_ps->getParameter<bool>("HaloOverwritesMatchedFwd")); 00077 gmtparams->setSortRankOffsetBrl(m_ps->getParameter<unsigned>("SortRankOffsetBrl")); 00078 gmtparams->setSortRankOffsetFwd(m_ps->getParameter<unsigned>("SortRankOffsetFwd")); 00079 gmtparams->setCDLConfigWordDTCSC(m_ps->getParameter<unsigned>("CDLConfigWordDTCSC")); 00080 gmtparams->setCDLConfigWordCSCDT(m_ps->getParameter<unsigned>("CDLConfigWordCSCDT")); 00081 gmtparams->setCDLConfigWordbRPCCSC(m_ps->getParameter<unsigned>("CDLConfigWordbRPCCSC")); 00082 gmtparams->setCDLConfigWordfRPCDT(m_ps->getParameter<unsigned>("CDLConfigWordfRPCDT")); 00083 gmtparams->setVersionSortRankEtaQLUT(m_ps->getParameter<unsigned>("VersionSortRankEtaQLUT")); 00084 00085 return gmtparams ; 00086 } 00087 00088 std::auto_ptr<L1MuGMTChannelMask> 00089 L1MuGMTParametersProducer::produceL1MuGMTChannelMask(const L1MuGMTChannelMaskRcd& iRecord) 00090 { 00091 using namespace edm::es; 00092 00093 std::auto_ptr<L1MuGMTChannelMask> gmtchanmask = std::auto_ptr<L1MuGMTChannelMask>( new L1MuGMTChannelMask() ); 00094 00095 gmtchanmask->setSubsystemMask(m_ps->getParameter<unsigned>("SubsystemMask")); 00096 00097 return gmtchanmask ; 00098 } 00099 00100