Introduction to SimTools - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Introduction to SimTools

Description:

Introduction to SimTools – PowerPoint PPT presentation

Number of Views:109
Avg rating:3.0/5.0
Slides: 42
Provided by: miya2
Category:

less

Transcript and Presenter's Notes

Title: Introduction to SimTools


1
Introduction to SimTools
  • Akiya Miyamoto
  • KEK
  • Feb 2007

2
Plan of Tutorials
  • KEK ILC Computing
  • JSF
  • Intorudction,
  • Go through examples
  • learn how to access JSF classes
  • Jupiter / Satellites
  • Intorudction
  • Go through examples
  • Kick-off studies

3
CPU Configuration
jlclogin2
SL4.2
/home/data4/jlc, /data7/jlc generic user
files /data5, /data6 for soft files.
4
Local commands
  • Submit job
  • submit -h host command
  • Submit job as a batch job
  • submit command gt log 2gt1 ( in case of
    bash )
  • Show job status in CPU server
  • showjob
  • Monitor CPU loads of each CPU server
  • cpui
  • To kill job running at CPU server
  • rsh jlccpuXX ps ef grep username
  • rsh jlccpuXX kill 15 XXXX

5
How to setup your account
  • cd
  • cp /home/miyamoto/Tutorials/misc/dot.rootrc
    /.rootrc
  • mkdir Tutorials
  • cd Tutorials
  • cp /proj/soft/Release/1.35/setup.bash .
  • source setup.bash
  • You are ready to run jsf/jupiter/satellites
    program

6
Information on the web
  • http//acfahep.kek.jp/subg/sim/simtools
  • http//www-jlc.kek.jp/subg/offl/jsf
  • http//jlccvs.kek.jp/

7
Files in SimTools

SimTools

tools

lcbase

Leda

jsf
Physsim

Jupiter

Uranus

Satellites

docs

examples

exam01

QuickSim

.....

Jupiter

Satellites

setup.bash

Readme
8
Functions of each components
  • lcbase configuration files
  • Leda Analysis tools (Kalman fitter,
    4vector and jet findinder utilities )
  • jsf Root-based framework
  • lclib QuickSim and other fortran based
    utilities
  • physsim Helas-based generator
  • Jupiter Full simulation based on Geant4
  • Uranus Data analysis packages
  • Satellites Data analysis packages for MC data
  • We use only C, except old fortran tools.
  • Link to various tools at http//acfahep.kek.jp/su
    bg/sim/soft
  • All packages are kept in the CVS. Accessible
    from http//jlccvs.kek.jp/

9
JSF
  • JSF provides common framework for studies using
  • Quick Simulator
  • Jupiter/Satellites
  • To start interactive session of jsf, do jsf
    gui.CJSF control panel popes up

10
Using JSF Control Panel
  • Controls menu
  • run mode
  • generator type
  • generator parameters
  • pythia
  • event type
  • zh
  • save parameters
  • Next Event button

11
Batch Run
jsf -b -q --maxevt100 gui.C
  • root option
  • -b run without X
  • -q quit at the end
  • jsf option
  • --maxevtN N is number of events

12
JSF Basics
13
JSF features - 1
  • JSF is based on ROOT
  • User needs to lean just one language, C
  • JSF provides a framework for modular analyses
  • Common framework for event generation, detector
    simulation, and analyses.
  • Same framework for beam test data analysis
  • Unified framework for interactive and batch jobs
  • GUI for control of an interactive run Histogram
    and event display packages included
  • A file similar to .rootrc is used to set
    parameter.
  • Default values an be overidden by command line
    argument at run time.

14
JSF Features 2
  • Object I/O
  • Each modules can save/read their event data as
    branches of a root tree.
  • Job parameters, histograms, ntuples and private
    analysis tree can be saved in the same file
  • Packages
  • Included in the release
  • Pythia6.3, Bases/Spring, ZVTOP, JETNET, BSGEN
  • Provided as separated packages
  • Physsim (Event generators and analysis utilities)
  • LCLIB (QuickSim, Helas)
  • Jupiter (Geant4)
  • Uranus/Satellites

15
JSF Conponents
  • Libraries ( JSFROOT/lib )
  • Pre-compiled C classes to build JSF
    applicationsuch as libJSFGenerator.so,
    libJSFQuickSim.so,
  • Executables (main program ) (JSFROOT/bin)
  • jsf command built with ROOTlibJSF.so
  • Macros (JSFROOT/macro)
  • C program is used as Macro thanks to CINT(No
    need to compile and link)
  • In JSF, Macros are used to set run parametersand
    provide a simple analysis code.gui.C,
    GUIMainMacro.C, UserAnalysis.C

16
JSF Kernel
  • JSF is a framework for event-by-event data
    analysis
  • Provides a modular framework suitable for
    analysis consists of several sub-detectors
  • Job flow control
  • Job flow is controlled by a class, JSFSteer
  • Analysis modules are inherited from a class,
    JSFModule
  • Member functions of JSFModule Initialize(),
    BeginRun(..), Process(), EndRun(), Terminate()

JSF job flow concept
A simple example without Macros is prepared in
JSFROOT/example/ZHStudy
17
JSF Kernel - FileIO
  • A class, JSFEventBuf, is defined by JSFModule
  • It is used to define branch of a ROOT Tree (
    used to save/get event data )
  • JSFModule ??JSFEventBuf 1-to-1 correspondance
  • Information of JSFModule written in a root file
    is used to define branch for read-in data.
  • In a user program,
  • To get pointer to JSFModule objects,
  • mod (JSFModule) gJSF-gtFindModule(module_name)
  • To get pointer to JSFEventBuf objects,
  • buf(JSFEventBuf)mod-gtEventBuf()

18
Access to JSFModule and JSFEventBuf
  • In script
  • JSFSteer jsf (defined in gui.C)
    jsf-gtGetEventNumber() JSFXXX
    mod(JSFXXX)jsf-gtFindModule("JSFXXX")
    JSFXXXBuf buf(JSFXXXBuf)mod-gtEventBuf()
  • In compiled code,
  • JSFSteer gJSF (defined in JSFSteer.h)

19
Useful Web information
  • JSF Class Documents
  • CVS
  • http//jlccvs.kek.jp/

20
Parameter file
  • All parameters are managed by JSFEnv class
  • In the userprogram, they are obtained by a
    method, JSFEnvGetValue(Parameter.name,defaul
    t)
  • At run time, paremetercan be changed by three
    method
  • In a file, jsf.conf Parameter.Name value
    !argname comments .
  • As a command line argument, like jsf
    argnamevalue gui.C
  • Through the popup menues of JSF Control Panel
    Each user can add their own menu by a function,
    UserMenu()

argname is an alias of Parameter.Name used to
parse command line argument
21
Macro in JSF
  • In JSF, macros ( xxx.C file ), are used
    extensively to define type of jobs and job
    parameters.

Important macro files in JSFROOT/macro directory
GUIMainMacro.C Define a standard set of
modules and their
parameters gui.C Load GUIMainMacro.C and
libraries for GUI UserAnalysis.C An sample user
macro file for
Initialization, event analysis and drawing
histogram
22
JSF First example in SimTols
  • Examples inSimTools cd SimTools/examples/JSF_
    QuickSim/exam01 jsf gui.CJSF control panel
    popes up

23
UserAnalsis.C
  • Example in JSFROOT/macro/UserAnalysis.C
  • Three functions
  • UserInitialize() Called at Job
    initialization define Histgrams, etc.
  • UserAnalysis() Called at each event for
    event analysis
  • DrawHist() Called to draw histogram

24
GUIMainMacro
25
Build Compilied library
  • buildjsf command

26
Other examples
  • Exam02
  • Exam03
  • Exam04

27
JSF Generators
  • JSFGenerator
  • PythiaGenerator
  • JSFBases - JSFSpring - JSFHadronizer
  • JSFMEGenerator - JSFSHGenerator
    JSFReadMEGenerator - JSFPythiaHadronizer

28
PythiaGenerator
  • Parameters
  • Process ZH, ZZ, WW, enW, eeZ, gammaZ
  • BeamStrahlung
  • Decay Z, W, H
  • InitPythia.C

29
(No Transcript)
30
JSFGeneratorParticle
  • Particle informationID, Mass, Charge, P, X,
    DLPointers to Mother, 1st_Daughter, NDaughter
  • Example
  • jsf/generator
  • using JSFGeneratorParticle
  • EventShape

31
JSFQuickSim
  • Quick Simulator module
  • Detector parameter file
  • (LCLIBROOT)/simjlc/param/detect7.com-- "JLC-I
    Green Book Detector (2 Tesla) , default
  • (LCLIBROOT)/simjlc/param/jlc3T.com-- "ACFA
    Report" (3 Tesla)
  • (LCLIBROOT)/simjlc/param/gld_v1.com-- GLD_V1"
    (3 Tesla) (performance needs to be checked.)
  • JSFQuickSimParam parameter class
  • JLCQuickSim.ParameterFile env. param.
  • Simulator Output data
  • JSFQuickSimBufVTX (IT), CDC, EMC, HDC, LTKCLTrack

32
SIMDSTBuf
  • The format agreed among ACFA group.
  • JSFQuickSIM JSFGenerator
  • Same information can be written to a
    fileaccesible by FORTRAN program.

33
Classes for QuickSim OutputJSFSIMDSTBuf
important Member functions
  • Int_t GetNLTKCLTracks()
  • Int_t GetNCDCTracks()
  • Int_t GetNVTXHits()
  • Int_t GetNEMCHits()
  • Int_t GetNHDCHits()
  • Int_t GetNSMHits()
  • Int_t GetNGeneratorParticles()
  • TObjArray GetLTKCLTracks() // Pointers to
    LTKCLTracks objects array
  • TClonesArray GetCDCTracks() // Pointers to
    CDCTracks object array
  • TClonesArray GetVTXHits() // Pointers to
    VTXhits object array
  • TClonesArray GetEMCHits() // Pointers to
    EMhits object array
  • TClonesArray GetHDCHits() // Pointers to
    HDhits object array
  • TClonesArray GetSMHits() // Pointers to
    SMhits object array
  • TClonesArray GetGeneratorParticles() //
    Pointers to GeneratorParticle objects array

34
JSFLTKCLTrack
  • Information based on "Combined Track Bank"
  • http//www-jlc.kek.jp/subg/offl/lib/docs/cmbtrk/m
    ain.html
  • Data in class
  • P at closest approach to IP
  • Particle type 1Pure gamma, 2Gamma in mixed
    EMC, 3Pure neutral Hadron, 4Hadron in
    mixed HDC, 5Pure charged hadron, 6Unmached
    Track 11Electron candidate, 13muon candidate
  • Source of information 100IHDC 10IEMC
    ICDC
  • Nsig
  • Pointer to CDC Tracks

35
Anlib
  • ANL4DVector TLorentz , Lockable
  • ANLEventSahpe
  • Using TObjArray of ANL4DVector
  • Calculate Thrust, Oblateness, Major/Minor Axis
  • ANLJetFinder
  • base class for Jade, JadeE, Durham jet finder
  • ANLJet ANL4DVectorSee examples in
    (LEDAROOT)/Anlib/examples

36
JLCCVS
  • Latest packages are available at
    http//jlccvs.kek.jp.
  • How to get cvs -d pserveranonymous_at_jlccvs.kek
    .jp/home/cvs/soft login ltRETURNgtPassword
    ltRETURNgt cvs -d pserveranonymous_at_jlccvs.kek.jp
    /home/cvs/soft co jsf ltRETURNgt
  • Update cvs update -P
  • See CVS log cvs log
  • Web interface to see a code history
    http//jlccvs.kek.jp/cgi-bin/cvsweb.cgi/jsf/

37
Information on Web
  • Home page of ACFA-Sim grouphttp//acfahep.kek.jp/
    subg/sim
  • SimTools
  • http//acfahep.kek.jp/subg/sim/simtools

38
Backup slides
39
jsf gui.C
Construct JSFSteer
no
yes
guinew JSFGUIFrame() Start Interactive session
BatchRun()
40
Setup.bash
  • .bashrc
  • Following two lines are essential
  • export SIMTOOLS_DIR/home/sample/SimTools
  • export ROOTSYS/home/root/root-4.03.04
  • next three lines are required to compile
    package
  • export JDK_HOME/home/soft/JDK/j2sdk1.4.2_06
  • export G4INSTALL/home/soft/Geant4/geant4.6.1
  • export LCIO/home/soft/lcio/v01-03
  • ..........

41
.rootrc
  • ROOT uses .rootrc file to set configuration
    parameters.
  • Following two parameters must be defined to run
    JSF.
  • .rootrc file is in your current directory or in
    your home directory.

42
Getting started with SimTools
  • SimTools is a collection of precompiled binaries
    of JSF, Jupiter, Satellites and related package.
  • Compiled on Redhat 9 linux, using gcc 2.2.2
  • Requires ROOT-4.03.04
  • Package will be updated every 1 or 2 months
  • Web site - http//acfahep.kek.jp/subg/sim/simtools
  • For installation,
  • Download from the web site
  • Edit setup.bash properly
  • Do "source setup.bash"
Write a Comment
User Comments (0)
About PowerShow.com