33 std::ifstream
fin(
file.c_str());
36 return StatusCode::FAILURE;
41 std::vector<float> convfact;
48 std::array<unsigned int, 4096> sideALUT =
data[
"LucrodHighGain"][
"LUTs"][
"sideA"];
50 std::array<unsigned int, 4096> sideCLUT =
data[
"LucrodHighGain"][
"LUTs"][
"sideC"];
52 std::array<unsigned int, 256> combLUT =
data[
"LucrodHighGain"][
"LUTs"][
"comb"];
59 return StatusCode::SUCCESS;
73 std::vector<float> moduleEnergy = {0., 0., 0., 0., 0., 0., 0., 0.};
78 for (
const auto zdcModule : *zdcModules)
80 if (zdcModule->zdcType() == 0)
83 ATH_MSG_DEBUG(
"ZDC Side " << zdcModule->zdcSide() <<
", Module: " << zdcModule->zdcModule() <<
" and Energy: " << zdcModuleCalibEnergyHandle(*zdcModule));
87 if (zdcModule->zdcSide() > 0)
89 moduleEnergy.at(zdcModule->zdcModule()) = (!
m_energyToADCScaleFactor && LucrodTriggerAmpAcc.
isAvailable(*zdcModule)) ?
static_cast<float>(LucrodTriggerAmpAcc(*zdcModule)) : zdcModuleCalibEnergyHandle(*zdcModule);
93 if (zdcModule->zdcSide() < 0)
95 moduleEnergy.at(zdcModule->zdcModule() + 4) = (!
m_energyToADCScaleFactor && LucrodTriggerAmpAcc.
isAvailable(*zdcModule)) ?
static_cast<float>(LucrodTriggerAmpAcc(*zdcModule)) : zdcModuleCalibEnergyHandle(*zdcModule);
108 std::bitset<3>
bin(wordOut);
118 unsigned int word0 = 0;
119 word0 += (
bin[0] << 25);
120 word0 += (
bin[1] << 26);
121 word0 += (
bin[2] << 27);
128 ATH_MSG_DEBUG(
"Stored ZDC CTP object with words " << std::hex << (zdcCTP->cableWord0()) <<
" from LUTOutput " << std::dec << wordOut);
129 return StatusCode::SUCCESS;