[[snowmass2013:montecarlo| < gSystem->Load("libDelphes"); TFile::Open("delphes_output.root"); Delphes->Draw("Electron.PT"); TBrowser browser; ==== 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|}} tar -zvxf antup.tgz cd antup So you will see 2 directories: delphes3 antup Now go to the directory "antup" and link the existing Delphes3 installation: ln -s ../Delphes3 delphes In my case, it will look as: analysis.h A_RUN_TEST data.in delphes -> ../Delphes3/ main.cxx Make_input out Check that you see the shared Delphes3 file ls -l delphes/*so 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]]): #!/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); Run this code as: python test.py file.root 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]]. --- //[[chekanov@anl.gov|Sergei Chekanov]] 2013/03/13 10:23//