diff --git a/offline/packages/calovtxreco/CaloVtxAlgoCNN.cc b/offline/packages/calovtxreco/CaloVtxAlgoCNN.cc index df1a18f54d..e95ab5314f 100644 --- a/offline/packages/calovtxreco/CaloVtxAlgoCNN.cc +++ b/offline/packages/calovtxreco/CaloVtxAlgoCNN.cc @@ -27,7 +27,7 @@ namespace const std::string GeomNodeIhc = "TOWERGEOM_HCALIN"; } // namespace -// onnxruntime session (pImpl, keeps Ort types out of the header) +// onnxruntime session (pImpl) struct CaloVtxAlgoCNN::OnnxSession { Ort::Env env{ORT_LOGGING_LEVEL_WARNING, "CaloVtxAlgoCNN"}; @@ -44,6 +44,7 @@ struct CaloVtxAlgoCNN::OnnxSession } }; +CaloVtxAlgoCNN::CaloVtxAlgoCNN() = default; CaloVtxAlgoCNN::~CaloVtxAlgoCNN() = default; int CaloVtxAlgoCNN::Init(PHCompositeNode * /*topNode*/) diff --git a/offline/packages/calovtxreco/CaloVtxAlgoCNN.h b/offline/packages/calovtxreco/CaloVtxAlgoCNN.h index c1770de5b3..64b0dc2f8e 100644 --- a/offline/packages/calovtxreco/CaloVtxAlgoCNN.h +++ b/offline/packages/calovtxreco/CaloVtxAlgoCNN.h @@ -25,8 +25,8 @@ class CaloVtxAlgoCNN : public CaloVtxAlgo kOHC = 2 }; - explicit CaloVtxAlgoCNN() = default; - ~CaloVtxAlgoCNN() override; + CaloVtxAlgoCNN(); // defined in the .cc, where OnnxSession is complete + ~CaloVtxAlgoCNN() override; // (required for the unique_ptr pImpl member) int Init(PHCompositeNode *topNode) override; int CalculateVertex(PHCompositeNode *topNode, float &zvtx) override; diff --git a/offline/packages/calovtxreco/CaloVtxAlgoMLP.cc b/offline/packages/calovtxreco/CaloVtxAlgoMLP.cc index a2199193da..de41927abf 100644 --- a/offline/packages/calovtxreco/CaloVtxAlgoMLP.cc +++ b/offline/packages/calovtxreco/CaloVtxAlgoMLP.cc @@ -13,6 +13,7 @@ #include #include +#include int CaloVtxAlgoMLP::Init(PHCompositeNode *topNode) { @@ -49,6 +50,8 @@ int CaloVtxAlgoMLP::Init(PHCompositeNode *topNode) int CaloVtxAlgoMLP::CalculateVertex(PHCompositeNode *topNode, float &zvtx) { + zvtx = std::numeric_limits::quiet_NaN(); + TowerInfoContainer *emcalre_towers = findNode::getClass(topNode, "TOWERINFO_CALIB_CEMC_RETOWER"); TowerInfoContainer *hcalin_towers = findNode::getClass(topNode, "TOWERINFO_CALIB_HCALIN"); TowerInfoContainer *hcalout_towers = findNode::getClass(topNode, "TOWERINFO_CALIB_HCALOUT"); @@ -304,6 +307,11 @@ int CaloVtxAlgoMLP::CalculateVertex(PHCompositeNode *topNode, float &zvtx) } + if (ijet < 2) + { + return Fun4AllReturnCodes::EVENT_OK; + } + // TODO: fill `features` from topNode in the exact order documented in // VertexMLP.h (emcal/ohcal lead+sublead flags, zmean/zsig/zskew, // energy, exj). This is the same per-event extraction CaloVtxReco used