[[fcs:|<< 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 [[http://atlaswww.hep.anl.gov/hepsim/list.php?find=gev250%rfull001|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 [[http://atlaswww.hep.anl.gov/hepsim/description.php|HepSim manual]].
The results shown on this page use the [[https://atlaswww.hep.anl.gov/asc/jas4pp/|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 [[http://atlaswww.hep.anl.gov/hepsim/description.php|HepSim manual]].
All examples for this page are located in the "examples/slic/" directory.
====== Examples ======
All examples are publicly available from [[http://atlaswww.hep.anl.gov/asc/hepsim/soft/examples/|examples public directory]].
They are also located in the "examples" directory of the downloaded package.
Many examples are based on [[http://atlaswww.hep.anl.gov/hepsim/info.php?item=146|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:
{{:fcs:mc_truth.png?400|}}
===== 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
{{:fcs:mc_pflow.png?400|Z-peak from PFA}}
you can also make a simple fit:
fpad mc_pflow_fit.py
{{:fcs:mc_pflow_fit.png?400|}}
===== 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
{{:fcs:mc_tracks.png?400|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 [[http://atlaswww.hep.anl.gov/hepsim/info.php?item=152|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
{{:fcs:mc_gammagamma.png?400|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 [[http://atlaswww.hep.anl.gov/hepsim/info.php?item=149|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
{{:fcs:mc_jets.png?400|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
{{:fcs:mc_tautau.png?400|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 [[http://atlaswww.hep.anl.gov/hepsim/info.php?item=150|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
{{:fcs:mc_higgs_zz.png?400|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
{{:fcs:mc_higgs_100tev.png.png?400|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
{{:fcs:mc_higgs_bbar.png?400|}}
===== Jet energy resolutions=====
This example shows the jet energy resolution in 2 pT(truth) regions. It is based on inclusive jet sample
[[http://atlaswww.hep.anl.gov/hepsim/info.php?item=134|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.
{{:fcs:mc_jets_resol.png|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:
{{:fcs:mc_hits3d.png?400|}}
Phi angle of calorimeter hits for all events:
{{:fcs:mc_hits.png?400|}}
====== How to download all files ======
Use the [[http://atlaswww.hep.anl.gov/hepsim/description.php| 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
[[http://lcio.desy.de/v02-04-03/doc/manual_html/manual.html|Manual]]. The API is described in
[[http://lcio.desy.de/v02-04-03/doc/api/| LCIO Java API description]].
Look the Java API definition of the needed objects in [[http://www.lcsim.org/sites/lcsim/apidocs/org/lcsim/lcio/package-summary.html|org.lcsim.lcio]]. The data containers of such files are listed below:
BeamCalHits
CalorimeterHitRelations
EM_BARREL
EM_ENDCAP
EcalBarrelHits
EcalEndcapHits
HAD_BARREL
HAD_ENDCAP
HcalBarrelHits
HcalEndcapHits
HelicalTrackHitRelations
HelicalTrackHits
HelicalTrackMCRelations
LumiCalHits
MCParticle
MUON_BARREL
MUON_ENDCAP
MuonBarrelHits
MuonEndcapHits
PandoraPFOCollection
ReconClusters
SiTrackerBarrelHits
SiTrackerEndcapHits
SiTrackerForwardHits
SiVertexBarrelHits
SiVertexEndcapHits
StateAtECal
StateAtEnd
StateAtStart
TKR_RawTrackerHits
TKR_TrackerHits
Tracks
VXD_RawTrackerHits
VXD_TrackerHits
====== Detector geometry ======
The Monte Carlo files located in [[http://atlaswww.hep.anl.gov/hepsim/list.php?find=gev250%rfull001|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 {{:fcs:sidimage.png?400|}}
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.
{{:fcs:sidloi.pdf| SiD detector description}} and {{:fcs:siddod.pdf| 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 [[http://atlaswww.hep.anl.gov/hepsim/description.php|HepSim documentation]] and [[https://atlaswww.hep.anl.gov/asc/wikidoc/doku.php?id=community:refhepsim_analysis|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:
jaspp
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:
{{:fcs:detector.png?400|Jas3}}
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:
{{:fcs:event.png?400|}}
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]**
====== FAQ ======
For some help with SLIC, read:
https://confluence.slac.stanford.edu/display/ilc/ILC+Detector+Simulation+FAQ
https://confluence.slac.stanford.edu/display/ilc/LCSim+Tutorials
~~REFNOTES~~
--- //[[chekanov@anl.gov |Sergei Chekanov]] 2015/10/08 09:31//