BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
run_digi_task.C
Go to the documentation of this file.
1// run_digi_task.C: runs analysis tasks on a simulated or experimental DIGI file
2#include "BmnGemDigitQa.h"
3
4void run_digi_task(TString digiFileName = "bmnsim.root", TString outFileName = "digi_qa.root", Int_t nEvents = 0)
5{
6 FairRunAna* fRunAna = new FairRunAna();
7
8 // the same choice of the input source as in run_reco_bmn.C
9 Bool_t isExp = (BmnFunctionSet::isSimulationFile(digiFileName) == 0);
10 if (isExp) {
11 Int_t run_period = -1, run_number = -1; // filled from DigiRunHeader
12 fRunAna->SetSource(new BmnFileSource(digiFileName, run_period, run_number));
13 } else {
14 fRunAna->SetSource(new FairFileSource(digiFileName));
15 // parameter containers of the simulation file: geometry, magnetic field, run parameters
16 FairParRootFileIo* parIo = new FairParRootFileIo();
17 parIo->open(digiFileName.Data());
18 fRunAna->GetRuntimeDb()->setFirstInput(parIo);
19 }
20 fRunAna->SetSink(new FairRootFileSink(outFileName));
21
22 fRunAna->AddTask(new BmnGemDigitQa(isExp));
23
24 fRunAna->Init();
25 fRunAna->Run(0, nEvents);
26}
bool Bool_t
int Int_t
BmnFileSource.h.
static int isSimulationFile(TString fileName="")
void run_digi_task(TString digiFileName="bmnsim.root", TString outFileName="digi_qa.root", Int_t nEvents=0)