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

Next revision
Previous revision
Next revisionBoth sides next revision
community:hepsim:dev_truth [2016/04/27 14:13] – created asccommunity:hepsim:dev_truth [2016/06/13 13:46] – [Using Madgraph5] asc
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.
 +
 + 
 +
 +====== Using Pythia8======
 +
 +ProMC files can be created directly by Pythi8 directly. Look at the example "main46.cc" inside the Pythi8 distribution.
 +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 $PROMC/examples). The converters are:
 +
 +  * hepmc2promc  
 +  * lhe2promc 
 +  * stdhep2promc
 +
 +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. 
 +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.txt · Last modified: 2016/06/13 13:52 by asc