community:hepsim:usage_fast
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
community:hepsim:usage_fast [2016/04/28 15:20] – asc | community:hepsim:usage_fast [2016/04/29 18:29] (current) – [Downloading ROOT files] asc | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | [[community: | ||
====== Fast detector simulation ====== | ====== Fast detector simulation ====== | ||
- | ===== On the fly reconstruction | + | ====== Downloading ROOT files ====== |
- | HepSim ca be used o create ROOT files after fast detector | + | Files after fast detector |
- | one can analyse events after the Delphes fast simulation program on the fly. | + | Assuming that you have installed either** hs-tools** or **Jas4pp** programs, you can download |
- | The latter approach allows to make changes to the detector geometry by the end-users and, at the the same time, perform an analysis. | + | |
- | The output ROOT file only includes histograms defined by the user (but you can also add custom ROOT tree). | + | |
- | To do this, use the [[http:// | + | |
- | that includes | + | |
- | You can find a description of the [[https:// | + | |
- | Follow these steps: | + | Here how you can find all samples that have " |
+ | for a give tag, say rfast004, use this command: | ||
<code bash> | <code bash> | ||
- | wget http:// | + | hs-find tev14_mg5%rfast004 |
- | tar -zvxf FastHepSim.tgz | + | |
- | cd FastHepSim/ | + | |
- | ./ | + | |
</ | </ | ||
- | + | which searches for all samples with the dataset name "tev14_mg5" | |
- | This installs | + | Then download a selected sample as: |
<code bash> | <code bash> | ||
- | cd .. # go to the root directory | + | hs-get tev14_mg5_nlo_httbar%rfast004 |
- | source setup.sh | + | |
</ | </ | ||
- | Next, go to the analysis example: | + | The description |
- | + | ||
- | <code bash> | + | |
- | cd analysis | + | |
- | make | + | |
- | </ | + | |
- | + | ||
- | This compiles the analysis program (analysis.cc) that fills jetPT and muonPT histograms. | + | |
- | Now we need to bring data from [[http:// | + | |
- | we will copy data to the " | + | |
- | + | ||
- | <code bash> | + | |
- | hs-get http:// | + | |
- | </ | + | |
- | This copies 3 files in 2 threads and put them to the directory " | + | |
- | + | ||
- | <code bash> | + | |
- | ./ | + | |
- | ./analysis delphes_card_FCC_basic_notau.tcl histo.root inputdata.txt | + | |
- | </ | + | |
- | + | ||
- | The first command creates a file " | + | |
- | with output histograms. This example uses " | + | |
- | Note that we have removed | + | |
- | + | ||
- | If you want to access other objects (photons, electrons, b-jets), | + | |
- | use [[https:// | + | |
- | You can put external files into the src/ directory where it will be found by Makefile. | + | |
- | + | ||
- | If you still want to look at the event structure in the form of ROOT tree, run the usual Delphes command: | + | |
- | <code bash> | + | |
- | ../ | + | |
- | </ | + | |
- | where output.root will contain all reconstructed objects. In this case, add " | + | |
- | If the input file contains complete (non-slimmed) record, one can add " | + | |
- | + | ||
- | Try also more sophisticated | + | |
- | + | ||
- | * examples/ | + | |
- | * examples/ | + | |
- | + | ||
- | Note that " | + | |
- | + | ||
- | ===== Creating Delphes files ===== | + | |
- | + | ||
- | Here we describe how to make fast detector simulation files | + | |
- | using separate external libraries, without installing FastHepSim. | + | |
- | Use the [[https:// | + | |
- | <code bash> | + | |
- | echo $PROMC $ROOTSYS | + | |
- | </ | + | |
- | This should point to the installation paths of ProMC and ROOT. | + | |
- | + | ||
- | Here are the steps to perform a fast detector simulation using ProMC files from the HepSim repository: | + | |
- | + | ||
- | 1) Download [[http:// | + | |
- | <code bash> | + | |
- | wget http:// | + | |
- | tar -zvxf Delphes-3.2.0.tar.gz | + | |
- | cd Delphes-3.2.0 | + | |
- | ./ | + | |
- | make | + | |
- | </ | + | |
- | This creates the converter " | + | |
- | + | ||
- | 2) For FCC studies, copy and modify the detector configuration file " | + | |
- | <code bash> | + | |
- | cp cards/ | + | |
- | </ | + | |
- | Then remove the line " | + | |
- | We do not use the tau tagging module since it requires complete event records with all mother particles. Since ProMC files are often slimmed by removing some unstable low pT particles and showered partons, Delphes will fail on this line. If you need tau tagging, please use ProMC files with complete particle record. | + | |
- | + | ||
- | 3) Download Monte Carlo files from the [[ http:// | + | |
- | For example, get a file with 5000 ttbar events generated for a 100 TeV collider: | + | |
- | <code bash> | + | |
- | wget http:// | + | |
- | </ | + | |
- | + | ||
- | and then create a ROOT file with reconstructed objects after a fast detector simulation (FCC detector): | + | |
- | + | ||
- | <code bash> | + | |
- | ./ | + | |
- | </ | + | |
- | The conversion typically takes 30 seconds. | + | |
- | + | ||
- | + | ||
- | + | ||
- | ====== Pileups mixing | + | |
- | + | ||
- | One can mix events from a signal ProMC file with | + | |
- | inelastic (minbias) events using a " | + | |
- | <code bash> | + | |
- | hs-pileup pN signal.promc minbias.promc output.promc | + | |
- | </ | + | |
- | Here " | + | |
- | If " | + | |
- | Use large number of events | + | |
- | The barcode of particles inside output.promc indicates the event origin. | + | |
- | + | ||
- | + | ||
- | Here is an example to create events with pileup for the paper [[http:// | + | |
- | We mix h-> HH signal file with MinBias Pythia8 (A2 tune) sample using < | + | |
- | <code bash> | + | |
- | wget http:// | + | |
- | source hs-toolkit/ | + | |
- | wget http:// | + | |
- | wget http:// | + | |
- | hs-pileup p200 tev100_s0higgshiggs_alltau_0001.promc tev100_pythia8_MinBias_l3__A2_001.promc output.promc | + | |
- | </ | + | |
- | Look at the " | + | |
- | + | ||
- | //Note:// pileup mixer is implemented in Java, therefore it uses 64bit zip. For C++ programs, please use ProMCBook(" | + | |
- | files (notice " | + | |
- | + | ||
- | <code cpp> | + | |
- | inputFile = new ProMCBook(argv[i], | + | |
- | </ | + | |
- | in readers/ | + | |
- | <code cpp> | + | |
- | inputFile = new ProMCBook(argv[i], | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ====== Extracting events | + | |
- | + | ||
- | A file can be reduced in size by extracting N events as this: | + | |
- | + | ||
- | < | + | |
- | hs-extract signal.promc N | + | |
- | </ | + | |
- | where signal.promc is the original file, and N is the number of events to extract. | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ====== Comparing MC and data ====== | + | |
- | + | ||
- | HepSim maintains analysis scripts that can be used for comparing Monte Carlo simulations with data from [[http:// | + | |
- | For example, click the link with [[http:// | + | |
- | * Navigate to " | + | |
- | * Start DMelt if you did not yet, and select [File]-[Read script from URL]. Copy and paster the URL link from the HepData database | + | |
- | * Click " | + | |
- | + | ||
- | HepData maintain Jython scripts that use the same syntax as HepSim. You can start from a HepSim validation script, and before the " | + | |
- | the scripts with data from [[http:// | + | |
- | + | ||
- | + | ||
- | ====== How to create ProMC files ====== | + | |
- | + | ||
- | There are several methods to create ProMC files from MC simulations. The most complete | + | |
- | + | ||
- | * If you use Pythia8, look at the example " | + | |
- | * For other generators, such as Herwig++ and Madgraph, write events in either lhe files or hepmc files. Then use the converters " | + | |
- | + | ||
- | If are working on a description of how to fill ProMC files from Jetphox or MCFM. At this moment, contact us to get help. | + | |
- | + | ||
- | We have very limited support for other formats, since they are typically 1) large files (such as HEPMC); 2) cannot be used for streaming over the network; 3) are not suited in a multi-platform environments (i.e. Windows). | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ====== A note for ANL cluster | + | |
- | + | ||
- | For ANL cluster, you do not need to install Delphes. Simply run the reconstruction as: | + | |
- | <code bash> | + | |
- | source / | + | |
- | $DELPHES/ | + | |
- | </ | + | |
- | The cards are located in $DELPHES/ | + | |
- | + | ||
- | If you want to run over multiple ProMC files without manual download, use this command: | + | |
- | + | ||
- | <code bash> | + | |
- | java -cp hepsim.jar hepsim.Exec DelphesProMC delphes.tcl output.root [URL] [Nfiles] | + | |
- | </ | + | |
- | where [URL] is HepSim location of files and [Nfiles] is the number of files for processing. | + | |
- | The output ROOT will be located inside the " | + | |
- | Here is a small example: | + | |
- | <code bash> | + | |
- | java -cp hepsim.jar hepsim.Exec DelphesProMC delphes.tcl output.root | + | |
- | </ | + | |
- | which processes 5 files from [[http:// | + | |
- | Skip " | + | |
- | + | ||
- | ====== 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:// | + | |
- | tar -zvxf ProMC.tgz | + | |
- | cd examples/ | + | |
- | source setup.sh | + | |
- | javac promc_gun.java | + | |
- | java promc_gun pions.promc 100 211 1000 # E=0-100 GeV, PID=211, events=1000 | + | |
- | </ | + | |
- | This creates file " | + | |
- | 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. | + | |
- | + | ||
- | ====== Converting to LCIO ====== | + | |
- | + | ||
- | ProMC files can be converted to LCIO files for full detector simulation. | + | |
- | + | ||
- | <code bash> | + | |
- | wget http:// | + | |
- | tar -zvxf ProMC.tgz | + | |
- | cd examples/ | + | |
- | source setup.sh | + | |
- | javac promc2lcio.java | + | |
- | java promc2lcio file.promc file.slcio | + | |
- | </ | + | |
- | + | ||
- | Look at other directories in " | + | |
- | ====== Record slimming ====== | + | |
- | Particle records from the generators based on LO/ | + | |
- | (PYTHIA, HERWIG, MADGRAPH) are often " | + | |
- | records are slimmed, the following algorithm is used: | + | |
- | + | ||
- | <code python> | + | |
- | (status=1 && pT>0.3 GeV ) or # keep final states with pT>0.3 GeV | + | |
- | (PID=5 || PID=6) | + | |
- | (PID>22 && PID< | + | |
- | (PID>10 && PID< | + | |
- | </ | + | |
- | where PID is absolute value of particle codes. Leptons ane neutrinos are also affected by the slimming pT cut. | + | |
- | Note: for 100 TeV collisions, the pT cut is increased from 0.3 to 0.4 GeV. | + | |
- | For NLO calculations with a few partons + PDF weights, the complete event records are stored. | + | |
- | In the case when the slimming is applied, file sizes are reduced by x2 - x3. In some situation, slimming | + | ====== Analysing ROOT files ====== |
- | can affect detector simulation. For example, you should turn of tau reconstruction in Delphes when slimming is used. | + | |
+ | Read the [[https:// |
community/hepsim/usage_fast.1461856844.txt.gz · Last modified: 2016/04/28 15:20 by asc