/** check_field.C * @author Andrey Lebedev * @since 2009 * @version 1.0 * **/ void check_field(Int_t nEvents = 1) { TString script = TString(gSystem->Getenv("SCRIPT")); TString dir, mcFile, parFile, emptyFile; // Output directory dir = "/home/d/andrey/std_10mu/"; // MC transport file mcFile = dir + "mc.0000.root"; // Parameter file parFile = dir + "param.0000.root"; emptyFile = dir + "empty.root"; Int_t iVerbose = 1; TStopwatch timer; timer.Start(); gSystem->Load("/home/soft/tbb22_004oss/libtbb"); gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C"); basiclibs(); gROOT->LoadMacro("$VMCWORKDIR/macro/littrack/cbmrootlibs.C"); cbmrootlibs(); // ----- Reconstruction run ------------------------------------------- FairRunAna *run= new FairRunAna(); run->SetInputFile(mcFile); run->SetOutputFile(emptyFile); // ------------------------------------------------------------------------ CbmLitCheckField* checkField = new CbmLitCheckField(); checkField->SetXangle(25.); checkField->SetYangle(25.); checkField->SetNofBinsX(30); checkField->SetNofBinsY(30); checkField->SetUseEllipseAcc(false); checkField->SetPolynomDegree(1); checkField->SetOutputDir("field/"); run->AddTask(checkField); // ----- Parameter database -------------------------------------------- FairRuntimeDb* rtdb = run->GetRuntimeDb(); FairParRootFileIo* parIo1 = new FairParRootFileIo(); parIo1->open(parFile.Data()); rtdb->setFirstInput(parIo1); rtdb->setOutput(parIo1); rtdb->saveOutput(); // ------------------------------------------------------------------------ // ----- Initialize and run -------------------------------------------- run->Init(); run->Run(0, nEvents); // ------------------------------------------------------------------------ // ----- Finish ------------------------------------------------------- timer.Stop(); cout << endl << endl; cout << "Macro finished successfully." << endl; cout << "Output file is " << emptyFile << endl; cout << "Parameter file is " << parFile << endl; cout << "Real time " << timer.RealTime() << " s, CPU time " << timer.CpuTime() << " s" << endl; cout << endl; // ------------------------------------------------------------------------ }