CbmRoot
Loading...
Searching...
No Matches
CbmTaskInspectDigiTimeslice.cxx
Go to the documentation of this file.
1/* Copyright (C) 2022 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau [committer] */
4
6
7#include "CbmStsAddress.h"
8
9#include <FairRootManager.h>
10#include <Logger.h>
11
12
13// ----- Constructor -----------------------------------------------------
14CbmTaskInspectDigiTimeslice::CbmTaskInspectDigiTimeslice() : FairTask("InspectOnlineRawDigis") {}
15// ---------------------------------------------------------------------------
16
17
18// ----- Destructor ------------------------------------------------------
20// ---------------------------------------------------------------------------
21
22
23// ----- Execution -------------------------------------------------------
25{
26
27 // --- Inspect digi data
28 LOG(info) << GetName() << ": timeslice " << fNumTs << " with " << fBmonDigis->size() << " BMon digis "
29 << fStsDigis->size() << " STS digis " << fMuchDigis->size() << " MUCH digis " << fTrdDigis->size()
30 << " TRD digis " << fTofDigis->size() << " TOF digis " << fRichDigis->size() << " RICH digis ";
31
32 // --- Run statistics
33 fNumTs++;
34}
35// ----------------------------------------------------------------------------
36
37
38// ----- End-of-run action ------------------------------------------------
40{
41 LOG(info) << "=====================================";
42 LOG(info) << GetName() << ": Run summary";
43 LOG(info) << "Timeslices : " << fNumTs;
44 LOG(info) << "=====================================";
45}
46// ----------------------------------------------------------------------------
47
48
49// ----- Initialisation ---------------------------------------------------
50template<typename TVecobj>
51const std::vector<TVecobj>* CbmTaskInspectDigiTimeslice::InitInput(FairRootManager* ioman)
52{
53 const std::vector<TVecobj>* vec = ioman->InitObjectAs<const std::vector<TVecobj>*>(TVecobj::GetBranchName());
54 if (nullptr == vec) {
55 LOG(error) << GetName() << ": No input branch " << TVecobj::GetBranchName() << " !";
56 return nullptr;
57 }
58 LOG(info) << "--- Found branch " << TVecobj::GetBranchName() << " at " << vec;
59 return vec;
60}
61
63{
64 // --- Get FairRootManager instance
65 FairRootManager* ioman = FairRootManager::Instance();
66 assert(ioman);
67
68 LOG(info) << "==================================================";
69 LOG(info) << GetName() << ": Initialising...";
70
71 // --- Input data
72
74 if (!fBmonDigis) {
75 return kFATAL;
76 }
77
79 if (!fStsDigis) {
80 return kFATAL;
81 }
82
84 if (!fMuchDigis) {
85 return kFATAL;
86 }
87
89 if (!fTrdDigis) {
90 return kFATAL;
91 }
92
94 if (!fTofDigis) {
95 return kFATAL;
96 }
97
99 if (!fStsDigis) {
100 return kFATAL;
101 }
102
103 LOG(info) << "==================================================";
104 return kSUCCESS;
105}
106// ----------------------------------------------------------------------------
107
108
ClassImp(CbmConverterManager)
Demonstrator class to save online unpacked digis in an output ROOT tree.
const std::vector< CbmRichDigi > * fRichDigis
Input data (digis)
virtual void Finish()
Finish timeslice.
virtual void Exec(Option_t *opt)
Task execution.
const std::vector< TVecobj > * InitInput(FairRootManager *ioman)
const std::vector< CbmTofDigi > * fTofDigis
Input data (digis)
virtual InitStatus Init()
Task initialisation.
const std::vector< CbmStsDigi > * fStsDigis
Input data (digis)
const std::vector< CbmMuchDigi > * fMuchDigis
Input data (digis)
const std::vector< CbmTrdDigi > * fTrdDigis
Input data (digis)
const std::vector< CbmBmonDigi > * fBmonDigis