CbmRoot
|
Task class for associating digis to events. More...
#include <CbmTaskUnpack.h>
Classes | |
struct | Config |
struct | Monitor |
Public Member Functions | |
CbmTaskUnpack () | |
Constructor. | |
CbmTaskUnpack (fs::path paramsDir, uint32_t runId) | |
Constructor. | |
CbmTaskUnpack (const CbmTaskUnpack &)=delete | |
Copy constructor (disabled) | |
virtual | ~CbmTaskUnpack () |
Destructor. | |
virtual void | Exec (Option_t *opt) |
Task execution. | |
virtual void | Finish () |
Finish timeslice. | |
CbmTaskUnpack & | operator= (const CbmTaskUnpack &)=delete |
Assignment operator (disabled) | |
void | SetMonitor (cbm::Monitor *monitor) |
Set the monitor object. | |
void | SetOutputModeCbmrootLike (bool flag=true) |
Set the output file in "as if cbmroot digi file" mode (default is "as if rra") | |
Private Member Functions | |
virtual InitStatus | Init () |
Task initialisation. | |
template<class Unpacker > | |
auto | RunUnpacker (const std::unique_ptr< Unpacker > &unpacker, const fles::Timeslice &ts, Monitor &monitor) -> cbm::algo::algo_traits::Output_t< Unpacker > |
template<typename TVecobj > | |
Bool_t | RegisterVector (FairRootManager *ioman, std::vector< TVecobj > *&vec) |
template<typename TVecobj > | |
std::enable_if< std::is_member_function_pointer< decltype(&TVecobj::GetTime)>::value, void >::type | Timesort (std::vector< TVecobj > *vec=nullptr) |
ClassDef (CbmTaskUnpack, 4) | |
Private Attributes | |
CbmSourceTs * | fSource = nullptr |
cbm::Monitor * | fMonitor = nullptr |
std::string | fHostname |
std::unique_ptr< cbm::algo::bmon::Unpack > | fBmonUnpack |
std::unique_ptr< cbm::algo::much::Unpack > | fMuchUnpack |
std::unique_ptr< cbm::algo::rich::Unpack > | fRichUnpack |
std::unique_ptr< cbm::algo::sts::Unpack > | fStsUnpack |
std::unique_ptr< cbm::algo::tof::Unpack > | fTofUnpack |
std::unique_ptr< cbm::algo::trd::Unpack > | fTrdUnpack |
std::unique_ptr< cbm::algo::trd2d::Unpack > | fTrd2dUnpack |
size_t | fNumTs = 0 |
size_t | fNumMs = 0 |
size_t | fNumBytes = 0 |
size_t | fNumDigis = 0 |
double | fTime = 0. |
CbmDigiTimeslice * | fDigiTimeslice = nullptr |
Output data if writing root files "as if rra". | |
bool | fCbmrootFormatOutput = false |
CbmTimeSlice * | fTimeslice = nullptr |
=> Time-slice header (old version, class about to be deprecated? one should use only CbmTsEventHeader soon?) | |
CbmTsEventHeader * | fTsEventHeader = nullptr |
Time-slice event header. | |
std::vector< CbmBmonDigi > * | fBmonDigis = nullptr |
=> Branch vectors of Digis | |
std::vector< CbmStsDigi > * | fStsDigis = nullptr |
std::vector< CbmMuchDigi > * | fMuchDigis = nullptr |
std::vector< CbmTrdDigi > * | fTrdDigis = nullptr |
std::vector< CbmTofDigi > * | fTofDigis = nullptr |
std::vector< CbmRichDigi > * | fRichDigis = nullptr |
Task class for associating digis to events.
Creates objects of class CbmDigiEvent and fills them with digi objects, using the algorithm EventBuilder.
TOFO: The current implementation is for STS only and with a dummy trigger list just to establish the framework integration of algorithm and data interfaces.
Definition at line 59 of file CbmTaskUnpack.h.
CbmTaskUnpack::CbmTaskUnpack | ( | ) |
CbmTaskUnpack::CbmTaskUnpack | ( | fs::path | paramsDir, |
uint32_t | runId ) |
Constructor.
Definition at line 56 of file CbmTaskUnpack.cxx.
References cbm::algo::ParFiles::bmon, cbm::algo::ParFiles::chanMask, fBmonUnpack, fMuchUnpack, fRichUnpack, fStsUnpack, fTofUnpack, fTrd2dUnpack, fTrdUnpack, L_, cbm::algo::yaml::ReadFromFile(), cbm::algo::ParFiles::readout, cbm::algo::ParFiles::readout2d, cbm::algo::ParFiles::setup, cbm::algo::ParFiles::sts, cbm::algo::ParFiles::tof, cbm::algo::ParFiles::trd, and cbm::algo::ParFiles::walkMap.
|
delete |
Copy constructor (disabled)
|
virtual |
Destructor.
Definition at line 92 of file CbmTaskUnpack.cxx.
References fBmonDigis, fCbmrootFormatOutput, fDigiTimeslice, fMuchDigis, fRichDigis, fStsDigis, fTofDigis, and fTrdDigis.
|
private |
|
virtual |
Task execution.
Definition at line 110 of file CbmTaskUnpack.cxx.
References CbmDigiTimeslice::Clear(), cbm::algo::DigiData::fBmon, fBmonDigis, fBmonUnpack, fCbmrootFormatOutput, CbmDigiTimeslice::fData, fDigiTimeslice, fHostname, fMonitor, cbm::algo::DigiData::fMuch, fMuchDigis, fMuchUnpack, fNumBytes, fNumDigis, fNumMs, fNumTs, cbm::algo::DigiData::fRich, fRichDigis, fRichUnpack, fSource, cbm::algo::DigiData::fSts, fStsDigis, fStsUnpack, fTime, fTimeslice, cbm::algo::DigiData::fTof, fTofDigis, fTofUnpack, cbm::algo::DigiData::fTrd, cbm::algo::DigiData::fTrd2d, fTrd2dUnpack, fTrdDigis, fTrdUnpack, fTsEventHeader, CbmSourceTs::GetTimeslice(), CbmTaskUnpack::Monitor::numBytes, CbmTaskUnpack::Monitor::numCompUsed, CbmTaskUnpack::Monitor::numDigis, CbmTaskUnpack::Monitor::numMs, RunUnpacker(), CbmTimeSlice::SetStartTime(), CbmTsEventHeader::SetTsIndex(), CbmTsEventHeader::SetTsStartTime(), Timesort(), and cbm::algo::DigiData::ToStorable().
|
virtual |
|
privatevirtual |
Task initialisation.
Definition at line 235 of file CbmTaskUnpack.cxx.
References fBmonDigis, fCbmrootFormatOutput, fDigiTimeslice, fHostname, fMuchDigis, fRichDigis, fSource, fStsDigis, fTimeslice, fTofDigis, fTrdDigis, fTsEventHeader, and RegisterVector().
|
delete |
Assignment operator (disabled)
|
private |
Definition at line 222 of file CbmTaskUnpack.cxx.
Referenced by Init().
|
private |
Definition at line 328 of file CbmTaskUnpack.cxx.
Referenced by Exec().
|
inline |
|
inline |
Set the output file in "as if cbmroot digi file" mode (default is "as if rra")
Definition at line 106 of file CbmTaskUnpack.h.
References fCbmrootFormatOutput.
|
inlineprivate |
Definition at line 158 of file CbmTaskUnpack.h.
Referenced by Exec().
|
private |
=> Branch vectors of Digis
Definition at line 142 of file CbmTaskUnpack.h.
Referenced by Exec(), Init(), and ~CbmTaskUnpack().
|
private |
Definition at line 119 of file CbmTaskUnpack.h.
Referenced by CbmTaskUnpack(), and Exec().
|
private |
Output data if writing root file "as if cbmroot digi file" Flag controlling the output mode
Definition at line 136 of file CbmTaskUnpack.h.
Referenced by Exec(), Init(), SetOutputModeCbmrootLike(), and ~CbmTaskUnpack().
|
private |
Output data if writing root files "as if rra".
Definition at line 132 of file CbmTaskUnpack.h.
Referenced by Exec(), Init(), and ~CbmTaskUnpack().
|
private |
Definition at line 116 of file CbmTaskUnpack.h.
|
private |
Definition at line 115 of file CbmTaskUnpack.h.
Referenced by Exec(), and SetMonitor().
|
private |
Definition at line 144 of file CbmTaskUnpack.h.
Referenced by Exec(), Init(), and ~CbmTaskUnpack().
|
private |
Definition at line 120 of file CbmTaskUnpack.h.
Referenced by CbmTaskUnpack(), and Exec().
|
private |
Definition at line 129 of file CbmTaskUnpack.h.
|
private |
Definition at line 130 of file CbmTaskUnpack.h.
|
private |
Definition at line 128 of file CbmTaskUnpack.h.
|
private |
Definition at line 127 of file CbmTaskUnpack.h.
|
private |
Definition at line 147 of file CbmTaskUnpack.h.
Referenced by Exec(), Init(), and ~CbmTaskUnpack().
|
private |
Definition at line 121 of file CbmTaskUnpack.h.
Referenced by CbmTaskUnpack(), and Exec().
|
private |
Definition at line 114 of file CbmTaskUnpack.h.
|
private |
Definition at line 143 of file CbmTaskUnpack.h.
Referenced by Exec(), Init(), and ~CbmTaskUnpack().
|
private |
Definition at line 122 of file CbmTaskUnpack.h.
Referenced by CbmTaskUnpack(), and Exec().
|
private |
Definition at line 131 of file CbmTaskUnpack.h.
|
private |
=> Time-slice header (old version, class about to be deprecated? one should use only CbmTsEventHeader soon?)
Definition at line 138 of file CbmTaskUnpack.h.
|
private |
Definition at line 146 of file CbmTaskUnpack.h.
Referenced by Exec(), Init(), and ~CbmTaskUnpack().
|
private |
Definition at line 123 of file CbmTaskUnpack.h.
Referenced by CbmTaskUnpack(), and Exec().
|
private |
Definition at line 125 of file CbmTaskUnpack.h.
Referenced by CbmTaskUnpack(), and Exec().
|
private |
Definition at line 145 of file CbmTaskUnpack.h.
Referenced by Exec(), Init(), and ~CbmTaskUnpack().
|
private |
Definition at line 124 of file CbmTaskUnpack.h.
Referenced by CbmTaskUnpack(), and Exec().
|
private |
Time-slice event header.
Definition at line 140 of file CbmTaskUnpack.h.