21 #ifndef XAOD_STANDALONE
22 declareInterface<IZdcAnalysisTool>(
this);
45 std::ifstream
fin(
file.c_str());
48 return StatusCode::FAILURE;
54 std::array<unsigned int, 4096> sideALUT =
data[
"LucrodHighGain"][
"LUTs"][
"sideA"];
56 std::array<unsigned int, 4096> sideCLUT =
data[
"LucrodHighGain"][
"LUTs"][
"sideC"];
58 std::array<unsigned int, 256> combLUT =
data[
"LucrodHighGain"][
"LUTs"][
"comb"];
75 return StatusCode::SUCCESS;
82 std::vector<float> moduleEnergy = {0., 0., 0., 0., 0., 0., 0., 0.};
86 bool trigMatch =
false;
87 for (
const auto zdcModule : moduleContainer) {
88 if (zdcModule->zdcType() == 1)
continue;
91 if (zdcModule->zdcSide() > 0) {
92 moduleEnergy.at(zdcModule->zdcModule()) = zdcModuleAmp(*zdcModule);
96 if (zdcModule->zdcSide() < 0) {
97 moduleEnergy.at(zdcModule->zdcModule() + 4) = zdcModuleAmp(*zdcModule);
107 std::bitset<3>
bin(wordOut);
111 unsigned int wordOutCTP = 0;
120 if (not trigDecTool->isPassed(trig, TrigDefs::Physics | TrigDefs::allowResurrectedDecision))
129 trigMatch = (wordOut == wordOutCTP) ? 1 : 0;
133 for(
const auto zdc_sum : moduleSumContainer){
134 if(
m_writeAux) trigValStatus(*zdc_sum) = trigMatch;
138 return StatusCode::SUCCESS;