9#include "FairRootManager.h"
10#include "FairRunOnline.h"
13#include "TClonesArray.h"
16#include "THttpServer.h"
17#include <TDirectory.h>
22 : FairTask(
"CbmMcbm2019TimeWinEventBuilderTask")
41 FairRootManager* ioman = FairRootManager::Instance();
44 fEvents =
new TClonesArray(
"CbmEvent", 100);
45 ioman->Register(
"CbmEvent",
"Cbm_Event",
fEvents, IsOutputBranchPersistent(
"CbmEvent"));
47 if (!
fEvents) LOG(fatal) <<
"Output branch was not created";
61 LOG(debug2) <<
"CbmMcbm2019TimeWinEventBuilderTask::Exec => Starting sequence";
67 LOG(debug2) <<
"CbmMcbm2019TimeWinEventBuilderTask::Exec => Done";
91 LOG(debug) <<
"Vector: " <<
event->ToString();
92 new ((*fEvents)[
fEvents->GetEntriesFast()])
CbmEvent(std::move(*event));
106 TFile* oldFile = gFile;
107 TDirectory* oldDir = gDirectory;
109 TFile* histoFile =
nullptr;
116 for (UInt_t uHisto = 0; uHisto < vHistos.size(); ++uHisto) {
118 TString sFolder = vHistos[uHisto].second.data();
119 if (
nullptr == gDirectory->Get(sFolder)) gDirectory->mkdir(sFolder);
120 gDirectory->cd(sFolder);
123 vHistos[uHisto].first->Write();
171 Double_t dTsOverLength)
ClassImp(CbmConverterManager)
static double dTsStartTime
Class characterising one event by a collection of links (indices) to data objects,...
std::string ToString() const
void SetIgnoreTsOverlap(Bool_t bFlagIn=kTRUE)
void SetTsParameters(Double_t dTsStartTime, Double_t dTsLength, Double_t dTsOverLength)
void SetTriggerWindow(ECbmModuleId selDet, Double_t dWinBeg, Double_t dWinEnd)
void SetFillHistos(Bool_t var)
void SetTriggerMinNumber(ECbmModuleId selDet, UInt_t uVal)
void SetReferenceDetector(ECbmModuleId refDet, ECbmDataType dataTypeIn, std::string sNameIn, UInt_t uTriggerMinDigisIn=0, Int_t iTriggerMaxDigisIn=-1, Double_t fdTimeWinBegIn=-100, Double_t fdTimeWinEndIn=100)
void AddDetector(ECbmModuleId selDet, ECbmDataType dataTypeIn, std::string sNameIn, UInt_t uTriggerMinDigisIn=0, Int_t iTriggerMaxDigisIn=-1, Double_t fdTimeWinBegIn=-100, Double_t fdTimeWinEndIn=100)
std::vector< std::pair< TNamed *, std::string > > GetHistoVector()
void ChangeMuchBeamtimeDigiFlag(Bool_t bFlagIn=kFALSE)
void SetEventOverlapMode(EOverlapMode mode)
Control flags.
std::vector< CbmEvent * > & GetEventVector()
Data output access.
void RemoveDetector(EventBuilderDetector selDet)
void SetTriggerMaxNumber(ECbmModuleId selDet, Int_t iVal)
void RemoveDetector(EventBuilderDetector selDet)
void SetTsParameters(Double_t dTsStartTime, Double_t dTsLength, Double_t dTsOverLength)
void SetOutFilename(TString sNameIn)
CbmMcbm2019TimeWinEventBuilderTask()
TString fsOutFileName
Switch ON/OFF filling of histograms.
virtual InitStatus ReInit()
virtual void SetParContainers()
virtual InitStatus Init()
void SetReferenceDetector(EventBuilderDetector refDet)
void SetTriggerWindow(ECbmModuleId det, Double_t dWinBeg, Double_t dWinEnd)
void ChangeMuchBeamtimeDigiFlag(Bool_t bFlagIn=kFALSE)
virtual void Exec(Option_t *)
void SetTriggerMaxNumber(ECbmModuleId selDet, Int_t iVal)
void SetEventOverlapMode(EOverlapMode mode)
void AddDetector(EventBuilderDetector selDet)
void SetFillHistos(Bool_t bFlag=kTRUE)
void SetTriggerMinNumber(ECbmModuleId selDet, UInt_t uVal)
Bool_t fbFillHistos
output container of CbmEvents
~CbmMcbm2019TimeWinEventBuilderTask()
void SetIgnoreTsOverlap(Bool_t bFlagIn)
CbmMcbm2019TimeWinEventBuilderAlgo * fpAlgo