User Tools

Site Tools


community:hepsim:dev_truth

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
community:hepsim:dev_truth [2016/04/27 14:24]
asc
community:hepsim:dev_truth [2016/06/13 13:52] (current)
asc [Using converters]
Line 1: Line 1:
 +[[community:hepsim:|<< back to HepSim manual]]
 +
 ====== Creating truth-level samples ====== ====== Creating truth-level samples ======
  
 HepSim is optimized to keep truth-level in the "archive" format called [[asc:promc|ProMC]]. It allows to keep data in a compact form optimized for data streaming over the network, together with logfiles which will help to identify the MC settings. HepSim is optimized to keep truth-level in the "archive" format called [[asc:promc|ProMC]]. It allows to keep data in a compact form optimized for data streaming over the network, together with logfiles which will help to identify the MC settings.
  
-ProMC files can be created directly by Pythi8 (the example "main46.cc" in the Pythi8). Or, you can convert files in the format "HEPMC", "LHE", "STDHEP" to ProMC as shown in the "example" directory of the installed ProMC package (look at $PROMC/examples). The converters are:+ 
  
-  * hepmc2promc +====== Using Pythia8====== 
 + 
 +ProMC files can be created directly by Pythia8. Look at the example "examples/main46.ccmain46.cc" inside the Pythi8 distribution. To compile it, 
 +please  install [[https://atlaswww.hep.anl.gov/asc/wikidoc/doku.php?id=asc:promc:installation|ProMC package]] first, before running configuration script 
 +of Pythia8. If the environmental variable "PROMC" was set, then you can compile "main46.cc" example. 
 + 
 + 
 +====== Using converters ====== 
 +You can convert files in the format "HEPMC", "LHE", "STDHEP" to ProMC as shown in the "example" directory of the installed ProMC package (look at the directory $PROMC/examples). The converters are: 
 + 
 +  * hepmc2promc  
   * lhe2promc    * lhe2promc 
   * stdhep2promc   * stdhep2promc
  
 Look at the  [[asc:promc|ProMC manual]] for more examples. Look at the  [[asc:promc|ProMC manual]] for more examples.
 +
 +====== Using Madgraph5======
 +
 +To run MG5 with ProMC, please  install [[https://atlaswww.hep.anl.gov/asc/wikidoc/doku.php?id=asc:promc:installation|ProMC package]] first.
 +Then download MG5 package with preconfigured ProMC converter from  [[https://atlaswww.hep.anl.gov/hepsim/soft/package_mg14tev.tgz|package_mg14tev.tgz]].
 +
 +<code bash>
 +wget https://atlaswww.hep.anl.gov/hepsim/soft/package_mg14tev.tgz
 +tar -zvxf package_mg14tev.tgz
 +</code>
 +
 +Now check that ProMC is correctly installed. You should be able to compile "stdhep2promc" converter.
 +
 +<code bash>
 +cd package/stdhep2promc
 +make
 +</code>
 +If successful, then you should see the binary file "stdhep2promc".
 +
 +Now let compile and run "MG5". Go to the directory "MG5_aMC_v2_3_2_2". This directory has the standard MG5 package, a few useful bash scripts, and a few preconfigured 
 +jobs for 14 TeV pp collision. We assume 64bit Scientific Linux 6.5 computer. Setup gcc47. In the case of ATLAS setup, use:
 +
 +<code bash>
 +source setup_gcc47.sh
 +</code>
 +
 +To create multiple number of files in the ProMC format for "ttbar+jet", run this script:
 +
 +<code bash>
 +./A_RUN_ttbar_jet
 +</code>
 +
 +It does the following: It runs the script "RUN_ttbar_jet_14tev" which creates promc files inside "out" directory. It also reset the seed for each jobs,
 +and runs the promc converter.
 +The number of output files are given inside the script A_RUN_ttbar_jet. You should reduce this number if you want to stop earlier.
 +
 +All MG5 settings for this particular run are in the directory "run_ttbar_jet_14tev". This is the standard MG5 directory. For example, the MG5 settings are given for this script are given in the directory "run_ttbar_jet_14tev/Cards"
 +
 +
 +To check the output ProMC file, look at the browser:
 +
 +<code bash>
 +wget  http://atlaswww.hep.anl.gov/asc/promc/download/browser_promc.jar  # get GUI browser
 +java -jar browser_promc.jar out/file.promc 
 +</code>
 +where "file" is the name of the file being created. Typically, it takes 3h to create one file with 10,000 events.
 +
 +You can host these files on your data storage, or send an email to "[email protected]" to relocated them to the OSG-grid file storage.
 + 
 +====== Single-particle gun ======
 +
 +ProMC files with single particles can be created using the ProMC. Download the recent ProMC package and
 +look at the directory:
 +
 +<code bash>
 +wget http://atlaswww.hep.anl.gov/asc/promc/download/current.php -O ProMC.tgz
 +tar -zvxf ProMC.tgz
 +cd examples/particle_gun
 +source setup.sh
 +javac promc_gun.java
 +java promc_gun pions.promc 100 211 1000 # E=0-100 GeV, PID=211, events=1000
 +</code>
 +This creates file "pions.promc" with 2 particles per event, with the maximum energy of 100 GeV (randomly distributed from 0 to 100).
 +The particles are pions  (pi+, pid=211). The total number of events 1000. The phi and theta distributions are flat
 +After file creation, look at the events using the file browser. You can also modify the java code to change the single-particle events.
 +
 +
 +====== Pileups mixing  ======
 +
 +One can mix events from a signal ProMC file with
 +inelastic (minbias) events using a "pileup" mixing program.
 +The next example assumes that either the hs-tools package or Jas4pp is installed. 
 +
 +
 +<code bash>
 +hs-pileup pN signal.promc minbias.promc output.promc
 +</code>
 +Here "p" indicates that N events from minbias.promc will be mixed with every event from signal.promc using a Poisson distribution.
 +If "p" is missing, then exactly N events from minbias.promc will be mixed with single event from signal.promc.
 +Use large number of events in minbias.promc to minimise reuse of the same events from the minbias.promc.
 +The barcode of particles inside output.promc indicates the event origin.
 +
 +
 +Here is an example to create events with pileup for the paper [[http://arxiv.org/abs/1504.08042]] Phys. Rev. D 91, 114018 (2015):
 +We mix h-> HH signal file with MinBias Pythia8 (A2 tune) sample using <mu>=200 (Poisson mean): 
 +<code bash>
 +wget http://atlaswww.hep.anl.gov/asc/hepsim/soft/hs-toolkit.tgz -O - | tar -xz;
 +source hs-toolkit/setup.sh
 +wget http://mc.hep.anl.gov/asc/hepsim/events/pp/100tev/minbias_a2_pythia8_l3/tev100_pythia8_MinBias_l3__A2_001.promc
 +wget http://mc.hep.anl.gov/asc/hepsim/events/pp/100tev/s0higgshiggs_alltau/tev100_s0higgshiggs_alltau_0001.promc
 +hs-pileup p200 tev100_s0higgshiggs_alltau_0001.promc tev100_pythia8_MinBias_l3__A2_001.promc output.promc 
 +</code>
 +Look at the "output.promc" with the browser to see how events are filled. Now you can use  DELPHES to create fast simulation files using events with pileup.
 +
 +//Note:// pileup mixer is implemented in Java, therefore it uses 64bit zip. For C++ programs, please use ProMCBook("file.promc", "r", true) to  open ProMC 
 +files (notice "true" as a new argument). For example, for the Delphes program, change the line 
 +
 +<code cpp>
 +inputFile = new ProMCBook(argv[i], "r");       # 32bit zip
 +</code>
 +in readers/DelphesProMC.cpp to
 +<code cpp>
 +inputFile = new ProMCBook(argv[i], "r", true); # 64bit zip
 +</code>
 +
 +
 +
 +
 + --- //[[[email protected]|Sergei Chekanov]] 2016/04/27 09:24//
community/hepsim/dev_truth.1461767064.txt.gz · Last modified: 2016/04/27 14:24 by asc