//void TrackSelection(Int_t index) { void TrackSelection() { Int_t index; // Convert index to the string char strIndex[4]; sprintf(strIndex, "%4d", index); for(Int_t i = 0; i < 4; i++) { if(' ' == strIndex[i]) strIndex[i] = '0'; } TStopwatch timer; timer.Start(); gDebug=0; gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C"); basiclibs(); gSystem->Load("libCLHEP"); gSystem->Load("libGeoBase"); gSystem->Load("libParBase"); gSystem->Load("libBase"); gSystem->Load("libCbmBase"); gSystem->Load("libCbmData"); gSystem->Load("libField"); gSystem->Load("libGen"); gSystem->Load("libPassive"); gSystem->Load("libMvd"); gSystem->Load("libSts"); gSystem->Load("libRich"); gSystem->Load("libTrd"); gSystem->Load("libTof"); gSystem->Load("libGlobal"); gSystem->Load("libEcal"); gSystem->Load("libKF"); gSystem->Load("libL1"); gSystem->Load("libOpencharm"); // Input files TString workDir = gSystem->Getenv("VMCWORKDIR"); // ------------------------------------------------------------ TString mcFile = "_auau.25gev.centr.v11b4.mc.root"; TString parFile = "_auau.25gev.centr.v11b4.params.root"; TString rcFile = "_auau.25gev.centr.v11b4.rec.root"; TString outFile = "_auau.25gev.centr.v11b4.tracks.root"; //Int_t nEvents = 1000; //Int_t nEvents = 50; Int_t nEvents = 2; FairRunAna *fRun = new FairRunAna(); fRun->SetInputFile(mcFile.Data()); fRun->AddFriend(rcFile.Data()); fRun->SetOutputFile(outFile.Data()); //TString digiFile = "sts_standard.digi.par"; TString digiFile = "sts_v11a.digi.par"; //parFileList->Add(&stsDigiFile); // ----- Parameter database -------------------------------------------- TString stsDigiFile = gSystem->Getenv("VMCWORKDIR"); stsDigiFile += "/parameters/sts/"; stsDigiFile += digiFile; FairRuntimeDb* rtdb = fRun->GetRuntimeDb(); FairParRootFileIo* parIo1 = new FairParRootFileIo(); FairParAsciiFileIo* parIo2 = new FairParAsciiFileIo(); parIo1->open(parFile.Data()); parIo2->open(stsDigiFile.Data(),"in"); rtdb->setFirstInput(parIo1); rtdb->setSecondInput(parIo2); rtdb->setOutput(parIo1); rtdb->saveOutput(); CbmKF* KF = new CbmKF(); // name, Verbose, cutP, cutPt, cutPV, cutIP ) CbmD0TrackSelection* dSelect = new CbmD0TrackSelection("Selection", 1, 0.0, 0.0, 4.5, 10000.000); //dSelect->SetNHitsOfLongTracks(2); //suppress short tracks //OPEN CUTS //CbmD0TrackSelection* dSelect = new CbmD0TrackSelection("Selection", 1, 0.0, 0.0, 0.0, 10000.000); //dSelect->SetNHitsOfLongTracks(5); //suppress short tracks //CbmD0TrackSelection* dSelect = new CbmD0TrackSelection("Selection", 1, 0.0, 0.0, -10.0, 0.0 ); //dSelect->ShowDebugHistos(); fRun->AddTask(KF); fRun->AddTask(dSelect); fRun->Init(); fRun->Run(0,nEvents); timer.Stop(); Double_t rtime = timer.RealTime(); Double_t ctime = timer.CpuTime(); printf("\nRealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime); cout << "output file is: " << outFile << endl; //gFile->Close(); exit(0); }