Fork me on GitHub

source: svn/trunk/examples/delphes_card_FCC_basic.tcl@ 1395

Last change on this file since 1395 was 1378, checked in by Pavel Demin, 11 years ago

fix formatting

File size: 16.5 KB
Line 
1#######################################
2# Order of execution of various modules
3#######################################
4
5set ExecutionPath {
6 ParticlePropagator
7
8 ChargedHadronTrackingEfficiency
9 ElectronTrackingEfficiency
10 MuonTrackingEfficiency
11
12 ChargedHadronMomentumSmearing
13 ElectronEnergySmearing
14 MuonMomentumSmearing
15
16 TrackMerger
17 ImpactParameterSmearing
18
19 Ecal
20 Hcal
21
22 TowerMerger
23 EFlowMerger
24
25 MissingET
26
27 GenJetFinder
28 FastJetFinder
29
30 JetEnergyScale
31
32 TrackCountingBTagging
33 TauTagging
34
35 ScalarHT
36
37 TreeWriter
38}
39
40#################################
41# Propagate particles in cylinder
42#################################
43
44module ParticlePropagator ParticlePropagator {
45 set InputArray Delphes/stableParticles
46
47 set OutputArray stableParticles
48 set ChargedHadronOutputArray chargedHadrons
49 set ElectronOutputArray electrons
50 set MuonOutputArray muons
51
52 # radius of the magnetic field coverage, in m
53 set Radius 5.00
54 # half-length of the magnetic field coverage, in m
55 set HalfLength 12.00
56
57 # magnetic field
58 set Bz 5.0
59}
60
61####################################
62# Charged hadron tracking efficiency
63####################################
64
65module Efficiency ChargedHadronTrackingEfficiency {
66 set InputArray ParticlePropagator/chargedHadrons
67 set OutputArray chargedHadrons
68
69 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
70
71 # tracking efficiency formula for charged hadrons
72 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
73 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) + \
74 (abs(eta) <= 1.5) * (pt > 1.0) * (0.99) + \
75 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
76 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 1.0) * (0.98) + \
77 (abs(eta) > 4.0) * (0.00)}
78
79}
80
81##############################
82# Electron tracking efficiency
83##############################
84
85module Efficiency ElectronTrackingEfficiency {
86 set InputArray ParticlePropagator/electrons
87 set OutputArray electrons
88
89 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
90
91 # tracking efficiency formula for electrons
92 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
93 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) + \
94 (abs(eta) <= 1.5) * (pt > 1.0) * (0.99) + \
95 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
96 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 1.0) * (0.98) + \
97 (abs(eta) > 4.0) * (0.00)}
98}
99
100##########################
101# Muon tracking efficiency
102##########################
103
104module Efficiency MuonTrackingEfficiency {
105 set InputArray ParticlePropagator/muons
106 set OutputArray muons
107
108 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
109
110 # tracking efficiency formula for muons
111 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
112 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) + \
113 (abs(eta) <= 1.5) * (pt > 1.0) * (0.99) + \
114 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
115 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 1.0) * (0.98) + \
116 (abs(eta) > 4.0) * (0.00)}
117}
118
119########################################
120# Momentum resolution for charged tracks
121########################################
122
123module MomentumSmearing ChargedHadronMomentumSmearing {
124 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
125 set OutputArray chargedHadrons
126
127 # set ResolutionFormula {resolution formula as a function of eta and pt}
128
129 # resolution formula for charged hadrons
130 set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.02) + \
131 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e1) * (0.01) + \
132 (abs(eta) <= 1.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.03) + \
133 (abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05) + \
134 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
135 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt <= 1.0e1) * (0.02) + \
136 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 1.0e1 && pt <= 2.0e2) * (0.04) + \
137 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 2.0e2) * (0.05)}
138}
139
140#################################
141# Energy resolution for electrons
142#################################
143
144module EnergySmearing ElectronEnergySmearing {
145 set InputArray ElectronTrackingEfficiency/electrons
146 set OutputArray electrons
147
148 # set ResolutionFormula {resolution formula as a function of eta and energy}
149
150 # resolution formula for electrons
151 set ResolutionFormula { (abs(eta) <= 4.0) * (energy > 0.1 && energy <= 2.0e1) * (energy*0.007) + \
152 (abs(eta) <= 4.0) * (energy > 2.0e1) * sqrt(energy^2*0.005^2 + energy*0.02^2) + \
153 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.05^2 + energy*1.00^2)}
154
155}
156
157###############################
158# Momentum resolution for muons
159###############################
160
161module MomentumSmearing MuonMomentumSmearing {
162 set InputArray MuonTrackingEfficiency/muons
163 set OutputArray muons
164
165 # set ResolutionFormula {resolution formula as a function of eta and pt}
166
167 # resolution formula for muons
168 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1 && pt <= 5.0) * (0.02) + \
169 (abs(eta) <= 0.5) * (pt > 5.0 && pt <= 1.0e2) * (0.015) + \
170 (abs(eta) <= 0.5) * (pt > 1.0e2 && pt <= 2.0e2) * (0.03) + \
171 (abs(eta) <= 0.5) * (pt > 2.0e2) * (0.05 + pt*1.e-4) + \
172 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1 && pt <= 5.0) * (0.03) + \
173 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 5.0 && pt <= 1.0e2) * (0.02) + \
174 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 1.0e2 && pt <= 2.0e2) * (0.04) + \
175 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05 + pt*1.e-4) + \
176 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 0.1 && pt <= 5.0) * (0.04) + \
177 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 5.0 && pt <= 1.0e2) * (0.035) + \
178 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 1.0e2 && pt <= 2.0e2) * (0.05) + \
179 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 2.0e2) * (0.05 + pt*1.e-4)}
180}
181
182##############
183# Track merger
184##############
185
186module Merger TrackMerger {
187# add InputArray InputArray
188 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
189 add InputArray ElectronEnergySmearing/electrons
190 add InputArray MuonMomentumSmearing/muons
191 set OutputArray tracks
192}
193
194################################
195# Track impact parameter smearing
196################################
197
198module ImpactParameterSmearing ImpactParameterSmearing {
199 set InputArray TrackMerger/tracks
200 set OutputArray tracks
201
202
203# absolute impact parameter smearing formula (in mm) as a function of pt and eta
204set ResolutionFormula {(pt > 0.1 && pt <= 5.0) * (0.010) + \
205 (pt > 5.0) * (0.005)}
206
207}
208
209#############
210# ECAL
211#############
212
213module SimpleCalorimeter Ecal {
214 set ParticleInputArray ParticlePropagator/stableParticles
215 set TrackInputArray ImpactParameterSmearing/tracks
216
217 set TowerOutputArray ecalTowers
218 set EFlowTowerOutputArray eflowPhotons
219
220 set pi [expr {acos(-1)}]
221
222 # lists of the edges of each tower in eta and phi
223 # each list starts with the lower edge of the first tower
224 # the list ends with the higher edged of the last tower
225
226 # 5 degrees towers
227 set PhiBins {}
228 for {set i -36} {$i <= 36} {incr i} {
229 add PhiBins [expr {$i * $pi/36.0}]
230 }
231 foreach eta {-1.566 -1.479 -1.392 -1.305 -1.218 -1.131 -1.044 -0.957 -0.87 -0.783 -0.696 -0.609 -0.522 -0.435 -0.348 -0.261 -0.174 -0.087 0 0.087 0.174 0.261 0.348 0.435 0.522 0.609 0.696 0.783 0.87 0.957 1.044 1.131 1.218 1.305 1.392 1.479 1.566 1.653} {
232 add EtaPhiBins $eta $PhiBins
233 }
234
235 # 10 degrees towers
236 set PhiBins {}
237 for {set i -18} {$i <= 18} {incr i} {
238 add PhiBins [expr {$i * $pi/18.0}]
239 }
240 foreach eta {-4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.95 -2.868 -2.65 -2.5 -2.322 -2.172 -2.043 -1.93 -1.83 -1.74 -1.653 1.74 1.83 1.93 2.043 2.172 2.322 2.5 2.65 2.868 2.95 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525} {
241 add EtaPhiBins $eta $PhiBins
242 }
243
244 # 20 degrees towers
245 set PhiBins {}
246 for {set i -9} {$i <= 9} {incr i} {
247 add PhiBins [expr {$i * $pi/9.0}]
248 }
249 foreach eta {6 -5.6 -5.3 -5 -4.7 -4.525 4.7 5 5.3 5.6 6} {
250 add EtaPhiBins $eta $PhiBins
251 }
252 # default energy fractions {abs(PDG code)} {fraction of energy deposited in ECAL}
253
254 add EnergyFraction {0} {0.0}
255 # energy fractions for e, gamma and pi0
256 add EnergyFraction {11} {1.0}
257 add EnergyFraction {22} {1.0}
258 add EnergyFraction {111} {1.0}
259 # energy fractions for muon, neutrinos and neutralinos
260 add EnergyFraction {12} {0.0}
261 add EnergyFraction {13} {0.0}
262 add EnergyFraction {14} {0.0}
263 add EnergyFraction {16} {0.0}
264 add EnergyFraction {1000022} {0.0}
265 add EnergyFraction {1000023} {0.0}
266 add EnergyFraction {1000025} {0.0}
267 add EnergyFraction {1000035} {0.0}
268 add EnergyFraction {1000045} {0.0}
269 # energy fractions for K0short and Lambda
270 add EnergyFraction {310} {0.3}
271 add EnergyFraction {3122} {0.3}
272
273 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
274 set ResolutionFormula { (abs(eta) <= 4.0) * sqrt(energy^2*0.005^2 + energy*0.02^2) + \
275 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.05^2 + energy*1.00^2)}
276
277
278}
279
280#############
281# HCAL
282#############
283
284module SimpleCalorimeter Hcal {
285 set ParticleInputArray ParticlePropagator/stableParticles
286 set TrackInputArray ImpactParameterSmearing/tracks
287
288 set TowerOutputArray hcalTowers
289 set EFlowTowerOutputArray eflowNeutralHadrons
290
291 set pi [expr {acos(-1)}]
292
293 # lists of the edges of each tower in eta and phi
294 # each list starts with the lower edge of the first tower
295 # the list ends with the higher edged of the last tower
296
297 # 5 degrees towers
298 set PhiBins {}
299 for {set i -36} {$i <= 36} {incr i} {
300 add PhiBins [expr {$i * $pi/36.0}]
301 }
302 foreach eta {-1.566 -1.479 -1.392 -1.305 -1.218 -1.131 -1.044 -0.957 -0.87 -0.783 -0.696 -0.609 -0.522 -0.435 -0.348 -0.261 -0.174 -0.087 0 0.087 0.174 0.261 0.348 0.435 0.522 0.609 0.696 0.783 0.87 0.957 1.044 1.131 1.218 1.305 1.392 1.479 1.566 1.653} {
303 add EtaPhiBins $eta $PhiBins
304 }
305
306 # 10 degrees towers
307 set PhiBins {}
308 for {set i -18} {$i <= 18} {incr i} {
309 add PhiBins [expr {$i * $pi/18.0}]
310 }
311 foreach eta {-4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.95 -2.868 -2.65 -2.5 -2.322 -2.172 -2.043 -1.93 -1.83 -1.74 -1.653 1.74 1.83 1.93 2.043 2.172 2.322 2.5 2.65 2.868 2.95 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525} {
312 add EtaPhiBins $eta $PhiBins
313 }
314
315 # 20 degrees towers
316 set PhiBins {}
317 for {set i -9} {$i <= 9} {incr i} {
318 add PhiBins [expr {$i * $pi/9.0}]
319 }
320 foreach eta {6 -5.6 -5.3 -5 -4.7 -4.525 4.7 5 5.3 5.6 6} {
321 add EtaPhiBins $eta $PhiBins
322 }
323
324 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
325 add EnergyFraction {0} {1.0}
326 # energy fractions for e, gamma and pi0
327 add EnergyFraction {11} {0.0}
328 add EnergyFraction {22} {0.0}
329 add EnergyFraction {111} {0.0}
330 # energy fractions for muon, neutrinos and neutralinos
331 add EnergyFraction {12} {0.0}
332 add EnergyFraction {13} {0.0}
333 add EnergyFraction {14} {0.0}
334 add EnergyFraction {16} {0.0}
335 add EnergyFraction {1000022} {0.0}
336 add EnergyFraction {1000023} {0.0}
337 add EnergyFraction {1000025} {0.0}
338 add EnergyFraction {1000035} {0.0}
339 add EnergyFraction {1000045} {0.0}
340 # energy fractions for K0short and Lambda
341 add EnergyFraction {310} {0.7}
342 add EnergyFraction {3122} {0.7}
343
344 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
345 set ResolutionFormula { (abs(eta) <= 4.0) * sqrt(energy^2*0.03^2 + energy*0.50^2) + \
346 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.05^2 + energy*1.00^2)}
347}
348
349
350####################
351# Tower Merger (in case not using e-flow algorithm)
352####################
353
354module Merger TowerMerger {
355# add InputArray InputArray
356 add InputArray Ecal/ecalTowers
357 add InputArray Hcal/hcalTowers
358 set OutputArray towers
359}
360
361####################
362# Energy flow merger
363####################
364
365module Merger EFlowMerger {
366# add InputArray InputArray
367 add InputArray ImpactParameterSmearing/tracks
368 add InputArray Ecal/eflowPhotons
369 add InputArray Hcal/eflowNeutralHadrons
370 set OutputArray eflow
371}
372
373
374###################
375# Missing ET merger
376###################
377
378module Merger MissingET {
379# add InputArray InputArray
380 add InputArray EFlowMerger/eflow
381 set MomentumOutputArray momentum
382}
383
384
385##################
386# Scalar HT merger
387##################
388
389module Merger ScalarHT {
390# add InputArray InputArray
391 add InputArray EFlowMerger/eflow
392 set EnergyOutputArray energy
393}
394
395#####################
396# MC truth jet finder
397#####################
398
399module FastJetFinder GenJetFinder {
400 set InputArray Delphes/stableParticles
401
402 set OutputArray jets
403
404 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
405 set JetAlgorithm 6
406 set ParameterR 0.5
407
408 set JetPTMin 5.0
409}
410
411############
412# Jet finder
413############
414
415module FastJetFinder FastJetFinder {
416# set InputArray Calorimeter/towers
417 set InputArray EFlowMerger/eflow
418
419 set OutputArray jets
420
421 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
422 set JetAlgorithm 6
423 set ParameterR 0.5
424
425 set JetPTMin 5.0
426}
427
428##################
429# Jet Energy Scale
430##################
431
432module EnergyScale JetEnergyScale {
433 set InputArray FastJetFinder/jets
434 set OutputArray jets
435
436 # scale formula for jets
437 set ScaleFormula {1.00}
438}
439
440##########################
441# Track Counting b-tagging
442##########################
443
444module TrackCountingBTagging TrackCountingBTagging {
445 set TrackInputArray ImpactParameterSmearing/tracks
446 set JetInputArray JetEnergyScale/jets
447
448 set BitNumber 0
449
450 # maximum distance between jet and track
451 set DeltaR 0.3
452
453 # minimum pt of tracks
454 set TrackPTMin 1.0
455
456 # minimum transverse impact parameter (in mm)
457 set TrackIPMax 2.0
458
459 # minimum ip significance for the track to be counted
460 set SigMin 6.5
461
462 # minimum number of tracks (high efficiency n=2, high purity n=3)
463 set Ntracks 3
464}
465
466
467##########################
468# tau-tagging
469##########################
470
471
472module TauTagging TauTagging {
473 set ParticleInputArray Delphes/allParticles
474 set PartonInputArray Delphes/partons
475 set JetInputArray JetEnergyScale/jets
476
477 set DeltaR 0.5
478
479 set TauPTMin 1.0
480
481 set TauEtaMax 4.0
482
483 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
484
485 # default efficiency formula (misidentification rate)
486 add EfficiencyFormula {0} {0.001}
487 # efficiency formula for tau-jets
488 add EfficiencyFormula {15} {0.4}
489}
490
491##################
492# ROOT tree writer
493##################
494
495module TreeWriter TreeWriter {
496# add Branch InputArray BranchName BranchClass
497 add Branch Delphes/allParticles Particle GenParticle
498 add Branch GenJetFinder/jets GenJet Jet
499
500 add Branch ChargedHadronMomentumSmearing/chargedHadrons ChargedHadron Track
501 add Branch Hcal/eflowNeutralHadrons NeutralHadron Tower
502 add Branch Ecal/eflowPhotons Photon Photon
503
504 add Branch ElectronEnergySmearing/electrons Electron Electron
505 add Branch MuonMomentumSmearing/muons Muon Muon
506 add Branch JetEnergyScale/jets Jet Jet
507 add Branch MissingET/momentum MissingET MissingET
508 add Branch ScalarHT/energy ScalarHT ScalarHT
509}
510
Note: See TracBrowser for help on using the repository browser.