67 LOG(info) <<
"Setting parameter containers for " << GetName();
71 for (
Int_t iparC = 0; iparC < parCList->GetEntries(); ++iparC) {
72 FairParGenericSet* tempObj = (FairParGenericSet*) (parCList->At(iparC));
73 parCList->Remove(tempObj);
75 std::string sParamName {tempObj->GetName()};
76 FairParGenericSet* newObj =
77 dynamic_cast<FairParGenericSet*
>(FairRun::Instance()->GetRuntimeDb()->getContainer(sParamName.data()));
79 if (
nullptr == newObj) {
80 LOG(error) <<
"Failed to obtain parameter container " << sParamName <<
", for parameter index " << iparC;
84 parCList->AddAt(newObj, iparC);
91 LOG(info) <<
"Init parameter containers for " << GetName();
95 dynamic_cast<CbmMcbm2018TofPar*
>(FairRun::Instance()->GetRuntimeDb()->getContainer(
"CbmMcbm2018TofPar"));
96 if (
nullptr == pUnpackPar) {
97 LOG(error) <<
"Failed to obtain parameter container CbmMcbm2018TofPar";
115 std::vector<std::pair<TNamed*, std::string>> vHistos =
fMonitorAlgo->GetHistoVector();
117 std::vector<std::pair<TCanvas*, std::string>> vCanvases =
fMonitorAlgo->GetCanvasVector();
120 THttpServer* server = FairRunOnline::Instance()->GetHttpServer();
121 if (
nullptr != server) {
122 for (UInt_t uHisto = 0; uHisto < vHistos.size(); ++uHisto) {
125 server->Register(Form(
"/%s", vHistos[uHisto].second.data()), vHistos[uHisto].first);
128 for (UInt_t uCanv = 0; uCanv < vCanvases.size(); ++uCanv) {
131 server->Register(Form(
"/%s", vCanvases[uCanv].second.data()),
132 gROOT->FindObject((vCanvases[uCanv].first)->GetName()));
135 server->RegisterCommand(
"/Reset_Moni_Hist",
"bMcbm2018MonitorTaskTofResetHistos=kTRUE");
136 server->RegisterCommand(
"/Save_Moni_Hist",
"bMcbm2018MonitorTaskTofSaveHistos=kTRUE");
138 server->Restrict(
"/Reset_Moni_Hist",
"allow=admin");
195 std::vector<std::pair<TNamed*, std::string>> vHistos =
fMonitorAlgo->GetHistoVector();
196 std::vector<std::pair<TCanvas*, std::string>> vCanvas =
fMonitorAlgo->GetCanvasVector();
199 TFile* oldFile = gFile;
200 TDirectory* oldDir = gDirectory;
202 TFile* histoFile =
nullptr;
207 if (
nullptr == histoFile)
return kFALSE;
210 for (UInt_t uHisto = 0; uHisto < vHistos.size(); ++uHisto) {
212 TString sFolder = vHistos[uHisto].second.data();
213 if (
nullptr == gDirectory->Get(sFolder)) gDirectory->mkdir(sFolder);
214 gDirectory->cd(sFolder);
217 vHistos[uHisto].first->Write();
222 for (UInt_t uCanvas = 0; uCanvas < vCanvas.size(); ++uCanvas) {
224 TString sFolder = vCanvas[uCanvas].second.data();
225 if (
nullptr == gDirectory->Get(sFolder)) gDirectory->mkdir(sFolder);
226 gDirectory->cd(sFolder);
229 vCanvas[uCanvas].first->Write();