Skip to content
Snippets Groups Projects
Commit b9e901b0 authored by Pierre-Alain Loizeau's avatar Pierre-Alain Loizeau
Browse files

mCBM 2019: bring macros to mCBM branch stand

- Explicitely enable TimesliceMetaData output to file for the source class
parent b5b94da4
No related branches found
No related tags found
1 merge request!10First part of mCBM changes to data to monitors, tasks and unpackers
void check_events(Int_t nEvents = 10, UInt_t uRunId=0, TString inDir="data/", TString friendFile="", TString inFile="") void check_events(Int_t nEvents = 10, UInt_t uRunId=0, TString inDir="data/", TString friendFile="", TString inFile="")
{ {
Int_t iVerbose = 1; Int_t iVerbose = 1;
Int_t iBugCor=0; Int_t iBugCor=0;
...@@ -13,46 +13,61 @@ void check_events(Int_t nEvents = 10, UInt_t uRunId=0, TString inDir="data/", TS ...@@ -13,46 +13,61 @@ void check_events(Int_t nEvents = 10, UInt_t uRunId=0, TString inDir="data/", TS
FairLogger::GetLogger(); FairLogger::GetLogger();
gLogger->SetLogScreenLevel(logLevel); gLogger->SetLogScreenLevel(logLevel);
gLogger->SetLogVerbosityLevel("VERYHIGH"); gLogger->SetLogVerbosityLevel("VERYHIGH");
TString workDir = gSystem->Getenv("VMCWORKDIR"); TString workDir = gSystem->Getenv("VMCWORKDIR");
TString runId = TString::Format("%u", uRunId); TString runId = TString::Format("%03u", uRunId);
TString ParFile = inDir + "/unp_mcbm_params_" + runId + ".root"; TString ParFile = inDir + "/unp_mcbm_params_" + runId + ".root";
TString InputFile = inDir + "/unp_mcbm_" + runId + ".root"; TString InputFile = inDir + "/unp_mcbm_" + runId + ".root";
TString InputFileEvent=""; TString InputFileEvent="";
if (friendFile.Length() > 0) { if( "" == friendFile )
InputFileEvent = inDir + friendFile; {
} InputFileEvent = inDir + "/events_" + runId + ".root";
} // if( "" == friendFile )
else
{
InputFileEvent = inDir + friendFile;
} // else of if( "" == friendFile )
TString OutputFile = inDir + "/test_" + runId + ".out.root"; TString OutputFile = inDir + "/test_" + runId + ".out.root";
TList *parFileList = new TList(); TList *parFileList = new TList();
// ----- Timer --------------------------------------------------------
TStopwatch timer;
timer.Start();
// ------------------------------------------------------------------------
// ----- Reconstruction run ------------------------------------------- // ----- Reconstruction run -------------------------------------------
FairRunAna *run= new FairRunAna(); FairRunAna *run= new FairRunAna();
FairFileSource* inputSource = new FairFileSource(InputFile); FairFileSource* inputSource = new FairFileSource(InputFile);
if (friendFile.Length() > 0) { inputSource->AddFriend(InputFileEvent);
inputSource->AddFriend(InputFileEvent);
}
run->SetSource(inputSource); run->SetSource(inputSource);
run->SetOutputFile(OutputFile); run->SetOutputFile(OutputFile);
run->SetEventHeaderPersistence(kFALSE); run->SetEventHeaderPersistence(kFALSE);
// ------------------------------------------------------------------------
// Enable FairMonitor
FairMonitor::GetMonitor()->EnableMonitor(kFALSE);
// ------------------------------------------------------------------------
CbmCheckEvents* checker = new CbmCheckEvents(); CbmCheckEvents* checker = new CbmCheckEvents();
run->AddTask(checker); run->AddTask(checker);
// ----- Parameter database -------------------------------------------- // ----- Parameter database --------------------------------------------
FairRuntimeDb* rtdb = run->GetRuntimeDb(); FairRuntimeDb* rtdb = run->GetRuntimeDb();
Bool_t kParameterMerged = kTRUE; Bool_t kParameterMerged = kTRUE;
FairParRootFileIo* parIo2 = new FairParRootFileIo(kParameterMerged); FairParRootFileIo* parIo2 = new FairParRootFileIo(kParameterMerged);
parIo2->open(ParFile.Data(), "UPDATE"); parIo2->open(ParFile.Data(), "UPDATE");
parIo2->print(); parIo2->print();
rtdb->setFirstInput(parIo2); rtdb->setFirstInput(parIo2);
FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo(); FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
parIo1->open(parFileList, "in"); parIo1->open(parFileList, "in");
parIo1->print(); parIo1->print();
...@@ -70,5 +85,34 @@ void check_events(Int_t nEvents = 10, UInt_t uRunId=0, TString inDir="data/", TS ...@@ -70,5 +85,34 @@ void check_events(Int_t nEvents = 10, UInt_t uRunId=0, TString inDir="data/", TS
run->Run(0, nEvents); run->Run(0, nEvents);
//tofClust->Finish(); //tofClust->Finish();
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
// default display // default display
// ----- Finish -------------------------------------------------------
timer.Stop();
Double_t rtime = timer.RealTime();
Double_t ctime = timer.CpuTime();
cout << endl << endl;
cout << "Macro finished succesfully." << endl;
cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
cout << endl;
// ------------------------------------------------------------------------
// Extract the maximal used memory an add is as Dart measurement
// This line is filtered by CTest and the value send to CDash
FairSystemInfo sysInfo;
Float_t maxMemory=sysInfo.GetMaxMemory();
cout << "<DartMeasurement name=\"MaxMemory\" type=\"numeric/double\">";
cout << maxMemory;
cout << "</DartMeasurement>" << endl;
Float_t cpuUsage=ctime/rtime;
cout << "<DartMeasurement name=\"CpuLoad\" type=\"numeric/double\">";
cout << cpuUsage;
cout << "</DartMeasurement>" << endl;
FairMonitor* tempMon = FairMonitor::GetMonitor();
tempMon->Print();
// RemoveGeoManager();
cout << " Test passed" << endl;
cout << " All ok " << endl;
} }
...@@ -232,15 +232,24 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents=0, ...@@ -232,15 +232,24 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents=0,
unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 384, DPB 5 ASIC 4 unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 384, DPB 5 ASIC 4
unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 384, DPB 5 ASIC 5 unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 384, DPB 5 ASIC 5
unpacker_psd->SetTimeOffsetNs( -180.0 );
break; break;
} // 384 } // 384
case 365:
{
unpacker_psd->SetTimeOffsetNs( -1007.0 );
break;
}
default: default:
break; break;
} // switch( uRunId ) } // switch( uRunId )
// --- Source task // --- Source task
CbmMcbm2018Source* source = new CbmMcbm2018Source(); CbmMcbm2018Source* source = new CbmMcbm2018Source();
source->SetWriteOutputFlag( kTRUE ); // For writing TS metadata
source->SetFileName(inFile); source->SetFileName(inFile);
// source->SetInputDir(inDir); // source->SetInputDir(inDir);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment