User Tools

Site Tools


snowmass2013:analyse_d3

Differences

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

Link to this comparison view

snowmass2013:analyse_d3 [2013/06/01 02:56]
asc [How to analyze in PyROOT]
snowmass2013:analyse_d3 [2014/04/24 01:51]
Line 1: Line 1:
-[[snowmass2013:montecarlo| <<back]] 
- 
-==== How to analyze in C++ ==== 
- 
-This example shows how to run a program over all files in a certain directory, fill histograms (pT and jet mass) and 
-save histograms in an output ROOT file. 
- 
-Look at the workbook of Delphes3 [[https://cp3.irmp.ucl.ac.be/projects/delphes/wiki/WorkBook| Delphes3 workbook]]. 
-To get started, install Delphes. You  should see the library "libDelphes.so" The you can browser the ROOT tree as: 
- 
-<code C> 
-gSystem->Load("libDelphes"); 
-TFile::Open("delphes_output.root"); 
-Delphes->Draw("Electron.PT"); 
-TBrowser browser; 
-</code> 
- 
- 
-==== Advanced C++ example  ==== 
- 
-This assumes that Delphes3 is already installed. You have the directory "Delphes3" with the shared file "libDelphes.so" inside. 
- 
-Get the analysis file: {{:snowmass2013:antup.tgz|}} 
- 
-<code bash> 
-tar -zvxf antup.tgz 
-cd antup 
-</code> 
- 
-So you will see 2 directories: 
-<code bash> 
-delphes3 
-antup 
-</code> 
- 
- 
-Now go to the directory "antup"  and link the existing  Delphes3 installation: 
- 
-<code bash> 
-ln -s  ../Delphes3  delphes 
-</code> 
- 
-In my case, it will look as: 
- 
-<code bash> 
-analysis.h 
-A_RUN_TEST 
-data.in 
-delphes -> ../Delphes3/ 
-main.cxx 
-Make_input 
-out 
-</code> 
- 
-Check that you see the shared Delphes3 file 
- 
-<code bash> 
-ls -l delphes/*so 
-</code> 
- 
-You should see "delphes/libDelphes.so"  
- 
- 
-The main file which fills histograms is "main.cxx". It fills some jet variables and save histograms in the ROOT file in "/out" directory. 
- 
-To run the code, run "./A_RUN_TEST" which loops over the existing ROOT files.  
-But before you do this, you will need to set "DATA_DIR" variable inside "A_RUN_TEST" to navigate to the directory with your "ROOT" files. 
- 
-==== How to analyze in PyROOT ==== 
- 
-If ROOT was compiled using "python" option, you can use PyROOT to loop over events. Here is a small example to plot transverse moment of electrons (based on the original code of Peter Onyisi, with some modifications, see 
-[[https://indico.cern.ch/getFile.py/access?contribId=5&resId=0&materialId=slides&confId=255032| his talk]]): 
- 
-<code python test.py> 
-#!/usr/bin/env python 
-# Based on P.Onyisi example 
-import sys,os,string 
-if len(sys.argv)<2: 
-    print "Usage: python test.py file.root" 
-    print "Exit.." 
-    sys.exit() 
-from ROOT import * 
-TH1D.SetDefaultSumw2() 
-gSystem.Load('libDelphes.so') 
- 
-f=TFile(sys.argv[1]) 
-t=f.Delphes # extract the tree 
-h=TH1D('ele','Electron #eta',8,-4,4) # initialize a histogram 
-c1=TCanvas() # build a canvas 
- 
-n=0 
-for e in t:   # loop over all events 
-  if n%100==0: print "Event=",n 
-  n=n+1 
-  for electron in e.Electron: # loop over all electrons 
-     h.Fill(electron.Eta) 
-h.Draw() 
-c1.Print('electron.pdf') 
-if (raw_input("Press any key to exit") != "-9999"): 
-    c1.Close(); sys.exit(1); 
- 
-</code> 
- 
-Run this code as:  
-<code> 
-python test.py file.root 
-</code> 
- 
-You will see this image: 
-{{:snowmass2013:screenshot_from_2013-05-31_21_55_04.png?200|}} 
- 
-====How to analyze in Java==== 
- 
-MC truth information and most of ROOT files with Delphes outputs 
- are stored in the PROMC file format which can be analyzed on any platform. 
-Read this [[snowmass2013:analyse_d36_promc| this section]]. 
- 
- --- //[[[email protected]|Sergei Chekanov]] 2013/03/13 10:23// 
- 
  
snowmass2013/analyse_d3.txt · Last modified: 2014/04/24 01:51 (external edit)