Fork me on GitHub

Ticket #1319: PU.tcl

File PU.tcl, 18.0 KB (added by Marek Tasevsky, 6 years ago)

steering for PU of mu=50 and no jets

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