Introduction to SimTools - PowerPoint PPT Presentation

Introduction to simtools l.jpg
Download
1 / 42

  • 244 Views
  • Updated On :
  • Presentation posted in: Travel / Places

Introduction to SimTools. Akiya Miyamoto KEK Jan 2006. 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. KEK ILC Computing. Outside KEK. KEK DMZ Zone.

Related searches for Introduction to SimTools

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

Download Presentation

Introduction to SimTools

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


Introduction to simtools l.jpg

Introduction to SimTools

Akiya Miyamoto

KEK

Jan 2006


Plan of tutorials l.jpg

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


Kek ilc computing l.jpg

KEK ILC Computing

Outside KEK

KEK DMZ Zone

GW

KEKCC-Gate

JLCGATE

router

FJ Network

jlclogin

jlclogin2

jlccpu11

.

.

.

jlccpu06

jlccpu07

jlccpuxx


Cpu configuration l.jpg

CPU Configuration

jlclogin

RedHat 9.0

Will be terminated

/home

/data, /data2, /data3

/data4/users

/data4/soft/samples

jlclogin2

SL4.2

/home/data2, /daat3, /data4 ( NFS mount of jlclogin disk)

/data5, /data6 : for public soft files.


Local commands l.jpg

Local commands

  • Submit job

    • $ submit [-h host] command

  • Submit job as a batch job

    • $ submit command > log 2>&1 & ( 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”


How to setup your account l.jpg

How to setup your account

$ cd

$ cp /home/miyamoto/Tutorials/misc/dot.rootrc ~/.rootrc

$ mkdir Tutorials

$ cd Tutorials

$ cp /proj/soft/Release/1.21/setup.bash .

$ source setup.bash

  • You are ready to run jsf/jupiter/satellites program


Information on the web l.jpg

Information on the web

  • http://acfahep.kek.jp/subg/sim/simtools

  • http://www-jlc.kek.jp/subg/offl/jsf

  • http://jlccvs.kek.jp/


Files in simtools l.jpg

Files in SimTools

SimTools

tools

lcbase

Leda

jsf

Physsim

Jupiter

Uranus

Satellites

docs

examples

QuickSim

exam01

.....

Jupiter

Satellites

setup.bash

Readme


Functions of each components l.jpg

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/subg/sim/soft

  • All packages are kept in the CVS. Accessible from http://jlccvs.kek.jp/


Slide10 l.jpg

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


Using jsf control panel l.jpg

Using JSF Control Panel

  • Controls menu

    • run mode

    • generator type

    • generator parameters

      • pythia

        • event type

          • zh

    • save parameters

  • Next Event button


Batch run l.jpg

Batch Run

  • root option:

    • -b : run without X

    • -q : quit at the end

  • jsf option

    • --maxevt=N : N is number of events

$jsf -b -q --maxevt=100 gui.C


Jsf basics l.jpg

JSF Basics


Jsf features 1 l.jpg

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.


Jsf features 2 l.jpg

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


Jsf conponents l.jpg

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 ROOT+libJSF.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


Jsf kernel l.jpg

  • Create modules

  • Jon Initialization

    • Begin Run

      • Event analysis

    • End Run

  • Job Termination

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 JSFModuleInitialize(), BeginRun(..), Process(…), EndRun(), Terminate()

JSF job flow concept

A simple example without Macros

is prepared in $JSFROOT/example/ZHStudy


Jsf kernel fileio l.jpg

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->FindModule(“module_name”)

    • To get pointer to JSFEventBuf objects,

      buf=(JSFEventBuf*)mod->EventBuf()


Access to jsfmodule and jsfeventbuf l.jpg

Access to JSFModule and JSFEventBuf

  • In script

    • JSFSteer *jsf (defined in gui.C)jsf->GetEventNumber(); JSFXXX *mod=(JSFXXX*)jsf->FindModule("JSFXXX"); JSFXXXBuf *buf=(JSFXXXBuf*)mod->EventBuf();

  • In compiled code,

    • JSFSteer *gJSF (defined in JSFSteer.h)


Useful web information l.jpg

Useful Web information

  • JSF Class Documents

  • CVS

    • http://jlccvs.kek.jp/


Parameter file l.jpg

Parameter file

  • All parameters are managed by JSFEnv class

    • In the userprogram, they are obtained by a method,JSFEnv::GetValue(“Parameter.name”,default)

  • At run time, paremetercan be changed by three method

    • In a file, jsf.confParameter.Name: value #!argname # comments ….

    • As a command line argument, like $ jsf –argname=value 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.Nameused to parse command line argument


Macro in jsf l.jpg

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


Jsf first example in simtols l.jpg

JSF – First example in SimTols

  • Examples inSimTools$ cd [SimTools]/examples/JSF_QuickSim/exam01$ jsf gui.CJSF control panel popes up


Useranalsis c l.jpg

UserAnalsis.C

  • Example in $JSFROOT/macro/UserAnalysis.C

  • Three functions:

    • UserInitialize() : Called at Job initializationdefine Histgrams, etc.

    • UserAnalysis() : Called at each eventfor event analysis

    • DrawHist() : Called to draw histogram


Guimainmacro l.jpg

GUIMainMacro


Build compilied library l.jpg

Build Compilied library

  • buildjsf command


Other examples l.jpg

Other examples

  • Exam02

  • Exam03

  • Exam04


Jsf generators l.jpg

JSF Generators

  • JSFGenerator

  • PythiaGenerator

  • JSFBases - JSFSpring - JSFHadronizer

  • JSFMEGenerator - JSFSHGenerator JSFReadMEGenerator - JSFPythiaHadronizer


Pythiagenerator l.jpg

PythiaGenerator

  • Parameters

    • Process : ZH, ZZ, WW, enW, eeZ, gammaZ

    • BeamStrahlung

    • Decay: Z, W, H

  • InitPythia.C


Jsfgeneratorparticle l.jpg

JSFGeneratorParticle

  • Particle informationID, Mass, Charge, P, X, DLPointers to Mother, 1st_Daughter, NDaughter

  • Example

    • jsf/generator

      • using JSFGeneratorParticle

      • EventShape


Jsfquicksim l.jpg

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


Simdstbuf l.jpg

SIMDSTBuf

  • The format agreed among ACFA group.

  • JSFQuickSIM + JSFGenerator

  • Same information can be written to a fileaccesible by FORTRAN program.


Classes for quicksim output jsfsimdstbuf l.jpg

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


Jsfltkcltrack l.jpg

JSFLTKCLTrack

  • Information based on "Combined Track Bank"

    • http://www-jlc.kek.jp/subg/offl/lib/docs/cmbtrk/main.html

  • Data in class

    • P at closest approach to IP

    • Particle type: 1=Pure gamma, 2=Gamma in mixed EMC, 3=Pure neutral Hadron, 4=Hadron in mixed HDC, 5=Pure charged hadron, 6=Unmached Track 11=Electron candidate, 13=muon candidate

    • Source of information : 100*IHDC + 10*IEMC + ICDC

    • Nsig

    • Pointer to CDC Tracks


Anlib l.jpg

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


Jlccvs l.jpg

JLCCVS

  • Latest packages are available at http://jlccvs.kek.jp.

  • How to get:$ cvs -d :pserver:anonymous@jlccvs.kek.jp/home/cvs/soft login <RETURN>Password: <RETURN>$ cvs -d :pserver:anonymous@jlccvs.kek.jp:/home/cvs/soft co jsf <RETURN>

  • 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/


Information on web l.jpg

Information on Web

  • Home page of ACFA-Sim grouphttp://acfahep.kek.jp/subg/sim

  • SimTools

    • http://acfahep.kek.jp/subg/sim/simtools


Slide39 l.jpg

Backup slides


Slide40 l.jpg

IsBatch ?

jsf gui.C

Construct JSFSteer

no

yes

gui=new JSFGUIFrame()

Start Interactive session

BatchRun()


Setup bash l.jpg

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

  • ..........


Rootrc l.jpg

.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.


  • Login