Fork me on GitHub

source: git/examples/delphes_card_FCC_basic.tcl@ 9e991f8

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

"PdgCodeFilter module added. Updated card with NeutrinoFilter before GenJet clustering"

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