48 std::map<TString, float> availableVariables;
53 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_FIRST_ETA, fvariable) ==
false) {
56 fvariable = std::abs(fvariable);
57 availableVariables.insert(std::make_pair(
"Pi0Cluster_Abs_FIRST_ETA", fvariable));
60 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_SECOND_R, fvariable) ==
false) {
63 availableVariables.insert(std::make_pair(
"Pi0Cluster_SECOND_R", fvariable));
66 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_DELTA_THETA, fvariable) ==
false) {
69 fvariable = std::abs(fvariable);
70 availableVariables.insert(std::make_pair(
"Pi0Cluster_Abs_DELTA_THETA", fvariable));
73 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_CENTER_LAMBDA, fvariable) ==
false) {
76 fvariable = fmin(fvariable, 1000.);
77 availableVariables.insert(std::make_pair(
"Pi0Cluster_CENTER_LAMBDA_helped", fvariable));
80 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_LONGITUDINAL, fvariable) ==
false) {
83 availableVariables.insert(std::make_pair(
"Pi0Cluster_LONGITUDINAL", fvariable));
86 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_ENG_FRAC_EM, fvariable) ==
false) {
89 availableVariables.insert(std::make_pair(
"Pi0Cluster_ENG_FRAC_EM", fvariable));
92 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_ENG_FRAC_CORE, fvariable) ==
false) {
95 availableVariables.insert(std::make_pair(
"Pi0Cluster_ENG_FRAC_CORE", fvariable));
98 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_SECOND_ENG_DENS, fvariable) ==
false) {
105 fvariable = log(fvariable);
107 availableVariables.insert(std::make_pair(
"Pi0Cluster_log_SECOND_ENG_DENS", fvariable));
110 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_EM1CoreFrac, fvariable) ==
false) {
113 availableVariables.insert(std::make_pair(
"Pi0Cluster_EcoreOverEEM1", fvariable));
116 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_NPosECells_EM1, ivariable) ==
false) {
119 availableVariables.insert(std::make_pair(
"Pi0Cluster_NPosECells_EM1",
static_cast<float>(ivariable)));
122 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_NPosECells_EM2, ivariable) ==
false) {
125 availableVariables.insert(std::make_pair(
"Pi0Cluster_NPosECells_EM2",
static_cast<float>(ivariable)));
128 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_firstEtaWRTClusterPosition_EM1, fvariable) ==
false) {
129 ATH_MSG_WARNING(
"Can't find firstEtaWRTClusterPosition_EM1. Set it to 0.");
131 fvariable = std::abs(fvariable);
132 availableVariables.insert(std::make_pair(
"Pi0Cluster_AbsFirstEtaWRTClusterPosition_EM1", fvariable));
135 if(neutralPFO->
attribute(xAOD::PFODetails::PFOAttributes::cellBased_secondEtaWRTClusterPosition_EM2, fvariable) ==
false) {
136 ATH_MSG_WARNING(
"Can't find secondEtaWRTClusterPosition_EM2. Set it to 0.");
138 availableVariables.insert(std::make_pair(
"Pi0Cluster_secondEtaWRTClusterPosition_EM2", fvariable));
141 float score =
m_mvaBDT->getGradBoostMVA(availableVariables);