Fork me on GitHub

source: git/examples/delphes_card_FCC_basic.tcl@ be2222c

ImprovedOutputFile Timing dual_readout llp
Last change on this file since be2222c 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
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 NeutrinoFilter
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
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
417#####################
418# MC truth jet finder
419#####################
420
421module FastJetFinder GenJetFinder {
422 set InputArray NeutrinoFilter/filteredParticles
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
522 add Branch ChargedHadronMomentumSmearing/chargedHadrons ChargedHadron Track
523 add Branch Hcal/eflowNeutralHadrons NeutralHadron Tower
524 add Branch Ecal/eflowPhotons Photon Photon
525
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.