Fork me on GitHub

source: git/cards/CMS_PhaseII/CMS_PhaseII_Substructure_200PU.tcl@ 21eab4f

Last change on this file since 21eab4f was 29fe90c, checked in by Michele Selvaggi <michele.selvaggi@…>, 8 years ago

put correct path for PU file

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