Fork me on GitHub

source: git/cards/delphes_card_ILD.tcl@ 837fa70

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

replace TowerMerger by Calorimeter for validation

  • 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 Calorimeter
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 Calorimeter {
333# add InputArray InputArray
334 add InputArray ECal/ecalTowers
335 add InputArray HCal/hcalTowers
336 set OutputArray towers
337}
338
339
340####################
341# Energy flow merger
342####################
343
344module Merger EFlowMerger {
345# add InputArray InputArray
346 add InputArray HCal/eflowTracks
347 add InputArray ECal/eflowPhotons
348 add InputArray HCal/eflowNeutralHadrons
349 set OutputArray eflow
350}
351
352
353###################
354# Missing ET merger
355###################
356
357module Merger MissingET {
358# add InputArray InputArray
359 add InputArray EFlowMerger/eflow
360 set MomentumOutputArray momentum
361}
362
363
364##################
365# Scalar HT merger
366##################
367
368module Merger ScalarHT {
369# add InputArray InputArray
370 add InputArray EFlowMerger/eflow
371 set EnergyOutputArray energy
372}
373
374#################
375# Neutrino Filter
376#################
377
378module PdgCodeFilter NeutrinoFilter {
379
380 set InputArray Delphes/stableParticles
381 set OutputArray filteredParticles
382
383 set PTMin 0.0
384
385 add PdgCode {12}
386 add PdgCode {14}
387 add PdgCode {16}
388 add PdgCode {-12}
389 add PdgCode {-14}
390 add PdgCode {-16}
391
392}
393
394
395#####################
396# MC truth jet finder
397#####################
398
399module FastJetFinder GenJetFinder {
400 set InputArray NeutrinoFilter/filteredParticles
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 20.0
409}
410
411#########################
412# Gen Missing ET merger
413########################
414
415module Merger GenMissingET {
416# add InputArray InputArray
417 add InputArray NeutrinoFilter/filteredParticles
418 set MomentumOutputArray momentum
419}
420
421
422
423############
424# Jet finder
425############
426
427module FastJetFinder FastJetFinder {
428# set InputArray Calorimeter/towers
429 set InputArray EFlowMerger/eflow
430
431 set OutputArray jets
432
433 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
434 set JetAlgorithm 6
435 set ParameterR 0.5
436
437 set JetPTMin 20.0
438}
439
440##################
441# Jet Energy Scale
442##################
443
444module EnergyScale JetEnergyScale {
445 set InputArray FastJetFinder/jets
446 set OutputArray jets
447
448 # scale formula for jets
449 set ScaleFormula {1.00}
450}
451
452
453########################
454# Jet Flavor Association
455########################
456
457module JetFlavorAssociation JetFlavorAssociation {
458
459 set PartonInputArray Delphes/partons
460 set ParticleInputArray Delphes/allParticles
461 set ParticleLHEFInputArray Delphes/allParticlesLHEF
462 set JetInputArray JetEnergyScale/jets
463
464 set DeltaR 0.5
465 set PartonPTMin 1.0
466 set PartonEtaMax 2.5
467
468}
469
470###################
471# Photon efficiency
472###################
473
474module Efficiency PhotonEfficiency {
475 set InputArray ECal/eflowPhotons
476 set OutputArray photons
477
478 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
479
480 # efficiency formula for photons
481 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
482 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) +
483 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.95) +
484 (abs(eta) > 2.5) * (0.00)}
485}
486
487##################
488# Photon isolation
489##################
490
491module Isolation PhotonIsolation {
492 set CandidateInputArray PhotonEfficiency/photons
493 set IsolationInputArray EFlowMerger/eflow
494
495 set OutputArray photons
496
497 set DeltaRMax 0.5
498
499 set PTMin 0.5
500
501 set PTRatioMax 0.12
502}
503
504#####################
505# Electron efficiency
506#####################
507
508module Efficiency ElectronEfficiency {
509 set InputArray ElectronFilter/electrons
510 set OutputArray electrons
511
512 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
513
514 # efficiency formula for electrons
515 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
516 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) +
517 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.95) +
518 (abs(eta) > 2.5) * (0.00)}
519}
520
521####################
522# Electron isolation
523####################
524
525module Isolation ElectronIsolation {
526 set CandidateInputArray ElectronEfficiency/electrons
527 set IsolationInputArray EFlowMerger/eflow
528
529 set OutputArray electrons
530
531 set DeltaRMax 0.5
532
533 set PTMin 0.5
534
535 set PTRatioMax 0.12
536}
537
538#################
539# Muon efficiency
540#################
541
542module Efficiency MuonEfficiency {
543 set InputArray MuonMomentumSmearing/muons
544 set OutputArray muons
545
546 # set EfficiencyFormula {efficiency as a function of eta and pt}
547
548 # efficiency formula for muons
549 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
550 (abs(eta) <= 1.5) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
551 (abs(eta) <= 1.5) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) +
552 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
553 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) +
554 (abs(eta) > 2.4) * (0.00)}
555}
556
557################
558# Muon isolation
559################
560
561module Isolation MuonIsolation {
562 set CandidateInputArray MuonEfficiency/muons
563 set IsolationInputArray EFlowMerger/eflow
564
565 set OutputArray muons
566
567 set DeltaRMax 0.5
568
569 set PTMin 0.5
570
571 set PTRatioMax 0.25
572}
573
574
575###########
576# b-tagging
577###########
578
579module BTagging BTagging {
580 set JetInputArray JetEnergyScale/jets
581
582 set BitNumber 0
583
584 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
585 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
586 # gluon's PDG code has the lowest priority
587
588 # based on arXiv:1211.4462
589
590 # default efficiency formula (misidentification rate)
591 add EfficiencyFormula {0} {0.01+0.000038*pt}
592
593 # efficiency formula for c-jets (misidentification rate)
594 add EfficiencyFormula {4} {0.25*tanh(0.018*pt)*(1/(1+ 0.0013*pt))}
595
596 # efficiency formula for b-jets
597 add EfficiencyFormula {5} {0.85*tanh(0.0025*pt)*(25.0/(1+0.063*pt))}
598}
599
600#############
601# tau-tagging
602#############
603
604
605module TauTagging TauTagging {
606 set ParticleInputArray Delphes/allParticles
607 set PartonInputArray Delphes/partons
608 set JetInputArray JetEnergyScale/jets
609
610 set DeltaR 0.5
611
612 set TauPTMin 1.0
613
614 set TauEtaMax 4.0
615
616 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
617
618 # default efficiency formula (misidentification rate)
619 add EfficiencyFormula {0} {0.001}
620 # efficiency formula for tau-jets
621 add EfficiencyFormula {15} {0.4}
622}
623
624#####################################################
625# Find uniquely identified photons/electrons/tau/jets
626#####################################################
627
628module UniqueObjectFinder UniqueObjectFinder {
629# earlier arrays take precedence over later ones
630# add InputArray InputArray OutputArray
631 add InputArray PhotonIsolation/photons photons
632 add InputArray ElectronIsolation/electrons electrons
633 add InputArray MuonIsolation/muons muons
634 add InputArray JetEnergyScale/jets jets
635}
636
637
638##################
639# ROOT tree writer
640##################
641
642module TreeWriter TreeWriter {
643# add Branch InputArray BranchName BranchClass
644 add Branch Delphes/allParticles Particle GenParticle
645
646 add Branch GenJetFinder/jets GenJet Jet
647 add Branch GenMissingET/momentum GenMissingET MissingET
648
649 add Branch TrackMerger/tracks Track Track
650 add Branch Calorimeter/towers Tower Tower
651
652 add Branch HCal/eflowTracks EFlowTrack Track
653 add Branch ECal/eflowPhotons EFlowPhoton Tower
654 add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
655
656 add Branch UniqueObjectFinder/photons Photon Photon
657 add Branch UniqueObjectFinder/electrons Electron Electron
658 add Branch UniqueObjectFinder/muons Muon Muon
659 add Branch UniqueObjectFinder/jets Jet Jet
660
661 add Branch MissingET/momentum MissingET MissingET
662 add Branch ScalarHT/energy ScalarHT ScalarHT
663}
664
Note: See TracBrowser for help on using the repository browser.