Fork me on GitHub

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

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

add ATLAS card with pile-up

File size: 19.6 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.0e1) * (0.20) + \
162 (abs(eta) <= 1.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.20) + \
163 (abs(eta) <= 1.5) * (pt > 2.0e2) * (0.20) + \
164 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e1) * (0.20) + \
165 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.20) + \
166 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.20)}
167}
168
169#################################
170# Energy resolution for electrons
171#################################
172
173module EnergySmearing ElectronEnergySmearing {
174 set InputArray ElectronTrackingEfficiency/electrons
175 set OutputArray electrons
176
177 # set ResolutionFormula {resolution formula as a function of eta and energy}
178
179 set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.5e1) * (energy*0.015) + \
180 (abs(eta) <= 2.5) * (energy > 2.5e1) * sqrt(energy^2*0.005^2 + energy*0.05^2 + 0.25^2) + \
181 (abs(eta) > 2.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.005^2 + energy*0.05^2 + 0.25^2) + \
182 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
183
184}
185
186###############################
187# Momentum resolution for muons
188###############################
189
190module MomentumSmearing MuonMomentumSmearing {
191 set InputArray MuonTrackingEfficiency/muons
192 set OutputArray muons
193
194 # set ResolutionFormula {resolution formula as a function of eta and pt}
195
196 # resolution formula for muons
197 set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
198 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 5.0e1) * (0.03) + \
199 (abs(eta) <= 1.5) * (pt > 5.0e1 && pt <= 1.0e2) * (0.04) + \
200 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.07) + \
201 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.04) + \
202 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 5.0e1) * (0.04) + \
203 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 5.0e1 && pt <= 1.0e2) * (0.05) + \
204 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.10)}
205}
206
207##############
208# Track merger
209##############
210
211module Merger TrackMerger {
212# add InputArray InputArray
213 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
214 add InputArray ElectronEnergySmearing/electrons
215 set OutputArray tracks
216}
217
218#############
219# Calorimeter
220#############
221
222module Calorimeter Calorimeter {
223 set ParticleInputArray ParticlePropagator/stableParticles
224 set TrackInputArray TrackMerger/tracks
225
226 set TowerOutputArray towers
227 set PhotonOutputArray photons
228
229 set EFlowTrackOutputArray eflowTracks
230 set EFlowTowerOutputArray eflowTowers
231
232 set pi [expr {acos(-1)}]
233
234 # lists of the edges of each tower in eta and phi
235 # each list starts with the lower edge of the first tower
236 # the list ends with the higher edged of the last tower
237
238 # 10 degrees towers
239 set PhiBins {}
240 for {set i -18} {$i <= 18} {incr i} {
241 add PhiBins [expr {$i * $pi/18.0}]
242 }
243 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} {
244 add EtaPhiBins $eta $PhiBins
245 }
246
247 # 20 degrees towers
248 set PhiBins {}
249 for {set i -9} {$i <= 9} {incr i} {
250 add PhiBins [expr {$i * $pi/9.0}]
251 }
252 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} {
253 add EtaPhiBins $eta $PhiBins
254 }
255
256 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
257 add EnergyFraction {0} {0.0 1.0}
258 # energy fractions for e, gamma and pi0
259 add EnergyFraction {11} {1.0 0.0}
260 add EnergyFraction {22} {1.0 0.0}
261 add EnergyFraction {111} {1.0 0.0}
262 # energy fractions for muon, neutrinos and neutralinos
263 add EnergyFraction {12} {0.0 0.0}
264 add EnergyFraction {13} {0.0 0.0}
265 add EnergyFraction {14} {0.0 0.0}
266 add EnergyFraction {16} {0.0 0.0}
267 add EnergyFraction {1000022} {0.0 0.0}
268 add EnergyFraction {1000023} {0.0 0.0}
269 add EnergyFraction {1000025} {0.0 0.0}
270 add EnergyFraction {1000035} {0.0 0.0}
271 add EnergyFraction {1000045} {0.0 0.0}
272 # energy fractions for K0short and Lambda
273 add EnergyFraction {310} {0.3 0.7}
274 add EnergyFraction {3122} {0.3 0.7}
275
276 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
277 # http://arxiv.org/pdf/physics/0608012v1 jinst8_08_s08003
278 # http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
279 # http://www.physics.utoronto.ca/~krieger/procs/ComoProceedings.pdf
280 set ECalResolutionFormula { (abs(eta) <= 3.2) * sqrt(energy^2*0.0017^2 + energy*0.101^2) + \
281 (abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.0350^2 + energy*0.285^2)}
282
283 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
284 # http://arxiv.org/pdf/hep-ex/0004009v1
285 # http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
286 set HCalResolutionFormula { (abs(eta) <= 1.7) * sqrt(energy^2*0.0302^2 + energy*0.5205^2 + 1.59^2) + \
287 (abs(eta) > 1.7 && abs(eta) <= 3.2) * sqrt(energy^2*0.0500^2 + energy*0.706^2) + \
288 (abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.9420^2 + energy*0.075^2)}
289}
290
291##########################
292# Track pile-up subtractor
293##########################
294
295module TrackPileUpSubtractor TrackPileUpSubtractor {
296# add InputArray InputArray OutputArray
297 add InputArray Calorimeter/eflowTracks eflowTracks
298 add InputArray ElectronEnergySmearing/electrons electrons
299 add InputArray MuonMomentumSmearing/muons muons
300
301 # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
302 # Z vertex resolution in m
303 set ZVertexResolution 0.0001
304}
305
306####################
307# Energy flow merger
308####################
309
310module Merger EFlowMerger {
311# add InputArray InputArray
312 add InputArray TrackPileUpSubtractor/eflowTracks
313 add InputArray Calorimeter/eflowTowers
314 add InputArray MuonMomentumSmearing/muons
315 set OutputArray eflow
316}
317
318#############
319# Rho pile-up
320#############
321
322module FastJetFinder Rho {
323 set InputArray Calorimeter/towers
324
325 set ComputeRho true
326 set RhoOutputArray rho
327
328 # 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
329 set AreaAlgorithm 5
330
331 # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
332 set JetAlgorithm 4
333 set ParameterR 0.6
334 set GhostEtaMax 5.0
335 set RhoEtaMax 5.0
336
337 set JetPTMin 0.0
338}
339
340#####################
341# MC truth jet finder
342#####################
343
344module FastJetFinder GenJetFinder {
345 set InputArray Delphes/stableParticles
346
347 set OutputArray jets
348
349 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
350 set JetAlgorithm 6
351 set ParameterR 0.6
352
353 set JetPTMin 20.0
354}
355
356############
357# Jet finder
358############
359
360module FastJetFinder FastJetFinder {
361 set InputArray Calorimeter/towers
362
363 set OutputArray jets
364
365 # 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
366 set AreaAlgorithm 5
367
368 # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
369 set JetAlgorithm 6
370 set ParameterR 0.6
371
372 set JetPTMin 20.0
373}
374
375###########################
376# Jet Pile-Up Subtraction
377###########################
378
379module JetPileUpSubtractor JetPileUpSubtractor {
380 set JetInputArray FastJetFinder/jets
381 set RhoInputArray Rho/rho
382
383 set OutputArray jets
384
385 set JetPTMin 20.0
386}
387
388##################
389# Jet Energy Scale
390##################
391
392module EnergyScale JetEnergyScale {
393 set InputArray JetPileUpSubtractor/jets
394 set OutputArray jets
395
396 # scale formula for jets
397 set ScaleFormula {1.0}
398}
399
400###################
401# Photon efficiency
402###################
403
404module Efficiency PhotonEfficiency {
405 set InputArray Calorimeter/photons
406 set OutputArray photons
407
408 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
409
410 # efficiency formula for photons
411 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
412 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
413 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
414 (abs(eta) > 2.5) * (0.00)}
415}
416
417##################
418# Photon isolation
419##################
420
421module Isolation PhotonIsolation {
422 set CandidateInputArray PhotonEfficiency/photons
423 set IsolationInputArray EFlowMerger/eflow
424 set RhoInputArray Rho/rho
425
426 set OutputArray photons
427
428 set DeltaRMax 0.5
429
430 set PTMin 0.5
431
432 set PTRatioMax 0.1
433}
434
435#####################
436# Electron efficiency
437#####################
438
439module Efficiency ElectronEfficiency {
440 set InputArray TrackPileUpSubtractor/electrons
441 set OutputArray electrons
442
443 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
444
445 # efficiency formula for electrons
446 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
447 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
448 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
449 (abs(eta) > 2.5) * (0.00)}
450}
451
452####################
453# Electron isolation
454####################
455
456module Isolation ElectronIsolation {
457 set CandidateInputArray ElectronEfficiency/electrons
458 set IsolationInputArray EFlowMerger/eflow
459 set RhoInputArray Rho/rho
460
461 set OutputArray electrons
462
463 set DeltaRMax 0.5
464
465 set PTMin 0.5
466
467 set PTRatioMax 0.1
468}
469
470#################
471# Muon efficiency
472#################
473
474module Efficiency MuonEfficiency {
475 set InputArray TrackPileUpSubtractor/muons
476 set OutputArray muons
477
478 # set EfficiencyFormula {efficiency as a function of eta and pt}
479
480 # efficiency formula for muons
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.7) * (pt > 10.0) * (0.85) + \
484 (abs(eta) > 2.7) * (0.00)}
485}
486
487################
488# Muon isolation
489################
490
491module Isolation MuonIsolation {
492 set CandidateInputArray MuonEfficiency/muons
493 set IsolationInputArray EFlowMerger/eflow
494 set RhoInputArray Rho/rho
495
496 set OutputArray muons
497
498 set DeltaRMax 0.5
499
500 set PTMin 0.5
501
502 set PTRatioMax 0.1
503}
504
505###################
506# Missing ET merger
507###################
508
509module Merger MissingET {
510# add InputArray InputArray
511 add InputArray EFlowMerger/eflow
512 set MomentumOutputArray momentum
513}
514
515##################
516# Scalar HT merger
517##################
518
519module Merger ScalarHT {
520# add InputArray InputArray
521 add InputArray UniqueObjectFinder/jets
522 add InputArray UniqueObjectFinder/electrons
523 add InputArray UniqueObjectFinder/photons
524 add InputArray UniqueObjectFinder/muons
525 set EnergyOutputArray energy
526}
527
528###########
529# b-tagging
530###########
531
532module BTagging BTagging {
533 set PartonInputArray Delphes/partons
534 set JetInputArray JetEnergyScale/jets
535
536 set BitNumber 0
537
538 set DeltaR 0.5
539
540 set PartonPTMin 1.0
541
542 set PartonEtaMax 2.5
543
544 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
545 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
546 # gluon's PDG code has the lowest priority
547
548 # default efficiency formula (misidentification rate)
549 add EfficiencyFormula {0} {0.001}
550
551 # efficiency formula for c-jets (misidentification rate)
552 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) + \
553 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) + \
554 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) + \
555 (abs(eta) > 2.5) * (0.000)}
556
557 # efficiency formula for b-jets
558 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) + \
559 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) + \
560 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) + \
561 (abs(eta) > 2.5) * (0.000)}
562}
563
564module TauTagging TauTagging {
565 set ParticleInputArray Delphes/allParticles
566 set PartonInputArray Delphes/partons
567 set JetInputArray JetEnergyScale/jets
568
569 set DeltaR 0.5
570
571 set TauPTMin 1.0
572
573 set TauEtaMax 2.5
574
575 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
576
577 # default efficiency formula (misidentification rate)
578 add EfficiencyFormula {0} {0.001}
579 # efficiency formula for tau-jets
580 add EfficiencyFormula {15} {0.4}
581}
582
583#####################################################
584# Find uniquely identified photons/electrons/tau/jets
585#####################################################
586
587module UniqueObjectFinder UniqueObjectFinder {
588# earlier arrays take precedence over later ones
589# add InputArray InputArray OutputArray
590 add InputArray PhotonIsolation/photons photons
591 add InputArray ElectronIsolation/electrons electrons
592 add InputArray MuonIsolation/muons muons
593 add InputArray JetEnergyScale/jets jets
594}
595
596##################
597# ROOT tree writer
598##################
599
600module TreeWriter TreeWriter {
601# add Branch InputArray BranchName BranchClass
602 add Branch Delphes/allParticles Particle GenParticle
603 add Branch TrackMerger/tracks Track Track
604 add Branch Calorimeter/towers Tower Tower
605# add Branch Calorimeter/eflowTracks EFlowTrack Track
606# add Branch Calorimeter/eflowTowers EFlowTower Tower
607# add Branch MuonMomentumSmearing/muons EFlowMuon Muon
608 add Branch GenJetFinder/jets GenJet Jet
609 add Branch UniqueObjectFinder/jets Jet Jet
610 add Branch UniqueObjectFinder/electrons Electron Electron
611 add Branch UniqueObjectFinder/photons Photon Photon
612 add Branch UniqueObjectFinder/muons Muon Muon
613 add Branch MissingET/momentum MissingET MissingET
614 add Branch ScalarHT/energy ScalarHT ScalarHT
615 add Branch Rho/rho Rho Rho
616}
617
Note: See TracBrowser for help on using the repository browser.