////////////////////////////////////////////////////////////////////////// // // Left arm detector replay script // ////////////////////////////////////////////////////////////////////////// // // Author : Vincent A. Sulkosky & Jin Huang // ////////////////////////////////////////////////////////////////////////// #include "def.h" using namespace std; void replay_det_L_Test(TString DatabaseID = "1.MoreYPhi", Int_t runnumber=2533,Int_t all=-1,Int_t fstEvt=0,Bool_t QuietRun = kTRUE) { //making the database gSystem->Exec("cp -vf db_L.vdc.dat.Header db_L.vdc.dat"); gSystem->Exec(Form("cat OptTh/db_L.vdc.dat.%s >> db_L.vdc.dat",DatabaseID.Data())); THaApparatus* B = new THaIdealBeam("B","Idea Beam, for Test Only"); gHaApps->Add( B ); cout<<"replay: Adding UnRastered and Rastered Beam ..."<Add(new THaUnRasteredBeam("urb","Unrastered beam")); gHaApps->Add(new THaRasteredBeam("rb","Rastered Beam")); cout<<"replay: Adding Decoder Data ..."<Add(new THaDecData("DL","Misc. Decoder Data")); cout<<"replay: Adding HRS-L ..."<Add( HRSL ); // add detectors that are not in the default config HRSL->AddDetector( new THaCherenkov("cer", "Gas Cherenkov counter" )); HRSL->AddDetector( new THaCherenkov("a1", "A1 Cherenkov counter" )); HRSL->AddDetector( new THaShower("prl1", "Pre-shower pion rej." )); HRSL->AddDetector( new THaShower("prl2", "Show pion rej." )); cout<<"replay: adding Physics modules ..."<Add( new THaGoldenTrack("L.gold","Golden track for LHRS", "L") ); THaPhysicsModule *Rpt_l = new THaReactionPoint( "ReactPt_L","Reaction vertex for Left","L","urb"); gHaPhysics->Add( Rpt_l ); // Correct for using an Extended target // This needs information about the Point of interaction (hence a THaVertexModule) THaPhysicsModule* TgC_l = new THaExtTarCor("ExTgtCor_L", "Corrected for extended target, HRS-L", "L","ReactPt_L"); gHaPhysics->Add( TgC_l ); cout<<"replay: adding Physics modules ..."<Add(PriKine); //////////////////////////////////////// // Do replay //////////////////////////////////////// THaAnalyzer* analyzer = THaAnalyzer::GetInstance(); if( !analyzer ) { analyzer = new THaAnalyzer; } analyzer->SetMarkInterval(20000); ReplayCore( runnumber, //run # all, //-1=replay all;0=ask for a number -1, //defaut replay event num TString("%s/e06010_det_L_%d.")+DatabaseID+".root", //output file format "replay_det_L.odef", //out define "replay_det_L.cdef", //empty cut define kFALSE, //replay scalar? fstEvt, //First Event To Replay QuietRun //whether ask user for inputs ); SieveByFoil(DatabaseID); }