58 LOG(info) <<
"Setting parameter containers for " << GetName();
62 for (
Int_t iparC = 0; iparC < parCList->GetEntries(); ++iparC) {
63 FairParGenericSet* tempObj = (FairParGenericSet*) (parCList->At(iparC));
64 parCList->Remove(tempObj);
66 std::string sParamName {tempObj->GetName()};
67 FairParGenericSet* newObj =
68 dynamic_cast<FairParGenericSet*
>(FairRun::Instance()->GetRuntimeDb()->getContainer(sParamName.data()));
70 if (
nullptr == newObj) {
71 LOG(error) <<
"Failed to obtain parameter container " << sParamName <<
", for parameter index " << iparC;
75 parCList->AddAt(newObj, iparC);
86 LOG(info) <<
"Init parameter containers for " << GetName();
90 dynamic_cast<CbmMcbm2018MuchPar*
>(FairRun::Instance()->GetRuntimeDb()->getContainer(
"CbmMcbm2018MuchPar"));
91 if (
nullptr == pUnpackPar) {
92 LOG(error) <<
"Failed to obtain parameter container CbmMcbm2018MuchPar";
106 LOG(info) <<
"after initOK";
116 LOG(info) <<
"before creating histogram";
118 LOG(info) <<
"created histograms";
120 std::vector<std::pair<TNamed*, std::string>> vHistos =
fMonitorAlgo->GetHistoVector();
122 std::vector<std::pair<TCanvas*, std::string>> vCanvases =
fMonitorAlgo->GetCanvasVector();
125 THttpServer* server = FairRunOnline::Instance()->GetHttpServer();
126 if (
nullptr != server) {
127 for (UInt_t uHisto = 0; uHisto < vHistos.size(); ++uHisto) {
130 server->Register(Form(
"/%s", vHistos[uHisto].second.data()), vHistos[uHisto].first);
133 for (UInt_t uCanv = 0; uCanv < vCanvases.size(); ++uCanv) {
136 server->Register(Form(
"/%s", vCanvases[uCanv].second.data()),
137 gROOT->FindObject((vCanvases[uCanv].first)->GetName()));
140 server->RegisterCommand(
"/Reset_All",
"bMcbm2018ResetTaskMuchLite=kTRUE");
141 server->RegisterCommand(
"/Write_All",
"bMcbm2018WriteTaskMuchLite=kTRUE");
142 server->RegisterCommand(
"/ScanNoisyCh",
"bMcbm2018ScanNoisyTaskMuchLite=kTRUE");
143 server->Restrict(
"/Reset_All",
"allow=admin");
144 server->Restrict(
"/Write_All",
"allow=admin");
145 server->Restrict(
"/ScanNoisyCh",
"allow=admin");
344 std::vector<std::pair<TNamed*, std::string>> vHistos =
fMonitorAlgo->GetHistoVector();
347 TFile* oldFile = gFile;
348 TDirectory* oldDir = gDirectory;
350 TFile* histoFile =
nullptr;
357 for (UInt_t uHisto = 0; uHisto < vHistos.size(); ++uHisto) {
359 TString sFolder = vHistos[uHisto].second.data();
360 if (
nullptr == gDirectory->Get(sFolder)) gDirectory->mkdir(sFolder);
361 gDirectory->cd(sFolder);
364 vHistos[uHisto].first->Write();