Difference between revisions of "Running GSIM CLAS simulation"

From Hall A Wiki
Jump to: navigation, search
(running GSIM with the generated events)
(running GSIM with the generated events)
Line 70: Line 70:
 
* port the events file to the shared directory  
 
* port the events file to the shared directory  
  
   mv mctk.evt ../
+
   mv mctk.evt $GSIM
   cd ../
+
   GoGSIM
  
 
* to run the first XXXX events through the simulation, modify the '''ffread.in''' file so that it triggers XXXX events
 
* to run the first XXXX events through the simulation, modify the '''ffread.in''' file so that it triggers XXXX events

Revision as of 04:15, 14 March 2015

GSIM Inventory

  • GSIM directory is to be located on the farm, at a large enough work disk. An example of the simulation inventory can be found at
 /work/halla/e07006/disk1/Erez/gsim  (will be used for the remainder of the documentation as $GSIM)
  • To get directly to the GSIM location an alias was set, so simply type
 GoGSIM

Running GSIM

Setting an Event Generator and create events file

  • The simple kinematic event generator we use at TAU is based on actual data:

e-e'p events in which 1 proton was detect serve as baseline to generation of a second proton, using the c.m. kinematics calculation

  • For jets/showers, PYTHIA and Lepto64 are used as the base-line event generator for GSIM
  • The existing EG is a ROOT macro located under $GSIM/EventGenerator/ directory.


Setting Event Generator

  • The EG should be modified for the specific solid target. An example for 12C can be found at
 $GSIM/EventGenerator/eep_EG.C

Generate the Events

  • To build the event generator use the build compilation command, e.g.
 root -l  eep_EG.C

(the result: an executable event generator e.g. lepto_exe/LeptoC.exe)

Look at the generated distributions

  • A utility for observing the generated data exist in the main EG directory $GSIM/EventGenerator/LeptoRoot
  • Port the data file into the utility directory (cp the file to the right location)
  • A perl script is used to write it in the right format
 rm data.dat
 ./leptoroot.pl < C.dat > data.dat 

(the result: a different (just numbers) data file data.dat)

  • An executable is then used to write the data into a ROOT TTree
 ./leptoroot 

(the result: a ROOT file LeptoRoot/data.root that will enable you to observe the generated distributions)

Converting generated data files to GEANT-3 format input

  • port the generated-events data file (in this example C.txt) to the converter utility and convert it. e.g.
 cp test.dat $GSIM/EventGenerator/Txt2PartConverter
 ./txt2part -m -omctk.evt < C.txt 

(the result: a part file mctk.evt suitable for GSIM)

Running generated events through a CLASS GEANT-3 simulation

running GSIM with the generated events

  • port the events file to the shared directory
 mv mctk.evt $GSIM
 GoGSIM
  • to run the first XXXX events through the simulation, modify the ffread.in file so that it triggers XXXX events
  • then execute the shell script that runs GSIM
 ./gsim_Batch.csh
  • or simply use the run command
 RunGSIM

(the result: 2 bos + 1 txt files , gsimtest.txt, gsimtest.bos, gpp_test.bos and the output file outfile1 )

  • gsimtest.bos contains the data 'collected' by CLASS (ADC/TDC)
  • gpp_test.bos incorporates preprocessing to add smearing of the data
  • outfile1 is the physical data after REConstruction SYStem analyzed it

Look at the output files

  • using COUNTBS one could count the number of events, e.g.
 ./countbs gsimtest.bos

(Note the first additional two events are header and are not to be accounted)

  • using BOSDUMP code, one can look at the data from the terminal, e.g.
 ./bosdump gsimtest.bos
 ./bosdump gpp_test.bos


Converting the GSIM output file to ROOT

  • this is the easy part now. For an output file named outfile1 e.g., use
 ./WriteRootDst -o output.root -GSIM outfile1

(the result: a root file /output.root)


Observing the output ROOT TTree

  • The ROOT TTree is called
 CLASEVENT
  • To look at the data use e.g.
 CLASEVENT -> StartViewer()
  • The 'collected data' is stored in EVNT.XXXX variables, while the generated data is stored in GSIM.XXXX variables.


Running GSIM in interactive mode

  • follow the steps up to ./gsim_test.csh (without executing the shell script!)
  • source the necessary environmental set-ups
 source /group/clas/builds/environment.csh
  • run GSIM
 gsim_int -ffread ffread.in -mcin XXXX.evt

(where XXXX.evt is the event file, e.g. mctk.evt)

  • inside GSIM you will be prompted to answer a question. disregard it (type \return)
  • execute the following commands
 switch 1 2 
 dcut clas 2 0 10 10 0.015 0.015
 trig 1


[back to Tel Aviv University SRC Group]