Fork me on GitHub

source: svn/trunk/examples/delphes_card_TLEP.tcl@ 1371

Last change on this file since 1371 was 1370, checked in by Michele Selvaggi, 10 years ago

committed delphes_card_FCC_basic.tcl

File size: 16.5 KB
RevLine 
[1358]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
[1370]17 ImpactParameterSmearing
18
19 Ecal
20 Hcal
21
22 TowerMerger
[1358]23 EFlowMerger
24
25 MissingET
26
27 GenJetFinder
28 FastJetFinder
29
30 JetEnergyScale
[1370]31
32 TrackCountingBTagging
[1358]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
[1370]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
[1358]209#############
[1370]210# ECAL
[1358]211#############
212
[1370]213module SimpleCalorimeter Ecal {
[1358]214 set ParticleInputArray ParticlePropagator/stableParticles
[1370]215 set TrackInputArray ImpactParameterSmearing/tracks
[1358]216
[1370]217 set TowerOutputArray ecalTowers
218 set EFlowTowerOutputArray eflowPhotons
[1358]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 }
[1370]252 # default energy fractions {abs(PDG code)} {fraction of energy deposited in ECAL}
253
254 add EnergyFraction {0} {0.0}
[1358]255 # energy fractions for e, gamma and pi0
[1370]256 add EnergyFraction {11} {1.0}
257 add EnergyFraction {22} {1.0}
258 add EnergyFraction {111} {1.0}
[1358]259 # energy fractions for muon, neutrinos and neutralinos
[1370]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}
[1358]269 # energy fractions for K0short and Lambda
[1370]270 add EnergyFraction {310} {0.3}
271 add EnergyFraction {3122} {0.3}
[1358]272
273 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
[1370]274 set ResolutionFormula { (abs(eta) <= 4.0) * sqrt(energy^2*0.005^2 + energy*0.02^2) + \
[1358]275 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.05^2 + energy*1.00^2)}
276
[1370]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) + \
[1358]346 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.05^2 + energy*1.00^2)}
347}
348
[1370]349
[1358]350####################
[1370]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####################
[1358]362# Energy flow merger
363####################
364
365module Merger EFlowMerger {
366# add InputArray InputArray
[1370]367 add InputArray ImpactParameterSmearing/tracks
368 add InputArray Ecal/eflowPhotons
369 add InputArray Hcal/eflowNeutralHadrons
[1358]370 set OutputArray eflow
371}
372
[1370]373
[1358]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
[1370]440##########################
441# Track Counting b-tagging
442##########################
[1358]443
[1370]444module TrackCountingBTagging TrackCountingBTagging {
445 set TrackInputArray ImpactParameterSmearing/tracks
[1358]446 set JetInputArray JetEnergyScale/jets
447
448 set BitNumber 0
449
[1370]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}
[1358]465
466
[1370]467##########################
468# tau-tagging
469##########################
[1358]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
[1370]499
500 add Branch Hcal/eflowNeutralHadrons NeutralHadron Tower
501 add Branch Ecal/eflowPhotons Photon Photon
[1358]502 add Branch ChargedHadronMomentumSmearing/chargedHadrons ChargedHadron Track
503 add Branch ElectronEnergySmearing/electrons Electron Electron
504 add Branch MuonMomentumSmearing/muons Muon Muon
505 add Branch JetEnergyScale/jets Jet Jet
506 add Branch MissingET/momentum MissingET MissingET
507 add Branch ScalarHT/energy ScalarHT ScalarHT
508}
509
Note: See TracBrowser for help on using the repository browser.