Difference between revisions of "Running GSIM CLAS simulation"
(→running GSIM with the generated events) |
(→Setting an Event Generator and create events file) |
||
Line 15: | Line 15: | ||
=== Setting an Event Generator and create events file === | === 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 | ||
− | * The existing EG is a '' | + | * 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. | ||
Line 24: | Line 27: | ||
* The EG should be modified for the specific solid target. An example for 12C can be found at | * The EG should be modified for the specific solid target. An example for 12C can be found at | ||
− | $GSIM/EventGenerator/ | + | $GSIM/EventGenerator/eep_EG.C |
+ | |||
+ | ==== Generate the Events ==== | ||
* To build the event generator use the build compilation command, e.g. | * 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''') | (the result: an executable event generator e.g. '''lepto_exe/LeptoC.exe''') | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==== Look at the generated distributions ==== | ==== Look at the generated distributions ==== | ||
Line 47: | Line 41: | ||
* A utility for observing the generated data exist in the main EG directory '''$GSIM/EventGenerator/LeptoRoot''' | * A utility for observing the generated data exist in the main EG directory '''$GSIM/EventGenerator/LeptoRoot''' | ||
− | * Port the data file into the utility directory | + | * 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 | * A perl script is used to write it in the right format | ||
rm data.dat | rm data.dat | ||
− | ./leptoroot.pl < | + | ./leptoroot.pl < C.dat > data.dat |
− | (the result: a different (just numbers) data file ''' | + | (the result: a different (just numbers) data file '''data.dat''') |
* An executable is then used to write the data into a ROOT TTree | * An executable is then used to write the data into a ROOT TTree |
Revision as of 05:09, 14 March 2015
Contents
- 1 GSIM Inventory
- 2 Running GSIM
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 test.dat) to the converters utility and convert it to txt format.
For example, a file from the 2H target would be converted by
cp $GSIM/EventGenerator/lepto_exe/test.dat $GSIM/EventGenerator/converters ./convert_deut < test.dat > convert_output.dat
(the result: a txt file /converters/convert_output.dat )
- port and convert the txt file to a G3 part format corresponding to the MCTK bank (works better than particle bank in G3)
mv convert_output.dat $GSIM/simulate/Txt2partConverter cd $GSIM/simulate/Txt2partConverter ./txt2part -m -omctk.evt < convert_output.dat
(the result: a part file $GSIM/simulate/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 ../ cd ../
- 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
./GsimRunSequence.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