77 std::string patternsDirNameUnstriped = fp.fullPath();
78 m_patternsDir = patternsDirNameUnstriped.substr(0, patternsDirNameUnstriped.find_last_of(
'/') + 1);
92 auto pL1RPCConfig = std::make_unique<L1RPCConfig>();
94 pL1RPCConfig->setPPT(
m_ppt);
97 int scCnt = 0, sgCnt = 0;
101 }
else if (
m_ppt == 12) {
104 }
else if (
m_ppt == 144) {
112 for (
int logSector = 0; logSector < scCnt; ++logSector) {
113 for (
int logSegment = 0; logSegment < sgCnt; ++logSegment) {
114 std::stringstream
fname;
115 fname <<
m_patternsDir <<
"pacPat_t" <<
tower <<
"sc" << logSector <<
"sg" << logSegment <<
".xml";
118 LogDebug(
"RPCTriggerConfig") <<
"Parsing: " << fname.str() << std::endl;
121 parser.
parse(fname.str());
124 for (
unsigned int ip = 0; ip < npats.size(); ip++) {
125 npats[ip].setCoords(
tower, logSector, logSegment);
126 pL1RPCConfig->m_pats.push_back(npats[ip]);
130 for (
unsigned int iq = 0; iq < nquals.size(); iq++) {
131 nquals[iq].m_tower =
tower;
132 nquals[iq].m_logsector = logSector;
133 nquals[iq].m_logsegment = logSegment;
134 pL1RPCConfig->m_quals.push_back(nquals[iq]);
137 LogDebug(
"RPCTriggerConfig") <<
" RPCPatterns: " << npats.size() <<
" qualities: " << nquals.size()
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
T getUntrackedParameter(std::string const &, T const &) const
std::vector< RPCPattern > RPCPatVec
const RPCPattern::RPCPatVec & getPatternsVec(const RPCConst::l1RpcConeCrdnts &coneCrds) const
static const int m_TOWER_COUNT
Only half of the detector.
~RPCTriggerConfig() override
std::vector< TQuality > TQualityVec
std::string m_patternsDir
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
const RPCPattern::TQualityVec & getQualityVec() const
RPCTriggerConfig(const edm::ParameterSet &)
std::unique_ptr< L1RPCConfig > ReturnType
void parse(std::string fileName)
ReturnType produce(const L1RPCConfigRcd &)