46 std::map<TString, float> availableVariables;
51 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_FIRST_ETA, fvariable) ==
false) {
54 fvariable = std::abs(fvariable);
55 availableVariables.insert(std::make_pair(
"Pi0Cluster_Abs_FIRST_ETA", fvariable));
58 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_SECOND_R, fvariable) ==
false) {
61 availableVariables.insert(std::make_pair(
"Pi0Cluster_SECOND_R", fvariable));
64 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_DELTA_THETA, fvariable) ==
false) {
67 fvariable = std::abs(fvariable);
68 availableVariables.insert(std::make_pair(
"Pi0Cluster_Abs_DELTA_THETA", fvariable));
71 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_CENTER_LAMBDA, fvariable) ==
false) {
74 fvariable = fmin(fvariable, 1000.);
75 availableVariables.insert(std::make_pair(
"Pi0Cluster_CENTER_LAMBDA_helped", fvariable));
78 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_LONGITUDINAL, fvariable) ==
false) {
81 availableVariables.insert(std::make_pair(
"Pi0Cluster_LONGITUDINAL", fvariable));
84 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_ENG_FRAC_EM, fvariable) ==
false) {
87 availableVariables.insert(std::make_pair(
"Pi0Cluster_ENG_FRAC_EM", fvariable));
90 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_ENG_FRAC_CORE, fvariable) ==
false) {
93 availableVariables.insert(std::make_pair(
"Pi0Cluster_ENG_FRAC_CORE", fvariable));
96 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_SECOND_ENG_DENS, fvariable) ==
false) {
103 fvariable = log(fvariable);
105 availableVariables.insert(std::make_pair(
"Pi0Cluster_log_SECOND_ENG_DENS", fvariable));
108 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_EM1CoreFrac, fvariable) ==
false) {
111 availableVariables.insert(std::make_pair(
"Pi0Cluster_EcoreOverEEM1", fvariable));
114 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_NPosECells_EM1, ivariable) ==
false) {
117 availableVariables.insert(std::make_pair(
"Pi0Cluster_NPosECells_EM1",
static_cast<float>(ivariable)));
120 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_NPosECells_EM2, ivariable) ==
false) {
123 availableVariables.insert(std::make_pair(
"Pi0Cluster_NPosECells_EM2",
static_cast<float>(ivariable)));
126 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_firstEtaWRTClusterPosition_EM1, fvariable) ==
false) {
127 ATH_MSG_WARNING(
"Can't find firstEtaWRTClusterPosition_EM1. Set it to 0.");
129 fvariable = std::abs(fvariable);
130 availableVariables.insert(std::make_pair(
"Pi0Cluster_AbsFirstEtaWRTClusterPosition_EM1", fvariable));
133 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_secondEtaWRTClusterPosition_EM2, fvariable) ==
false) {
134 ATH_MSG_WARNING(
"Can't find secondEtaWRTClusterPosition_EM2. Set it to 0.");
136 availableVariables.insert(std::make_pair(
"Pi0Cluster_secondEtaWRTClusterPosition_EM2", fvariable));
139 float score =
m_mvaBDT->getGradBoostMVA(availableVariables);