From be5e2321649e1520e1aba670e40bf11a16c1647e Mon Sep 17 00:00:00 2001 From: Frederic Julian Linz <f.linz@gsi.de> Date: Thu, 24 Oct 2024 13:02:06 +0000 Subject: [PATCH] ATConverter: Get primary vertex from CbmEvent object --- .../analysis_tree_converter/CbmRecEventHeaderConverter.cxx | 6 +++--- .../analysis_tree_converter/CbmRecEventHeaderConverter.h | 4 ++-- .../analysis_tree_converter/CbmStsTracksConverter.cxx | 4 +++- .../common/analysis_tree_converter/CbmStsTracksConverter.h | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.cxx b/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.cxx index f7c9a2efd4..e692aa8934 100644 --- a/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.cxx +++ b/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.cxx @@ -25,7 +25,6 @@ void CbmRecEventHeaderConverter::Init() auto* ioman = FairRootManager::Instance(); assert(ioman != nullptr); cbm_header_ = (FairMCEventHeader*) ioman->GetObject("MCEventHeader."); - cbm_prim_vertex_ = (CbmVertex*) ioman->GetObject("PrimaryVertex."); cbm_sts_tracks_ = (TClonesArray*) ioman->GetObject("StsTrack"); cbm_psd_hits_ = (TClonesArray*) ioman->GetObject("PsdHit"); fTimeSlice = static_cast<CbmTimeSlice*>(ioman->GetObject("TimeSlice.")); @@ -62,8 +61,9 @@ void CbmRecEventHeaderConverter::Init() void CbmRecEventHeaderConverter::ProcessData(CbmEvent* event) { if (event) { cbm_prim_vertex_ = event->GetVertex(); } - - if (!cbm_prim_vertex_) { throw std::runtime_error("No fPrimVtx"); } + if (!cbm_prim_vertex_) { + throw std::runtime_error("No event vertex in CbmEvent"); + } rec_event_header_->SetVertexPosition3({cbm_prim_vertex_->GetX(), cbm_prim_vertex_->GetY(), cbm_prim_vertex_->GetZ()}); rec_event_header_->SetField(float(cbm_prim_vertex_->GetChi2() / cbm_prim_vertex_->GetNDF()), ivtx_chi2_); diff --git a/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.h b/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.h index cc4d053ca7..660023b217 100644 --- a/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.h +++ b/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.h @@ -30,11 +30,11 @@ private: AnalysisTree::EventHeader* rec_event_header_ {nullptr}; - TClonesArray* cbm_psd_hits_ {nullptr}; + TClonesArray* cbm_psd_hits_{nullptr}; ///< non-owning pointer TClonesArray* cbm_sts_tracks_ {nullptr}; ///< non-owning pointer FairMCEventHeader* cbm_header_ {nullptr}; ///< non-owning pointer CbmVertex* cbm_prim_vertex_ {nullptr}; ///< non-owning pointer - CbmTimeSlice* fTimeSlice {nullptr}; + CbmTimeSlice* fTimeSlice{nullptr}; ///< non-owning pointer int ivtx_chi2_ {AnalysisTree::UndefValueInt}; int iEpsd_ {AnalysisTree::UndefValueInt}; diff --git a/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx b/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx index 6a3e4371b2..1c54eaf299 100644 --- a/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx +++ b/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx @@ -49,7 +49,6 @@ void CbmStsTracksConverter::InitInput() { auto* ioman = FairRootManager::Instance(); - cbm_prim_vertex_ = (CbmVertex*) ioman->GetObject("PrimaryVertex."); cbm_sts_tracks_ = (TClonesArray*) ioman->GetObject("StsTrack"); cbm_sts_match_ = (TClonesArray*) ioman->GetObject("StsTrackMatch"); @@ -134,6 +133,9 @@ float CbmStsTracksConverter::ExtrapolateToVertex(CbmStsTrack* sts_track, Analysi void CbmStsTracksConverter::ReadVertexTracks(CbmEvent* event) { + if (event) { + cbm_prim_vertex_ = event->GetVertex(); + } assert(cbm_prim_vertex_ && cbm_sts_tracks_); vtx_tracks_->ClearChannels(); diff --git a/analysis/common/analysis_tree_converter/CbmStsTracksConverter.h b/analysis/common/analysis_tree_converter/CbmStsTracksConverter.h index b28dbe7476..3726ab95dd 100644 --- a/analysis/common/analysis_tree_converter/CbmStsTracksConverter.h +++ b/analysis/common/analysis_tree_converter/CbmStsTracksConverter.h @@ -56,7 +56,7 @@ private: TClonesArray* cbm_sts_tracks_ {nullptr}; ///< non-owning pointer TClonesArray* cbm_sts_match_ {nullptr}; ///< non-owning pointer - CbmMCDataManager* cbm_mc_manager_ {nullptr}; + CbmMCDataManager* cbm_mc_manager_{nullptr}; ///< non-owning pointer bool is_write_kfinfo_ {true}; bool is_reproduce_cbmkfpf_ {true}; -- GitLab