43 if (ioman->GetObject(TVecobj::GetBranchName())) {
44 LOG(fatal) <<
"Source: Branch " << TVecobj::GetBranchName() <<
" already exists!";
48 ioman->RegisterAny(TVecobj::GetBranchName(), vec, kTRUE);
49 LOG(info) <<
"Source: Registered branch " << TVecobj::GetBranchName() <<
" at " << vec;
58 LOG(info) <<
"Source: Reading from input archive " <<
fInputFileName;
60 LOG(info) <<
" - Time created: " << desc.time_created();
61 LOG(info) <<
" - Host name : " << desc.hostname();
62 LOG(info) <<
" - User name : " << desc.username();
65 FairRootManager* ioman = FairRootManager::Instance();
69 LOG(fatal) <<
"CbmSourceDigiTimeslice::Init() no CbmTsEventHeader was added to the run. Without it, we can not "
70 "store the UTC of the "
71 "Timeslices correctly. Hence, this causes a fatal. Please add it in the steering macro to the Run.";
76 if (ioman->GetObject(
"TimeSlice.")) {
77 LOG(fatal) <<
"Source: Branch TimeSlice. already exists!";
83 ioman->Register(
"TimeSlice.",
"DAQ",
fTimeslice, kTRUE);
92 fMvdDigis =
new std::vector<CbmMvdDigi>();
98 fStsDigis =
new std::vector<CbmStsDigi>();
110 fTrdDigis =
new std::vector<CbmTrdDigi>();
116 fTofDigis =
new std::vector<CbmTofDigi>();
128 fFsdDigis =
new std::vector<CbmFsdDigi>();
143 LOG(debug) <<
"CbmSourceTimeslice::ReadEvent";
153 LOG(debug) <<
"CbmSourceTimeslice: Cleared digi vectors";
159 LOG(info) <<
"Source: End of input archive; terminating run";
162 LOG(debug) <<
"CbmSourceTimeslice: read fles timeslice";
165 if (results ==
nullptr) {
166 LOG(error) <<
"Source: Failed to read RecoResults from archive";
169 LOG(info) <<
"Source: Reading TS " <<
fNumTs <<
", index " << results->TsIndex() <<
", start "
170 << results->TsStartTime() <<
", contains Digis: \n"
171 <<
"MVD = " << results->MvdDigis().size()
172 <<
" STS = " << results->StsDigis().size() <<
" MUCH = " << results->MuchDigis().size()
173 <<
" TOF = " << results->TofDigis().size() <<
" BMON = " << results->BmonDigis().size()
174 <<
" TRD = " << results->TrdDigis().size() <<
" TRD2D=" << results->Trd2dDigis().size()
175 <<
" RICH=" << results->RichDigis().size() <<
" FSD=" << results->FsdDigis().size();
180 fTimeslice->SetStartTime(results->TsStartTime());
182 std::move(results->BmonDigis().begin(), results->BmonDigis().end(), std::back_inserter(*
fBmonDigis));
183 std::move(results->StsDigis().begin(), results->StsDigis().end(), std::back_inserter(*
fStsDigis));
184 std::move(results->MuchDigis().begin(), results->MuchDigis().end(), std::back_inserter(*
fMuchDigis));
185 std::move(results->Trd2dDigis().begin(), results->Trd2dDigis().end(), std::back_inserter(*
fTrdDigis));
186 std::move(results->TrdDigis().begin(), results->TrdDigis().end(), std::back_inserter(*
fTrdDigis));
187 std::move(results->TofDigis().begin(), results->TofDigis().end(), std::back_inserter(*
fTofDigis));
188 std::move(results->RichDigis().begin(), results->RichDigis().end(), std::back_inserter(*
fRichDigis));
189 std::move(results->FsdDigis().begin(), results->FsdDigis().end(), std::back_inserter(*
fFsdDigis));
192 for (
const auto& mvdRawDigi : results->MvdDigis()) {