Fork me on GitHub

source: git/cards/delphes_card_ILD.tcl@ da12534

ImprovedOutputFile Timing dual_readout llp
Last change on this file since da12534 was 7d551f1d, checked in by Michele Selvaggi <michele.selvaggi@…>, 8 years ago

fixed GenMissingET

  • Property mode set to 100644
File size: 16.9 KB
Line 
1# based on arXiv:1306.6329
2
3#######################################
4# Order of execution of various modules
5#######################################
6
7set ExecutionPath {
8 ParticlePropagator
9
10 ChargedHadronTrackingEfficiency
11 ElectronTrackingEfficiency
12 MuonTrackingEfficiency
13
14 ChargedHadronMomentumSmearing
15 ElectronMomentumSmearing
16 MuonMomentumSmearing
17
18 TrackMerger
19
20 ECal
21 HCal
22
23 TowerMerger
24 EFlowMerger
25
26 PhotonEfficiency
27 PhotonIsolation
28
29 ElectronFilter
30 ElectronEfficiency
31 ElectronIsolation
32
33 MuonEfficiency
34 MuonIsolation
35
36 NeutrinoFilter
37 GenJetFinder
38 FastJetFinder
39
40 MissingET
41 GenMissingET
42
43 JetEnergyScale
44
45 JetFlavorAssociation
46
47 BTagging
48
49 TauTagging
50
51 ScalarHT
52
53 UniqueObjectFinder
54
55 TreeWriter
56}
57
58#################################
59# Propagate particles in cylinder
60#################################
61
62module ParticlePropagator ParticlePropagator {
63 set InputArray Delphes/stableParticles
64
65 set OutputArray stableParticles
66 set ChargedHadronOutputArray chargedHadrons
67 set ElectronOutputArray electrons
68 set MuonOutputArray muons
69
70 # radius of the magnetic field coverage, in m
71 set Radius 1.8
72 # half-length of the magnetic field coverage, in m
73 set HalfLength 2.4
74
75 # magnetic field
76 set Bz 3.5
77}
78
79####################################
80# Charged hadron tracking efficiency
81####################################
82
83module Efficiency ChargedHadronTrackingEfficiency {
84 set InputArray ParticlePropagator/chargedHadrons
85 set OutputArray chargedHadrons
86
87 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
88
89 # tracking efficiency formula for charged hadrons
90 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
91 (abs(eta) <= 2.4) * (pt > 0.1) * (0.99) +
92 (abs(eta) > 2.4) * (0.00)}
93}
94
95##############################
96# Electron tracking efficiency
97##############################
98
99module Efficiency ElectronTrackingEfficiency {
100 set InputArray ParticlePropagator/electrons
101 set OutputArray electrons
102
103 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
104
105 # tracking efficiency formula for electrons
106 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
107 (abs(eta) <= 2.4) * (pt > 0.1) * (0.99) +
108 (abs(eta) > 2.4) * (0.00)}
109}
110
111##########################
112# Muon tracking efficiency
113##########################
114
115module Efficiency MuonTrackingEfficiency {
116 set InputArray ParticlePropagator/muons
117 set OutputArray muons
118
119 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
120
121 # tracking efficiency formula for muons
122 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
123 (abs(eta) <= 2.4) * (pt > 0.1) * (0.99) +
124 (abs(eta) > 2.4) * (0.00)}
125}
126
127########################################
128# Momentum resolution for charged tracks
129########################################
130
131module MomentumSmearing ChargedHadronMomentumSmearing {
132 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
133 set OutputArray chargedHadrons
134
135 # set ResolutionFormula {resolution formula as a function of eta and pt}
136
137 # resolution formula for charged hadrons
138 set ResolutionFormula { (abs(eta) <= 1.0) * sqrt(0.001^2 + pt^2*1.e-5^2) +
139 (abs(eta) > 1.0 && abs(eta) <= 2.4) * sqrt(0.01^2 + pt^2*1.e-4^2)}
140
141
142}
143
144###################################
145# Momentum resolution for electrons
146###################################
147
148module MomentumSmearing ElectronMomentumSmearing {
149 set InputArray ElectronTrackingEfficiency/electrons
150 set OutputArray electrons
151
152 # set ResolutionFormula {resolution formula as a function of eta and energy}
153
154 # resolution formula for charged hadrons
155 set ResolutionFormula { (abs(eta) <= 1.0) * sqrt(0.001^2 + pt^2*1.e-5^2) +
156 (abs(eta) > 1.0 && abs(eta) <= 2.4) * sqrt(0.01^2 + pt^2*1.e-4^2)}
157}
158
159###############################
160# Momentum resolution for muons
161###############################
162
163module MomentumSmearing MuonMomentumSmearing {
164 set InputArray MuonTrackingEfficiency/muons
165 set OutputArray muons
166
167 # set ResolutionFormula {resolution formula as a function of eta and pt}
168
169 # resolution formula for charged hadrons
170 set ResolutionFormula { (abs(eta) <= 1.0) * sqrt(0.001^2 + pt^2*1.e-5^2) +
171 (abs(eta) > 1.0 && abs(eta) <= 2.4) * sqrt(0.01^2 + pt^2*1.e-4^2)}
172
173}
174
175##############
176# Track merger
177##############
178
179module Merger TrackMerger {
180# add InputArray InputArray
181 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
182 add InputArray ElectronMomentumSmearing/electrons
183 add InputArray MuonMomentumSmearing/muons
184 set OutputArray tracks
185}
186
187#############
188# ECAL
189#############
190
191module SimpleCalorimeter ECal {
192 set ParticleInputArray ParticlePropagator/stableParticles
193 set TrackInputArray TrackMerger/tracks
194
195 set TowerOutputArray ecalTowers
196 set EFlowTrackOutputArray eflowTracks
197 set EFlowTowerOutputArray eflowPhotons
198
199 set IsEcal true
200
201 set EnergyMin 0.5
202 set EnergySignificanceMin 1.0
203
204 set SmearTowerCenter true
205
206 set pi [expr {acos(-1)}]
207
208 # lists of the edges of each tower in eta and phi
209 # each list starts with the lower edge of the first tower
210 # the list ends with the higher edged of the last tower
211
212 # 0.5 degree towers (5x5 mm^2)
213 set PhiBins {}
214 for {set i -360} {$i <= 360} {incr i} {
215 add PhiBins [expr {$i * $pi/360.0}]
216 }
217
218 # 0.01 unit in eta up to eta = 2.5
219 for {set i -500} {$i <= 500} {incr i} {
220 set eta [expr {$i * 0.005}]
221 add EtaPhiBins $eta $PhiBins
222 }
223
224 # default energy fractions {abs(PDG code)} {fraction of energy deposited in ECAL}
225
226 add EnergyFraction {0} {0.0}
227 # energy fractions for e, gamma and pi0
228 add EnergyFraction {11} {1.0}
229 add EnergyFraction {22} {1.0}
230 add EnergyFraction {111} {1.0}
231 # energy fractions for muon, neutrinos and neutralinos
232 add EnergyFraction {12} {0.0}
233 add EnergyFraction {13} {0.0}
234 add EnergyFraction {14} {0.0}
235 add EnergyFraction {16} {0.0}
236 add EnergyFraction {1000022} {0.0}
237 add EnergyFraction {1000023} {0.0}
238 add EnergyFraction {1000025} {0.0}
239 add EnergyFraction {1000035} {0.0}
240 add EnergyFraction {1000045} {0.0}
241 # energy fractions for K0short and Lambda
242 add EnergyFraction {310} {0.3}
243 add EnergyFraction {3122} {0.3}
244
245 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
246
247 set ResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.01^2 + energy*0.15^2) }
248
249}
250
251#############
252# HCAL
253#############
254
255module SimpleCalorimeter HCal {
256 set ParticleInputArray ParticlePropagator/stableParticles
257 set TrackInputArray ECal/eflowTracks
258
259 set TowerOutputArray hcalTowers
260 set EFlowTrackOutputArray eflowTracks
261 set EFlowTowerOutputArray eflowNeutralHadrons
262
263 set IsEcal false
264
265 set EnergyMin 1.0
266 set EnergySignificanceMin 1.0
267
268 set SmearTowerCenter true
269
270 set pi [expr {acos(-1)}]
271
272 # lists of the edges of each tower in eta and phi
273 # each list starts with the lower edge of the first tower
274 # the list ends with the higher edged of the last tower
275
276
277 # 6 degree towers
278 set PhiBins {}
279 for {set i -60} {$i <= 60} {incr i} {
280 add PhiBins [expr {$i * $pi/60.0}]
281 }
282
283 # 0.5 unit in eta up to eta = 3
284 for {set i -60} {$i <= 60} {incr i} {
285 set eta [expr {$i * 0.05}]
286 add EtaPhiBins $eta $PhiBins
287 }
288
289
290 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
291 add EnergyFraction {0} {1.0}
292 # energy fractions for e, gamma and pi0
293 add EnergyFraction {11} {0.0}
294 add EnergyFraction {22} {0.0}
295 add EnergyFraction {111} {0.0}
296 # energy fractions for muon, neutrinos and neutralinos
297 add EnergyFraction {12} {0.0}
298 add EnergyFraction {13} {0.0}
299 add EnergyFraction {14} {0.0}
300 add EnergyFraction {16} {0.0}
301 add EnergyFraction {1000022} {0.0}
302 add EnergyFraction {1000023} {0.0}
303 add EnergyFraction {1000025} {0.0}
304 add EnergyFraction {1000035} {0.0}
305 add EnergyFraction {1000045} {0.0}
306 # energy fractions for K0short and Lambda
307 add EnergyFraction {310} {0.7}
308 add EnergyFraction {3122} {0.7}
309
310 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
311
312 set ResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.015^2 + energy*0.50^2)}
313
314}
315
316#################
317# Electron filter
318#################
319
320module PdgCodeFilter ElectronFilter {
321 set InputArray HCal/eflowTracks
322 set OutputArray electrons
323 set Invert true
324 add PdgCode {11}
325 add PdgCode {-11}
326}
327
328###################################################
329# Tower Merger (in case not using e-flow algorithm)
330###################################################
331
332module Merger TowerMerger {
333# add InputArray InputArray
334 add InputArray ECal/ecalTowers
335 add InputArray HCal/hcalTowers
336 set OutputArray towers
337}
338
339####################
340# Energy flow merger
341####################
342
343module Merger EFlowMerger {
344# add InputArray InputArray
345 add InputArray HCal/eflowTracks
346 add InputArray ECal/eflowPhotons
347 add InputArray HCal/eflowNeutralHadrons
348 set OutputArray eflow
349}
350
351
352###################
353# Missing ET merger
354###################
355
356module Merger MissingET {
357# add InputArray InputArray
358 add InputArray EFlowMerger/eflow
359 set MomentumOutputArray momentum
360}
361
362
363##################
364# Scalar HT merger
365##################
366
367module Merger ScalarHT {
368# add InputArray InputArray
369 add InputArray EFlowMerger/eflow
370 set EnergyOutputArray energy
371}
372
373#################
374# Neutrino Filter
375#################
376
377module PdgCodeFilter NeutrinoFilter {
378
379 set InputArray Delphes/stableParticles
380 set OutputArray filteredParticles
381
382 set PTMin 0.0
383
384 add PdgCode {12}
385 add PdgCode {14}
386 add PdgCode {16}
387 add PdgCode {-12}
388 add PdgCode {-14}
389 add PdgCode {-16}
390
391}
392
393
394#####################
395# MC truth jet finder
396#####################
397
398module FastJetFinder GenJetFinder {
399 set InputArray NeutrinoFilter/filteredParticles
400
401 set OutputArray jets
402
403 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
404 set JetAlgorithm 6
405 set ParameterR 0.5
406
407 set JetPTMin 20.0
408}
409
410#########################
411# Gen Missing ET merger
412########################
413
414module Merger GenMissingET {
415# add InputArray InputArray
416 add InputArray NeutrinoFilter/filteredParticles
417 set MomentumOutputArray momentum
418}
419
420
421
422############
423# Jet finder
424############
425
426module FastJetFinder FastJetFinder {
427# set InputArray TowerMerger/towers
428 set InputArray EFlowMerger/eflow
429
430 set OutputArray jets
431
432 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
433 set JetAlgorithm 6
434 set ParameterR 0.5
435
436 set JetPTMin 20.0
437}
438
439##################
440# Jet Energy Scale
441##################
442
443module EnergyScale JetEnergyScale {
444 set InputArray FastJetFinder/jets
445 set OutputArray jets
446
447 # scale formula for jets
448 set ScaleFormula {1.00}
449}
450
451
452########################
453# Jet Flavor Association
454########################
455
456module JetFlavorAssociation JetFlavorAssociation {
457
458 set PartonInputArray Delphes/partons
459 set ParticleInputArray Delphes/allParticles
460 set ParticleLHEFInputArray Delphes/allParticlesLHEF
461 set JetInputArray JetEnergyScale/jets
462
463 set DeltaR 0.5
464 set PartonPTMin 1.0
465 set PartonEtaMax 2.5
466
467}
468
469###################
470# Photon efficiency
471###################
472
473module Efficiency PhotonEfficiency {
474 set InputArray ECal/eflowPhotons
475 set OutputArray photons
476
477 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
478
479 # efficiency formula for photons
480 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
481 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) +
482 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.95) +
483 (abs(eta) > 2.5) * (0.00)}
484}
485
486##################
487# Photon isolation
488##################
489
490module Isolation PhotonIsolation {
491 set CandidateInputArray PhotonEfficiency/photons
492 set IsolationInputArray EFlowMerger/eflow
493
494 set OutputArray photons
495
496 set DeltaRMax 0.5
497
498 set PTMin 0.5
499
500 set PTRatioMax 0.12
501}
502
503#####################
504# Electron efficiency
505#####################
506
507module Efficiency ElectronEfficiency {
508 set InputArray ElectronFilter/electrons
509 set OutputArray electrons
510
511 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
512
513 # efficiency formula for electrons
514 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
515 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) +
516 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.95) +
517 (abs(eta) > 2.5) * (0.00)}
518}
519
520####################
521# Electron isolation
522####################
523
524module Isolation ElectronIsolation {
525 set CandidateInputArray ElectronEfficiency/electrons
526 set IsolationInputArray EFlowMerger/eflow
527
528 set OutputArray electrons
529
530 set DeltaRMax 0.5
531
532 set PTMin 0.5
533
534 set PTRatioMax 0.12
535}
536
537#################
538# Muon efficiency
539#################
540
541module Efficiency MuonEfficiency {
542 set InputArray MuonMomentumSmearing/muons
543 set OutputArray muons
544
545 # set EfficiencyFormula {efficiency as a function of eta and pt}
546
547 # efficiency formula for muons
548 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
549 (abs(eta) <= 1.5) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
550 (abs(eta) <= 1.5) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) +
551 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
552 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) +
553 (abs(eta) > 2.4) * (0.00)}
554}
555
556################
557# Muon isolation
558################
559
560module Isolation MuonIsolation {
561 set CandidateInputArray MuonEfficiency/muons
562 set IsolationInputArray EFlowMerger/eflow
563
564 set OutputArray muons
565
566 set DeltaRMax 0.5
567
568 set PTMin 0.5
569
570 set PTRatioMax 0.25
571}
572
573
574###########
575# b-tagging
576###########
577
578module BTagging BTagging {
579 set JetInputArray JetEnergyScale/jets
580
581 set BitNumber 0
582
583 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
584 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
585 # gluon's PDG code has the lowest priority
586
587 # based on arXiv:1211.4462
588
589 # default efficiency formula (misidentification rate)
590 add EfficiencyFormula {0} {0.01+0.000038*pt}
591
592 # efficiency formula for c-jets (misidentification rate)
593 add EfficiencyFormula {4} {0.25*tanh(0.018*pt)*(1/(1+ 0.0013*pt))}
594
595 # efficiency formula for b-jets
596 add EfficiencyFormula {5} {0.85*tanh(0.0025*pt)*(25.0/(1+0.063*pt))}
597}
598
599#############
600# tau-tagging
601#############
602
603
604module TauTagging TauTagging {
605 set ParticleInputArray Delphes/allParticles
606 set PartonInputArray Delphes/partons
607 set JetInputArray JetEnergyScale/jets
608
609 set DeltaR 0.5
610
611 set TauPTMin 1.0
612
613 set TauEtaMax 4.0
614
615 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
616
617 # default efficiency formula (misidentification rate)
618 add EfficiencyFormula {0} {0.001}
619 # efficiency formula for tau-jets
620 add EfficiencyFormula {15} {0.4}
621}
622
623#####################################################
624# Find uniquely identified photons/electrons/tau/jets
625#####################################################
626
627module UniqueObjectFinder UniqueObjectFinder {
628# earlier arrays take precedence over later ones
629# add InputArray InputArray OutputArray
630 add InputArray PhotonIsolation/photons photons
631 add InputArray ElectronIsolation/electrons electrons
632 add InputArray MuonIsolation/muons muons
633 add InputArray JetEnergyScale/jets jets
634}
635
636
637##################
638# ROOT tree writer
639##################
640
641module TreeWriter TreeWriter {
642# add Branch InputArray BranchName BranchClass
643 add Branch Delphes/allParticles Particle GenParticle
644
645 add Branch GenJetFinder/jets GenJet Jet
646 add Branch GenMissingET/momentum GenMissingET MissingET
647
648 add Branch TrackMerger/tracks Track Track
649 add Branch TowerMerger/towers Tower Tower
650
651 add Branch HCal/eflowTracks EFlowTrack Track
652 add Branch ECal/eflowPhotons EFlowPhoton Tower
653 add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
654
655 add Branch UniqueObjectFinder/photons Photon Photon
656 add Branch UniqueObjectFinder/electrons Electron Electron
657 add Branch UniqueObjectFinder/muons Muon Muon
658 add Branch UniqueObjectFinder/jets Jet Jet
659
660 add Branch MissingET/momentum MissingET MissingET
661 add Branch ScalarHT/energy ScalarHT ScalarHT
662}
663
Note: See TracBrowser for help on using the repository browser.