17 since_run_(
config.getParameter<unsigned long long>(
"sinceRun")),
19 wheel_not_side_(
config.getParameter<
bool>(
"wheelNotSide")),
21 n_sectors_(
config.getParameter<unsigned
int>(
"nSectors")),
24 std::vector<long long> wos_sector_amc_packed(
config.getParameter<std::vector<long long> >(
"wheelOrSideSectorAMC"));
26 if (
wos_fed_.size() != wos_sector_amc_packed.size()) {
27 throw cms::Exception(
"RPCAMCLinkMapHandler") <<
"Refuse to handle inconsistent input: "
28 <<
"sizes of wheelOrSideFED and wheelOrSideSectorAMC don't match";
31 std::vector<std::vector<int> >::iterator sector_amc =
wos_sector_amc_.begin();
32 for (std::vector<long long>::const_iterator sector_amc_packed = wos_sector_amc_packed.begin();
33 sector_amc_packed != wos_sector_amc_packed.end();
34 ++sector_amc_packed, ++sector_amc) {
35 for (
unsigned int sector = 0; sector <
n_sectors_; ++sector) {
36 sector_amc->at(sector) = ((*sector_amc_packed) >> (4 * (
n_sectors_ - sector - 1))) & 0xf;
52 unsigned int wos, sector, amc_number, amc_input;
54 std::unique_ptr<RPCAMCLinkMap> amc_link_map_object(
new RPCAMCLinkMap());
59 std::istringstream
conv;
63 input_file >> amc_name >> amc_input >> link_name;
64 std::getline(input_file,
line);
71 next = amc_name.find_first_not_of(
"+-0123456789",
pos);
78 next = amc_name.find_first_not_of(
"+-0123456789",
pos);
79 if (
next == std::string::npos)
80 next = amc_name.size();
85 wos = (amc_name.at(4) ==
'n' ? 0 : 1);
87 conv.str(amc_name.substr(5, 1));
93 <<
"Found sector greater than the number of sectors: " << sector <<
" > " <<
n_sectors_;
105 amc_link_map.insert(std::pair<RPCAMCLink, RPCLBLink>(
RPCAMCLink(
wos_fed_.at(wos), amc_number, amc_input), lb_link));
107 input_file >> amc_name >> amc_input >> link_name;
108 std::getline(input_file,
line);
115 for (
auto const link : amc_link_map) {
116 ofstream <<
link.first <<
": " <<
link.second << std::endl;
120 edm::LogInfo(
"RPCAMCLinkMapHandler") <<
"Add to transfer list";