6 #include <FairLogger.h>
7 #include <FairRootManager.h>
9 #include <TClonesArray.h>
15 : fFitter(std::move(fitter)), fResultArray(
"MCFitter::AtMCResult"), fSimEventArray(
"AtEvent"),
16 fSimRawEventArray(
"AtRawEvent")
22 LOG(debug) <<
"Initialing fitter";
25 FairRootManager *ioman = FairRootManager::Instance();
26 ioman->Register(
"SimEvent",
"cbmsim", &fSimEventArray, fSaveEvent);
27 ioman->Register(
"SimRawEvent",
"cbmsim", &fSimRawEventArray, fSaveRawEvent);
28 ioman->Register(
"AtMCResult",
"cbmsim", &fResultArray, fSaveResult);
30 fPatternArray =
dynamic_cast<TClonesArray *
>(ioman->GetObject(fPatternBranchName));
31 if (fPatternArray ==
nullptr)
32 LOG(fatal) <<
"Failed to load branch " << fPatternBranchName;
34 LOG(debug) <<
"Done with sim init";
41 auto patEvent =
dynamic_cast<AtPatternEvent *
>(fPatternArray->At(0));
42 if (!patEvent->IsGood())
45 fFitter->Exec(*patEvent);
46 fResultArray.Delete();
47 fSimEventArray.Delete();
48 fSimRawEventArray.Delete();
50 fFitter->FillResultArrays(fResultArray, fSimEventArray, fSimRawEventArray);