Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:11

0001 /*
0002  * ProcConfigurationBase.cc
0003  *
0004  *  Created on: Jan 30, 2019
0005  *      Author: Karol Bunkowski kbunkow@cern.ch
0006  */
0007 
0008 #include "L1Trigger/L1TMuonOverlapPhase1/interface/ProcConfigurationBase.h"
0009 #include "DataFormats/CSCDigi/interface/CSCConstants.h"
0010 
0011 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0012 
0013 ProcConfigurationBase::ProcConfigurationBase() : cscLctCentralBx_(CSCConstants::LCT_CENTRAL_BX) {}
0014 
0015 ProcConfigurationBase::~ProcConfigurationBase() {}
0016 
0017 int ProcConfigurationBase::foldPhi(int phi) const {
0018   int phiBins = nPhiBins();
0019   if (phi > phiBins / 2)
0020     return (phi - phiBins);
0021   else if (phi < -phiBins / 2)
0022     return (phi + phiBins);
0023 
0024   return phi;
0025 }
0026 
0027 void ProcConfigurationBase::configureFromEdmParameterSet(const edm::ParameterSet& edmParameterSet) {
0028   if (edmParameterSet.exists("rpcMaxClusterSize")) {
0029     setRpcMaxClusterSize(edmParameterSet.getParameter<int>("rpcMaxClusterSize"));
0030     edm::LogVerbatim("OMTFReconstruction")
0031         << "rpcMaxClusterSize: " << edmParameterSet.getParameter<int>("rpcMaxClusterSize") << std::endl;
0032   }
0033 
0034   if (edmParameterSet.exists("rpcMaxClusterCnt")) {
0035     setRpcMaxClusterCnt(edmParameterSet.getParameter<int>("rpcMaxClusterCnt"));
0036     edm::LogVerbatim("OMTFReconstruction")
0037         << "rpcMaxClusterCnt: " << edmParameterSet.getParameter<int>("rpcMaxClusterCnt") << std::endl;
0038   }
0039 
0040   if (edmParameterSet.exists("rpcDropAllClustersIfMoreThanMax")) {
0041     setRpcDropAllClustersIfMoreThanMax(edmParameterSet.getParameter<bool>("rpcDropAllClustersIfMoreThanMax"));
0042     edm::LogVerbatim("OMTFReconstruction")
0043         << "rpcDropAllClustersIfMoreThanMax: " << edmParameterSet.getParameter<bool>("rpcDropAllClustersIfMoreThanMax")
0044         << std::endl;
0045   }
0046 
0047   if (edmParameterSet.exists("lctCentralBx")) {
0048     cscLctCentralBx_ = edmParameterSet.getParameter<int>("lctCentralBx");
0049     edm::LogVerbatim("OMTFReconstruction")
0050         << "lctCentralBx: " << edmParameterSet.getParameter<int>("lctCentralBx") << std::endl;
0051   }
0052 
0053   if (edmParameterSet.exists("minDtPhiQuality")) {
0054     minDtPhiQuality = edmParameterSet.getParameter<int>("minDtPhiQuality");
0055     edm::LogVerbatim("OMTFReconstruction")
0056         << "minDtPhiQuality: " << edmParameterSet.getParameter<int>("minDtPhiQuality") << std::endl;
0057   }
0058 
0059   if (edmParameterSet.exists("minDtPhiBQuality")) {
0060     minDtPhiBQuality = edmParameterSet.getParameter<int>("minDtPhiBQuality");
0061     edm::LogVerbatim("OMTFReconstruction")
0062         << "minDtPhiBQuality: " << edmParameterSet.getParameter<int>("minDtPhiBQuality") << std::endl;
0063   }
0064 
0065   if (edmParameterSet.exists("stubEtaEncoding")) {
0066     auto stubEtaEncodingStr = edmParameterSet.getParameter<std::string>("stubEtaEncoding");
0067     if (stubEtaEncodingStr == "bits")
0068       stubEtaEncoding = StubEtaEncoding::bits;
0069     else if (stubEtaEncodingStr == "valueP1Scale")
0070       stubEtaEncoding = StubEtaEncoding::valueP1Scale;
0071     else
0072       throw cms::Exception(std::string("ProcConfigurationBase::configureFromEdmParameterSet: stubEtaEncoding ") +
0073                            stubEtaEncodingStr + "is not correct");
0074 
0075     edm::LogVerbatim("OMTFReconstruction")
0076         << "stubEtaEncoding: " << static_cast<int>(stubEtaEncoding) << " = " << stubEtaEncodingStr << std::endl;
0077   }
0078 
0079   if (edmParameterSet.exists("dtPhiBUnitsRad")) {
0080     dtPhiBUnitsRad_ = edmParameterSet.getParameter<int>("dtPhiBUnitsRad");
0081     edm::LogVerbatim("OMTFReconstruction") << "dtPhiBUnitsRad: " << dtPhiBUnitsRad_ << std::endl;
0082   }
0083 }