how to run simulation job in boss n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
How to run simulation job in BOSS PowerPoint Presentation
Download Presentation
How to run simulation job in BOSS

Loading in 2 Seconds...

play fullscreen
1 / 19

How to run simulation job in BOSS - PowerPoint PPT Presentation


  • 122 Views
  • Uploaded on

How to run simulation job in BOSS. Deng ziyan 2006.03.01. Introduction. Generator Based on BESII GENBES Integrated with BOSS 30 generators included Simulation Based on Geant4 BOOST integrated with BOSS Ascii data format. How to run simulation job. Assuming you have done:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

How to run simulation job in BOSS


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
    Presentation Transcript
    1. How to run simulation job in BOSS Deng ziyan 2006.03.01

    2. Introduction • Generator • Based on BESII GENBES • Integrated with BOSS • 30 generators included • Simulation • Based on Geant4 • BOOST integrated with BOSS • Ascii data format

    3. How to run simulation job • Assuming you have done: • Setup your environment in ~/cmthome • Checkout package TestRelease to your $workarea • (1) cd TestRelease/*/cmt • (2) vi requirements • #======== for Generator ============ • use PartPropSvc PartPropSvc-* Generator • use Tester Tester-* Generator/BesGenInterface • use Howl Howl-* Generator/BesGenInterface • use Radee Radee-* Generator/BesGenInterface • …………………………………………………………….. • #========= for Simulation ============== • use BesSim BesSim-* Simulation/BOOST

    4. How to run simulation job • (3) cmt broadcast cmt config • (4) cmt broadcast gmake • (5) source setup.csh • (6) cd ../run • (7) edit jobOption file: jobOptions_sim.txt

    5. jobOptions_sim.txt for BOSS 5.0.0 • ApplicationMgr.DLLs += { "Tester" , "BesSim" }; • ApplicationMgr.TopAlg += { "BesGenModule" , "BesSim"}; • #include "Bes_Gen.txt" • #include "PartPropSvc.txt“ • BesSim.Mdc = 1; (0:no construction 1; construction) • BesSim.Tof = 1; • BesSim.Emc = 1; • BesSim.Muc = 1; • BesSim.Field = true; • BesSim.PhysicsList = 4; • 1:BesPhysicsList 2:LHEP_GN • 3:QGSP_GN 4:QGSP

    6. jobOptions_sim.txt for BOSS 5.0.0 • ApplicationMgr.DLLs += { "G4Svc" }; • ApplicationMgr.ExtSvc += { "G4Svc" }; • // interactive mode • G4Svc.InteractiveG4 = false; • //Geant4 run macro, to set directory and file name of output data • G4Svc.FADSMacro = "run.mac"; • // geant4 verbosity • G4Svc.RunVerbosity = 1; • G4Svc.EventVerbosity = 0; • G4Svc.TrackingVerbosity = 0; • //number of events to simulate • ApplicationMgr.EvtMax = 10;

    7. How to run simulation job for BOSS 5.0.0 • (8) edit generator card (run.cards) • same as genbes.cards in BESII • the generator name in run.cards must match with algorithm name in jobOptions_sim.txt • ApplicationMgr.DLLs += { “Rhopi" , "BesSim" }; • ApplicationMgr.TopAlg += { "BesGenModule" , "BesSim"}; • generator_name 'rhopi‘ • rhopi_ipar 1 • Ineffective control in run.cards • Event range (controlled in jobOption) • Random seed (will be added in the future by yugw)

    8. Particle ID in run.cards same as BESII

    9. How to run simulation job for BOSS 5.0.0 • (9) edit run.mac • /run/runID -9 • /runAction/ascii 1 1 1 1 1 1 1 1 /home/dengzy/boost.dat • you must specify a full directory name, such as • /ihepbatch/besdata/public/dengzy/boost.dat • (10) boss -q jobOptions_sim.txt

    10. How to run simulation job for BOSS 5.0.0 • In brief • specify generator algorithm injobOptions_sim.txt • ApplicationMgr.DLLs += { “Rhopi" , "BesSim" }; • G4Svc.FADSMacro = "run.mac"; • ApplicationMgr.EvtMax = 10; • open generator in run.cards • generator_name ‘rhopi’ • specify output data file inrun.mac • /runAction/ascii 1 1 1 1 1 1 1 1 /home/dengzy/boost.dat • using all the other default settings

    11. New interface in BOSS 5.1.0 • BOSS 5.0.0 • G4Svc.FADSMacro = "run.mac"; • /runAction/ascii 1 1 1 1 1 1 1 1 /home/dengzy/boost.dat • BOSS 5.1.0 • Control data output in jobOption, not in run.mac • BesSim.AsciiFlag = “11111111"; • BesSim.AsciiFile =“/home/dengzy/boost.dat”;

    12. Ascii data format (boost.dat) { EVHEAD runNo eventNo } EVHEAD { TrackTRUTH trackIndex PDGcode charge originalVertexIndex terminalVertexIndex px py pz minDaughterIndex maxDaughterIndex } TrackTRUTH { VertexTRUTH vertexIndex parentTrackIndex x y z time } VertexTRUTH

    13. Ascii data format (boost.dat) { MDCTRUTH trackIndex layerId cellId edep driftD x y z posFlag } MDCTRUTH { MDCDIGI trackIndex layerNo cellNo energyDeposit driftTime } MDCDIGI { TOFTRUTH trackIndex partId scinNb x y z px py pz trackLength time } TOFTRUTH { TOFDIGI trackIndex partId scinNb forwADC forwTDC backADC backTDC } TOFDIGI

    14. Ascii data format (boost.dat) { EMCTRUTH trackIndex partId numTheta numPhi x y z px py pz totalEdep } EMCTRUTH { EMCDIGI trackIndex partId numTheta numPhi energyDeposit time } EMCDIGI { MUCTRUTH trackIndex partId segId gapId stripId x y z px py pz } MUCTRUTH { MUCDIGI trackIndex partId segId gapId stripId } MUCDIGI http://boss.ihep.ac.cn/SofPro/simulation/AsciiData_format.txt

    15. Geant4 PDGcode http://boss.ihep.ac.cn/SofPro/simulation/PDGsheme.pdf

    16. Data flow • Event • GenEvent • McGenEventCol • McEvent • McParticleCol • MdcMcHitCol • TofMcHitCol • EmcMcHitCol • MucMcHitCol • DigiEvent • MdcDigiCol • TofDigiCol • EmcDigiCol • MucDigiCol Generator BesGenModule ① ② evt.dat Ascii file Simulation BesSim ③ boost.dat Ascii file ④ Reconstruction EmcRec… Transient Data Store EventSelector.InputFiles ="boost.dat"

    17. retrieve MC truth from TDS • retrieve TOF MCtruth from TDS • SmartDataPtr<Event::TofMcHitCol> aMcHitCol(m_evtSvc,"/Event/MC/TofMcHitCol”); • Event::TofMcHitCol::iterator iMcHitCol; • for(iMcHitCol=aMcHitCol->begin(); iMcHitCol!=aMcHitCol->end(); iMcHitCol++) • { • const Identifier ident = (*iMcHitCol)->identify(); • std::cout<<(*iMcHitCol)->getTrackIndex(); • std::cout<<" "<<TofID::barrel_ec(ident);; • std::cout<<" "<<TofID::layer(ident); • std::cout<<" "<<TofID::phi_module(ident); • std::cout<<" "<<(*iMcHitCol)->getPositionX(); • std::cout<<" "<<(*iMcHitCol)->getPositionY(); • std::cout<<" "<<(*iMcHitCol)->getPositionZ(); • std::cout<<" "<<(*iMcHitCol)->getPx(); • std::cout<<" "<<(*iMcHitCol)->getPy(); • ………………………………… • }

    18. retrieve digit from TDS • retrieve TOF digits from TDS • SmartDataPtr<TofDigiCol> aDigiCol(m_evtSvc,"/Event/Digi/TofDigiCol"); • TofDigiCol::iterator iDigiCol; • for(iDigiCol=aDigiCol->begin(); iDigiCol!=aDigiCol->end(); iDigiCol++) • { • const Identifier ident = (*iDigiCol)->identify(); • std::cout<<"partId: "<<TofID::barrel_ec(ident); • std::cout<<" layer: "<<TofID::layer(ident); • std::cout<<" scinNb: "<<TofID::phi_module(ident); • std::cout<<" charge: "<<(*iDigiCol)->getChargeChannel(); • std::cout<<" time: "<<(*iDigiCol)->getTimeChannel()<<std::endl; • }

    19. The end! Any questions or suggestions?