Fork me on GitHub

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

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

degrade by hands photon reso in CMS UPG cards

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