Fork me on GitHub

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

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

fix array name for vertices

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