diff --git a/macro/mcbm/mcbm_hadron_analysis.C b/macro/mcbm/mcbm_hadron_analysis.C index ad2ef67272c2781301e0b6b156e7d2e3ecfcf09a..f9642e6110859f699bc3f93ce3602a25c28a38ff 100644 --- a/macro/mcbm/mcbm_hadron_analysis.C +++ b/macro/mcbm/mcbm_hadron_analysis.C @@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Florian Uhlig [committer] */ -void mcbm_hadron_analysis(Int_t nEvents = 10, TString setup = "mcbm_beam_2020_03", const char* output = "data/test") +void mcbm_hadron_analysis(Int_t nEvents = 10, TString setupName = "mcbm_beam_2020_03", const char* output = "data/test") { TString dataset(output); TString InputFile = dataset + ".tra.root"; @@ -10,6 +10,7 @@ void mcbm_hadron_analysis(Int_t nEvents = 10, TString setup = "mcbm_beam_2020_03 TString RecoFile = dataset + ".rec.root"; TString ParFile = dataset + ".par.root"; TString OutFile = dataset + ".ana.root"; + TString srcDir = gSystem->Getenv("VMCWORKDIR"); FairLogger::GetLogger()->SetLogScreenLevel("INFO"); FairLogger::GetLogger()->SetLogVerbosityLevel("VERYHIGH"); @@ -36,6 +37,17 @@ void mcbm_hadron_analysis(Int_t nEvents = 10, TString setup = "mcbm_beam_2020_03 parInput1->open(ParFile.Data()); rtdb->setFirstInput(parInput1); + // ------ Geometry setup ------------------------------------------------ + std::cout << '\n'; + TString setupFile = srcDir + "/geometry/setup/setup_" + setupName + ".C"; + TString setupFunct = "setup_"; + setupFunct = setupFunct + setupName + "()"; + std::cout << "-I- Loading macro " << setupFile << '\n'; + gROOT->LoadMacro(setupFile); + gROOT->ProcessLine(setupFunct); + CbmSetup* setup = CbmSetup::Instance(); + // setup->RemoveModule(ECbmModuleId::kTrd); + // ------------------------------------------------------------------------ /* CbmMCDataManager* mcManager = new CbmMCDataManager("MCDataManager", 1); @@ -46,6 +58,10 @@ void mcbm_hadron_analysis(Int_t nEvents = 10, TString setup = "mcbm_beam_2020_03 fRun->AddTask(match); */ + // Kalman filter + fRun->AddTask(new CbmTrackingDetectorInterfaceInit()); + fRun->AddTask(new CbmKF()); + CbmHadronAnalysis* HadronAna = new CbmHadronAnalysis(); // in hadron HadronAna->SetBeamMomentum(1.65); // beam momentum HadronAna->SetDY(0.5); // flow analysis exclusion window diff --git a/reco/KF/CbmKFTrackInterface.cxx b/reco/KF/CbmKFTrackInterface.cxx index 81eebadd0ac13cea0c8d284c2805a8c9fa2bc26d..d4103d073d9404b67554ed744721cae195323988 100644 --- a/reco/KF/CbmKFTrackInterface.cxx +++ b/reco/KF/CbmKFTrackInterface.cxx @@ -41,7 +41,6 @@ Int_t& CbmKFTrackInterface::GetRefNDF() { return gTempI[0]; } Int_t CbmKFTrackInterface::Extrapolate(Double_t z_out, Double_t* QP0) { - Bool_t err = 0; CbmKF* KF = CbmKF::Instance(); const Double_t z_in = GetTrack()[5]; diff --git a/reco/KF/Interface/CbmStsKFTrackFitter.cxx b/reco/KF/Interface/CbmStsKFTrackFitter.cxx index 8d545e5ce7495cea88b4b4eebcef6adab7f6bb35..354f351ad0320d20619c724a45575fdee68bd975 100644 --- a/reco/KF/Interface/CbmStsKFTrackFitter.cxx +++ b/reco/KF/Interface/CbmStsKFTrackFitter.cxx @@ -4,6 +4,7 @@ #include "CbmStsKFTrackFitter.h" +#include "CbmKF.h" #include "CbmKFMath.h" #include "CbmKFStsHit.h" #include "CbmKFTrack.h" @@ -50,6 +51,12 @@ void CbmStsKFTrackFitter::Init() << "no MVD hits array" << endl; //return; } + auto* kf = CbmKF::Instance(); + if (!kf) { + LOG(error) << "-E- CbmStsKFTrackFitter::Init(): CbmKF instance not found"; + return; + } + fIsInitialised = 1; };