diff --git a/macro/littrack/radlength_ana.C b/macro/littrack/radlength_ana.C index 4957c7581bab35a647b30b2a25efde21697169c7..ad393040a30ff516bbed1b2771f104c0871d1eb9 100644 --- a/macro/littrack/radlength_ana.C +++ b/macro/littrack/radlength_ana.C @@ -5,68 +5,71 @@ * \date 2013 */ void radlength_ana( - const string& mcFile = "/Users/slebedev/Development/cbm/data/sim/rich/radlen/mc.ac.root", - const string& parFile = "/Users/slebedev/Development/cbm/data/sim/rich/radlen/param.ac.root", - const string& radqaFile = "/Users/slebedev/Development/cbm/data/sim/rich/radlen/radqa.ac.root", - const string& resultDir = "results_radlen_ac/", - const string &geoSetup = "sis100_electron_rich_pal_bcarb", - Int_t nEvents = 12100000) -{ + const string& mcFile = + "/Users/slebedev/Development/cbm/data/sim/rich/radlen/mc.ac.root", + const string& parFile = + "/Users/slebedev/Development/cbm/data/sim/rich/radlen/param.ac.root", + const string& radqaFile = + "/Users/slebedev/Development/cbm/data/sim/rich/radlen/radqa.ac.root", + const string& resultDir = "results_radlen_ac/", + const string& geoSetup = "sis100_electron_rich_pal_bcarb", + Int_t nEvents = 12100000) { - FairLogger::GetLogger()->SetLogScreenLevel("INFO"); - FairLogger::GetLogger()->SetLogVerbosityLevel("LOW"); - TTree::SetMaxTreeSize(90000000000); + FairLogger::GetLogger()->SetLogScreenLevel("INFO"); + FairLogger::GetLogger()->SetLogVerbosityLevel("LOW"); + TTree::SetMaxTreeSize(90000000000); - TString srcDir = gSystem->Getenv("VMCWORKDIR"); // top source directory + TString srcDir = gSystem->Getenv("VMCWORKDIR"); // top source directory - remove(radqaFile.c_str()); + remove(radqaFile.c_str()); - TString setupFile = srcDir + "/geometry/setup/setup_" + geoSetup + ".C"; - TString setupFunct = "setup_" + geoSetup + "()"; - gROOT->LoadMacro(setupFile); - gROOT->ProcessLine(setupFunct); + TString setupFile = srcDir + "/geometry/setup/setup_" + geoSetup + ".C"; + TString setupFunct = "setup_" + geoSetup + "()"; + gROOT->LoadMacro(setupFile); + gROOT->ProcessLine(setupFunct); - TList *parFileList = new TList(); + TList* parFileList = new TList(); - TStopwatch timer; - timer.Start(); - gDebug = 0; + TStopwatch timer; + timer.Start(); + gDebug = 0; - FairRunAna *run = new FairRunAna(); - FairFileSource* inputSource = new FairFileSource(mcFile.c_str()); - run->SetSource(inputSource); - run->SetOutputFile(radqaFile.c_str()); - run->SetGenerateRunInfo(kTRUE); + FairRunAna* run = new FairRunAna(); + FairFileSource* inputSource = new FairFileSource(mcFile.c_str()); + run->SetSource(inputSource); + run->SetOutputFile(radqaFile.c_str()); + run->SetGenerateRunInfo(kTRUE); - CbmLitRadLengthQa* radLengthQa = new CbmLitRadLengthQa(); - radLengthQa->SetOutputDir(resultDir); - run->AddTask(radLengthQa); + CbmLitRadLengthQa* radLengthQa = new CbmLitRadLengthQa(); + radLengthQa->SetOutputDir(resultDir); + run->AddTask(radLengthQa); - FairRuntimeDb* rtdb = run->GetRuntimeDb(); - FairParRootFileIo* parIo1 = new FairParRootFileIo(); - FairParAsciiFileIo* parIo2 = new FairParAsciiFileIo(); - parIo1->open(parFile.c_str(),"UPDATE"); - rtdb->setFirstInput(parIo1); - if ( ! parFileList->IsEmpty() ) { - parIo2->open(parFileList, "in"); - rtdb->setSecondInput(parIo2); - } + FairRuntimeDb* rtdb = run->GetRuntimeDb(); + FairParRootFileIo* parIo1 = new FairParRootFileIo(); + FairParAsciiFileIo* parIo2 = new FairParAsciiFileIo(); + parIo1->open(parFile.c_str(), "UPDATE"); + rtdb->setFirstInput(parIo1); + if (!parFileList->IsEmpty()) { + parIo2->open(parFileList, "in"); + rtdb->setSecondInput(parIo2); + } - run->Init(); + run->Init(); - rtdb->setOutput(parIo1); - rtdb->saveOutput(); - rtdb->print(); + rtdb->setOutput(parIo1); + rtdb->saveOutput(); + rtdb->print(); - run->Run(0, nEvents); + run->Run(0, nEvents); - timer.Stop(); - std::cout << std::endl << std::endl; - std::cout << "Macro finished succesfully." << std::endl; - std::cout << "Output file is " << mcFile << std::endl; - std::cout << "Parameter file is " << parFile << std::endl; - std::cout << "Radqa file is " << radqaFile << std::endl; - std::cout << "Real time " << timer.RealTime() << " s, CPU time " << timer.CpuTime() << " s" << std::endl; - std::cout << "Test passed" << std::endl << "All ok" << std::endl; + timer.Stop(); + std::cout << std::endl << std::endl; + std::cout << "Macro finished succesfully." << std::endl; + std::cout << "Output file is " << mcFile << std::endl; + std::cout << "Parameter file is " << parFile << std::endl; + std::cout << "Radqa file is " << radqaFile << std::endl; + std::cout << "Real time " << timer.RealTime() << " s, CPU time " + << timer.CpuTime() << " s" << std::endl; + std::cout << "Test passed" << std::endl << "All ok" << std::endl; } diff --git a/macro/littrack/radlength_sim.C b/macro/littrack/radlength_sim.C index 316fc1b31e16ed89a9ba4ad1248c925ae3c4e065..acbdaa10f1647521972a0ee2f0a7e345d0cf7b4e 100644 --- a/macro/littrack/radlength_sim.C +++ b/macro/littrack/radlength_sim.C @@ -4,10 +4,12 @@ using std::cout; using std::endl; void radlength_sim( - const string& mcFile = "/Users/slebedev/Development/cbm/data/sim/rich/radlen/mc.ac.root", - const string& parFile = "/Users/slebedev/Development/cbm/data/sim/rich/radlen/param.ac.root", - const string &geoSetup = "sis100_electron_rich_pal_bcarb", - Int_t nofEvents = 0) { + const string& mcFile = + "/Users/slebedev/Development/cbm/data/sim/rich/radlen/mc.ac.root", + const string& parFile = + "/Users/slebedev/Development/cbm/data/sim/rich/radlen/param.ac.root", + const string& geoSetup = "sis100_electron_rich_pal_bcarb", + Int_t nofEvents = 0) { TTree::SetMaxTreeSize(90000000000); @@ -17,23 +19,23 @@ void radlength_sim( TStopwatch timer; timer.Start(); -// const Double_t minX = -550; // cm -// const Double_t maxX = 550; // cm -// const Double_t stepX = 10.; // cm -// const Int_t nofBinsX = (maxX - minX) / stepX; -// const Double_t minY = -550; // cm -// const Double_t maxY = 550; // cm -// const Double_t stepY = 10.; // cm + // const Double_t minX = -550; // cm + // const Double_t maxX = 550; // cm + // const Double_t stepX = 10.; // cm + // const Int_t nofBinsX = (maxX - minX) / stepX; + // const Double_t minY = -550; // cm + // const Double_t maxY = 550; // cm + // const Double_t stepY = 10.; // cm - const Double_t minX = -250; // cm - const Double_t maxX = 250; // cm - const Double_t stepX = 1.; // cm - const Int_t nofBinsX = (maxX - minX) / stepX; - const Double_t minY = -250; // cm - const Double_t maxY = 250; // cm - const Double_t stepY = 1.; // cm - const Int_t nofBinsY = (maxY - minY) / stepY; - nofEvents = nofBinsX * nofBinsY; + const Double_t minX = -250; // cm + const Double_t maxX = 250; // cm + const Double_t stepX = 1.; // cm + const Int_t nofBinsX = (maxX - minX) / stepX; + const Double_t minY = -250; // cm + const Double_t maxY = 250; // cm + const Double_t stepY = 1.; // cm + const Int_t nofBinsY = (maxY - minY) / stepY; + nofEvents = nofBinsX * nofBinsY; std::vector<Double_t> vectorX, vectorY; for (Int_t iX = 0; iX < nofBinsX; iX++) { @@ -69,21 +71,22 @@ void radlength_sim( primGen->AddGenerator(box); */ - run.SetOutFileName(mcFile.c_str()); - run.SetParFileName(parFile.c_str()); - run.LoadSetup(geoSetup.c_str()); - run.SetTarget("Gold", 0.025, 2.5); - run.SetBeamPosition(0., 0., 0., 0.); - //run.SetEngine(kGeant4); - //run.StoreTrajectories(true); - run.RegisterRadLength(true); - run.Run(nofEvents); + run.SetOutFileName(mcFile.c_str()); + run.SetParFileName(parFile.c_str()); + run.LoadSetup(geoSetup.c_str()); + run.SetTarget("Gold", 0.025, 2.5); + run.SetBeamPosition(0., 0., 0., 0.); + //run.SetEngine(kGeant4); + //run.StoreTrajectories(true); + run.RegisterRadLength(true); + run.Run(nofEvents); - timer.Stop(); - std::cout << std::endl << std::endl; - std::cout << "Macro finished successfully." << std::endl; - std::cout << "MC file is " << mcFile << std::endl; - std::cout << "Parameter file is " << parFile << std::endl; - std::cout << "Real time " << timer.RealTime() << " s, CPU time " << timer.CpuTime() << "s" << std::endl; - std::cout << std::endl << "Test passed" << std::endl << "All ok" << std::endl; + timer.Stop(); + std::cout << std::endl << std::endl; + std::cout << "Macro finished successfully." << std::endl; + std::cout << "MC file is " << mcFile << std::endl; + std::cout << "Parameter file is " << parFile << std::endl; + std::cout << "Real time " << timer.RealTime() << " s, CPU time " + << timer.CpuTime() << "s" << std::endl; + std::cout << std::endl << "Test passed" << std::endl << "All ok" << std::endl; }