<< back

SiD detector studies

This wiki describes physics studies using the SiD detector. The following HepSim samples are available:

  • gev250ee_pythia6_qcd_all (jets, QCD)
  • gev250ee_pythia6_zpole_ee (Z → ee)
  • gev250ee_pythia6_zpole_tautau (Z → tautau)
  • gev250ee_pythia6_zpole_mumu (Z → mumu)
  • gev250ee_pythia6_zpole_bbar (Z → bbar)
  • gev250ee_pythia6_higgs_zz_4l (H → ZZ* → 4l)
  • gev250ee_pythia6_higgs_bbar (H → bbar)
  • gev250ee_pythia6_higgs_gamgam (H → gamma+gamma)

You can find the Monte Carlo samples after full detector simulation in the LCIO format using the rfull001 search link. The tag “rfull001” points to the files with simulations using the original SiD detector. Select “info” and then find the tag “rfull001” which prints LCIO files for a given MC sample. You can download these samples as discussed in HepSim manual.

The results shown on this page use the Jas4pp program. The installation does not have external dependencies besides Java. Make sure Java7 and above is installed. Then run these commands to install the package using Linux/Mac with the “bash” shell:


wget http://atlaswww.hep.anl.gov/asc/jas4pp/download/current.php -O jas4pp.tgz
tar -zvxf jas4pp.tgz
cd jas4pp
source ./setup.sh # takes 5 sec for first-time optimization


The last command optimizes Java packages for the Python language. Now you are ready to run over any file with truth-level and datector-simulation files, such as LCIO and ProMC. This program can be used for:

  • Downloading and searching HepSim data
  • Processing ProMC files from HepSim
  • Running over SLCIO files with Geant4 simulated / reconstructed events.
  • Data analysis (jets, physics vectors, histogram packages)
  • Visualisation of reconstructed events using Wired4 display

You can find more details in HepSim manual. All examples for this page are located in the “examples/slic/” directory.


All examples are publicly available from examples public directory. They are also located in the “examples” directory of the downloaded package. Many examples are based on gev250ee_pythia6_zpole_ee data sample (Z→e+e-). We assume that the working directory is “examples”. Do not forget to run “setup.sh” before running the examples.

Z-peak using MC truth

Let's calculate Z peak from thuth-level electrons. Get 4 files (in 2 threads) and copy all files to the directory “gev250ee_pythia6_zpole”:

source ./setup.sh
cd examples/slic/
hs-get gev250ee_pythia6_zpole_ee%rfull001 gev250ee_pythia6_zpole_ee 2 4 # download 4 files
fpad mc_truth.py

Alternatively, run this example in the FPad editor:

fpad_edit mc_truth.py

It will pop-up an editor to edit the script. Then press “Run”. You can use also Windows and run “fpad.bat”. The result of this file is:

Z-peak using PFA

Let's calculate Z peak from particle-flow objects after full reconstruction using Pandora. You do not run “hs-get” command if you have done this before.

hs-get gev250ee_pythia6_zpole_ee%rfull001 gev250ee_pythia6_zpole_ee 2 4 # download 4 files
fpad mc_pflow.py

Z-peak from PFA

you can also make a simple fit:

fpad mc_pflow_fit.py

Z-peak using tracks

Let's calculate Z peak from reconstructed tracks (no Pandora and no particle identification) You do not run “hs-get” command if you have done this before.

hs-get gev250ee_pythia6_zpole_ee%rfull001 gev250ee_pythia6_zpole_ee 2 4 # download 4 files
fpad mc_tracks.py

Z-peak from tracks

Higgs from γ γ

Let's calculate the Higgs peak from reconstructed photons after the PFA algorithm. This time you will need H→ gamma+gamma sample gev250ee_pythia6_higgs_gamgam: We set pT(γ)>10 GeV.

hs-get gev250ee_pythia6_higgs_gamgam%rfull001 gev250ee_pythia6_higgs_gamgam 2 10 # get 10 files in 2 threads
fpad mc_gammagamma.py

Higgs from gamma+gamma

Z-peak using b-jets

Let's calculate Z peak from reconstructed b-jets. Jets are reconstructed using the Durham kT algorithm with ycut=0.05. This time we will download Z→ bbar sample. Look at gev250ee_pythia6_zpole_bbar. We assume pT(jet)>20 GeV.

hs-get gev250ee_pythia6_zpole_bbar%rfull001 gev250ee_pythia6_zpole_bbar  2 4 # download 4 files
fpad mc_jets.py

Z-peak from 2 jets

No any optimization for jet reconstruction was used. Consider other approaches to make more realistic dijet mass.

Z-peak using tau-tau

Let's calculate Z peak from two Durham jets as in the previous example, but using Z→tau+tau sample. Should see shift from 90 GeV (neutrino).

hs-get gev250ee_pythia6_zpole_tautau%rfull001 gev250ee_pythia6_zpole_tautau 2 50 # download 50 files
fpad mc_tautau.py

Z-peak from tau tau

No any optimization for jet reconstruction was used. Consider other approaches to make more realistic tau reconstruction..

Higgs from 4 leptons

Let's calculate Higgs peak from reconstructed leptons in the channel H(125)→ ZZ* → 4L (electrons and muons). We will use particle flow objects to reconstruct and identify electrons and muons. This time we will download Higgs→ 4 lepton sample. Look at gev250ee_pythia6_higgs_zz_4l.

hs-get gev250ee_pythia6_higgs_zz_4l%rfull001 gev250ee_pythia6_higgs_zz_4l 2 100 # download 100 files in 2 threads
fpad mc_higgs_zz.py

Higgs from 4L

You can also look at some exotic configurations. For example, let's reconstruct Higgs at 100 TeV using SLIC:

hs-get tev100_pythia6_higgs_zz_4l%rfull001 tev100_pythia6_higgs_zz_4l # get 100 TeV sample
fpad mc_higgs_zz_100tev.py

4-leptons at 100 TeV

Higgs from bbar

This example uses the Jade algorithm to force 2 jets, and uses H→ bbar sample:

hs-get gev250ee_pythia6_higgs_bbar%rfull001 gev250ee_pythia6_higgs_bbar  2  15 
fpad mc_higgs_bbar.py

Jet energy resolutions

This example shows the jet energy resolution in 2 pT(truth) regions. It is based on inclusive jet sample gev250ee_pythia6_qcd_all. We use Durham jets with pT(truth)>20 GeV. Jet are constructed from PFA objects. Truth jet and reco jets are matched using dR<0.05 in phi and rapidity.

Jet resolution

Showing calorimeter hits in 3D

One can also visualize calorimeter objects, such as hits. For example, here are calorimeter hits for Z→ bbar event (only one event is shown)

fpad mc_hits3D.py # hits in 3D for 1 events
fpad mc_hits.py   # phi distribution of hits

Location of calorimeter hits for 1 event:

Phi angle of calorimeter hits for all events:

How to download all files

Use the HepSim manual. You do not need to “hs-tools” since it is already installed. You can list and download files for Z to e+e- automatically as

hs-ls  gev250ee_pythia6_zpole_ee%rfull001 # list all files
hs-get gev250ee_pythia6_zpole_ee%rfull001 # download all files (can be large sample!)

Here “gev250ee_pythia6_zpole_ee” is the dataset name, and “rfull001” is the reconstruction tag.

How to find MC after full simulation

To find event samples with full simulations, use the full search and the string “rfull”. For example, use the http://atlaswww.hep.anl.gov/hepsim/list.php?find=rfull link that lists all samples that have been processed with a full detector simulation.

LCIO event structure

The standard set of containers is available from the LCIO files posted on HepSim. Read Manual. The API is described in LCIO Java API description.

Look the Java API definition of the needed objects in org.lcsim.lcio. The data containers of such files are listed below:




Detector geometry

The Monte Carlo files located in rfull001 link are done using the sidloi3 detector: http://lcsim.org/detectors/sidloi3.html. The XML geometry is given in http://lcsim.org/detectors/sidloi3.zip.

The SiD detector is shown here

You can view detector geometries posted in http://lcsim.org/detectors/ as this. Download zip file and extract it. Find file “compact.xml”, and then run geometry converter as:

gconverter -o heprep compact.xml  sidloi3.heprep

Now you can open this file in the Jas and view it. Look at other options by running “./gconverter_gui”.

Here are a few links to the description of this detector.

SiD detector description and SiD detector description (older version)

Using C++/ROOT with LCIO

If you need to read LCIO files in C++ code with ROOT/FastJet, use this example package:

wget http://atlaswww.hep.anl.gov/hepsim/soft/lcio-cpp.tgz -O - | tar -xz;
cd lcio-cpp; make 

It will compile “example.cpp” file linking FastJet package. Look at README file to see how to install the “LCIO” package required by this example. Your LCIO“ files from HepSim should be in the directory “data”.

Analysing truth-level files

You can run over the original truth-level files from HepSim:

wget http://mc.hep.anl.gov/asc/hepsim/events/ee/250gev/pythia6_zpole_tautau/macros/pythia6_zpole_tautau.py
fpad pythia6_zpole_tautau.py

This example prints the pT distribution of e, mu, taus. Typically, HepSim contains validation files with the extension py that can check the validity of truth-level samples. See the description in HepSim documentation and HepSim API

Visualizing events with Jas+Wired

You can run Jas+Wired to visualize the simulated events. The Wired program is included in the Jas4pp program, so you simply run it as:


This will start Jas3 with all needed plugins. Then copy the detector geometry “heprep” file to the local directory where the file “jas” is:

wget http://atlaswww.hep.anl.gov/hepsim/soft/detectors/sidloi3/sidloi3.heprep

This detector corresponds to “rfull001” tag used for the reconstruction of pythia6_zpole_ee (Z→e+e-).

Now we can visualize the detector as [File]-[Open data source]-[HepRep] XML and select the downloaded file “sidloi3.heprep”. This is how to do this using the command line:

jaspp sidloi3.heprep

You will see the detector layout:


Now, we will read the event: Open any *.slcio file you copied from HepSim as [File]-[Open data source]-[LCIO] file. Then click a small button [Go] (top menu bar). It will process events. Then select again [File]-[New]-[Wired 4 view]. You will get an image in the Wired4 display as this:

Now press [Go] again to look at next event.

If you want to see how data records are organized inside the slcio file, do this [File]-[New]-[LCSim Event browser]