Fork me on GitHub

source: svn/trunk/examples/delphes_card_ATLAS_PileUp.tcl@ 1325

Last change on this file since 1325 was 1322, checked in by Pavel Demin, 11 years ago

fix energy flow for muons in ATLAS cards

File size: 19.9 KB
Line 
1#######################################
2# Order of execution of various modules
3#######################################
4
5set ExecutionPath {
6
7 PileUpMerger
8 ParticlePropagator
9
10 ChargedHadronTrackingEfficiency
11 ElectronTrackingEfficiency
12 MuonTrackingEfficiency
13
14 ChargedHadronMomentumSmearing
15 ElectronEnergySmearing
16 MuonMomentumSmearing
17
18 TrackMerger
19 Calorimeter
20 TrackPileUpSubtractor
21 EFlowMerger
22
23 GenJetFinder
24
25 Rho
26 FastJetFinder
27 JetPileUpSubtractor
28
29 JetEnergyScale
30
31 PhotonEfficiency
32 PhotonIsolation
33
34 ElectronEfficiency
35 ElectronIsolation
36
37 MuonEfficiency
38 MuonIsolation
39
40 MissingET
41
42 BTagging
43 TauTagging
44
45 UniqueObjectFinder
46
47 ScalarHT
48
49 TreeWriter
50}
51
52###############
53# PileUp Merger
54###############
55
56module PileUpMerger PileUpMerger {
57 set InputArray Delphes/stableParticles
58
59 set OutputArray stableParticles
60
61 # pre-generated minbias input file
62 set PileUpFile MinBias.pileup
63
64 # average expected pile up
65 set MeanPileUp 50
66 # spread in the beam direction in m (assumes gaussian)
67 set ZVertexSpread 0.07
68}
69
70#################################
71# Propagate particles in cylinder
72#################################
73
74module ParticlePropagator ParticlePropagator {
75 set InputArray PileUpMerger/stableParticles
76
77 set OutputArray stableParticles
78 set ChargedHadronOutputArray chargedHadrons
79 set ElectronOutputArray electrons
80 set MuonOutputArray muons
81
82 # radius of the magnetic field coverage, in m
83 set Radius 1.15
84 # half-length of the magnetic field coverage, in m
85 set HalfLength 3.51
86
87 # magnetic field
88 set Bz 2.0
89}
90
91####################################
92# Charged hadron tracking efficiency
93####################################
94
95module Efficiency ChargedHadronTrackingEfficiency {
96 set InputArray ParticlePropagator/chargedHadrons
97 set OutputArray chargedHadrons
98
99 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
100
101 # tracking efficiency formula for charged hadrons
102 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
103 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
104 (abs(eta) <= 1.5) * (pt > 1.0) * (0.95) + \
105 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.60) + \
106 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.85) + \
107 (abs(eta) > 2.5) * (0.00)}
108}
109
110##############################
111# Electron tracking efficiency
112##############################
113
114module Efficiency ElectronTrackingEfficiency {
115 set InputArray ParticlePropagator/electrons
116 set OutputArray electrons
117
118 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
119
120 # tracking efficiency formula for electrons
121 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
122 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.73) + \
123 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e2) * (0.95) + \
124 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.99) + \
125 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.50) + \
126 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e2) * (0.83) + \
127 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.90) + \
128 (abs(eta) > 2.5) * (0.00)}
129}
130
131##########################
132# Muon tracking efficiency
133##########################
134
135module Efficiency MuonTrackingEfficiency {
136 set InputArray ParticlePropagator/muons
137 set OutputArray muons
138
139 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
140
141 # tracking efficiency formula for muons
142 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
143 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) + \
144 (abs(eta) <= 1.5) * (pt > 1.0) * (0.99) + \
145 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
146 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.98) + \
147 (abs(eta) > 2.5) * (0.00)}
148}
149
150########################################
151# Momentum resolution for charged tracks
152########################################
153
154module MomentumSmearing ChargedHadronMomentumSmearing {
155 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
156 set OutputArray chargedHadrons
157
158 # set ResolutionFormula {resolution formula as a function of eta and pt}
159
160 # resolution formula for charged hadrons
161 set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.02) + \
162 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e1) * (0.01) + \
163 (abs(eta) <= 1.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.03) + \
164 (abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05) + \
165 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
166 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e1) * (0.02) + \
167 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.04) + \
168 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.05)}
169}
170
171#################################
172# Energy resolution for electrons
173#################################
174
175module EnergySmearing ElectronEnergySmearing {
176 set InputArray ElectronTrackingEfficiency/electrons
177 set OutputArray electrons
178
179 # set ResolutionFormula {resolution formula as a function of eta and energy}
180
181 set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.5e1) * (energy*0.015) + \
182 (abs(eta) <= 2.5) * (energy > 2.5e1) * sqrt(energy^2*0.005^2 + energy*0.05^2 + 0.25^2) + \
183 (abs(eta) > 2.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.005^2 + energy*0.05^2 + 0.25^2) + \
184 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
185
186}
187
188###############################
189# Momentum resolution for muons
190###############################
191
192module MomentumSmearing MuonMomentumSmearing {
193 set InputArray MuonTrackingEfficiency/muons
194 set OutputArray muons
195
196 # set ResolutionFormula {resolution formula as a function of eta and pt}
197
198 # resolution formula for muons
199 set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
200 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 5.0e1) * (0.03) + \
201 (abs(eta) <= 1.5) * (pt > 5.0e1 && pt <= 1.0e2) * (0.04) + \
202 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.07) + \
203 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.04) + \
204 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 5.0e1) * (0.04) + \
205 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 5.0e1 && pt <= 1.0e2) * (0.05) + \
206 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.10)}
207}
208
209##############
210# Track merger
211##############
212
213module Merger TrackMerger {
214# add InputArray InputArray
215 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
216 add InputArray ElectronEnergySmearing/electrons
217 add InputArray MuonMomentumSmearing/muons
218 set OutputArray tracks
219}
220
221#############
222# Calorimeter
223#############
224
225module Calorimeter Calorimeter {
226 set ParticleInputArray ParticlePropagator/stableParticles
227 set TrackInputArray TrackMerger/tracks
228
229 set TowerOutputArray towers
230 set PhotonOutputArray photons
231
232 set EFlowTrackOutputArray eflowTracks
233 set EFlowTowerOutputArray eflowTowers
234
235 set pi [expr {acos(-1)}]
236
237 # lists of the edges of each tower in eta and phi
238 # each list starts with the lower edge of the first tower
239 # the list ends with the higher edged of the last tower
240
241 # 10 degrees towers
242 set PhiBins {}
243 for {set i -18} {$i <= 18} {incr i} {
244 add PhiBins [expr {$i * $pi/18.0}]
245 }
246 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} {
247 add EtaPhiBins $eta $PhiBins
248 }
249
250 # 20 degrees towers
251 set PhiBins {}
252 for {set i -9} {$i <= 9} {incr i} {
253 add PhiBins [expr {$i * $pi/9.0}]
254 }
255 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} {
256 add EtaPhiBins $eta $PhiBins
257 }
258
259 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
260 add EnergyFraction {0} {0.0 1.0}
261 # energy fractions for e, gamma and pi0
262 add EnergyFraction {11} {1.0 0.0}
263 add EnergyFraction {22} {1.0 0.0}
264 add EnergyFraction {111} {1.0 0.0}
265 # energy fractions for muon, neutrinos and neutralinos
266 add EnergyFraction {12} {0.0 0.0}
267 add EnergyFraction {13} {0.0 0.0}
268 add EnergyFraction {14} {0.0 0.0}
269 add EnergyFraction {16} {0.0 0.0}
270 add EnergyFraction {1000022} {0.0 0.0}
271 add EnergyFraction {1000023} {0.0 0.0}
272 add EnergyFraction {1000025} {0.0 0.0}
273 add EnergyFraction {1000035} {0.0 0.0}
274 add EnergyFraction {1000045} {0.0 0.0}
275 # energy fractions for K0short and Lambda
276 add EnergyFraction {310} {0.3 0.7}
277 add EnergyFraction {3122} {0.3 0.7}
278
279 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
280 # http://arxiv.org/pdf/physics/0608012v1 jinst8_08_s08003
281 # http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
282 # http://www.physics.utoronto.ca/~krieger/procs/ComoProceedings.pdf
283 set ECalResolutionFormula { (abs(eta) <= 3.2) * sqrt(energy^2*0.0017^2 + energy*0.101^2) + \
284 (abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.0350^2 + energy*0.285^2)}
285
286 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
287 # http://arxiv.org/pdf/hep-ex/0004009v1
288 # http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
289 set HCalResolutionFormula { (abs(eta) <= 1.7) * sqrt(energy^2*0.0302^2 + energy*0.5205^2 + 1.59^2) + \
290 (abs(eta) > 1.7 && abs(eta) <= 3.2) * sqrt(energy^2*0.0500^2 + energy*0.706^2) + \
291 (abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.9420^2 + energy*0.075^2)}
292}
293
294##########################
295# Track pile-up subtractor
296##########################
297
298module TrackPileUpSubtractor TrackPileUpSubtractor {
299# add InputArray InputArray OutputArray
300 add InputArray Calorimeter/eflowTracks eflowTracks
301 add InputArray ElectronEnergySmearing/electrons electrons
302 add InputArray MuonMomentumSmearing/muons muons
303
304 # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
305 # Z vertex resolution in m
306 set ZVertexResolution 0.0001
307}
308
309####################
310# Energy flow merger
311####################
312
313module Merger EFlowMerger {
314# add InputArray InputArray
315 add InputArray TrackPileUpSubtractor/eflowTracks
316 add InputArray Calorimeter/eflowTowers
317 set OutputArray eflow
318}
319
320#############
321# Rho pile-up
322#############
323
324module FastJetFinder Rho {
325 set InputArray Calorimeter/towers
326
327 set ComputeRho true
328 set RhoOutputArray rho
329
330 # area algorithm: 0 Do not compute area, 1 Active area explicit ghosts, 2 One ghost passive area, 3 Passive area, 4 Voronoi, 5 Active area
331 set AreaAlgorithm 5
332
333 # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
334 set JetAlgorithm 4
335 set ParameterR 0.6
336 set GhostEtaMax 5.0
337 set RhoEtaMax 5.0
338
339 add RhoEtaRange 0.0 5.0
340
341 set JetPTMin 0.0
342}
343
344#####################
345# MC truth jet finder
346#####################
347
348module FastJetFinder GenJetFinder {
349 set InputArray Delphes/stableParticles
350
351 set OutputArray jets
352
353 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
354 set JetAlgorithm 6
355 set ParameterR 0.6
356
357 set JetPTMin 20.0
358}
359
360############
361# Jet finder
362############
363
364module FastJetFinder FastJetFinder {
365 set InputArray Calorimeter/towers
366
367 set OutputArray jets
368
369 # area algorithm: 0 Do not compute area, 1 Active area explicit ghosts, 2 One ghost passive area, 3 Passive area, 4 Voronoi, 5 Active area
370 set AreaAlgorithm 5
371
372 # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
373 set JetAlgorithm 6
374 set ParameterR 0.6
375
376 set JetPTMin 20.0
377}
378
379###########################
380# Jet Pile-Up Subtraction
381###########################
382
383module JetPileUpSubtractor JetPileUpSubtractor {
384 set JetInputArray FastJetFinder/jets
385 set RhoInputArray Rho/rho
386
387 set OutputArray jets
388
389 set JetPTMin 20.0
390}
391
392##################
393# Jet Energy Scale
394##################
395
396module EnergyScale JetEnergyScale {
397 set InputArray JetPileUpSubtractor/jets
398 set OutputArray jets
399
400 # scale formula for jets
401 set ScaleFormula {1.0}
402}
403
404###################
405# Photon efficiency
406###################
407
408module Efficiency PhotonEfficiency {
409 set InputArray Calorimeter/photons
410 set OutputArray photons
411
412 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
413
414 # efficiency formula for photons
415 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
416 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
417 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
418 (abs(eta) > 2.5) * (0.00)}
419}
420
421##################
422# Photon isolation
423##################
424
425module Isolation PhotonIsolation {
426 set CandidateInputArray PhotonEfficiency/photons
427 set IsolationInputArray EFlowMerger/eflow
428 set RhoInputArray Rho/rho
429
430 set OutputArray photons
431
432 set DeltaRMax 0.5
433
434 set PTMin 0.5
435
436 set PTRatioMax 0.1
437}
438
439#####################
440# Electron efficiency
441#####################
442
443module Efficiency ElectronEfficiency {
444 set InputArray TrackPileUpSubtractor/electrons
445 set OutputArray electrons
446
447 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
448
449 # efficiency formula for electrons
450 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
451 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
452 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
453 (abs(eta) > 2.5) * (0.00)}
454}
455
456####################
457# Electron isolation
458####################
459
460module Isolation ElectronIsolation {
461 set CandidateInputArray ElectronEfficiency/electrons
462 set IsolationInputArray EFlowMerger/eflow
463 set RhoInputArray Rho/rho
464
465 set OutputArray electrons
466
467 set DeltaRMax 0.5
468
469 set PTMin 0.5
470
471 set PTRatioMax 0.1
472}
473
474#################
475# Muon efficiency
476#################
477
478module Efficiency MuonEfficiency {
479 set InputArray TrackPileUpSubtractor/muons
480 set OutputArray muons
481
482 # set EfficiencyFormula {efficiency as a function of eta and pt}
483
484 # efficiency formula for muons
485 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
486 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
487 (abs(eta) > 1.5 && abs(eta) <= 2.7) * (pt > 10.0) * (0.85) + \
488 (abs(eta) > 2.7) * (0.00)}
489}
490
491################
492# Muon isolation
493################
494
495module Isolation MuonIsolation {
496 set CandidateInputArray MuonEfficiency/muons
497 set IsolationInputArray EFlowMerger/eflow
498 set RhoInputArray Rho/rho
499
500 set OutputArray muons
501
502 set DeltaRMax 0.5
503
504 set PTMin 0.5
505
506 set PTRatioMax 0.1
507}
508
509###################
510# Missing ET merger
511###################
512
513module Merger MissingET {
514# add InputArray InputArray
515 add InputArray Calorimeter/eflowTracks
516 add InputArray Calorimeter/eflowTowers
517 set MomentumOutputArray momentum
518}
519
520##################
521# Scalar HT merger
522##################
523
524module Merger ScalarHT {
525# add InputArray InputArray
526 add InputArray UniqueObjectFinder/jets
527 add InputArray UniqueObjectFinder/electrons
528 add InputArray UniqueObjectFinder/photons
529 add InputArray UniqueObjectFinder/muons
530 set EnergyOutputArray energy
531}
532
533###########
534# b-tagging
535###########
536
537module BTagging BTagging {
538 set PartonInputArray Delphes/partons
539 set JetInputArray JetEnergyScale/jets
540
541 set BitNumber 0
542
543 set DeltaR 0.5
544
545 set PartonPTMin 1.0
546
547 set PartonEtaMax 2.5
548
549 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
550 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
551 # gluon's PDG code has the lowest priority
552
553 # default efficiency formula (misidentification rate)
554 add EfficiencyFormula {0} {0.001}
555
556 # efficiency formula for c-jets (misidentification rate)
557 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) + \
558 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) + \
559 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) + \
560 (abs(eta) > 2.5) * (0.000)}
561
562 # efficiency formula for b-jets
563 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) + \
564 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) + \
565 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) + \
566 (abs(eta) > 2.5) * (0.000)}
567}
568
569module TauTagging TauTagging {
570 set ParticleInputArray Delphes/allParticles
571 set PartonInputArray Delphes/partons
572 set JetInputArray JetEnergyScale/jets
573
574 set DeltaR 0.5
575
576 set TauPTMin 1.0
577
578 set TauEtaMax 2.5
579
580 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
581
582 # default efficiency formula (misidentification rate)
583 add EfficiencyFormula {0} {0.001}
584 # efficiency formula for tau-jets
585 add EfficiencyFormula {15} {0.4}
586}
587
588#####################################################
589# Find uniquely identified photons/electrons/tau/jets
590#####################################################
591
592module UniqueObjectFinder UniqueObjectFinder {
593# earlier arrays take precedence over later ones
594# add InputArray InputArray OutputArray
595 add InputArray PhotonIsolation/photons photons
596 add InputArray ElectronIsolation/electrons electrons
597 add InputArray MuonIsolation/muons muons
598 add InputArray JetEnergyScale/jets jets
599}
600
601##################
602# ROOT tree writer
603##################
604
605module TreeWriter TreeWriter {
606# add Branch InputArray BranchName BranchClass
607 add Branch Delphes/allParticles Particle GenParticle
608 add Branch TrackMerger/tracks Track Track
609 add Branch Calorimeter/towers Tower Tower
610# add Branch Calorimeter/eflowTracks EFlowTrack Track
611# add Branch Calorimeter/eflowTowers EFlowTower Tower
612 add Branch GenJetFinder/jets GenJet Jet
613 add Branch UniqueObjectFinder/jets Jet Jet
614 add Branch UniqueObjectFinder/electrons Electron Electron
615 add Branch UniqueObjectFinder/photons Photon Photon
616 add Branch UniqueObjectFinder/muons Muon Muon
617 add Branch MissingET/momentum MissingET MissingET
618 add Branch ScalarHT/energy ScalarHT ScalarHT
619 add Branch Rho/rho Rho Rho
620 add Branch PileUpMerger/Vertices Vertex Vertex
621}
622
Note: See TracBrowser for help on using the repository browser.