From aadbe96b30153deb3773c75e5ecc1a443d5edd09 Mon Sep 17 00:00:00 2001
From: Jana Schaarschmidt <jana.schaarschmidt@cern.ch>
Date: Tue, 23 Oct 2018 18:41:11 +0200
Subject: [PATCH] deleting prob vector from PCAEnergyParametrization and adding
 size check in EnergyBinParametrization

Former-commit-id: e54a59a35e7b77ca865f55677ec2180cfdc72496
---
 .../ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h    | 2 --
 .../src/TFCSEnergyBinParametrization.cxx                   | 7 +++++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h
index 3c508e7b16d1..0459e2988b27 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSPCAEnergyParametrization.h
@@ -51,8 +51,6 @@ class TFCSPCAEnergyParametrization:public TFCSEnergyParametrization
   std::vector<TVectorD*>    m_Gauss_rms;
   std::vector<std::vector<TFCS1DFunction*> > m_cumulative;
   
-  std::vector<float> m_pcabinprob;
-  
   int m_numberpcabins;
   
   ClassDefOverride(TFCSPCAEnergyParametrization,1)  //TFCSPCAEnergyParametrization
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyBinParametrization.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyBinParametrization.cxx
index 07962044da0b..d9b1de480bf1 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyBinParametrization.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyBinParametrization.cxx
@@ -91,6 +91,13 @@ void TFCSEnergyBinParametrization::load_pdgid_Ekin_bin_probability_from_file(int
   if(!pcabinprobvector)
   {
    ATH_MSG_ERROR("TFCSEnergyBinParametrization::"<<prob_object_name<<" is null");
+   return;
+  }
+  
+  if((unsigned int)pcabinprobvector->GetNoElements()!=m_pdgid_Ebin_probability[id].size())
+  {
+    ATH_MSG_ERROR("TFCSEnergyBinParametrization::set_pdgid_Ekin_bin_probability(): size of prob array does not match! in.size()="<<pcabinprobvector->GetNoElements()<<" instance="<<m_pdgid_Ebin_probability[id].size());
+    return;
   }
   
   float* prob  =pcabinprobvector->GetMatrixArray();
-- 
GitLab