|
BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
|
#include <BmnConverter.h>
Static Public Member Functions | |
| static BmnStatus | ParseComplexTLV (UInt_t *buf, UInt_t &len, UInt_t &runId) |
| static BmnStatus | ParseComplexTLV (UInt_t *buf, UInt_t &len, UInt_t &runId) |
Public Attributes | |
| vector< pair< int, pair< int, int > > > | vecTree |
| vector< pair< int, pair< int, int > > > | vecTreeSpills |
| map< int32_t, map< int32_t, TreePos > > | treeMap |
| map< int32_t, multimap< SysPoint, TreePos > > | treeMapSpills |
| multimap< SysPoint, TreePE > | treeTimeMap |
| map< int32_t, MapTP2TreePE > | treeTimeMapDiv |
| BmnThreadManager< BmnConverterThread > * | fThreads |
| uint32_t | fThreadCnt |
Private Attributes | |
| const TTimeStamp | TimeZero = TTimeStamp(time_t(0), 0) |
| pt::ptree | conf |
| bool | temp_file_on_disk |
| uint32_t | fPeriodId |
| uint32_t | fRunId |
| BmnEventType | fCurEvType |
| FILE * | fRawFileIn |
| TString | fSubName |
| uint32_t | fEventId |
| string | fDecoderConfigFileName |
| TString | fRawRunHdrName |
| TString | fMetadataName |
| TString | fRawTreeName |
| TString | fRawTreeSpillName |
| TString | fRootFileName |
| TString | fRootDirPath |
| BmnSpillHeader * | spillHeader |
| unique_ptr< DigiRunHeader > | runHeader |
| unique_ptr< BmnMetadataRaw > | metadata |
| unique_ptr< ROOT::TBufferMerger > | fMerger |
| vector< TObject * > | fNamVec |
| vector< TClonesArray * > | fArrVec |
| uint32_t | data [10000000] |
| uint32_t | fDat |
| Bool_t | fExportJsonBlocks |
| map< TTimeStamp, Int_t > | leaps |
| TTimeStamp | utc_valid |
| Int_t | tai_utc_dif |
| Int_t | cc = 0 |
| map< SysPoint, BmnSpillInfo > | fSpillMap |
| BmnConverterThread * | fCurWaitingThread |
Definition at line 61 of file BmnConverter.h.
| BmnConverter::BmnConverter | ( | uint32_t | threadCount = 0, |
| uint32_t | period = 8, | ||
| TString | outDir = ".", | ||
| bool | tempFileOnDisk = false ) |
Definition at line 28 of file BmnConverter.cxx.
References ANSI_COLOR_BLUE, ANSI_COLOR_RESET, CreateTempFile(), BmnConverterThread::CreateTrees(), ROOT::EnableThreadSafety(), fCurWaitingThread, fExportJsonBlocks, fMerger, fMetadataName, TString::Format(), fPeriodId, fRawRunHdrName, fRawTreeName, fRawTreeSpillName, fRootDirPath, fRootFileName, fThreadCnt, fThreads, i, InitUTCShift(), LoadConfig(), metadata, BmnConverterThread::RegisterBranches(), BmnConverterThread::RegisterSpillBranches(), runHeader, TTree::SetMaxTreeSize(), BmnConverterThread::SetMerger(), BmnConverterThread::SetPeriod(), spillHeader, tai_utc_dif, and temp_file_on_disk.
Referenced by GetUTCShift().
|
inlinevirtual |
Definition at line 75 of file BmnConverter.h.
| BmnConverter::BmnConverter | ( | uint32_t | threadCount = 0, |
| uint32_t | period = 8, | ||
| TString | outDir = ".", | ||
| bool | tempFileOnDisk = false ) |
|
inlinevirtual |
Definition at line 75 of file BmnConverter.h.
|
inline |
Definition at line 103 of file BmnConverter.h.
References fThreads.
Referenced by OutputSpills(), and SeparateEventsBySpillsTM().
|
inline |
Definition at line 103 of file BmnConverter.h.
References fThreads.
|
private |
Definition at line 480 of file BmnConverter.cxx.
References ANSI_COLOR_BLUE, ANSI_COLOR_RESET, data, fCurEvType, fDat, fEventId, fPeriodId, fRawFileIn, fRunId, kBMNCONTINUE, kBMNEMPTY, kBMNEOS, kBMNERROR, kBMNPAYLOAD, kBMNSTAT, kBMNSUCCESS, kNBYTESINWORD, kWORDSIZE, BmnConverterTools::ParseComplexTLV(), ParseJsonTLV(), QuickConvertStatEvent(), QuickProcessEvent(), SYNC_EOS, SYNC_EVENT, SYNC_EVENT_OLD, SYNC_FILE_BEGIN, SYNC_FILE_END, SYNC_JSON, SYNC_RUN_START, SYNC_RUN_STOP, and SYNC_STAT.
Referenced by FeedFile().
|
private |
|
private |
Definition at line 106 of file BmnConverter.cxx.
References fMerger, TString::Format(), fRootDirPath, fRootFileName, fRunId, kBMNERROR, and kBMNSUCCESS.
Referenced by BmnConverter().
|
private |
Definition at line 422 of file BmnConverter.cxx.
References fCurEvType, fEventId, kBMNERROR, kBMNPAYLOAD, kBMNSTAT, kBMNSUCCESS, QuickConvertStatEvent(), and QuickProcessEvent().
| BmnStatus BmnConverter::FeedFile | ( | TString | name, |
| Bool_t | getRunId = kTRUE, | ||
| Bool_t | getSubName = kTRUE ) |
Definition at line 437 of file BmnConverter.cxx.
References ANSI_COLOR_BLUE, ANSI_COLOR_RESET, ConvertRawToRootIterateFileRead(), TString::Data(), fCurWaitingThread, fPeriodId, fRawFileIn, fRunId, fSubName, fThreadCnt, fThreads, BmnFileProp::GetRunId(), BmnConverterTools::GetSubNameAfterRunId(), i, kBMNERROR, kBMNSUCCESS, BmnConverterTools::ParseRawFileName(), TStopwatch::RealTime(), TStopwatch::Start(), TStopwatch::Stop(), vecTree, and vecTreeSpills.
Referenced by BmnDataToRootParallel().
| BmnStatus BmnConverter::FeedFile | ( | TString | name, |
| Bool_t | getRunId = kTRUE, | ||
| Bool_t | getSubName = kTRUE ) |
|
inline |
Definition at line 99 of file BmnConverter.h.
References fSpillMap.
|
inline |
Definition at line 99 of file BmnConverter.h.
References fSpillMap.
|
private |
Definition at line 122 of file BmnConverter.cxx.
Referenced by GetSpillNumber(), SeparateEventsBySpills(), and SeparateEventsBySpillsTM().
|
private |
|
private |
Definition at line 135 of file BmnConverter.cxx.
References GetSpillNumber(), and BmnFunctionSet::TimeStamp2TP().
|
private |
|
inline |
Definition at line 101 of file BmnConverter.h.
References temp_file_on_disk.
Referenced by BmnDataToRootParallel().
|
inline |
Definition at line 101 of file BmnConverter.h.
References temp_file_on_disk.
|
private |
Definition at line 797 of file BmnConverter.cxx.
References TTimeStamp::AsString(), leaps, and utc_valid.
Referenced by ParseJsonTLV().
|
private |
|
private |
Definition at line 763 of file BmnConverter.cxx.
References kBMNSUCCESS, leaps, and utc_valid.
Referenced by BmnConverter().
|
private |
|
private |
Definition at line 92 of file BmnConverter.cxx.
References conf, fDecoderConfigFileName, fExportJsonBlocks, fThreadCnt, fThreads, i, kBMNSUCCESS, and BmnConverterThread::SetExportExternalSpillStat().
Referenced by BmnConverter().
|
private |
| void BmnConverter::OutputSpills | ( | ) |
Definition at line 175 of file BmnConverter.cxx.
References ANSI_COLOR_BLUE, ANSI_COLOR_RESET, Close(), TFile::Close(), ROOT::DisableImplicitMT(), ROOT::EnableImplicitMT(), BmnAbstractThread::Execute(), fMetadataName, fRawRunHdrName, fRawTreeName, fRawTreeSpillName, fRootFileName, fRunId, fThreadCnt, fThreads, TDirectoryFile::Get(), i, TFile::IsOpen(), metadata, OutputTrees(), TStopwatch::RealTime(), runHeader, BmnConverterThread::SetData(), BmnConverterThread::SetMerger(), TStopwatch::Start(), TStopwatch::Stop(), vecTree, vecTreeSpills, and TDirectory::WriteObject().
Referenced by BmnDataToRootParallel().
| void BmnConverter::OutputSpills | ( | ) |
| void BmnConverter::OutputTrees | ( | ) |
Definition at line 141 of file BmnConverter.cxx.
References BmnConverterThread::FinalizeFile(), fMerger, fMetadataName, fRawRunHdrName, fThreadCnt, fThreads, i, metadata, and runHeader.
Referenced by OutputSpills().
| void BmnConverter::OutputTrees | ( | ) |
References cc, conf, data, fArrVec, fCurEvType, fCurWaitingThread, fDat, fDecoderConfigFileName, fEventId, fExportJsonBlocks, fMerger, fMetadataName, fNamVec, fPeriodId, fRawFileIn, fRawRunHdrName, fRawTreeName, fRawTreeSpillName, fRootDirPath, fRootFileName, fRunId, fSpillMap, fSubName, leaps, metadata, runHeader, spillHeader, tai_utc_dif, temp_file_on_disk, TimeZero, and utc_valid.
Definition at line 675 of file BmnConverter.cxx.
References d, fExportJsonBlocks, fRunId, fSpillMap, GetUTCShift(), kBMNERROR, kBMNSUCCESS, kNBYTESINWORD, metadata, BmnConverterTools::ParseJsonConfig(), BmnConverterTools::ParseJsonStatus(), runHeader, SpillStatus::start_ts, BmnSpillInfo::stop_ts, SpillStatus::stop_ts, tai_utc_dif, BmnFunctionSet::TimePoint2String(), and SpillStatus::times_valid.
Referenced by ConvertRawToRootIterateFileRead().
|
private |
Definition at line 657 of file BmnConverter.cxx.
References BmnAbstractThread::Execute(), fCurEvType, fEventId, fRunId, and BmnConverterThread::SetData().
|
private |
Definition at line 643 of file BmnConverter.cxx.
References d, BmnAbstractThread::Execute(), fCurEvType, fEventId, fRunId, fThreads, and BmnConverterThread::SetData().
Referenced by ConvertRawToRootIterateFileRead(), and FeedEvent().
|
private |
| tmp | thread pointer |
| len | data length |
Definition at line 666 of file BmnConverter.cxx.
References BmnAbstractThread::Execute(), fCurEvType, fEventId, fRunId, and BmnConverterThread::SetData().
|
private |
| tmp | thread pointer |
| len | data length |
Definition at line 650 of file BmnConverter.cxx.
References d, BmnAbstractThread::Execute(), fCurEvType, fEventId, fRunId, fThreads, and BmnConverterThread::SetData().
Referenced by ConvertRawToRootIterateFileRead(), and FeedEvent().
Definition at line 371 of file BmnConverter.cxx.
References TObjArray::At(), TTree::Branch(), TClonesArray::Class(), TObject::ClassName(), fArrVec, fNamVec, TBranch::GetAddress(), TClass::GetClass(), TClonesArray::GetClass(), TObjArray::GetEntries(), TTree::GetEntry(), TTree::GetListOfBranches(), TNamed::GetName(), and i.
| void BmnConverter::SeparateEventsBySpills | ( | ) |
Definition at line 230 of file BmnConverter.cxx.
References ANSI_COLOR_BLUE, ANSI_COLOR_RESET, TObjArray::First(), fSpillMap, fThreadCnt, fThreads, TObjArray::GetEntriesFast(), TBranch::GetEntry(), GetSpillNumber(), i, BmnConverterThread::msc, n, TStopwatch::RealTime(), runHeader, TStopwatch::Start(), TStopwatch::Stop(), BmnConverterThread::t0raw, BmnFunctionSet::TimePoint2String(), vecTree, and vecTreeSpills.
Referenced by BmnDataToRootParallel().
| void BmnConverter::SeparateEventsBySpills | ( | ) |
| void BmnConverter::SeparateEventsBySpillsTM | ( | ) |
Definition at line 300 of file BmnConverter.cxx.
References ANSI_COLOR_BLUE, ANSI_COLOR_RESET, TTree::CloneTree(), Close(), TFile::Close(), BmnConverterThread::eventHeaderDAQ, TTree::Fill(), fMetadataName, fRawRunHdrName, BmnConverterThread::fRawTree, fRunId, fSpillMap, fThreadCnt, fThreads, TTree::GetBranch(), TTree::GetEntriesFast(), TBranch::GetEntry(), BmnEventHeader::GetEventTimeTP(), GetSpillNumber(), i, TFile::IsOpen(), metadata, n, TStopwatch::RealTime(), runHeader, TTree::SetAutoFlush(), TTree::SetAutoSave(), TTree::SetBasketSize(), TStopwatch::Start(), TStopwatch::Stop(), BmnFunctionSet::TimePoint2String(), treeTimeMap, treeTimeMapDiv, and TDirectory::WriteObject().
Referenced by BmnDataToRootParallel().
| void BmnConverter::SeparateEventsBySpillsTM | ( | ) |
|
inline |
Definition at line 110 of file BmnConverter.h.
References fDecoderConfigFileName.
|
inline |
Definition at line 110 of file BmnConverter.h.
References fDecoderConfigFileName.
|
inline |
Definition at line 93 of file BmnConverter.h.
Referenced by BmnDataToRootParallel().
|
inline |
Definition at line 93 of file BmnConverter.h.
|
inline |
Definition at line 91 of file BmnConverter.h.
|
inline |
Definition at line 91 of file BmnConverter.h.
|
inline |
Definition at line 97 of file BmnConverter.h.
References fSpillMap.
|
inline |
Definition at line 97 of file BmnConverter.h.
References fSpillMap.
|
inline |
Definition at line 95 of file BmnConverter.h.
|
inline |
Definition at line 95 of file BmnConverter.h.
|
private |
Definition at line 161 of file BmnConverter.h.
Referenced by OutputTrees().
|
private |
Definition at line 117 of file BmnConverter.h.
Referenced by LoadConfig(), and OutputTrees().
|
private |
Definition at line 149 of file BmnConverter.h.
Referenced by ConvertRawToRootIterateFileRead(), and OutputTrees().
|
private |
Definition at line 147 of file BmnConverter.h.
Referenced by OutputTrees(), and ReproduceBranches().
|
private |
Definition at line 121 of file BmnConverter.h.
Referenced by ConvertRawToRootIterateFileRead(), FeedEvent(), OutputTrees(), QuickConvertStatEvent(), QuickConvertStatEvent(), QuickProcessEvent(), and QuickProcessEvent().
|
private |
Definition at line 163 of file BmnConverter.h.
Referenced by BmnConverter(), FeedFile(), and OutputTrees().
|
private |
Definition at line 152 of file BmnConverter.h.
Referenced by ConvertRawToRootIterateFileRead(), and OutputTrees().
|
private |
Definition at line 129 of file BmnConverter.h.
Referenced by LoadConfig(), OutputTrees(), and SetDecoderConfigFileName().
|
private |
Definition at line 127 of file BmnConverter.h.
Referenced by ConvertRawToRootIterateFileRead(), FeedEvent(), OutputTrees(), QuickConvertStatEvent(), QuickConvertStatEvent(), QuickProcessEvent(), and QuickProcessEvent().
|
private |
Definition at line 156 of file BmnConverter.h.
Referenced by BmnConverter(), LoadConfig(), OutputTrees(), and ParseJsonTLV().
|
private |
Definition at line 144 of file BmnConverter.h.
Referenced by BmnConverter(), CreateTempFile(), and OutputTrees().
|
private |
Definition at line 131 of file BmnConverter.h.
Referenced by BmnConverter(), OutputSpills(), OutputTrees(), and SeparateEventsBySpillsTM().
|
private |
Definition at line 146 of file BmnConverter.h.
Referenced by OutputTrees(), and ReproduceBranches().
|
private |
Definition at line 119 of file BmnConverter.h.
Referenced by BmnConverter(), ConvertRawToRootIterateFileRead(), FeedFile(), OutputTrees(), and SetPeriod().
|
private |
Definition at line 124 of file BmnConverter.h.
Referenced by ConvertRawToRootIterateFileRead(), FeedFile(), and OutputTrees().
|
private |
Definition at line 130 of file BmnConverter.h.
Referenced by BmnConverter(), OutputSpills(), OutputTrees(), and SeparateEventsBySpillsTM().
|
private |
Definition at line 132 of file BmnConverter.h.
Referenced by BmnConverter(), OutputSpills(), and OutputTrees().
|
private |
Definition at line 133 of file BmnConverter.h.
Referenced by BmnConverter(), OutputSpills(), and OutputTrees().
|
private |
Definition at line 135 of file BmnConverter.h.
Referenced by BmnConverter(), CreateTempFile(), and OutputTrees().
|
private |
Definition at line 134 of file BmnConverter.h.
Referenced by BmnConverter(), CreateTempFile(), OutputSpills(), and OutputTrees().
|
private |
Definition at line 120 of file BmnConverter.h.
Referenced by ConvertRawToRootIterateFileRead(), CreateTempFile(), FeedFile(), OutputSpills(), OutputTrees(), ParseJsonTLV(), QuickConvertStatEvent(), QuickConvertStatEvent(), QuickProcessEvent(), QuickProcessEvent(), SeparateEventsBySpillsTM(), and SetRunId().
|
private |
Definition at line 162 of file BmnConverter.h.
Referenced by GetSpillMap(), OutputTrees(), ParseJsonTLV(), SeparateEventsBySpills(), SeparateEventsBySpillsTM(), and SetSpillMap().
|
private |
Definition at line 125 of file BmnConverter.h.
Referenced by FeedFile(), OutputTrees(), and SetSubName().
| uint32_t BmnConverter::fThreadCnt |
Definition at line 73 of file BmnConverter.h.
Referenced by BmnConverter(), FeedFile(), LoadConfig(), OutputSpills(), OutputTrees(), SeparateEventsBySpills(), and SeparateEventsBySpillsTM().
| BmnThreadManager< BmnConverterThread > * BmnConverter::fThreads |
Definition at line 72 of file BmnConverter.h.
Referenced by BmnConverter(), Close(), FeedFile(), LoadConfig(), OutputSpills(), OutputTrees(), QuickConvertStatEvent(), QuickProcessEvent(), SeparateEventsBySpills(), and SeparateEventsBySpillsTM().
|
private |
Definition at line 158 of file BmnConverter.h.
Referenced by GetUTCShift(), InitUTCShift(), and OutputTrees().
|
private |
Definition at line 143 of file BmnConverter.h.
Referenced by BmnConverter(), OutputSpills(), OutputTrees(), ParseJsonTLV(), and SeparateEventsBySpillsTM().
|
private |
Definition at line 142 of file BmnConverter.h.
Referenced by BmnConverter(), OutputSpills(), OutputTrees(), ParseJsonTLV(), SeparateEventsBySpills(), and SeparateEventsBySpillsTM().
|
private |
Definition at line 140 of file BmnConverter.h.
Referenced by BmnConverter(), and OutputTrees().
|
private |
Definition at line 160 of file BmnConverter.h.
Referenced by BmnConverter(), OutputTrees(), and ParseJsonTLV().
|
private |
Definition at line 118 of file BmnConverter.h.
Referenced by BmnConverter(), GetTempFileOnDisk(), and OutputTrees().
|
private |
Definition at line 115 of file BmnConverter.h.
Referenced by OutputTrees().
| map< int32_t, map< int32_t, TreePos > > BmnConverter::treeMap |
Definition at line 68 of file BmnConverter.h.
Definition at line 69 of file BmnConverter.h.
Definition at line 70 of file BmnConverter.h.
Referenced by SeparateEventsBySpillsTM().
| map< int32_t, MapTP2TreePE > BmnConverter::treeTimeMapDiv |
Definition at line 71 of file BmnConverter.h.
Referenced by SeparateEventsBySpillsTM().
|
private |
Definition at line 159 of file BmnConverter.h.
Referenced by GetUTCShift(), InitUTCShift(), and OutputTrees().
| vector< pair< int, pair< int, int > > > BmnConverter::vecTree |
Definition at line 64 of file BmnConverter.h.
Referenced by FeedFile(), OutputSpills(), and SeparateEventsBySpills().
| vector< pair< int, pair< int, int > > > BmnConverter::vecTreeSpills |
Definition at line 65 of file BmnConverter.h.
Referenced by FeedFile(), OutputSpills(), and SeparateEventsBySpills().