Fork me on GitHub

source: git/cards/CMS_PhaseII/CMS_PhaseII_200PU.tcl@ 2600216

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 2600216 was db7f5e4, checked in by Michele Selvaggi <michele.selvaggi@…>, 8 years ago

fixed typos resolution

  • Property mode set to 100644
File size: 27.0 KB
Line 
1#
2# Phase II - Pile-Up
3#
4# Main authors: Michele Selvaggi (UCL)
5#
6# Released on:
7#
8# Version: v01
9#
10#
11#######################################
12# Order of execution of various modules
13#######################################
14
15set ExecutionPath {
16
17 PileUpMerger
18
19 ParticlePropagator
20
21 ChargedHadronTrackingEfficiency
22 ElectronTrackingEfficiency
23 MuonTrackingEfficiency
24
25 ChargedHadronMomentumSmearing
26 ElectronEnergySmearing
27 MuonMomentumSmearing
28
29 TrackMerger
30
31 ECal
32 HCal
33
34 ElectronFilter
35 TrackPileUpSubtractor
36
37 TowerMerger
38 NeutralEFlowMerger
39 EFlowMergerAllTracks
40 EFlowMerger
41
42 RunPUPPI
43
44 PhotonIsolation
45 PhotonEfficiency
46
47 ElectronIsolation
48 ElectronEfficiency
49
50 MuonIsolation
51 MuonLooseIdEfficiency
52 MuonTightIdEfficiency
53
54 NeutrinoFilter
55
56 MissingET
57 GenMissingET
58 GenPileUpMissingET
59
60 GenJetFinder
61 FastJetFinder
62
63 ScalarHT
64
65 JetEnergyScale
66
67 JetFlavorAssociation
68
69 BTaggingLoose
70 BTaggingMedium
71 BTaggingTight
72
73 TauTagging
74
75 GenParticleFilter
76
77 TreeWriter
78}
79
80
81
82###############
83# PileUp Merger
84###############
85
86module PileUpMerger PileUpMerger {
87 set InputArray Delphes/stableParticles
88
89 set ParticleOutputArray stableParticles
90 set VertexOutputArray vertices
91
92 # pre-generated minbias input file
93 set PileUpFile ../eos/cms/store/group/upgrade/delphes/PhaseII/MinBias_100k.pileup
94
95 # average expected pile up
96 set MeanPileUp 200
97
98 # maximum spread in the beam direction in m
99 set ZVertexSpread 0.15
100
101 # maximum spread in time in s
102 set TVertexSpread 1.5E-09
103
104 # vertex smearing formula f(z,t) (z,t need to be respectively given in m,s)
105
106 #set VertexDistributionFormula {exp(-(t^2/(2*(0.05/2.99792458E8*exp(-(z^2/(2*(0.05)^2))))^2)))}
107
108
109 set VertexDistributionFormula { (abs(t) <= 1.0e-09) * (abs(z) <= 0.15) * (1.00) +
110 (abs(t) > 1.0e-09) * (abs(z) <= 0.15) * (0.00) +
111 (abs(t) <= 1.0e-09) * (abs(z) > 0.15) * (0.00) +
112 (abs(t) > 1.0e-09) * (abs(z) > 0.15) * (0.00)}
113
114}
115
116
117#################################
118# Propagate particles in cylinder
119#################################
120
121module ParticlePropagator ParticlePropagator {
122 set InputArray PileUpMerger/stableParticles
123
124 set OutputArray stableParticles
125 set ChargedHadronOutputArray chargedHadrons
126 set ElectronOutputArray electrons
127 set MuonOutputArray muons
128
129 # radius of the magnetic field coverage, in m
130 set Radius 1.29
131 # half-length of the magnetic field coverage, in m
132 set HalfLength 3.0
133
134 # magnetic field
135 set Bz 3.8
136}
137
138
139####################################
140# Charged hadron tracking efficiency
141####################################
142
143module Efficiency ChargedHadronTrackingEfficiency {
144 ## particles after propagation
145 set InputArray ParticlePropagator/chargedHadrons
146 set OutputArray chargedHadrons
147 # tracking efficiency formula for charged hadrons
148 set EfficiencyFormula {
149 (pt <= 0.2) * (0.00) + \
150 (abs(eta) <= 1.2) * (pt > 0.2 && pt <= 1.0) * (pt * 0.96) + \
151 (abs(eta) <= 1.2) * (pt > 1.0) * (0.97) + \
152 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 0.2 && pt <= 1.0) * (pt*0.85) + \
153 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 1.0) * (0.87) + \
154 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 0.2 && pt <= 1.0) * (pt*0.8) + \
155 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0) * (0.82) + \
156 (abs(eta) > 4.0) * (0.00)
157 }
158}
159
160
161#####################################
162# Electron tracking efficiency - ID
163####################################
164
165module Efficiency ElectronTrackingEfficiency {
166 set InputArray ParticlePropagator/electrons
167 set OutputArray electrons
168 # tracking efficiency formula for electrons
169 set EfficiencyFormula {
170 (pt <= 0.2) * (0.00) + \
171 (abs(eta) <= 1.2) * (pt > 0.2 && pt <= 1.0) * (pt * 0.96) + \
172 (abs(eta) <= 1.2) * (pt > 1.0) * (0.97) + \
173 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 0.2 && pt <= 1.0) * (pt*0.85) + \
174 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 10.0) * (0.82+pt*0.01) + \
175 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 10.0) * (0.90) + \
176 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 0.2 && pt <= 1.0) * (pt*0.8) + \
177 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt <= 10.0) * (0.8+pt*0.01) + \
178 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 10.0) * (0.85) + \
179 (abs(eta) > 4.0) * (0.00)
180
181 }
182}
183
184##########################
185# Muon tracking efficiency
186##########################
187
188module Efficiency MuonTrackingEfficiency {
189 set InputArray ParticlePropagator/muons
190 set OutputArray muons
191 # tracking efficiency formula for muons
192 set EfficiencyFormula {
193 (pt <= 0.2) * (0.00) + \
194 (abs(eta) <= 1.2) * (pt > 0.2 && pt <= 1.0) * (pt * 1.00) + \
195 (abs(eta) <= 1.2) * (pt > 1.0) * (1.00) + \
196 (abs(eta) > 1.2 && abs(eta) <= 2.8) * (pt > 0.2 && pt <= 1.0) * (pt*1.00) + \
197 (abs(eta) > 1.2 && abs(eta) <= 2.8) * (pt > 1.0) * (1.00) + \
198 (abs(eta) > 2.8 && abs(eta) <= 4.0) * (pt > 0.2 && pt <= 1.0) * (pt*0.95) + \
199 (abs(eta) > 2.8 && abs(eta) <= 4.0) * (pt > 1.0) * (0.95) + \
200 (abs(eta) > 4.0) * (0.00)
201
202 }
203}
204
205
206########################################
207# Momentum resolution for charged tracks
208########################################
209
210module MomentumSmearing ChargedHadronMomentumSmearing {
211 ## hadrons after having applied the tracking efficiency
212 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
213 set OutputArray chargedHadrons
214 # resolution formula for charged hadrons ,
215
216 # from http://mersi.web.cern.ch/mersi/layouts/.private/Baseline_tilted_200_Pixel_1_1_1/index.html
217 source trackMomentumResolution.tcl
218}
219
220#################################
221# Energy resolution for electrons
222#################################
223
224module EnergySmearing ElectronEnergySmearing {
225 set InputArray ElectronTrackingEfficiency/electrons
226 set OutputArray electrons
227
228 # set ResolutionFormula {resolution formula as a function of eta and energy}
229
230 # resolution formula for electrons
231
232 # taking something flat in energy for now, ECAL will take over at high energy anyway.
233 # inferred from hep-ex/1306.2016 and 1502.02701
234 set ResolutionFormula {
235
236 (abs(eta) <= 1.5) * (1+0.64*abs(eta)^2)*(energy*0.028) +
237 (abs(eta) > 1.5 && abs(eta) <= 1.75) * (energy*0.037) +
238 (abs(eta) > 1.75 && abs(eta) <= 2.15) * (energy*0.038) +
239 (abs(eta) > 2.15 && abs(eta) <= 3.00) * (energy*0.044) +
240 (abs(eta) > 3.00 && abs(eta) <= 4.00) * (energy*0.10)}
241
242}
243
244###############################
245# Momentum resolution for muons
246###############################
247
248module MomentumSmearing MuonMomentumSmearing {
249 set InputArray MuonTrackingEfficiency/muons
250 set OutputArray muons
251 # resolution formula for muons
252
253 # up to |eta| < 2.8 take measurement from tracking + muon chambers
254 # for |eta| > 2.8 and pT < 5.0 take measurement from tracking alone taken from
255 # http://mersi.web.cern.ch/mersi/layouts/.private/Baseline_tilted_200_Pixel_1_1_1/index.html
256 source muonMomentumResolution.tcl
257}
258
259
260
261
262##############
263# Track merger
264##############
265
266module Merger TrackMerger {
267# add InputArray InputArray
268 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
269 add InputArray ElectronEnergySmearing/electrons
270 add InputArray MuonMomentumSmearing/muons
271 set OutputArray tracks
272}
273
274#############
275# ECAL
276#############
277
278module SimpleCalorimeter ECal {
279 set ParticleInputArray ParticlePropagator/stableParticles
280 set TrackInputArray TrackMerger/tracks
281
282 set TowerOutputArray ecalTowers
283 set EFlowTrackOutputArray eflowTracks
284 set EFlowTowerOutputArray eflowPhotons
285
286 set IsEcal true
287
288 set EnergyMin 0.5
289 set EnergySignificanceMin 1.0
290
291 set SmearTowerCenter true
292
293 set pi [expr {acos(-1)}]
294
295 # lists of the edges of each tower in eta and phi
296 # each list starts with the lower edge of the first tower
297 # the list ends with the higher edged of the last tower
298
299 # assume 0.02 x 0.02 resolution in eta,phi in the barrel |eta| < 1.5
300
301 set PhiBins {}
302 for {set i -180} {$i <= 180} {incr i} {
303 add PhiBins [expr {$i * $pi/180.0}]
304 }
305
306 # 0.02 unit in eta up to eta = 1.5 (barrel)
307 for {set i -85} {$i <= 86} {incr i} {
308 set eta [expr {$i * 0.0174}]
309 add EtaPhiBins $eta $PhiBins
310 }
311
312 # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- ECAL)
313
314 set PhiBins {}
315 for {set i -180} {$i <= 180} {incr i} {
316 add PhiBins [expr {$i * $pi/180.0}]
317 }
318
319 # 0.02 unit in eta up to eta = 3
320 for {set i 1} {$i <= 84} {incr i} {
321 set eta [expr { -2.958 + $i * 0.0174}]
322 add EtaPhiBins $eta $PhiBins
323 }
324
325 for {set i 1} {$i <= 84} {incr i} {
326 set eta [expr { 1.4964 + $i * 0.0174}]
327 add EtaPhiBins $eta $PhiBins
328 }
329
330 # take present CMS granularity for HF
331
332 # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
333 set PhiBins {}
334 for {set i -18} {$i <= 18} {incr i} {
335 add PhiBins [expr {$i * $pi/18.0}]
336 }
337
338 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} {
339 add EtaPhiBins $eta $PhiBins
340 }
341
342
343 add EnergyFraction {0} {0.0}
344 # energy fractions for e, gamma and pi0
345 add EnergyFraction {11} {1.0}
346 add EnergyFraction {22} {1.0}
347 add EnergyFraction {111} {1.0}
348 # energy fractions for muon, neutrinos and neutralinos
349 add EnergyFraction {12} {0.0}
350 add EnergyFraction {13} {0.0}
351 add EnergyFraction {14} {0.0}
352 add EnergyFraction {16} {0.0}
353 add EnergyFraction {1000022} {0.0}
354 add EnergyFraction {1000023} {0.0}
355 add EnergyFraction {1000025} {0.0}
356 add EnergyFraction {1000035} {0.0}
357 add EnergyFraction {1000045} {0.0}
358 # energy fractions for K0short and Lambda
359 add EnergyFraction {310} {0.3}
360 add EnergyFraction {3122} {0.3}
361
362 # set ResolutionFormula {resolution formula as a function of eta and energy}
363
364 # for the ECAL barrel (|eta| < 1.5), see hep-ex/1306.2016 and 1502.02701
365 # for the endcaps (1.5 < |eta| < 3.0), we take HGCAL see LHCC-P-008, Fig. 3.39, p.117
366
367 set ResolutionFormula { (abs(eta) <= 1.50) * (1+0.64*abs(eta)^2)*sqrt(energy^2*0.009^2 + energy*0.12^2 + 0.45^2) +
368 (abs(eta) > 1.50 && abs(eta) <= 1.75) * sqrt(energy^2*0.006^2 + energy*0.20^2) + \
369 (abs(eta) > 1.75 && abs(eta) <= 2.15) * sqrt(energy^2*0.007^2 + energy*0.21^2) + \
370 (abs(eta) > 2.15 && abs(eta) <= 3.00) * sqrt(energy^2*0.008^2 + energy*0.24^2) + \
371 (abs(eta) >= 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.08^2 + energy*1.98^2)}
372
373}
374
375#############
376# HCAL
377#############
378
379module SimpleCalorimeter HCal {
380 set ParticleInputArray ParticlePropagator/stableParticles
381 set TrackInputArray ECal/eflowTracks
382
383 set TowerOutputArray hcalTowers
384 set EFlowTrackOutputArray eflowTracks
385 set EFlowTowerOutputArray eflowNeutralHadrons
386
387 set IsEcal false
388
389 set EnergyMin 1.0
390 set EnergySignificanceMin 1.0
391
392 set SmearTowerCenter true
393
394 set pi [expr {acos(-1)}]
395
396 # lists of the edges of each tower in eta and phi
397 # each list starts with the lower edge of the first tower
398 # the list ends with the higher edged of the last tower
399
400 # assume 0.087 x 0.087 resolution in eta,phi in the barrel |eta| < 1.5
401
402 set PhiBins {}
403 for {set i -36} {$i <= 36} {incr i} {
404 add PhiBins [expr {$i * $pi/36.0}]
405 }
406 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} {
407 add EtaPhiBins $eta $PhiBins
408 }
409
410 # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- HCAL)
411
412 set PhiBins {}
413 for {set i -180} {$i <= 180} {incr i} {
414 add PhiBins [expr {$i * $pi/180.0}]
415 }
416
417 # 0.02 unit in eta up to eta = 3
418 for {set i 1} {$i <= 84} {incr i} {
419 set eta [expr { -2.958 + $i * 0.0174}]
420 add EtaPhiBins $eta $PhiBins
421 }
422
423 for {set i 1} {$i <= 84} {incr i} {
424 set eta [expr { 1.4964 + $i * 0.0174}]
425 add EtaPhiBins $eta $PhiBins
426 }
427
428 # take present CMS granularity for HF
429
430 # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
431 set PhiBins {}
432 for {set i -18} {$i <= 18} {incr i} {
433 add PhiBins [expr {$i * $pi/18.0}]
434 }
435
436 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} {
437 add EtaPhiBins $eta $PhiBins
438 }
439
440
441 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
442 add EnergyFraction {0} {1.0}
443 # energy fractions for e, gamma and pi0
444 add EnergyFraction {11} {0.0}
445 add EnergyFraction {22} {0.0}
446 add EnergyFraction {111} {0.0}
447 # energy fractions for muon, neutrinos and neutralinos
448 add EnergyFraction {12} {0.0}
449 add EnergyFraction {13} {0.0}
450 add EnergyFraction {14} {0.0}
451 add EnergyFraction {16} {0.0}
452 add EnergyFraction {1000022} {0.0}
453 add EnergyFraction {1000023} {0.0}
454 add EnergyFraction {1000025} {0.0}
455 add EnergyFraction {1000035} {0.0}
456 add EnergyFraction {1000045} {0.0}
457 # energy fractions for K0short and Lambda
458 add EnergyFraction {310} {0.7}
459 add EnergyFraction {3122} {0.7}
460
461# set ResolutionFormula {resolution formula as a function of eta and energy}
462 set ResolutionFormula { (abs(eta) <= 1.5) * sqrt(energy^2*0.05^2 + energy*1.00^2) + \
463 (abs(eta) > 1.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.05^2 + energy*1.00^2) + \
464 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.11^2 + energy*2.80^2)}
465
466}
467
468#################
469# Electron filter
470#################
471
472module PdgCodeFilter ElectronFilter {
473 set InputArray HCal/eflowTracks
474 set OutputArray electrons
475 set Invert true
476 add PdgCode {11}
477 add PdgCode {-11}
478}
479
480##########################
481# Track pile-up subtractor
482##########################
483
484module TrackPileUpSubtractor TrackPileUpSubtractor {
485# add InputArray InputArray OutputArray
486 add InputArray HCal/eflowTracks eflowTracks
487 add InputArray ElectronFilter/electrons electrons
488 add InputArray MuonMomentumSmearing/muons muons
489
490 set VertexInputArray PileUpMerger/vertices
491 # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
492 # Z vertex resolution in m
493 set ZVertexResolution 0.0001
494}
495
496
497###################################################
498# Tower Merger (in case not using e-flow algorithm)
499###################################################
500
501module Merger TowerMerger {
502# add InputArray InputArray
503 add InputArray ECal/ecalTowers
504 add InputArray HCal/hcalTowers
505 set OutputArray towers
506}
507
508
509####################
510# Neutral eflow erger
511####################
512
513module Merger NeutralEFlowMerger {
514# add InputArray InputArray
515 add InputArray ECal/eflowPhotons
516 add InputArray HCal/eflowNeutralHadrons
517 set OutputArray eflowTowers
518}
519
520
521####################
522# Energy flow merger
523####################
524
525module Merger EFlowMerger {
526# add InputArray InputArray
527 add InputArray HCal/eflowTracks
528 add InputArray ECal/eflowPhotons
529 add InputArray HCal/eflowNeutralHadrons
530 set OutputArray eflow
531}
532
533##################################
534# Energy flow merger (all tracks)
535##################################
536
537module Merger EFlowMergerAllTracks {
538# add InputArray InputArray
539 add InputArray TrackMerger/tracks
540 add InputArray ECal/eflowPhotons
541 add InputArray HCal/eflowNeutralHadrons
542 set OutputArray eflow
543}
544
545#########################################
546### Run the puppi code (to be tuned) ###
547#########################################
548
549module RunPUPPI RunPUPPI {
550 ## input information
551 set TrackInputArray TrackMerger/tracks
552 set NeutralInputArray NeutralEFlowMerger/eflowTowers
553 set PVInputArray PileUpMerger/vertices
554 set MinPuppiWeight 0.05
555 set UseExp false
556
557 ## define puppi algorithm parameters (more than one for the same eta region is possible)
558 add EtaMinBin 0. 2.5 2.5 3.0 3.0
559 add EtaMaxBin 2.5 3.0 3.0 10.0 10.0
560 add PtMinBin 0. 0.5 0.5 0.5 0.5
561 add ConeSizeBin 0.25 0.25 0.25 0.25 0.25
562 add RMSPtMinBin 0.1 0.5 0.5 0.5 0.5
563 add RMSScaleFactorBin 1.0 1.0 1.0 1.0 1.0
564 add NeutralMinEBin 0.2 1.0 1.0 1.5 1.5
565 add NeutralPtSlope 0.02 0.02 0.02 0.02 0.02
566 add ApplyCHS true true true true true
567 add UseCharged true false false false false
568 add ApplyLowPUCorr true true true true true
569 add MetricId 5 5 1 5 1
570
571 ## output name
572 set OutputArray PuppiParticles
573 set OutputArrayTracks puppiTracks
574 set OutputArrayNeutrals puppiNeutrals
575}
576
577
578
579###################
580# Missing ET merger
581###################
582
583module Merger MissingET {
584# add InputArray InputArray
585# add InputArray RunPUPPI/PuppiParticles
586 add InputArray EFlowMerger/eflow
587 set MomentumOutputArray momentum
588}
589
590###################
591# Ger PileUp Missing ET
592###################
593
594module Merger GenPileUpMissingET {
595# add InputArray InputArray
596# add InputArray RunPUPPI/PuppiParticles
597 add InputArray ParticlePropagator/stableParticles
598 set MomentumOutputArray momentum
599}
600
601##################
602# Scalar HT merger
603##################
604
605module Merger ScalarHT {
606# add InputArray InputArray
607 add InputArray RunPUPPI/PuppiParticles
608 set EnergyOutputArray energy
609}
610
611#################
612# Neutrino Filter
613#################
614
615module PdgCodeFilter NeutrinoFilter {
616
617 set InputArray Delphes/stableParticles
618 set OutputArray filteredParticles
619
620 set PTMin 0.0
621
622 add PdgCode {12}
623 add PdgCode {14}
624 add PdgCode {16}
625 add PdgCode {-12}
626 add PdgCode {-14}
627 add PdgCode {-16}
628
629}
630
631
632#####################
633# MC truth jet finder
634#####################
635
636module FastJetFinder GenJetFinder {
637 set InputArray NeutrinoFilter/filteredParticles
638
639 set OutputArray jets
640
641 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
642 set JetAlgorithm 6
643 set ParameterR 0.4
644
645 set JetPTMin 15.0
646}
647
648#########################
649# Gen Missing ET merger
650########################
651
652module Merger GenMissingET {
653
654# add InputArray InputArray
655 add InputArray NeutrinoFilter/filteredParticles
656 set MomentumOutputArray momentum
657}
658
659
660
661############
662# Jet finder
663############
664
665module FastJetFinder FastJetFinder {
666# set InputArray TowerMerger/towers
667 set InputArray RunPUPPI/PuppiParticles
668
669 set OutputArray jets
670
671 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
672 set JetAlgorithm 6
673 set ParameterR 0.4
674
675 set JetPTMin 15.0
676}
677
678##################
679# Jet Energy Scale
680##################
681
682module EnergyScale JetEnergyScale {
683 set InputArray FastJetFinder/jets
684 set OutputArray jets
685
686 # scale formula for jets
687 set ScaleFormula {1.00}
688}
689
690
691####################
692# Photon isolation #
693####################
694
695module Isolation PhotonIsolation {
696
697 # particle for which calculate the isolation
698 set CandidateInputArray ECal/eflowPhotons
699
700 # isolation collection
701 set IsolationInputArray EFlowMerger/eflow
702
703 # output array
704 set OutputArray photons
705
706 # isolation cone
707 set DeltaRMax 0.3
708
709 # minimum pT
710 set PTMin 1.0
711
712 # iso ratio to cut
713 set PTRatioMax 9999.
714}
715
716
717
718#####################
719# Photon efficiency #
720#####################
721
722module Efficiency PhotonEfficiency {
723
724 ## input particles
725 set InputArray PhotonIsolation/photons
726 ## output particles
727 set OutputArray photons
728 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
729 # efficiency formula for photons
730 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
731 (abs(eta) <= 1.5) * (pt > 10.0) * (0.9635) + \
732 (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 10.0) * (0.9624) + \
733 (abs(eta) > 4.0) * (0.00)}
734
735}
736
737
738######################
739# Electron isolation #
740######################
741
742module Isolation ElectronIsolation {
743
744 set CandidateInputArray ElectronFilter/electrons
745
746 # isolation collection
747 set IsolationInputArray EFlowMerger/eflow
748
749 set OutputArray electrons
750
751 set DeltaRMax 0.3
752 set PTMin 1.0
753 set PTRatioMax 9999.
754
755}
756
757
758
759#######################
760# Electron efficiency #
761#######################
762
763module Efficiency ElectronEfficiency {
764
765 set InputArray ElectronIsolation/electrons
766 set OutputArray electrons
767
768 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
769 # efficiency formula for electrons
770 set EfficiencyFormula {
771 (pt <= 4.0) * (0.00) + \
772 (abs(eta) <= 1.45 ) * (pt > 4.0 && pt <= 6.0) * (0.50) + \
773 (abs(eta) <= 1.45 ) * (pt > 6.0 && pt <= 8.0) * (0.70) + \
774 (abs(eta) <= 1.45 ) * (pt > 8.0 && pt <= 10.0) * (0.85) + \
775 (abs(eta) <= 1.45 ) * (pt > 10.0 && pt <= 30.0) * (0.94) + \
776 (abs(eta) <= 1.45 ) * (pt > 30.0 && pt <= 50.0) * (0.97) + \
777 (abs(eta) <= 1.45 ) * (pt > 50.0 && pt <= 70.0) * (0.98) + \
778 (abs(eta) <= 1.45 ) * (pt > 70.0 ) * (1.0) + \
779 (abs(eta) > 1.45 && abs(eta) <= 1.55) * (pt > 4.0 && pt <= 10.0) * (0.35) + \
780 (abs(eta) > 1.45 && abs(eta) <= 1.55) * (pt > 10.0 && pt <= 30.0) * (0.40) + \
781 (abs(eta) > 1.45 && abs(eta) <= 1.55) * (pt > 30.0 && pt <= 70.0) * (0.45) + \
782 (abs(eta) > 1.45 && abs(eta) <= 1.55) * (pt > 70.0 ) * (0.55) + \
783 (abs(eta) >= 1.55 && abs(eta) <= 2.0 ) * (pt > 4.0 && pt <= 10.0) * (0.75) + \
784 (abs(eta) >= 1.55 && abs(eta) <= 2.0 ) * (pt > 10.0 && pt <= 30.0) * (0.85) + \
785 (abs(eta) >= 1.55 && abs(eta) <= 2.0 ) * (pt > 30.0 && pt <= 50.0) * (0.95) + \
786 (abs(eta) >= 1.55 && abs(eta) <= 2.0 ) * (pt > 50.0 && pt <= 70.0) * (0.95) + \
787 (abs(eta) >= 1.55 && abs(eta) <= 2.0 ) * (pt > 70.0 ) * (1.0) + \
788 (abs(eta) >= 2.0 && abs(eta) <= 2.5 ) * (pt > 4.0 && pt <= 10.0) * (0.65) + \
789 (abs(eta) >= 2.0 && abs(eta) <= 2.5 ) * (pt > 10.0 && pt <= 30.0) * (0.75) + \
790 (abs(eta) >= 2.0 && abs(eta) <= 2.5 ) * (pt > 30.0 && pt <= 50.0) * (0.90) + \
791 (abs(eta) >= 2.0 && abs(eta) <= 2.5 ) * (pt > 50.0 && pt <= 70.0) * (0.90) + \
792 (abs(eta) >= 2.0 && abs(eta) <= 2.5 ) * (pt > 70.0 ) * (0.90) + \
793 (abs(eta) > 2.5 && abs(eta) <= 4.0 ) * (pt > 4.0 && pt <= 10.0) * (0.65) + \
794 (abs(eta) > 2.5 && abs(eta) <= 4.0 ) * (pt > 10.0 && pt <= 30.0) * (0.75) + \
795 (abs(eta) > 2.5 && abs(eta) <= 4.0 ) * (pt > 30.0 && pt <= 50.0) * (0.90) + \
796 (abs(eta) > 2.5 && abs(eta) <= 4.0 ) * (pt > 50.0 && pt <= 70.0) * (0.90) + \
797 (abs(eta) > 2.5 && abs(eta) <= 4.0 ) * (pt > 70.0 ) * (0.90) + \
798 (abs(eta) > 4.0) * (0.00)
799
800 }
801}
802
803##################
804# Muon isolation #
805##################
806
807module Isolation MuonIsolation {
808 set CandidateInputArray MuonMomentumSmearing/muons
809
810 # isolation collection
811 set IsolationInputArray EFlowMerger/eflow
812
813 set OutputArray muons
814
815 set DeltaRMax 0.3
816 set PTMin 1.0
817 set PTRatioMax 9999.
818
819}
820
821
822##################
823# Muon Loose Id #
824##################
825
826module Efficiency MuonLooseIdEfficiency {
827 set InputArray MuonIsolation/muons
828 set OutputArray muons
829 # tracking + LooseID efficiency formula for muons
830 source muonLooseId.tcl
831
832}
833
834
835##################
836# Muon Tight Id #
837##################
838
839module Efficiency MuonTightIdEfficiency {
840 set InputArray MuonIsolation/muons
841 set OutputArray muons
842 # tracking + TightID efficiency formula for muons
843 source muonTightId.tcl
844}
845
846
847
848########################
849# Jet Flavor Association
850########################
851
852module JetFlavorAssociation JetFlavorAssociation {
853
854 set PartonInputArray Delphes/partons
855 set ParticleInputArray Delphes/allParticles
856 set ParticleLHEFInputArray Delphes/allParticlesLHEF
857 set JetInputArray JetEnergyScale/jets
858
859 set DeltaR 0.5
860 set PartonPTMin 10.0
861 set PartonEtaMax 4.0
862
863}
864
865
866#############
867# b-tagging #
868#############
869module BTagging BTaggingLoose {
870
871 set JetInputArray JetEnergyScale/jets
872
873 set BitNumber 0
874
875 source btagLoose.tcl
876}
877
878
879#############
880# b-tagging #
881#############
882module BTagging BTaggingMedium {
883
884 set JetInputArray JetEnergyScale/jets
885
886 set BitNumber 1
887
888 source btagMedium.tcl
889}
890
891
892
893#############
894# b-tagging #
895#############
896module BTagging BTaggingTight {
897
898 set JetInputArray JetEnergyScale/jets
899
900 set BitNumber 2
901
902 source btagTight.tcl
903}
904
905
906
907
908
909#############
910# tau-tagging
911#############
912
913
914module TauTagging TauTagging {
915 set ParticleInputArray Delphes/allParticles
916 set PartonInputArray Delphes/partons
917 set JetInputArray JetEnergyScale/jets
918
919 set DeltaR 0.5
920
921 set TauPTMin 20.0
922
923 set TauEtaMax 2.3
924
925 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
926
927 add EfficiencyFormula {0} { (abs(eta) < 2.3) * ((( -0.00621816+0.00130097*pt-2.19642e-5*pt^2+1.49393e-7*pt^3-4.58972e-10*pt^4+5.27983e-13*pt^5 )) * (pt<250) + 0.0032*(pt>250)) + \
928 (abs(eta) > 2.3) * (0.000)
929 }
930 add EfficiencyFormula {15} { (abs(eta) < 2.3) * 0.97*0.77*( (0.32 + 0.01*pt - 0.000054*pt*pt )*(pt<100)+0.78*(pt>100) ) + \
931 (abs(eta) > 2.3) * (0.000)
932 }
933}
934
935
936###############################################################################################################
937# StatusPidFilter: this module removes all generated particles except electrons, muons, taus, and status == 3 #
938###############################################################################################################
939
940module StatusPidFilter GenParticleFilter {
941
942 set InputArray Delphes/allParticles
943 set OutputArray filteredParticles
944 set PTMin 5.0
945
946}
947
948
949##################
950# ROOT tree writer
951##################
952
953module TreeWriter TreeWriter {
954# add Branch InputArray BranchName BranchClass
955 add Branch GenParticleFilter/filteredParticles Particle GenParticle
956 add Branch PileUpMerger/vertices Vertex Vertex
957
958 add Branch GenJetFinder/jets GenJet Jet
959 add Branch GenMissingET/momentum GenMissingET MissingET
960
961# add Branch HCal/eflowTracks EFlowTrack Track
962# add Branch ECal/eflowPhotons EFlowPhoton Tower
963# add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
964
965 add Branch PhotonEfficiency/photons Photon Photon
966 add Branch ElectronEfficiency/electrons Electron Electron
967 add Branch MuonLooseIdEfficiency/muons MuonLoose Muon
968 add Branch MuonTightIdEfficiency/muons MuonTight Muon
969
970 add Branch JetEnergyScale/jets Jet Jet
971
972 add Branch MissingET/momentum MissingET MissingET
973 add Branch GenPileUpMissingET/momentum GenPileUpMissingET MissingET
974 add Branch ScalarHT/energy ScalarHT ScalarHT
975}
976
Note: See TracBrowser for help on using the repository browser.