Fork me on GitHub

source: git/README@ 181ff53

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 181ff53 was 181ff53, checked in by Michele Selvaggi <michele.selvaggi@…>, 9 years ago

test

  • Property mode set to 100644
File size: 3.7 KB
Line 
1Quick start with Delphes
2========================
3
4Commands to get the code:
5
6 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.3.2.tar.gz
7
8 tar -zxf Delphes-3.3.2.tar.gz
9
10Commands to compile the code:
11
12 cd Delphes-3.3.2
13
14 make
15
16Finally, we can run Delphes:
17
18 ./DelphesHepMC
19
20Command line parameters:
21
22 ./DelphesHepMC config_file output_file [input_file(s)]
23 config_file - configuration file in Tcl format
24 output_file - output file in ROOT format,
25 input_file(s) - input file(s) in HepMC format,
26 with no input_file, or when input_file is -, read standard input.
27
28Let's simulate some Z->ee events:
29
30 wget http://cp3.irmp.ucl.ac.be/downloads/z_ee.hep.gz
31 gunzip z_ee.hep.gz
32 ./DelphesSTDHEP cards/delphes_card_CMS.tcl delphes_output.root z_ee.hep
33
34or
35
36 curl -s http://cp3.irmp.ucl.ac.be/downloads/z_ee.hep.gz | gunzip | ./DelphesSTDHEP cards/delphes_card_CMS.tcl delphes_output.root
37
38For more detailed documentation, please visit
39
40https://cp3.irmp.ucl.ac.be/projects/delphes/wiki/WorkBook
41
42
43Configure Delphes on lxplus.cern.ch
44====================================
45
46git clone git://github.com/delphes/delphes.git Delphes
47
48cd Delphes
49
50source /afs/cern.ch/sw/lcg/external/gcc/4.9.3/x86_64-slc6/setup.sh
51
52source /afs/cern.ch/sw/lcg/app/releases/ROOT/6.06.00/x86_64-slc6-gcc49-opt/root/bin/thisroot.sh
53
54make
55
56
57Simple analysis using TTree::Draw
58=================================
59
60Now we can start ROOT and look at the data stored in the output ROOT file.
61
62Start ROOT and load Delphes shared library:
63
64 root -l
65 gSystem->Load("libDelphes");
66
67Open ROOT file and do some basic analysis using Draw or TBrowser:
68
69 TFile::Open("delphes_output.root");
70 Delphes->Draw("Electron.PT");
71 TBrowser browser;
72
73Note 1: Delphes - tree name, it can be learned e.g. from TBrowser
74
75Note 2: Electron - branch name; PT - variable (leaf) of this branch
76
77Complete description of all branches can be found in
78
79 doc/RootTreeDescription.html
80
81This information is also available at
82
83 https://cp3.irmp.ucl.ac.be/projects/delphes/wiki/WorkBook/RootTreeDescription
84
85Macro-based analysis
86====================
87
88Analysis macro consists of histogram booking, event loop (histogram filling),
89histogram display.
90
91Start ROOT and load Delphes shared library:
92
93 root -l
94 gSystem->Load("libDelphes");
95
96Basic analysis macro:
97
98{
99 // Create chain of root trees
100 TChain chain("Delphes");
101 chain.Add("delphes_output.root");
102
103 // Create object of class ExRootTreeReader
104 ExRootTreeReader *treeReader = new ExRootTreeReader(&chain);
105 Long64_t numberOfEntries = treeReader->GetEntries();
106
107 // Get pointers to branches used in this analysis
108 TClonesArray *branchElectron = treeReader->UseBranch("Electron");
109
110 // Book histograms
111 TH1 *histElectronPT = new TH1F("electron pt", "electron P_{T}", 50, 0.0, 100.0);
112
113 // Loop over all events
114 for(Int_t entry = 0; entry < numberOfEntries; ++entry)
115 {
116
117 // Load selected branches with data from specified event
118 treeReader->ReadEntry(entry);
119
120 // If event contains at least 1 electron
121 if(branchElectron->GetEntries() > 0)
122 {
123 // Take first electron
124 Electron *electron = (Electron*) branchElectron->At(0);
125
126 // Plot electron transverse momentum
127 histElectronPT->Fill(electron->PT);
128
129 // Print electron transverse momentum
130 cout << electron->PT << endl;
131 }
132
133 }
134
135 // Show resulting histograms
136 histElectronPT->Draw();
137}
138
139
140More advanced macro-based analysis
141==================================
142
143The 'examples' directory contains ROOT macros Example1.C, Example2.C and Example3.C.
144
145Here are the commands to run these ROOT macros:
146
147 root -l
148 .X examples/Example1.C("delphes_output.root");
149
150or
151
152 root -l examples/Example1.C'("delphes_output.root")'
Note: See TracBrowser for help on using the repository browser.