Fork me on GitHub

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

ImprovedOutputFile Timing dual_readout llp
Last change on this file since a9c67b3a was 0afc0fc, checked in by Philip <violatingcp@…>, 8 years ago

added the new Puppi

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