introduction to jsf · using jsf control panel · controls menu ¸ run mode ¸ generator type ¸...
TRANSCRIPT
Akiya MiyamotoKEK
Introduction to JSF
� � ��� � ��� � � �
� �� �� � ��� �� ��� � �� � �
*
� �� � �� � � � � ! � � � "$# � � �� ! � �% # � % �'& (*)
+ �� �-, �� .� �/� � � 0 �� 1� 2� � 3 0� � 1� �# ! � � � �� !54 �� �*
(� 1 1� � 0 �� 1� 2� � 3 0� � � .� � % � �� �� � � �& �/� � 6 � �
�� 1# ! � � � �& � � � � �� ! 4 �� �
*
� � 1� 0 �� 1� 2� � 3 0� � � � � 1 � � � � � � �� !54 �� �
7 � �� 0� � � 0 �� 1� 2� � 3 0� � � � � �� 6 � .� � � � ��� 6 8 "� � �
*
9 �: 0� � 6� � �� ! � 0 � � � � � �� 6 � .� �# �
;� � � % �� 1 � � � � .� � �� �, ! � 4 , � 6 3� % � � � � 6 !# �/� �
*
< 0� ! � �� 1� ! � � � �� � � 6 � � # �� � � �� , � �� 1� � � �
= � 0 � # ! .� !# � � � � �>� � .� �� � �/� � �4 6� 1 1 � � � !� ��
� �% # 1� � � �# � � 1�
? @ @�A B C�D E A F G H
IJ K LM N O P Q R K
*
SUT O V WX Y>Z [ N \ O T ] \ T ^ N R`_ NT Y P V N a _ N ^ N ] P Y T P T
T \ L _ T ] O V N \ X b T _ X X P P_ N NJ
*
c X L-d T _ T W N P N_ \fe V a \ P X g_ T W \e ] PZ d [ N \ T ] Y d _ a ^T P N
T ] T [5h \ a \ Pi_ N N O T ] L N \ T ^ N Y a ] P V N \ T W N b a [ N
j J k T O lT g N \
I m Q ] O [ Z Y N Y a ] P V N _ N [ NT \ N
*
kh P V a T n J j e o T \ N \ Rp d _ a ] g q qe r st K ke c S t u S t e o p v S u
j m k_ X ^ a Y N Y T \ \ Nd T _ T P N Yd T O lT g N \*
k Vh \ \ a W w S ^ N ] P g N ] N_ T P X _ \ T ] Y T ] T [h \ a \ Z P a [ a P a N \ m
*
xy x Q o w Z a O lp a We z N [ T \ m*
c Q { w v NT ] P | m
*
cZ d a P N_ w v NT ] P } m
Get Started
~ Set environment variables: JSFROOT
~ Define macro path : ~/.rootrc
~ Start JSF
��� ����� �� ��� � �� ��� �� � ��� �� ���� � � � � � � �� �� � ��� �� � � �� �� � � �� ��� � � � � � �¡ ¢£ � � �� ��� ����� ����� �� ��� � �� ¤� �¥ � �� �� � � � � � � � �� �� � �� �� � ¥ �¦ � � � � � � � � �� � � �� � ¥ �
��§ � ¨ �¥ � � � � � � ��ª© «¦ ¬® � � ¨¯ ° �¥ § � � �¥ ���§ � ¨ �¥ � �± �² © � �± �² � � � �� � � �� � � � �bash
tcsh �¦ § �§ �³ � � � � � �� «¦ ¬® � � ¨¯ ° �¥ § � � �¥ ��¦ § � ¨� �� © � � ¨� �� � � � � � � �� � � � � �
� «¦ ¬�´ µ �� ¶
Using JSF Control Panel
· Controls menu
¸ run mode
¸ generator type
¸ generator parameters¹ pythiaºevent type¹ zh¸ save parameters
· Next Event button
UserAnalysis.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
jsf/ex1/UserAnalysis_1.C
Batch run$ jsf -b -q --maxevt=100 gui.C
» root option:
~ -b : run without X~ -q : quit at the end» jsf option
~ --maxevt=N : N is number of events
Set parameters
» In a file, jsf.conf
» Command line arguments$ jsf -conf=conf_file --optionN=valueN .... gui.C
~ conf_file : a parameter file name~ optionN=valueN: parameter name and its value
Format of jsf.confParameter.name : value#!option_name# comment-1# comment-2
Access JSFModule and JSFEventBuf
» In scipt
~ 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)
Build compiled library
» buildjsf command
jsf/ex2/buildjsf
JSFGenerator
» JSFGenerator
» PythiaGenerator
» JSFBases - JSFSpring - JSFHadronizer
» JSFMEGenerator - JSFSHGenerator JSFReadMEGenerator - JSFPythiaHadronizer
PythiaGenerator
» Parameters
~ Process : ZH, ZZ, WW, enW, eeZ, gammaZ~ BeamStrahlung~ Decay: Z, W, H» InitPythia.C
JSFGeneratorParticle
» Particle informationID, Mass, Charge, P, X, DLPointers to Mother, 1st_Daughter, NDaughter
» Example
~ jsf/generator¼ using JSFGeneratorParticle¼ EventShape
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) ½ JSFQuickSimParam : parameter class½ JLCQuickSim.ParameterFile: env. param.» Simulator Output data
½ JSFQuickSimBufVTX (+IT), CDC, EMC, HDC, LTKCLTrack
JSFSIMDST(Buf)
» The format agreed among ACFA group.
¾ JSFQuickSIM + JSFGenerator
¾ Same information can be written to a fileaccesible by FORTRAN program.
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 arrayTClonesArray *GetCDCTracks(); // Pointers to CDCTracks object array TClonesArray *GetVTXHits(); // Pointers to VTXhits object arrayTClonesArray *GetEMCHits(); // Pointers to EMhits object arrayTClonesArray *GetHDCHits(); // Pointers to HDhits object arrayTClonesArray *GetSMHits(); // Pointers to SMhits object arrayTClonesArray *GetGeneratorParticles(); // Pointers to GeneratorParticle objects array
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
¾ ANL4DVector: TLorentz , Lockable
¾ ANLEventSahpe
½ Using TObjArray of ANL4DVector½ Calculate Thrust, Oblateness, Major/Minor Axis¾ ANLJetFinder
½ base class for Jade, JadeE, Durham jet finder¾ ANLJet : ANL4DVector
See examples in $(KFLIBROOT)/Anlib/examples
Sample Analysis
¾ jsf/quicksim
½ e+e- ¿ ZZ event ½ Use JSFLTKCLTrack class½ Use ANLJetFinder¾ jsf/jetanal
½ e+e- ¿ ZH event ( Z ¿qq only )½ Compiled program to create TTree, JetEvent½ JetEvent ¿ JSFJet ¿ JSFVertex½ Example to access by Tree->Draw()½ Example to access by your own event loop
À�Á Â Ã Ä Â Å Ä*Æ Ç Ç È/É Ç
Ê-Ë Ì Ë Í ËÎ Ï$ÐÑ Í�Ò ÓÔ Õ Ó Ö × ÏÙØ Ú Ï Ø Î
Û Ó × Ï Ø ÓÑ Õ�Ü Ø Ó Ë × Ì Ô Ë ÝÑ Ý Ï Í Ï ÕßÞ
Ñ Í Ë Ø Î Õ à Ó Õ ÔÑ Ð á Õ ÔÑ â ÓÐ Õ Ë Ô Þ
Ñ Ø Ú × Ï Ø Ú Ì Ë Ï Ø Õäã å à Ó Ô Ó
Õ ÔÑ â ÓÐ Õ Ë Ô Þ Ë Ò Ó Ô ÍÑ Ì Ì ã
æÑ ã ã ÕÑ Î Î Ï Ø Îç ã Ó Ìéè êë ì ìí ê îií ï�ð í ì îí ñ òó ô ôM corr
õ M VTX2 ö P T
2 ÷ P T
P Tø ù
ú û P VTX
Package Install
ü ROOT
ý http://www-jlc.kek.jp/~miyamoto/linux/redhat/rh9.0/etcroot-3.05.05.tar.gz þ Compiled on RedHat 9.0ÿ Package location is defined by ROOTSYS
� run_config is used for configure
� CERNLIB for RedHat 8/9
� http://www-jlc.kek.jp/~miyamoto/linux/redhat/rh8.0/etccern-2002-bin/include/lib/share.tar.gz
� LCLIB, Physsim, JSF
� Get from JLCCVS.KEK.JP
JLCCVS
� Latest packages are available at jlccvs.kek.jp.
� How to get:$ cvs -d :pserver:[email protected]/home/cvs/soft login <RETURN>Password: <RETURN>$ cvs -d :pserver:[email protected]:/home/cvs/soft co jsf <RETURN>
� Update$ cvs update
� Web interface to see a code historyhttp://jlccvs.kek.jp/cgi-bin/cvsweb.cgi/jsf/
Build Packages
Environment parameters LCLIBROOT, KFLIBROOT, JSFROOT� Set PATH, etc. ref. setup.bash
� LCLIB $ cd $LCLIBROOT� $ ./configure --pythia-major-version 6 --pythia-lib-dir $(JSFROOT)/lib --pythia-lib-name Pythia6� $ make install
� JSF� $ cd $JSFROOT� download pythia source file and save it in share/pythia directory� edit cnfig/configure.in ( set Pythia version number )� $ make install or make fullinstall
� KFLIBROOT� $ cd $KFLIBROOT/Anlib/src� $ xmkmf -a� $ make� $ make install
� ~/.rootrc� Unix.*.Root.DynamicPath: .:$(ROOTSYS)/lib:$(JSFROOT)/lib:$(KFLIBROOT)/lib� Unix.*.Root.MacroPath: .:$(ROOTSYS)/macro:$(JSFROOT)/macro
� then ready to run jsf gui.C
Information on Web
� Home page of ACFA-Sim grouphttp://acfahep.kek.jp/subg/sim
� Mailing list: [email protected]
JSF update information
! JSF
"http://www-jlc.kek.jp/subg/offl/jsf
# Links to lclib, physsim, and documents in this page