Fork me on GitHub

Ticket #1395: CMS_PhaseII_PixelStudies_my200PU.tcl

File CMS_PhaseII_PixelStudies_my200PU.tcl, 30.2 KB (added by Hokyeong Nam, 5 years ago)
Line 
1#
2# Main authors: Michele Selvaggi (UCL)
3#
4# Released on: Jun 26 - 2007
5#
6# Version: v02
7#
8#
9#######################################
10# Order of execution of various modules
11#######################################
12
13set ExecutionPath {
14
15 PileUpMerger
16
17 ParticlePropagator
18
19 ParticlePropagatorPixel1
20 ParticlePropagatorPixel2
21 ParticlePropagatorPixel3
22 ParticlePropagatorPixel4
23
24 ParticlePropagatorDisk1
25 ParticlePropagatorDisk2
26 ParticlePropagatorDisk3
27 ParticlePropagatorDisk4
28 ParticlePropagatorDisk5
29
30 TrackMerger1
31 TrackMerger2
32 TrackMerger3
33 TrackMerger4
34
35 DiskMerger1
36 DiskMerger2
37 DiskMerger3
38 DiskMerger4
39 DiskMerger5
40
41 ChargedHadronTrackingEfficiency
42 ElectronTrackingEfficiency
43 MuonTrackingEfficiency
44
45 ChargedHadronMomentumSmearing
46 ElectronEnergySmearing
47 MuonMomentumSmearing
48
49 TrackMerger
50
51 ECal
52 HCal
53
54 ElectronFilter
55
56 TreeWriter
57}
58
59
60###############
61# PileUp Merger
62###############
63
64module PileUpMerger PileUpMerger {
65 set InputArray Delphes/stableParticles
66
67 set ParticleOutputArray stableParticles
68 set VertexOutputArray vertices
69
70 # pre-generated minbias input file
71 #set PileUpFile /eos/cms/store/group/upgrade/delphes/PhaseII/MinBias_100k.pileup
72 set PileUpFile /cms/scratch/hknam/Delphes/Delphes-3.4.1/MinBias_100k.pileup
73 #set PileUpFile MinBias.pileup
74
75 # average expected pile up
76 set MeanPileUp 200
77
78 # maximum spread in the beam direction in m
79 set ZVertexSpread 0.25
80
81 # maximum spread in time in s
82 set TVertexSpread 800E-12
83
84 # vertex smearing formula f(z,t) (z,t need to be respectively given in m,s) - {exp(-(t^2/160e-12^2/2))*exp(-(z^2/0.053^2/2))}
85 set VertexDistributionFormula {exp(-(t^2/160e-12^2/2))*exp(-(z^2/0.053^2/2))}
86
87}
88
89
90#################################
91# Track propagation pixel1
92#################################
93
94module ParticlePropagator ParticlePropagatorPixel1 {
95 set InputArray PileUpMerger/stableParticles
96
97 set OutputArray stableParticles
98 set NeutralOutputArray neutralParticles
99 set ChargedHadronOutputArray chargedHadrons
100 set ElectronOutputArray electrons
101 set MuonOutputArray muons
102
103 # radius of the magnetic field coverage, in m
104 set Radius 0.03
105 # half-length of the magnetic field coverage, in m
106 set HalfLength 0.20
107
108 # magnetic field
109 set Bz 3.8
110}
111
112##############
113# Track merger
114##############
115
116module Merger TrackMerger1 {
117# add InputArray InputArray
118 add InputArray ParticlePropagatorPixel1/chargedHadrons
119 add InputArray ParticlePropagatorPixel1/electrons
120 add InputArray ParticlePropagatorPixel1/muons
121 set OutputArray tracks
122}
123
124
125#################################
126# Track propagation pixel2
127#################################
128
129module ParticlePropagator ParticlePropagatorPixel2 {
130 set InputArray PileUpMerger/stableParticles
131
132 set OutputArray stableParticles
133 set NeutralOutputArray neutralParticles
134 set ChargedHadronOutputArray chargedHadrons
135 set ElectronOutputArray electrons
136 set MuonOutputArray muons
137
138 # radius of the magnetic field coverage, in m
139 set Radius 0.07
140 # half-length of the magnetic field coverage, in m
141 set HalfLength 0.20
142
143 # magnetic field
144 set Bz 3.8
145}
146
147##############
148# Track merger
149##############
150
151module Merger TrackMerger2 {
152# add InputArray InputArray
153 add InputArray ParticlePropagatorPixel2/chargedHadrons
154 add InputArray ParticlePropagatorPixel2/electrons
155 add InputArray ParticlePropagatorPixel2/muons
156 set OutputArray tracks
157}
158
159#################################
160# Track propagation pixel3
161#################################
162
163module ParticlePropagator ParticlePropagatorPixel3 {
164 set InputArray PileUpMerger/stableParticles
165
166 set OutputArray stableParticles
167 set NeutralOutputArray neutralParticles
168 set ChargedHadronOutputArray chargedHadrons
169 set ElectronOutputArray electrons
170 set MuonOutputArray muons
171
172 # radius of the magnetic field coverage, in m
173 set Radius 0.118
174 # half-length of the magnetic field coverage, in m
175 set HalfLength 0.20
176
177 # magnetic field
178 set Bz 3.8
179}
180
181##############
182# Track merger
183##############
184
185module Merger TrackMerger3 {
186# add InputArray InputArray
187 add InputArray ParticlePropagatorPixel3/chargedHadrons
188 add InputArray ParticlePropagatorPixel3/electrons
189 add InputArray ParticlePropagatorPixel3/muons
190 set OutputArray tracks
191}
192
193#################################
194# Track propagation pixel4
195#################################
196
197module ParticlePropagator ParticlePropagatorPixel4 {
198 set InputArray PileUpMerger/stableParticles
199
200 set OutputArray stableParticles
201 set NeutralOutputArray neutralParticles
202 set ChargedHadronOutputArray chargedHadrons
203 set ElectronOutputArray electrons
204 set MuonOutputArray muons
205
206 # radius of the magnetic field coverage, in m
207 set Radius 0.158
208 # half-length of the magnetic field coverage, in m
209 set HalfLength 0.20
210
211 # magnetic field
212 set Bz 3.8
213}
214
215##############
216# Track merger
217##############
218
219module Merger TrackMerger4 {
220# add InputArray InputArray
221 add InputArray ParticlePropagatorPixel4/chargedHadrons
222 add InputArray ParticlePropagatorPixel4/electrons
223 add InputArray ParticlePropagatorPixel4/muons
224 set OutputArray tracks
225}
226
227#################################
228# Track propagation Disk1
229#################################
230
231module ParticlePropagator ParticlePropagatorDisk1 {
232 set InputArray PileUpMerger/stableParticles
233
234 set OutputArray stableParticles
235 set NeutralOutputArray neutralParticles
236 set ChargedHadronOutputArray chargedHadrons
237 set ElectronOutputArray electrons
238 set MuonOutputArray muons
239
240 # radius of the magnetic field coverage, in m
241 set Radius 0.16
242 # half-length of the magnetic field coverage, in m
243 set HalfLength 0.250
244
245 # magnetic field
246 set Bz 3.8
247}
248
249##############
250# Track merger
251##############
252
253module Merger DiskMerger1 {
254# add InputArray InputArray
255 add InputArray ParticlePropagatorDisk1/chargedHadrons
256 add InputArray ParticlePropagatorDisk1/electrons
257 add InputArray ParticlePropagatorDisk1/muons
258 set OutputArray tracks
259}
260
261#################################
262# Track propagation Disk2
263#################################
264
265module ParticlePropagator ParticlePropagatorDisk2 {
266 set InputArray PileUpMerger/stableParticles
267
268 set OutputArray stableParticles
269 set NeutralOutputArray neutralParticles
270 set ChargedHadronOutputArray chargedHadrons
271 set ElectronOutputArray electrons
272 set MuonOutputArray muons
273
274 # radius of the magnetic field coverage, in m
275 set Radius 0.16
276 # half-length of the magnetic field coverage, in m
277 set HalfLength 0.320
278
279 # magnetic field
280 set Bz 3.8
281}
282
283##############
284# Track merger
285##############
286
287module Merger DiskMerger2 {
288# add InputArray InputArray
289 add InputArray ParticlePropagatorDisk2/chargedHadrons
290 add InputArray ParticlePropagatorDisk2/electrons
291 add InputArray ParticlePropagatorDisk2/muons
292 set OutputArray tracks
293}
294
295#################################
296# Track propagation Disk3
297#################################
298
299module ParticlePropagator ParticlePropagatorDisk3 {
300 set InputArray PileUpMerger/stableParticles
301
302 set OutputArray stableParticles
303 set NeutralOutputArray neutralParticles
304 set ChargedHadronOutputArray chargedHadrons
305 set ElectronOutputArray electrons
306 set MuonOutputArray muons
307
308 # radius of the magnetic field coverage, in m
309 set Radius 0.16
310 # half-length of the magnetic field coverage, in m
311 set HalfLength 0.409
312
313 # magnetic field
314 set Bz 3.8
315}
316
317##############
318# Track merger
319##############
320
321module Merger DiskMerger3 {
322# add InputArray InputArray
323 add InputArray ParticlePropagatorDisk3/chargedHadrons
324 add InputArray ParticlePropagatorDisk3/electrons
325 add InputArray ParticlePropagatorDisk3/muons
326 set OutputArray tracks
327}
328
329#################################
330# Track propagation Disk4
331#################################
332
333module ParticlePropagator ParticlePropagatorDisk4 {
334 set InputArray PileUpMerger/stableParticles
335
336 set OutputArray stableParticles
337 set NeutralOutputArray neutralParticles
338 set ChargedHadronOutputArray chargedHadrons
339 set ElectronOutputArray electrons
340 set MuonOutputArray muons
341
342 # radius of the magnetic field coverage, in m
343 set Radius 0.16
344 # half-length of the magnetic field coverage, in m
345 set HalfLength 0.523
346
347 # magnetic field
348 set Bz 3.8
349}
350
351##############
352# Track merger
353##############
354
355module Merger DiskMerger4 {
356# add InputArray InputArray
357 add InputArray ParticlePropagatorDisk4/chargedHadrons
358 add InputArray ParticlePropagatorDisk4/electrons
359 add InputArray ParticlePropagatorDisk4/muons
360 set OutputArray tracks
361}
362
363#################################
364# Track propagation Disk5
365#################################
366
367module ParticlePropagator ParticlePropagatorDisk5 {
368 set InputArray PileUpMerger/stableParticles
369
370 set OutputArray stableParticles
371 set NeutralOutputArray neutralParticles
372 set ChargedHadronOutputArray chargedHadrons
373 set ElectronOutputArray electrons
374 set MuonOutputArray muons
375
376 # radius of the magnetic field coverage, in m
377 set Radius 0.16
378 # half-length of the magnetic field coverage, in m
379 set HalfLength 0.669
380
381 # magnetic field
382 set Bz 3.8
383}
384
385##############
386# Track merger
387##############
388
389module Merger DiskMerger5 {
390# add InputArray InputArray
391 add InputArray ParticlePropagatorDisk5/chargedHadrons
392 add InputArray ParticlePropagatorDisk5/electrons
393 add InputArray ParticlePropagatorDisk5/muons
394 set OutputArray tracks
395}
396
397
398
399#################################
400# Propagate particles in cylinder
401#################################
402
403module ParticlePropagator ParticlePropagator {
404 #set InputArray PileUpMerger/stableParticles
405 set InputArray Delphes/stableParticles
406
407 set OutputArray stableParticles
408 set ChargedHadronOutputArray chargedHadrons
409 set ElectronOutputArray electrons
410 set MuonOutputArray muons
411
412 # radius of the magnetic field coverage, in m
413 set Radius 1.29
414 # half-length of the magnetic field coverage, in m
415 set HalfLength 3.0
416
417 # magnetic field
418 set Bz 3.8
419}
420
421
422####################################
423# Charged hadron tracking efficiency
424####################################
425
426module Efficiency ChargedHadronTrackingEfficiency {
427 ## particles after propagation
428 set InputArray ParticlePropagator/chargedHadrons
429 set OutputArray chargedHadrons
430 # tracking efficiency formula for charged hadrons
431 set EfficiencyFormula {
432 (pt <= 0.2) * (0.00) + \
433 (abs(eta) <= 1.2) * (pt > 0.2 && pt <= 1.0) * (pt * 0.96) + \
434 (abs(eta) <= 1.2) * (pt > 1.0) * (0.97) + \
435 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 0.2 && pt <= 1.0) * (pt*0.85) + \
436 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 1.0) * (0.87) + \
437 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 0.2 && pt <= 1.0) * (pt*0.8) + \
438 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0) * (0.82) + \
439 (abs(eta) > 4.0) * (0.00)
440 }
441}
442
443
444#####################################
445# Electron tracking efficiency - ID
446####################################
447
448module Efficiency ElectronTrackingEfficiency {
449 set InputArray ParticlePropagator/electrons
450 set OutputArray electrons
451 # tracking efficiency formula for electrons
452 set EfficiencyFormula {
453 (pt <= 0.2) * (0.00) + \
454 (abs(eta) <= 1.2) * (pt > 0.2 && pt <= 1.0) * (pt * 0.96) + \
455 (abs(eta) <= 1.2) * (pt > 1.0) * (0.97) + \
456 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 0.2 && pt <= 1.0) * (pt*0.85) + \
457 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 10.0) * (0.82+pt*0.01) + \
458 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 10.0) * (0.90) + \
459 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 0.2 && pt <= 1.0) * (pt*0.8) + \
460 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt <= 10.0) * (0.8+pt*0.01) + \
461 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 10.0) * (0.85) + \
462 (abs(eta) > 4.0) * (0.00)
463
464 }
465}
466
467##########################
468# Muon tracking efficiency
469##########################
470
471module Efficiency MuonTrackingEfficiency {
472 set InputArray ParticlePropagator/muons
473 set OutputArray muons
474 # tracking efficiency formula for muons
475 set EfficiencyFormula {
476 (pt <= 0.2) * (0.00) + \
477 (abs(eta) <= 1.2) * (pt > 0.2 && pt <= 1.0) * (pt * 1.00) + \
478 (abs(eta) <= 1.2) * (pt > 1.0) * (1.00) + \
479 (abs(eta) > 1.2 && abs(eta) <= 2.8) * (pt > 0.2 && pt <= 1.0) * (pt*1.00) + \
480 (abs(eta) > 1.2 && abs(eta) <= 2.8) * (pt > 1.0) * (1.00) + \
481 (abs(eta) > 2.8 && abs(eta) <= 4.0) * (pt > 0.2 && pt <= 1.0) * (pt*0.95) + \
482 (abs(eta) > 2.8 && abs(eta) <= 4.0) * (pt > 1.0) * (0.95) + \
483 (abs(eta) > 4.0) * (0.00)
484
485 }
486}
487
488
489########################################
490# Momentum resolution for charged tracks
491########################################
492
493module MomentumSmearing ChargedHadronMomentumSmearing {
494 ## hadrons after having applied the tracking efficiency
495 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
496 set OutputArray chargedHadrons
497 # resolution formula for charged hadrons ,
498
499 #
500 # Automatically generated tracker resolution formula for layout: OT612IT4025
501 #
502 # By Unknown author on: 2017-06-30.17:03:00
503 #
504 set ResolutionFormula { (abs(eta) >= 0.0000 && abs(eta) < 0.2000) * (pt >= 0.0000 && pt < 1.0000) * (0.00457888) + \
505 (abs(eta) >= 0.0000 && abs(eta) < 0.2000) * (pt >= 1.0000 && pt < 10.0000) * (0.004579 + (pt-1.000000)* 0.000045) + \
506 (abs(eta) >= 0.0000 && abs(eta) < 0.2000) * (pt >= 10.0000 && pt < 100.0000) * (0.004983 + (pt-10.000000)* 0.000047) + \
507 (abs(eta) >= 0.0000 && abs(eta) < 0.2000) * (pt >= 100.0000) * (0.009244*pt/100.000000) + \
508 (abs(eta) >= 0.2000 && abs(eta) < 0.4000) * (pt >= 0.0000 && pt < 1.0000) * (0.00505011) + \
509 (abs(eta) >= 0.2000 && abs(eta) < 0.4000) * (pt >= 1.0000 && pt < 10.0000) * (0.005050 + (pt-1.000000)* 0.000033) + \
510 (abs(eta) >= 0.2000 && abs(eta) < 0.4000) * (pt >= 10.0000 && pt < 100.0000) * (0.005343 + (pt-10.000000)* 0.000043) + \
511 (abs(eta) >= 0.2000 && abs(eta) < 0.4000) * (pt >= 100.0000) * (0.009172*pt/100.000000) + \
512 (abs(eta) >= 0.4000 && abs(eta) < 0.6000) * (pt >= 0.0000 && pt < 1.0000) * (0.00510573) + \
513 (abs(eta) >= 0.4000 && abs(eta) < 0.6000) * (pt >= 1.0000 && pt < 10.0000) * (0.005106 + (pt-1.000000)* 0.000023) + \
514 (abs(eta) >= 0.4000 && abs(eta) < 0.6000) * (pt >= 10.0000 && pt < 100.0000) * (0.005317 + (pt-10.000000)* 0.000042) + \
515 (abs(eta) >= 0.4000 && abs(eta) < 0.6000) * (pt >= 100.0000) * (0.009077*pt/100.000000) + \
516 (abs(eta) >= 0.6000 && abs(eta) < 0.8000) * (pt >= 0.0000 && pt < 1.0000) * (0.00578020) + \
517 (abs(eta) >= 0.6000 && abs(eta) < 0.8000) * (pt >= 1.0000 && pt < 10.0000) * (0.005780 + (pt-1.000000)* -0.000000) + \
518 (abs(eta) >= 0.6000 && abs(eta) < 0.8000) * (pt >= 10.0000 && pt < 100.0000) * (0.005779 + (pt-10.000000)* 0.000038) + \
519 (abs(eta) >= 0.6000 && abs(eta) < 0.8000) * (pt >= 100.0000) * (0.009177*pt/100.000000) + \
520 (abs(eta) >= 0.8000 && abs(eta) < 1.0000) * (pt >= 0.0000 && pt < 1.0000) * (0.00728723) + \
521 (abs(eta) >= 0.8000 && abs(eta) < 1.0000) * (pt >= 1.0000 && pt < 10.0000) * (0.007287 + (pt-1.000000)* -0.000031) + \
522 (abs(eta) >= 0.8000 && abs(eta) < 1.0000) * (pt >= 10.0000 && pt < 100.0000) * (0.007011 + (pt-10.000000)* 0.000038) + \
523 (abs(eta) >= 0.8000 && abs(eta) < 1.0000) * (pt >= 100.0000) * (0.010429*pt/100.000000) + \
524 (abs(eta) >= 1.0000 && abs(eta) < 1.2000) * (pt >= 0.0000 && pt < 1.0000) * (0.01045117) + \
525 (abs(eta) >= 1.0000 && abs(eta) < 1.2000) * (pt >= 1.0000 && pt < 10.0000) * (0.010451 + (pt-1.000000)* -0.000051) + \
526 (abs(eta) >= 1.0000 && abs(eta) < 1.2000) * (pt >= 10.0000 && pt < 100.0000) * (0.009989 + (pt-10.000000)* 0.000043) + \
527 (abs(eta) >= 1.0000 && abs(eta) < 1.2000) * (pt >= 100.0000) * (0.013867*pt/100.000000) + \
528 (abs(eta) >= 1.2000 && abs(eta) < 1.4000) * (pt >= 0.0000 && pt < 1.0000) * (0.01477199) + \
529 (abs(eta) >= 1.2000 && abs(eta) < 1.4000) * (pt >= 1.0000 && pt < 10.0000) * (0.014772 + (pt-1.000000)* -0.000128) + \
530 (abs(eta) >= 1.2000 && abs(eta) < 1.4000) * (pt >= 10.0000 && pt < 100.0000) * (0.013616 + (pt-10.000000)* 0.000035) + \
531 (abs(eta) >= 1.2000 && abs(eta) < 1.4000) * (pt >= 100.0000) * (0.016800*pt/100.000000) + \
532 (abs(eta) >= 1.4000 && abs(eta) < 1.6000) * (pt >= 0.0000 && pt < 1.0000) * (0.01731474) + \
533 (abs(eta) >= 1.4000 && abs(eta) < 1.6000) * (pt >= 1.0000 && pt < 10.0000) * (0.017315 + (pt-1.000000)* -0.000208) + \
534 (abs(eta) >= 1.4000 && abs(eta) < 1.6000) * (pt >= 10.0000 && pt < 100.0000) * (0.015439 + (pt-10.000000)* 0.000030) + \
535 (abs(eta) >= 1.4000 && abs(eta) < 1.6000) * (pt >= 100.0000) * (0.018161*pt/100.000000) + \
536 (abs(eta) >= 1.6000 && abs(eta) < 1.8000) * (pt >= 0.0000 && pt < 1.0000) * (0.01942025) + \
537 (abs(eta) >= 1.6000 && abs(eta) < 1.8000) * (pt >= 1.0000 && pt < 10.0000) * (0.019420 + (pt-1.000000)* -0.000417) + \
538 (abs(eta) >= 1.6000 && abs(eta) < 1.8000) * (pt >= 10.0000 && pt < 100.0000) * (0.015669 + (pt-10.000000)* 0.000026) + \
539 (abs(eta) >= 1.6000 && abs(eta) < 1.8000) * (pt >= 100.0000) * (0.018039*pt/100.000000) + \
540 (abs(eta) >= 1.8000 && abs(eta) < 2.0000) * (pt >= 0.0000 && pt < 1.0000) * (0.02201432) + \
541 (abs(eta) >= 1.8000 && abs(eta) < 2.0000) * (pt >= 1.0000 && pt < 10.0000) * (0.022014 + (pt-1.000000)* -0.000667) + \
542 (abs(eta) >= 1.8000 && abs(eta) < 2.0000) * (pt >= 10.0000 && pt < 100.0000) * (0.016012 + (pt-10.000000)* 0.000045) + \
543 (abs(eta) >= 1.8000 && abs(eta) < 2.0000) * (pt >= 100.0000) * (0.020098*pt/100.000000) + \
544 (abs(eta) >= 2.0000 && abs(eta) < 2.2000) * (pt >= 0.0000 && pt < 1.0000) * (0.02574300) + \
545 (abs(eta) >= 2.0000 && abs(eta) < 2.2000) * (pt >= 1.0000 && pt < 10.0000) * (0.025743 + (pt-1.000000)* -0.001118) + \
546 (abs(eta) >= 2.0000 && abs(eta) < 2.2000) * (pt >= 10.0000 && pt < 100.0000) * (0.015681 + (pt-10.000000)* 0.000051) + \
547 (abs(eta) >= 2.0000 && abs(eta) < 2.2000) * (pt >= 100.0000) * (0.020289*pt/100.000000) + \
548 (abs(eta) >= 2.2000 && abs(eta) < 2.4000) * (pt >= 0.0000 && pt < 1.0000) * (0.02885821) + \
549 (abs(eta) >= 2.2000 && abs(eta) < 2.4000) * (pt >= 1.0000 && pt < 10.0000) * (0.028858 + (pt-1.000000)* -0.001345) + \
550 (abs(eta) >= 2.2000 && abs(eta) < 2.4000) * (pt >= 10.0000 && pt < 100.0000) * (0.016753 + (pt-10.000000)* 0.000053) + \
551 (abs(eta) >= 2.2000 && abs(eta) < 2.4000) * (pt >= 100.0000) * (0.021524*pt/100.000000) + \
552 (abs(eta) >= 2.4000 && abs(eta) < 2.6000) * (pt >= 0.0000 && pt < 1.0000) * (0.03204812) + \
553 (abs(eta) >= 2.4000 && abs(eta) < 2.6000) * (pt >= 1.0000 && pt < 10.0000) * (0.032048 + (pt-1.000000)* -0.001212) + \
554 (abs(eta) >= 2.4000 && abs(eta) < 2.6000) * (pt >= 10.0000 && pt < 100.0000) * (0.021138 + (pt-10.000000)* 0.000037) + \
555 (abs(eta) >= 2.4000 && abs(eta) < 2.6000) * (pt >= 100.0000) * (0.024477*pt/100.000000) + \
556 (abs(eta) >= 2.6000 && abs(eta) < 2.8000) * (pt >= 0.0000 && pt < 1.0000) * (0.03950405) + \
557 (abs(eta) >= 2.6000 && abs(eta) < 2.8000) * (pt >= 1.0000 && pt < 10.0000) * (0.039504 + (pt-1.000000)* -0.001386) + \
558 (abs(eta) >= 2.6000 && abs(eta) < 2.8000) * (pt >= 10.0000 && pt < 100.0000) * (0.027026 + (pt-10.000000)* 0.000037) + \
559 (abs(eta) >= 2.6000 && abs(eta) < 2.8000) * (pt >= 100.0000) * (0.030392*pt/100.000000) + \
560 (abs(eta) >= 2.8000 && abs(eta) < 3.0000) * (pt >= 0.0000 && pt < 1.0000) * (0.04084751) + \
561 (abs(eta) >= 2.8000 && abs(eta) < 3.0000) * (pt >= 1.0000 && pt < 10.0000) * (0.040848 + (pt-1.000000)* -0.001780) + \
562 (abs(eta) >= 2.8000 && abs(eta) < 3.0000) * (pt >= 10.0000 && pt < 100.0000) * (0.024824 + (pt-10.000000)* 0.000029) + \
563 (abs(eta) >= 2.8000 && abs(eta) < 3.0000) * (pt >= 100.0000) * (0.027445*pt/100.000000) + \
564 (abs(eta) >= 3.0000 && abs(eta) < 3.2000) * (pt >= 0.0000 && pt < 1.0000) * (0.04532425) + \
565 (abs(eta) >= 3.0000 && abs(eta) < 3.2000) * (pt >= 1.0000 && pt < 10.0000) * (0.045324 + (pt-1.000000)* -0.002497) + \
566 (abs(eta) >= 3.0000 && abs(eta) < 3.2000) * (pt >= 10.0000 && pt < 100.0000) * (0.022851 + (pt-10.000000)* 0.000024) + \
567 (abs(eta) >= 3.0000 && abs(eta) < 3.2000) * (pt >= 100.0000) * (0.025053*pt/100.000000) + \
568 (abs(eta) >= 3.2000 && abs(eta) < 3.4000) * (pt >= 0.0000 && pt < 1.0000) * (0.06418925) + \
569 (abs(eta) >= 3.2000 && abs(eta) < 3.4000) * (pt >= 1.0000 && pt < 10.0000) * (0.064189 + (pt-1.000000)* -0.004055) + \
570 (abs(eta) >= 3.2000 && abs(eta) < 3.4000) * (pt >= 10.0000 && pt < 100.0000) * (0.027691 + (pt-10.000000)* 0.000034) + \
571 (abs(eta) >= 3.2000 && abs(eta) < 3.4000) * (pt >= 100.0000) * (0.030710*pt/100.000000) + \
572 (abs(eta) >= 3.4000 && abs(eta) < 3.6000) * (pt >= 0.0000 && pt < 1.0000) * (0.07682500) + \
573 (abs(eta) >= 3.4000 && abs(eta) < 3.6000) * (pt >= 1.0000 && pt < 10.0000) * (0.076825 + (pt-1.000000)* -0.004510) + \
574 (abs(eta) >= 3.4000 && abs(eta) < 3.6000) * (pt >= 10.0000 && pt < 100.0000) * (0.036234 + (pt-10.000000)* 0.000049) + \
575 (abs(eta) >= 3.4000 && abs(eta) < 3.6000) * (pt >= 100.0000) * (0.040629*pt/100.000000) + \
576 (abs(eta) >= 3.6000 && abs(eta) < 3.8000) * (pt >= 0.0000 && pt < 1.0000) * (0.09796358) + \
577 (abs(eta) >= 3.6000 && abs(eta) < 3.8000) * (pt >= 1.0000 && pt < 10.0000) * (0.097964 + (pt-1.000000)* -0.005758) + \
578 (abs(eta) >= 3.6000 && abs(eta) < 3.8000) * (pt >= 10.0000 && pt < 100.0000) * (0.046145 + (pt-10.000000)* 0.000069) + \
579 (abs(eta) >= 3.6000 && abs(eta) < 3.8000) * (pt >= 100.0000) * (0.052345*pt/100.000000) + \
580 (abs(eta) >= 3.8000 && abs(eta) < 4.0000) * (pt >= 0.0000 && pt < 1.0000) * (0.13415929) + \
581 (abs(eta) >= 3.8000 && abs(eta) < 4.0000) * (pt >= 1.0000 && pt < 10.0000) * (0.134159 + (pt-1.000000)* -0.008283) + \
582 (abs(eta) >= 3.8000 && abs(eta) < 4.0000) * (pt >= 10.0000 && pt < 100.0000) * (0.059612 + (pt-10.000000)* 0.000111) + \
583 (abs(eta) >= 3.8000 && abs(eta) < 4.0000) * (pt >= 100.0000) * (0.069617*pt/100.000000)
584 }
585
586
587}
588
589#################################
590# Energy resolution for electrons
591#################################
592
593module EnergySmearing ElectronEnergySmearing {
594 set InputArray ElectronTrackingEfficiency/electrons
595 set OutputArray electrons
596
597 # set ResolutionFormula {resolution formula as a function of eta and energy}
598
599 # resolution formula for electrons
600
601 # taking something flat in energy for now, ECAL will take over at high energy anyway.
602 # inferred from hep-ex/1306.2016 and 1502.02701
603 set ResolutionFormula {
604
605 (abs(eta) <= 1.5) * (energy*0.028) +
606 (abs(eta) > 1.5 && abs(eta) <= 1.75) * (energy*0.037) +
607 (abs(eta) > 1.75 && abs(eta) <= 2.15) * (energy*0.038) +
608 (abs(eta) > 2.15 && abs(eta) <= 3.00) * (energy*0.044) +
609 (abs(eta) > 3.00 && abs(eta) <= 4.00) * (energy*0.10)}
610
611}
612
613###############################
614# Momentum resolution for muons
615###############################
616
617module MomentumSmearing MuonMomentumSmearing {
618 set InputArray MuonTrackingEfficiency/muons
619 set OutputArray muons
620 # resolution formula for muons
621
622 # up to |eta| < 2.8 take measurement from tracking + muon chambers
623 # for |eta| > 2.8 and pT < 5.0 take measurement from tracking alone taken from
624 # http://mersi.web.cern.ch/mersi/layouts/.private/Baseline_tilted_200_Pixel_1_1_1/index.html
625 source muonMomentumResolution.tcl
626}
627
628##############
629# Track merger
630##############
631
632module Merger TrackMerger {
633# add InputArray InputArray
634 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
635 add InputArray ElectronEnergySmearing/electrons
636 add InputArray MuonMomentumSmearing/muons
637 set OutputArray tracks
638}
639
640#############
641# ECAL
642#############
643
644module SimpleCalorimeter ECal {
645 set ParticleInputArray ParticlePropagator/stableParticles
646 set TrackInputArray TrackMerger/tracks
647
648 set TowerOutputArray ecalTowers
649 set EFlowTrackOutputArray eflowTracks
650 set EFlowTowerOutputArray eflowPhotons
651
652 set IsEcal true
653
654 set EnergyMin 0.5
655 set EnergySignificanceMin 1.0
656
657 set SmearTowerCenter true
658
659 set pi [expr {acos(-1)}]
660
661 # lists of the edges of each tower in eta and phi
662 # each list starts with the lower edge of the first tower
663 # the list ends with the higher edged of the last tower
664
665 # assume 0.02 x 0.02 resolution in eta,phi in the barrel |eta| < 1.5
666
667 set PhiBins {}
668 for {set i -180} {$i <= 180} {incr i} {
669 add PhiBins [expr {$i * $pi/180.0}]
670 }
671
672 # 0.02 unit in eta up to eta = 1.5 (barrel)
673 for {set i -85} {$i <= 86} {incr i} {
674 set eta [expr {$i * 0.0174}]
675 add EtaPhiBins $eta $PhiBins
676 }
677
678 # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- ECAL)
679
680 set PhiBins {}
681 for {set i -180} {$i <= 180} {incr i} {
682 add PhiBins [expr {$i * $pi/180.0}]
683 }
684
685 # 0.02 unit in eta up to eta = 3
686 for {set i 1} {$i <= 84} {incr i} {
687 set eta [expr { -2.958 + $i * 0.0174}]
688 add EtaPhiBins $eta $PhiBins
689 }
690
691 for {set i 1} {$i <= 84} {incr i} {
692 set eta [expr { 1.4964 + $i * 0.0174}]
693 add EtaPhiBins $eta $PhiBins
694 }
695
696 # take present CMS granularity for HF
697
698 # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
699 set PhiBins {}
700 for {set i -18} {$i <= 18} {incr i} {
701 add PhiBins [expr {$i * $pi/18.0}]
702 }
703
704 foreach eta {-5 -4.7 -4.525 -4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.958 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525 4.7 5} {
705 add EtaPhiBins $eta $PhiBins
706 }
707
708
709 add EnergyFraction {0} {0.0}
710 # energy fractions for e, gamma and pi0
711 add EnergyFraction {11} {1.0}
712 add EnergyFraction {22} {1.0}
713 add EnergyFraction {111} {1.0}
714 # energy fractions for muon, neutrinos and neutralinos
715 add EnergyFraction {12} {0.0}
716 add EnergyFraction {13} {0.0}
717 add EnergyFraction {14} {0.0}
718 add EnergyFraction {16} {0.0}
719 add EnergyFraction {1000022} {0.0}
720 add EnergyFraction {1000023} {0.0}
721 add EnergyFraction {1000025} {0.0}
722 add EnergyFraction {1000035} {0.0}
723 add EnergyFraction {1000045} {0.0}
724 # energy fractions for K0short and Lambda
725 add EnergyFraction {310} {0.3}
726 add EnergyFraction {3122} {0.3}
727
728 # set ResolutionFormula {resolution formula as a function of eta and energy}
729
730 # for the ECAL barrel (|eta| < 1.5), see hep-ex/1306.2016 and 1502.02701
731 # for the endcaps (1.5 < |eta| < 3.0), we take HGCAL see LHCC-P-008, Fig. 3.39, p.117
732
733 set ResolutionFormula { (abs(eta) <= 1.50) * sqrt(energy^2*0.009^2 + energy*0.12^2 + 0.45^2) +
734 (abs(eta) > 1.50 && abs(eta) <= 1.75) * sqrt(energy^2*0.006^2 + energy*0.20^2) + \
735 (abs(eta) > 1.75 && abs(eta) <= 2.15) * sqrt(energy^2*0.007^2 + energy*0.21^2) + \
736 (abs(eta) > 2.15 && abs(eta) <= 3.00) * sqrt(energy^2*0.008^2 + energy*0.24^2) + \
737 (abs(eta) >= 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.08^2 + energy*1.98^2)}
738
739}
740
741#############
742# HCAL
743#############
744
745module SimpleCalorimeter HCal {
746 set ParticleInputArray ParticlePropagator/stableParticles
747 set TrackInputArray ECal/eflowTracks
748
749 set TowerOutputArray hcalTowers
750 set EFlowTrackOutputArray eflowTracks
751 set EFlowTowerOutputArray eflowNeutralHadrons
752
753 set IsEcal false
754
755 set EnergyMin 1.0
756 set EnergySignificanceMin 1.0
757
758 set SmearTowerCenter true
759
760 set pi [expr {acos(-1)}]
761
762 # lists of the edges of each tower in eta and phi
763 # each list starts with the lower edge of the first tower
764 # the list ends with the higher edged of the last tower
765
766 # assume 0.087 x 0.087 resolution in eta,phi in the barrel |eta| < 1.5
767
768 set PhiBins {}
769 for {set i -36} {$i <= 36} {incr i} {
770 add PhiBins [expr {$i * $pi/36.0}]
771 }
772 foreach eta {-1.566 -1.479 -1.392 -1.305 -1.218 -1.131 -1.044 -0.957 -0.87 -0.783 -0.696 -0.609 -0.522 -0.435 -0.348 -0.261 -0.174 -0.087 0 0.087 0.174 0.261 0.348 0.435 0.522 0.609 0.696 0.783 0.87 0.957 1.044 1.131 1.218 1.305 1.392 1.479 1.566 1.65} {
773 add EtaPhiBins $eta $PhiBins
774 }
775
776 # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- HCAL)
777
778 set PhiBins {}
779 for {set i -180} {$i <= 180} {incr i} {
780 add PhiBins [expr {$i * $pi/180.0}]
781 }
782
783 # 0.02 unit in eta up to eta = 3
784 for {set i 1} {$i <= 84} {incr i} {
785 set eta [expr { -2.958 + $i * 0.0174}]
786 add EtaPhiBins $eta $PhiBins
787 }
788
789 for {set i 1} {$i <= 84} {incr i} {
790 set eta [expr { 1.4964 + $i * 0.0174}]
791 add EtaPhiBins $eta $PhiBins
792 }
793
794 # take present CMS granularity for HF
795
796 # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
797 set PhiBins {}
798 for {set i -18} {$i <= 18} {incr i} {
799 add PhiBins [expr {$i * $pi/18.0}]
800 }
801
802 foreach eta {-5 -4.7 -4.525 -4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.958 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525 4.7 5} {
803 add EtaPhiBins $eta $PhiBins
804 }
805
806
807 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
808 add EnergyFraction {0} {1.0}
809 # energy fractions for e, gamma and pi0
810 add EnergyFraction {11} {0.0}
811 add EnergyFraction {22} {0.0}
812 add EnergyFraction {111} {0.0}
813 # energy fractions for muon, neutrinos and neutralinos
814 add EnergyFraction {12} {0.0}
815 add EnergyFraction {13} {0.0}
816 add EnergyFraction {14} {0.0}
817 add EnergyFraction {16} {0.0}
818 add EnergyFraction {1000022} {0.0}
819 add EnergyFraction {1000023} {0.0}
820 add EnergyFraction {1000025} {0.0}
821 add EnergyFraction {1000035} {0.0}
822 add EnergyFraction {1000045} {0.0}
823 # energy fractions for K0short and Lambda
824 add EnergyFraction {310} {0.7}
825 add EnergyFraction {3122} {0.7}
826
827# set ResolutionFormula {resolution formula as a function of eta and energy}
828 set ResolutionFormula { (abs(eta) <= 1.5) * sqrt(energy^2*0.05^2 + energy*1.00^2) + \
829 (abs(eta) > 1.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.05^2 + energy*1.00^2) + \
830 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.11^2 + energy*2.80^2)}
831
832}
833
834#################
835# Electron filter
836#################
837
838module PdgCodeFilter ElectronFilter {
839 set InputArray HCal/eflowTracks
840 set OutputArray electrons
841 set Invert true
842 add PdgCode {11}
843 add PdgCode {-11}
844}
845
846
847##################
848# ROOT tree writer
849##################
850
851module TreeWriter TreeWriter {
852# add Branch InputArray BranchName BranchClass
853 add Branch Delphes/allParticles Particle GenParticle
854 #add Branch Delphes/stableParticles Particle GenParticle
855 add Branch PileUpMerger/vertices Vertex Vertex
856
857 #add Branch ECal/eflowPhotons EFlowPhoton Tower
858 #add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
859 add Branch HCal/eflowTracks EFlowTrack Track
860 add Branch ECal/ecalTowers ECalTower Tower
861
862 add Branch TrackMerger1/tracks TrackPixel1 Track
863 add Branch TrackMerger2/tracks TrackPixel2 Track
864 add Branch TrackMerger3/tracks TrackPixel3 Track
865 add Branch TrackMerger4/tracks TrackPixel4 Track
866
867 add Branch DiskMerger1/tracks DiskPixel1 Track
868 add Branch DiskMerger2/tracks DiskPixel2 Track
869 add Branch DiskMerger3/tracks DiskPixel3 Track
870 add Branch DiskMerger4/tracks DiskPixel4 Track
871 add Branch DiskMerger5/tracks DiskPixel5 Track
872}