Fork me on GitHub

source: git/cards/delphes_card_IDEA.tcl@ 0e7d64a

ImprovedOutputFile Timing 3.4.2pre18
Last change on this file since 0e7d64a was a1b19ea, checked in by Michele Selvaggi <michele.selvaggi@…>, 6 years ago

first attempt at energy flow with Dual Readout

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