21 if (resolvedPath.empty()) {
23 return StatusCode::FAILURE;
26 std::ifstream infile(resolvedPath);
27 if (!infile.is_open()) {
28 ATH_MSG_ERROR(
"Could not open centrality definition file: " << resolvedPath);
29 return StatusCode::FAILURE;
33 for (
int i = 0; i < 3; ++i) {
34 std::getline(infile, line);
37 while (std::getline(infile, line)) {
38 std::istringstream iss(line);
39 std::string centileStr;
42 if (iss >> centileStr >> std::skipws >> fCal) {
43 centileStr.pop_back();
44 centile = std::stof(centileStr);
53 return StatusCode::SUCCESS;
62 const static SG::AuxElement::Decorator< float > ecCentralityMin(
"CentralityMin") ;
63 const static SG::AuxElement::Decorator< float > ecCentralityMax(
"CentralityMax") ;
65 const static SG::AuxElement::ConstAccessor<float> acc_FCalEtA(
"FCalEtA");
66 const static SG::AuxElement::ConstAccessor<float> acc_FCalEtC(
"FCalEtC");
69 float total_fcal_et = (acc_FCalEtA(*eventInfo) + acc_FCalEtC(*eventInfo)) / 1.e6;
71 float centralityMin = 0.0;
72 float centralityMax = 100.0;
73 bool foundRange =
false;
88 ecCentralityMin(*eventInfo) = centralityMin;
89 ecCentralityMax(*eventInfo) = centralityMax;
91 return StatusCode::SUCCESS;