Fork me on GitHub

Ticket #1081: delphes_card_ATLAS_ideal.tcl

File delphes_card_ATLAS_ideal.tcl, 18.0 KB (added by amit, 8 years ago)
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 ElectronMomentumSmearing
14 MuonMomentumSmearing
15
16 TrackMerger
17 Calorimeter
18 EFlowMerger
19
20 PhotonEfficiency
21 PhotonIsolation
22
23 ElectronFilter
24 ElectronEfficiency
25 ElectronIsolation
26
27 MuonEfficiency
28 MuonIsolation
29
30 MissingET
31
32 NeutrinoFilter
33 GenJetFinder
34 GenMissingET
35
36 FastJetFinder
37
38 JetEnergyScale
39
40 JetFlavorAssociation
41
42 BTagging
43 TauTagging
44
45 UniqueObjectFinder
46
47 ScalarHT
48
49 TreeWriter
50}
51
52#################################
53# Propagate particles in cylinder
54#################################
55
56module ParticlePropagator ParticlePropagator {
57 set InputArray Delphes/stableParticles
58
59 set OutputArray stableParticles
60 set ChargedHadronOutputArray chargedHadrons
61 set ElectronOutputArray electrons
62 set MuonOutputArray muons
63
64 # radius of the magnetic field coverage, in m
65 set Radius 1.15
66 # half-length of the magnetic field coverage, in m
67 set HalfLength 3.51
68
69 # magnetic field
70 set Bz 2.0
71}
72
73####################################
74# Charged hadron tracking efficiency
75####################################
76
77module Efficiency ChargedHadronTrackingEfficiency {
78 set InputArray ParticlePropagator/chargedHadrons
79 set OutputArray chargedHadrons
80
81 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
82
83 # tracking efficiency formula for charged hadrons
84 set EfficiencyFormula { (pt <= 0.1) * (0.999) +
85 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.999) +
86 (abs(eta) <= 1.5) * (pt > 1.0) * (0.999) +
87 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.999) +
88 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.999) +
89 (abs(eta) > 2.5) * (0.999)}
90}
91
92##############################
93# Electron tracking efficiency
94##############################
95
96module Efficiency ElectronTrackingEfficiency {
97 set InputArray ParticlePropagator/electrons
98 set OutputArray electrons
99
100 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
101
102 # tracking efficiency formula for electrons
103 set EfficiencyFormula { (pt <= 0.1) * (0.999) +
104 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.999) +
105 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e2) * (0.999) +
106 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.999) +
107 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.999) +
108 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e2) * (0.999) +
109 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.999) +
110 (abs(eta) > 2.5) * (0.999)}
111}
112
113##########################
114# Muon tracking efficiency
115##########################
116
117module Efficiency MuonTrackingEfficiency {
118 set InputArray ParticlePropagator/muons
119 set OutputArray muons
120
121 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
122
123 # tracking efficiency formula for muons
124 set EfficiencyFormula { (pt <= 0.1) * (0.999) +
125 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.999) +
126 (abs(eta) <= 1.5) * (pt > 1.0) * (0.999) +
127 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.999) +
128 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.999) +
129 (abs(eta) > 2.5) * (0.999)}
130}
131
132########################################
133# Momentum resolution for charged tracks
134########################################
135
136module MomentumSmearing ChargedHadronMomentumSmearing {
137 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
138 set OutputArray chargedHadrons
139
140 # set ResolutionFormula {resolution formula as a function of eta and pt}
141
142 # resolution formula for charged hadrons
143 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.0000006^2 ) +
144 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.0000006^2 ) +
145 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.0000006^2 )}
146}
147
148###################################
149# Momentum resolution for electrons
150###################################
151
152module MomentumSmearing ElectronMomentumSmearing {
153 set InputArray ElectronTrackingEfficiency/electrons
154 set OutputArray electrons
155
156 # set ResolutionFormula {resolution formula as a function of eta and energy}
157
158 # resolution formula for electrons
159 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.0000006^2 ) +
160 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.0000006^2 ) +
161 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.0000006^2 )}
162}
163
164###############################
165# Momentum resolution for muons
166###############################
167
168module MomentumSmearing MuonMomentumSmearing {
169 set InputArray MuonTrackingEfficiency/muons
170 set OutputArray muons
171
172 # set ResolutionFormula {resolution formula as a function of eta and pt}
173
174 # resolution formula for muons
175 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.0000006^2 ) +
176 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.0000006^2 ) +
177 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.0000006^2 )}
178}
179
180##############
181# Track merger
182##############
183
184module Merger TrackMerger {
185# add InputArray InputArray
186 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
187 add InputArray ElectronMomentumSmearing/electrons
188 add InputArray MuonMomentumSmearing/muons
189 set OutputArray tracks
190}
191
192#############
193# Calorimeter
194#############
195
196module Calorimeter Calorimeter {
197 set ParticleInputArray ParticlePropagator/stableParticles
198 set TrackInputArray TrackMerger/tracks
199
200 set TowerOutputArray towers
201 set PhotonOutputArray photons
202
203 set EFlowTrackOutputArray eflowTracks
204 set EFlowPhotonOutputArray eflowPhotons
205 set EFlowNeutralHadronOutputArray eflowNeutralHadrons
206
207 set ECalEnergyMin 0.5
208 set HCalEnergyMin 1.0
209
210 set ECalEnergySignificanceMin 1.0
211 set HCalEnergySignificanceMin 1.0
212
213 set SmearTowerCenter false
214
215 set pi [expr {acos(-1)}]
216
217 # lists of the edges of each tower in eta and phi
218 # each list starts with the lower edge of the first tower
219 # the list ends with the higher edged of the last tower
220
221 # 10 degrees towers
222 set PhiBins {}
223 for {set i -18} {$i <= 18} {incr i} {
224 add PhiBins [expr {$i * $pi/18.0}]
225 }
226 foreach eta {-3.2 -2.5 -2.4 -2.3 -2.2 -2.1 -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 3.3} {
227 add EtaPhiBins $eta $PhiBins
228 }
229
230 # 20 degrees towers
231 set PhiBins {}
232 for {set i -9} {$i <= 9} {incr i} {
233 add PhiBins [expr {$i * $pi/9.0}]
234 }
235 foreach eta {-4.9 -4.7 -4.5 -4.3 -4.1 -3.9 -3.7 -3.5 -3.3 -3 -2.8 -2.6 2.8 3 3.2 3.5 3.7 3.9 4.1 4.3 4.5 4.7 4.9} {
236 add EtaPhiBins $eta $PhiBins
237 }
238
239 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
240 add EnergyFraction {0} {0.0 1.0}
241 # energy fractions for e, gamma and pi0
242 add EnergyFraction {11} {1.0 0.0}
243 add EnergyFraction {22} {1.0 0.0}
244 add EnergyFraction {111} {1.0 0.0}
245 # energy fractions for muon, neutrinos and neutralinos
246 add EnergyFraction {12} {0.0 0.0}
247 add EnergyFraction {13} {0.0 0.0}
248 add EnergyFraction {14} {0.0 0.0}
249 add EnergyFraction {16} {0.0 0.0}
250 add EnergyFraction {1000022} {0.0 0.0}
251 add EnergyFraction {1000023} {0.0 0.0}
252 add EnergyFraction {1000025} {0.0 0.0}
253 add EnergyFraction {1000035} {0.0 0.0}
254 add EnergyFraction {1000045} {0.0 0.0}
255 # energy fractions for K0short and Lambda
256 add EnergyFraction {310} {0.3 0.7}
257 add EnergyFraction {3122} {0.3 0.7}
258
259 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
260 # http://arxiv.org/pdf/physics/0608012v1 jinst8_08_s08003
261 # http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
262 # http://www.physics.utoronto.ca/~krieger/procs/ComoProceedings.pdf
263 set ECalResolutionFormula { (abs(eta) <= 3.2) * sqrt(energy^2*0.00000017^2 + energy*0.000000101^2) +
264 (abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.000000350^2 + energy*0.000000285^2)}
265
266 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
267 # http://arxiv.org/pdf/hep-ex/0004009v1
268 # http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
269 set HCalResolutionFormula { (abs(eta) <= 1.7) * sqrt(energy^2*0.000000302^2 + energy*0.0000005205^2 + 0.000000159^2) +
270 (abs(eta) > 1.7 && abs(eta) <= 3.2) * sqrt(energy^2*0.000000500^2 + energy*0.000000706^2) +
271 (abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.0000009420^2 + energy*0.000000100^2)}
272}
273
274####################
275# Energy flow merger
276####################
277
278module Merger EFlowMerger {
279# add InputArray InputArray
280 add InputArray Calorimeter/eflowTracks
281 add InputArray Calorimeter/eflowPhotons
282 add InputArray Calorimeter/eflowNeutralHadrons
283 set OutputArray eflow
284}
285
286###################
287# Photon efficiency
288###################
289
290module Efficiency PhotonEfficiency {
291 set InputArray Calorimeter/eflowPhotons
292 set OutputArray photons
293
294 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
295
296 # efficiency formula for photons
297 set EfficiencyFormula { (pt <= 10.0) * (0.999) +
298 (abs(eta) <= 1.5) * (pt > 10.0) * (0.999) +
299 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.999) +
300 (abs(eta) > 2.5) * (0.999)}
301}
302
303##################
304# Photon isolation
305##################
306
307module Isolation PhotonIsolation {
308 set CandidateInputArray PhotonEfficiency/photons
309 set IsolationInputArray EFlowMerger/eflow
310
311 set OutputArray photons
312
313 set DeltaRMax 0.4
314
315 set PTMin 0.5
316
317 set PTRatioMax 0.5
318}
319
320#################
321# Electron filter
322#################
323
324module PdgCodeFilter ElectronFilter {
325 set InputArray Calorimeter/eflowTracks
326 set OutputArray electrons
327 set Invert true
328 add PdgCode {11}
329 add PdgCode {-11}
330}
331
332#####################
333# Electron efficiency
334#####################
335
336module Efficiency ElectronEfficiency {
337 set InputArray ElectronFilter/electrons
338 set OutputArray electrons
339
340 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
341
342 # efficiency formula for electrons
343 set EfficiencyFormula { (pt <= 10.0) * (0.999) +
344 (abs(eta) <= 1.5) * (pt > 10.0) * (0.999) +
345 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.999) +
346 (abs(eta) > 2.5) * (0.999)}
347}
348
349####################
350# Electron isolation
351####################
352
353module Isolation ElectronIsolation {
354 set CandidateInputArray ElectronEfficiency/electrons
355 set IsolationInputArray EFlowMerger/eflow
356
357 set OutputArray electrons
358
359 set DeltaRMax 0.5
360
361 set PTMin 0.5
362
363 set PTRatioMax 0.12
364}
365
366#################
367# Muon efficiency
368#################
369
370module Efficiency MuonEfficiency {
371 set InputArray MuonMomentumSmearing/muons
372 set OutputArray muons
373
374 # set EfficiencyFormula {efficiency as a function of eta and pt}
375
376 # efficiency formula for muons
377 set EfficiencyFormula { (pt <= 10.0) * (0.999) +
378 (abs(eta) <= 1.5) * (pt > 10.0) * (0.999) +
379 (abs(eta) > 1.5 && abs(eta) <= 2.7) * (pt > 10.0) * (0.999) +
380 (abs(eta) > 2.7) * (0.999)}
381}
382
383################
384# Muon isolation
385################
386
387module Isolation MuonIsolation {
388 set CandidateInputArray MuonEfficiency/muons
389 set IsolationInputArray EFlowMerger/eflow
390
391 set OutputArray muons
392
393 set DeltaRMax 0.5
394
395 set PTMin 0.5
396
397 set PTRatioMax 0.25
398}
399
400###################
401# Missing ET merger
402###################
403
404module Merger MissingET {
405# add InputArray InputArray
406 add InputArray EFlowMerger/eflow
407 set MomentumOutputArray momentum
408}
409
410##################
411# Scalar HT merger
412##################
413
414module Merger ScalarHT {
415# add InputArray InputArray
416 add InputArray UniqueObjectFinder/jets
417 add InputArray UniqueObjectFinder/electrons
418 add InputArray UniqueObjectFinder/photons
419 add InputArray UniqueObjectFinder/muons
420 set EnergyOutputArray energy
421}
422
423
424#####################
425# Neutrino Filter
426#####################
427
428module PdgCodeFilter NeutrinoFilter {
429
430 set InputArray Delphes/stableParticles
431 set OutputArray filteredParticles
432
433 set PTMin 0.0
434
435 add PdgCode {12}
436 add PdgCode {14}
437 add PdgCode {16}
438 add PdgCode {-12}
439 add PdgCode {-14}
440 add PdgCode {-16}
441
442}
443
444#####################
445# MC truth jet finder
446#####################
447
448module FastJetFinder GenJetFinder {
449 set InputArray NeutrinoFilter/filteredParticles
450
451 set OutputArray jets
452
453 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
454 set JetAlgorithm 6
455 set ParameterR 0.4
456
457 set JetPTMin 25.0
458}
459
460
461#########################
462# Gen Missing ET merger
463########################
464
465module Merger GenMissingET {
466# add InputArray InputArray
467 add InputArray NeutrinoFilter/filteredParticles
468 set MomentumOutputArray momentum
469}
470
471
472
473############
474# Jet finder
475############
476
477module FastJetFinder FastJetFinder {
478 set InputArray Calorimeter/towers
479
480 set OutputArray jets
481
482 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
483 set JetAlgorithm 6
484 set ParameterR 0.4
485
486 set JetPTMin 25.0
487}
488
489##################
490# Jet Energy Scale
491##################
492
493module EnergyScale JetEnergyScale {
494 set InputArray FastJetFinder/jets
495 set OutputArray jets
496
497 # scale formula for jets
498 set ScaleFormula { sqrt( (3.0 - 0.2*(abs(eta)))^2 / pt + 1.0 ) }
499# set ScaleFormula { sqrt( (5.5 - 0.05*(abs(eta)))^2 / pt + 1.1 ) }
500}
501
502########################
503# Jet Flavor Association
504########################
505
506module JetFlavorAssociation JetFlavorAssociation {
507
508 set PartonInputArray Delphes/partons
509 set ParticleInputArray Delphes/allParticles
510 set ParticleLHEFInputArray Delphes/allParticlesLHEF
511 set JetInputArray JetEnergyScale/jets
512
513 set DeltaR 0.5
514 set PartonPTMin 1.0
515 set PartonEtaMax 2.5
516
517}
518
519###########
520# b-tagging
521###########
522
523module BTagging BTagging {
524 set JetInputArray JetEnergyScale/jets
525
526 set BitNumber 0
527
528 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
529 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
530 # gluon's PDG code has the lowest priority
531
532 # based on ATL-PHYS-PUB-2015-022
533
534 # default efficiency formula (misidentification rate)
535 add EfficiencyFormula {0} {0.01}
536
537 # efficiency formula for c-jets (misidentification rate)
538 add EfficiencyFormula {4} {0.30}
539
540 # efficiency formula for b-jets
541 add EfficiencyFormula {5} {0.70}
542}
543
544#############
545# tau-tagging
546#############
547
548module TrackCountingTauTagging TauTagging {
549
550 set ParticleInputArray Delphes/allParticles
551 set PartonInputArray Delphes/partons
552 set TrackInputArray TrackMerger/tracks
553 set JetInputArray JetEnergyScale/jets
554
555 set DeltaR 0.2
556 set DeltaRTrack 0.2
557
558 set TrackPTMin 1.0
559
560 set TauPTMin 1.0
561 set TauEtaMax 2.5
562
563 # instructions: {n-prongs} {eff}
564
565 # 1 - one prong efficiency
566 # 2 - two or more efficiency
567 # -1 - one prong mistag rate
568 # -2 - two or more mistag rate
569
570 set BitNumber 0
571
572 # taken from ATL-PHYS-PUB-2015-045 (medium working point)
573 add EfficiencyFormula {1} {0.70}
574 add EfficiencyFormula {2} {0.60}
575 add EfficiencyFormula {-1} {0.02}
576 add EfficiencyFormula {-2} {0.01}
577
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}
622