PublicAnalysisDatabase: delphes_card_cms_top_17_009.tcl

File delphes_card_cms_top_17_009.tcl, 28.7 KB (added by BenjF, 6 months ago)
Line 
1#######################################
2# Order of execution of various modules
3#######################################
4
5set ExecutionPath {
6
7  PileUpMerger
8  ParticlePropagator
9
10  ChargedHadronTrackingEfficiency
11  ElectronTrackingEfficiency
12  MuonTrackingEfficiency
13
14  ChargedHadronMomentumSmearing
15  ElectronMomentumSmearing
16  MuonMomentumSmearing
17
18  TrackMerger
19
20  ECal
21  HCal
22
23  ElectronFilter
24  TrackPileUpSubtractor
25  NeutralTowerMerger
26  EFlowMergerAllTracks
27  EFlowMerger
28  EFlowFilter
29 
30  NeutrinoFilter
31  GenJetFinder
32  GenMissingET
33
34  Rho
35  FastJetFinder
36  PileUpJetID
37  JetPileUpSubtractor
38
39  JetEnergyScale
40
41  PhotonEfficiency
42  PhotonIsolation
43
44  ElectronEfficiency
45  ElectronIsolation
46
47  MuonEfficiency
48  MuonIsolation
49
50  MissingET
51
52  JetFlavorAssociation
53
54  BTagging
55  TauTagging
56
57  UniqueObjectFinder
58
59  ScalarHT
60
61  TreeWriter
62}
63
64###############
65# PileUp Merger
66###############
67
68module PileUpMerger PileUpMerger {
69  set InputArray Delphes/stableParticles
70
71  set ParticleOutputArray stableParticles
72  set VertexOutputArray vertices
73
74  # pre-generated minbias input file
75  set PileUpFile MinBias.pileup
76
77  # average expected pile up
78  set MeanPileUp 12
79
80   # maximum spread in the beam direction in m
81  set ZVertexSpread 0.25
82
83  # maximum spread in time in s
84  set TVertexSpread 800E-12
85
86  # vertex smearing formula f(z,t) (z,t need to be respectively given in m,s)
87  set VertexDistributionFormula {exp(-(t^2/160e-12^2/2))*exp(-(z^2/0.053^2/2))}
88
89
90}
91
92#################################
93# Propagate particles in cylinder
94#################################
95
96module ParticlePropagator ParticlePropagator {
97  set InputArray PileUpMerger/stableParticles
98
99  set OutputArray stableParticles
100  set ChargedHadronOutputArray chargedHadrons
101  set ElectronOutputArray electrons
102  set MuonOutputArray muons
103
104  # radius of the magnetic field coverage, in m
105  set Radius 1.29
106  # half-length of the magnetic field coverage, in m
107  set HalfLength 3.00
108
109  # magnetic field
110  set Bz 3.8
111}
112
113####################################
114# Charged hadron tracking efficiency
115####################################
116
117module Efficiency ChargedHadronTrackingEfficiency {
118  set InputArray ParticlePropagator/chargedHadrons
119  set OutputArray chargedHadrons
120
121  # add EfficiencyFormula {efficiency formula as a function of eta and pt}
122
123  # tracking efficiency formula for charged hadrons
124  set EfficiencyFormula {                                                    (pt <= 0.1)   * (0.00) +
125                                           (abs(eta) <= 1.5) * (pt > 0.1   && pt <= 1.0)   * (0.70) +
126                                           (abs(eta) <= 1.5) * (pt > 1.0)                  * (0.95) +
127                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1   && pt <= 1.0)   * (0.60) +
128                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0)                  * (0.85) +
129                         (abs(eta) > 2.5)                                                  * (0.00)}
130}
131
132##############################
133# Electron tracking efficiency
134##############################
135
136module Efficiency ElectronTrackingEfficiency {
137  set InputArray ParticlePropagator/electrons
138  set OutputArray electrons
139
140  # set EfficiencyFormula {efficiency formula as a function of eta and pt}
141
142  # tracking efficiency formula for electrons
143  set EfficiencyFormula {                                                    (pt <= 0.1)   * (0.00) +
144                                           (abs(eta) <= 1.5) * (pt > 0.1   && pt <= 1.0)   * (0.73) +
145                                           (abs(eta) <= 1.5) * (pt > 1.0   && pt <= 1.0e2) * (0.95) +
146                                           (abs(eta) <= 1.5) * (pt > 1.0e2)                * (0.99) +
147                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1   && pt <= 1.0)   * (0.50) +
148                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0   && pt <= 1.0e2) * (0.83) +
149                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2)                * (0.90) +
150                         (abs(eta) > 2.5)                                                  * (0.00)}
151}
152
153##########################
154# Muon tracking efficiency
155##########################
156
157module Efficiency MuonTrackingEfficiency {
158  set InputArray ParticlePropagator/muons
159  set OutputArray muons
160
161  # set EfficiencyFormula {efficiency formula as a function of eta and pt}
162
163  # tracking efficiency formula for muons
164  set EfficiencyFormula {                                                    (pt <= 0.1)   * (0.00) +
165                                           (abs(eta) <= 1.5) * (pt > 0.1   && pt <= 1.0)   * (0.75) +
166                                           (abs(eta) <= 1.5) * (pt > 1.0   && pt <= 1.0e3) * (0.99) +
167                                           (abs(eta) <= 1.5) * (pt > 1.0e3 )               * (0.99 * exp(0.5 - pt*5.0e-4)) +
168
169                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1   && pt <= 1.0)   * (0.70) +
170                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0   && pt <= 1.0e3) * (0.98) +
171                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e3)                * (0.98 * exp(0.5 - pt*5.0e-4)) +
172                         (abs(eta) > 2.5)                                                  * (0.00)}
173}
174
175########################################
176# Momentum resolution for charged tracks
177########################################
178
179module MomentumSmearing ChargedHadronMomentumSmearing {
180  set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
181  set OutputArray chargedHadrons
182
183  # set ResolutionFormula {resolution formula as a function of eta and pt}
184
185  # resolution formula for charged hadrons
186  # based on arXiv:1405.6569
187  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
188                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
189                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
190}
191
192###################################
193# Momentum resolution for electrons
194###################################
195
196module MomentumSmearing ElectronMomentumSmearing {
197  set InputArray ElectronTrackingEfficiency/electrons
198  set OutputArray electrons
199
200  # set ResolutionFormula {resolution formula as a function of eta and energy}
201
202  # resolution formula for electrons
203  # based on arXiv:1405.6569
204  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.03^2 + pt^2*1.3e-3^2) +
205                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.05^2 + pt^2*1.7e-3^2) +
206                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.15^2 + pt^2*3.1e-3^2)}
207}
208
209###############################
210# Momentum resolution for muons
211###############################
212
213module MomentumSmearing MuonMomentumSmearing {
214  set InputArray MuonTrackingEfficiency/muons
215  set OutputArray muons
216
217  # set ResolutionFormula {resolution formula as a function of eta and pt}
218
219  # resolution formula for muons
220  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*1.0e-4^2) +
221                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.015^2 + pt^2*1.5e-4^2) +
222                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.025^2 + pt^2*3.5e-4^2)}
223}
224
225##############
226# Track merger
227##############
228
229module Merger TrackMerger {
230# add InputArray InputArray
231  add InputArray ChargedHadronMomentumSmearing/chargedHadrons
232  add InputArray ElectronMomentumSmearing/electrons
233  add InputArray MuonMomentumSmearing/muons
234  set OutputArray tracks
235}
236
237#############
238#   ECAL
239#############
240
241module SimpleCalorimeter ECal {
242  set ParticleInputArray ParticlePropagator/stableParticles
243  set TrackInputArray TrackMerger/tracks
244
245  set TowerOutputArray ecalTowers
246  set EFlowTrackOutputArray eflowTracks
247  set EFlowTowerOutputArray eflowPhotons
248
249  set IsEcal true
250
251  set EnergyMin 0.5
252  set EnergySignificanceMin 2.0
253
254  set SmearTowerCenter true
255
256  set pi [expr {acos(-1)}]
257
258  # lists of the edges of each tower in eta and phi
259  # each list starts with the lower edge of the first tower
260  # the list ends with the higher edged of the last tower
261
262  # assume 0.02 x 0.02 resolution in eta,phi in the barrel |eta| < 1.5
263
264  set PhiBins {}
265  for {set i -180} {$i <= 180} {incr i} {
266    add PhiBins [expr {$i * $pi/180.0}]
267  }
268
269  # 0.02 unit in eta up to eta = 1.5 (barrel)
270  for {set i -85} {$i <= 86} {incr i} {
271    set eta [expr {$i * 0.0174}]
272    add EtaPhiBins $eta $PhiBins
273  }
274
275  # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- ECAL)
276
277  set PhiBins {}
278  for {set i -180} {$i <= 180} {incr i} {
279    add PhiBins [expr {$i * $pi/180.0}]
280  }
281
282  # 0.02 unit in eta up to eta = 3
283  for {set i 1} {$i <= 84} {incr i} {
284    set eta [expr { -2.958 + $i * 0.0174}]
285    add EtaPhiBins $eta $PhiBins
286  }
287
288  for {set i 1} {$i <= 84} {incr i} {
289    set eta [expr { 1.4964 + $i * 0.0174}]
290    add EtaPhiBins $eta $PhiBins
291  }
292
293  # take present CMS granularity for HF
294
295  # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
296  set PhiBins {}
297  for {set i -18} {$i <= 18} {incr i} {
298    add PhiBins [expr {$i * $pi/18.0}]
299  }
300
301  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} {
302    add EtaPhiBins $eta $PhiBins
303  }
304
305
306  add EnergyFraction {0} {0.0}
307  # energy fractions for e, gamma and pi0
308  add EnergyFraction {11} {1.0}
309  add EnergyFraction {22} {1.0}
310  add EnergyFraction {111} {1.0}
311  # energy fractions for muon, neutrinos and neutralinos
312  add EnergyFraction {12} {0.0}
313  add EnergyFraction {13} {0.0}
314  add EnergyFraction {14} {0.0}
315  add EnergyFraction {16} {0.0}
316  add EnergyFraction {1000022} {0.0}
317  add EnergyFraction {1000023} {0.0}
318  add EnergyFraction {1000025} {0.0}
319  add EnergyFraction {1000035} {0.0}
320  add EnergyFraction {1000045} {0.0}
321  # energy fractions for K0short and Lambda
322  add EnergyFraction {310} {0.3}
323  add EnergyFraction {3122} {0.3}
324
325  # set ResolutionFormula {resolution formula as a function of eta and energy}
326
327  # for the ECAL barrel (|eta| < 1.5), see hep-ex/1306.2016 and 1502.02701
328
329  # set ECalResolutionFormula {resolution formula as a function of eta and energy}
330  # Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
331  set ResolutionFormula {                      (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
332                             (abs(eta) > 1.5 && abs(eta) <= 2.5) * (2.16 + 5.6*(abs(eta)-2)^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
333                             (abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
334
335}
336
337
338#############
339#   HCAL
340#############
341
342module SimpleCalorimeter HCal {
343  set ParticleInputArray ParticlePropagator/stableParticles
344  set TrackInputArray ECal/eflowTracks
345
346  set TowerOutputArray hcalTowers
347  set EFlowTrackOutputArray eflowTracks
348  set EFlowTowerOutputArray eflowNeutralHadrons
349
350  set IsEcal false
351
352  set EnergyMin 1.0
353  set EnergySignificanceMin 1.0
354
355  set SmearTowerCenter true
356
357  set pi [expr {acos(-1)}]
358
359  # lists of the edges of each tower in eta and phi
360  # each list starts with the lower edge of the first tower
361  # the list ends with the higher edged of the last tower
362
363  # 5 degrees towers
364  set PhiBins {}
365  for {set i -36} {$i <= 36} {incr i} {
366    add PhiBins [expr {$i * $pi/36.0}]
367  }
368  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.653} {
369    add EtaPhiBins $eta $PhiBins
370  }
371
372  # 10 degrees towers
373  set PhiBins {}
374  for {set i -18} {$i <= 18} {incr i} {
375    add PhiBins [expr {$i * $pi/18.0}]
376  }
377  foreach eta {-4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.95 -2.868 -2.65 -2.5 -2.322 -2.172 -2.043 -1.93 -1.83 -1.74 -1.653 1.74 1.83 1.93 2.043 2.172 2.322 2.5 2.65 2.868 2.95 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525} {
378    add EtaPhiBins $eta $PhiBins
379  }
380
381  # 20 degrees towers
382  set PhiBins {}
383  for {set i -9} {$i <= 9} {incr i} {
384    add PhiBins [expr {$i * $pi/9.0}]
385  }
386  foreach eta {-5 -4.7 -4.525 4.7 5} {
387    add EtaPhiBins $eta $PhiBins
388  }
389
390  # default energy fractions {abs(PDG code)} {Fecal Fhcal}
391  add EnergyFraction {0} {1.0}
392  # energy fractions for e, gamma and pi0
393  add EnergyFraction {11} {0.0}
394  add EnergyFraction {22} {0.0}
395  add EnergyFraction {111} {0.0}
396  # energy fractions for muon, neutrinos and neutralinos
397  add EnergyFraction {12} {0.0}
398  add EnergyFraction {13} {0.0}
399  add EnergyFraction {14} {0.0}
400  add EnergyFraction {16} {0.0}
401  add EnergyFraction {1000022} {0.0}
402  add EnergyFraction {1000023} {0.0}
403  add EnergyFraction {1000025} {0.0}
404  add EnergyFraction {1000035} {0.0}
405  add EnergyFraction {1000045} {0.0}
406  # energy fractions for K0short and Lambda
407  add EnergyFraction {310} {0.7}
408  add EnergyFraction {3122} {0.7}
409
410  # set HCalResolutionFormula {resolution formula as a function of eta and energy}
411  set ResolutionFormula {                      (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
412                             (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
413
414}
415
416#################
417# Electron filter
418#################
419
420module PdgCodeFilter ElectronFilter {
421  set InputArray HCal/eflowTracks
422  set OutputArray electrons
423  set Invert true
424  add PdgCode {11}
425  add PdgCode {-11}
426}
427
428###################################################
429# Tower Merger (in case not using e-flow algorithm)
430###################################################
431
432module Merger Calorimeter {
433# add InputArray InputArray
434  add InputArray ECal/ecalTowers
435  add InputArray HCal/hcalTowers
436  set OutputArray towers
437}
438
439######################
440# EFlowFilter
441######################
442
443module PdgCodeFilter EFlowFilter {
444  set InputArray EFlowMergerAllTracks/eflow
445  set OutputArray eflow
446 
447  add PdgCode {11}
448  add PdgCode {-11}
449  add PdgCode {13}
450  add PdgCode {-13}
451}
452
453##########################
454# Track pile-up subtractor
455##########################
456
457module TrackPileUpSubtractor TrackPileUpSubtractor {
458# add InputArray InputArray OutputArray
459  add InputArray HCal/eflowTracks eflowTracks
460  add InputArray ElectronFilter/electrons electrons
461  add InputArray MuonMomentumSmearing/muons muons
462
463  set VertexInputArray PileUpMerger/vertices
464  # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
465  # Z vertex resolution in m
466  set ZVertexResolution {0.0001}
467}
468
469
470####################
471# Neutral Tower merger
472####################
473
474module Merger NeutralTowerMerger {
475# add InputArray InputArray
476  add InputArray ECal/eflowPhotons
477  add InputArray HCal/eflowNeutralHadrons
478  set OutputArray towers
479}
480
481
482####################
483# Energy flow merger
484####################
485
486module Merger EFlowMergerAllTracks {
487# add InputArray InputArray
488  add InputArray HCal/eflowTracks
489  add InputArray ECal/eflowPhotons
490  add InputArray HCal/eflowNeutralHadrons
491  set OutputArray eflow
492}
493
494
495
496
497####################
498# Energy flow merger
499####################
500
501module Merger EFlowMerger {
502# add InputArray InputArray
503  add InputArray TrackPileUpSubtractor/eflowTracks
504  add InputArray ECal/eflowPhotons
505  add InputArray HCal/eflowNeutralHadrons
506  set OutputArray eflow
507}
508
509#############
510# Rho pile-up
511#############
512
513module FastJetGridMedianEstimator Rho {
514
515  set InputArray EFlowMerger/eflow
516  set RhoOutputArray rho
517
518  # add GridRange rapmin rapmax drap dphi
519  # rapmin - the minimum rapidity extent of the grid
520  # rapmax - the maximum rapidity extent of the grid
521  # drap - the grid spacing in rapidity
522  # dphi - the grid spacing in azimuth
523
524  add GridRange -5.0 -2.5 1.0 1.0
525  add GridRange -2.5 2.5 1.0 1.0
526  add GridRange 2.5 5.0 1.0 1.0
527
528}
529
530#####################
531# Neutrino Filter
532#####################
533
534module PdgCodeFilter NeutrinoFilter {
535
536  set InputArray Delphes/stableParticles
537  set OutputArray filteredParticles
538
539  set PTMin 0.0
540
541  add PdgCode {12}
542  add PdgCode {14}
543  add PdgCode {16}
544  add PdgCode {-12}
545  add PdgCode {-14}
546  add PdgCode {-16}
547
548}
549
550
551
552#####################
553# MC truth jet finder
554#####################
555
556module FastJetFinder GenJetFinder {
557  set InputArray NeutrinoFilter/filteredParticles
558
559  set OutputArray jets
560
561  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
562  set JetAlgorithm 6
563  set ParameterR 0.4
564
565  set JetPTMin 20.0
566}
567
568#########################
569# Gen Missing ET merger
570########################
571
572module Merger GenMissingET {
573# add InputArray InputArray
574  add InputArray NeutrinoFilter/filteredParticles
575  set MomentumOutputArray momentum
576}
577
578############
579# Jet finder
580############
581
582module FastJetFinder FastJetFinder {
583#  set InputArray Calorimeter/towers
584  set InputArray EFlowMerger/eflow
585
586  set OutputArray jets
587
588  # area algorithm: 0 Do not compute area, 1 Active area explicit ghosts, 2 One ghost passive area, 3 Passive area, 4 Voronoi, 5 Active area
589  set AreaAlgorithm 5
590
591  # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
592  set JetAlgorithm 6
593  set ParameterR 0.4
594
595  set JetPTMin 20.0
596}
597
598###########################
599# Jet Pile-Up ID
600###########################
601
602module PileUpJetID PileUpJetID {
603  set JetInputArray FastJetFinder/jets
604  set TrackInputArray HCal/eflowTracks
605  set NeutralInputArray NeutralTowerMerger/towers
606
607  set VertexInputArray PileUpMerger/vertices
608  # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
609  # Z vertex resolution in m
610  set ZVertexResolution 0.0001
611
612  set OutputArray jets
613
614  set UseConstituents 0
615  set ParameterR 0.4
616
617  set JetPTMin 20.0
618}
619
620###########################
621# Jet Pile-Up Subtraction
622###########################
623
624module JetPileUpSubtractor JetPileUpSubtractor {
625  set JetInputArray PileUpJetID/jets
626  set RhoInputArray Rho/rho
627
628  set OutputArray jets
629
630  set JetPTMin 20.0
631}
632
633##################
634# Jet Energy Scale
635##################
636
637module EnergyScale JetEnergyScale {
638  set InputArray JetPileUpSubtractor/jets
639  set OutputArray jets
640
641 # scale formula for jets
642  set ScaleFormula {1.0}
643}
644
645###################
646# Photon efficiency
647###################
648
649module Efficiency PhotonEfficiency {
650  set InputArray ECal/eflowPhotons
651  set OutputArray photons
652
653  # set EfficiencyFormula {efficiency formula as a function of eta and pt}
654
655  # efficiency formula for photons
656  set EfficiencyFormula {                                      (pt <= 10.0) * (0.00) +
657                                           (abs(eta) <= 1.5) * (pt > 10.0)  * (0.95) +
658                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0)  * (0.85) +
659                         (abs(eta) > 2.5)                                   * (0.00)}
660}
661
662
663##################
664# Photon isolation
665##################
666
667module Isolation PhotonIsolation {
668  set CandidateInputArray PhotonEfficiency/photons
669  set IsolationInputArray EFlowFilter/eflow
670  set RhoInputArray Rho/rho
671
672  set OutputArray photons
673
674  set DeltaRMax 0.4
675
676  set PTMin 0.5
677
678  set PTRatioMax 0.12
679}
680
681#####################
682# Electron efficiency
683#####################
684
685module Efficiency ElectronEfficiency {
686  set InputArray TrackPileUpSubtractor/electrons
687  set OutputArray electrons
688
689  # set EfficiencyFormula {efficiency formula as a function of eta and pt}
690
691#
692
693#                                            (abs(eta) <= 2.5) * (pt > 10.0 && pt < 60.0)     * (0.45+0.25*(pt-10)/50.) +
694#                                            (abs(eta) <= 2.5) * (pt > 60.0)               * (0.70) +
695
696#                         (abs(eta) <= 1.5) * (pt > 7.0)  * (0.95) +
697#                        (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 7.0)  * (0.95) + 
698
699  # efficiency formula for electrons, previously 0.85/95 for eta>1.5/<1.5
700  set EfficiencyFormula {                                      (pt <= 7.0) * (0.00) +
701                                         (abs(eta) <= 1.5) * (pt > 7.0 )     * (0.95) +
702                                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 7.0 )     * (0.85) +
703                        (abs(eta) > 2.5)                                   * (0.00)}
704}
705
706
707#  set EfficiencyFormula {                                      (pt <= 7.0) * (0.00) +
708#                                         (abs(eta) <= 2.5) * (pt > 7.0 && pt < 60.0)     * (0.45+0.25*(pt-7)/53.) +
709#                                         (abs(eta) <= 2.5) * (pt > 60.0)               * (0.70) +
710#                       (abs(eta) > 2.5)                                   * (0.00)}
711#}
712
713####################
714# Electron isolation
715####################
716
717module Isolation ElectronIsolation {
718  set CandidateInputArray ElectronEfficiency/electrons
719  set IsolationInputArray EFlowFilter/eflow
720  set RhoInputArray Rho/rho
721
722  set OutputArray electrons
723
724  set DeltaRMax 0.4
725
726  set PTMin 0.5
727
728  set PTRatioMax 0.12
729}
730
731#################
732# Muon efficiency
733#################
734
735module Efficiency MuonEfficiency {
736  set InputArray TrackPileUpSubtractor/muons
737  set OutputArray muons
738
739  # set EfficiencyFormula {efficiency as a function of eta and pt}
740
741#
742
743#set EfficiencyFormula {                                     (pt <= 5.0)                * (0.00) +
744#                                           (abs(eta) <= 2.4) * (pt > 5.0 && pt < 60)     * (0.70 + 0.2*(pt-5)/55.) +
745#                                            (abs(eta) <= 2.4) * (pt > 60.0)               * (0.90) +
746#                       (abs(eta) > 2.4)                     * (0.00)}
747  set EfficiencyFormula {                                     (pt <= 5.0)                * (0.00) +
748                                           (abs(eta) <= 1.5) * (pt > 5.0)                * (0.95) +
749                         (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 5.0)                * (0.95) +
750                         (abs(eta) > 2.4)                                                 * (0.00)}
751
752
753  # efficiency formula for muons # Previously 95
754#  set EfficiencyFormula {                                     (pt <= 5.0)                * (0.00) +
755#                                           (abs(eta) <= 1.5) * (pt > 5.0)                * (0.98) +
756#                                           (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 5.0)                * (0.98) +
757#                         (abs(eta) > 2.4)                                                 * (0.00)}
758
759}
760
761################
762#a Muon isolation
763################
764
765module Isolation MuonIsolation {
766  set CandidateInputArray MuonEfficiency/muons
767  set IsolationInputArray EFlowFilter/eflow
768  set RhoInputArray Rho/rho
769
770  set OutputArray muons
771
772  set DeltaRMax 0.4
773
774  set PTMin 0.5
775
776  set PTRatioMax 0.25
777}
778
779###################
780# Missing ET merger
781###################
782
783module Merger MissingET {
784# add InputArray InputArray
785  add InputArray EFlowMergerAllTracks/eflow
786  set MomentumOutputArray momentum
787}
788
789
790
791##################
792# Scalar HT merger
793##################
794
795module Merger ScalarHT {
796# add InputArray InputArray
797  add InputArray UniqueObjectFinder/jets
798  add InputArray UniqueObjectFinder/electrons
799  add InputArray UniqueObjectFinder/photons
800  add InputArray UniqueObjectFinder/muons
801  set EnergyOutputArray energy
802}
803
804########################
805# Jet Flavor Association
806########################
807
808module JetFlavorAssociation JetFlavorAssociation {
809
810  set PartonInputArray Delphes/partons
811  set ParticleInputArray Delphes/allParticles
812  set ParticleLHEFInputArray Delphes/allParticlesLHEF
813  set JetInputArray JetEnergyScale/jets
814
815  set DeltaR 0.4
816  set PartonPTMin 1.0
817  set PartonEtaMax 2.5
818
819}
820
821###########
822# b-tagging
823###########
824
825module BTagging BTagging {
826  set JetInputArray JetEnergyScale/jets
827
828  set BitNumber 0
829
830  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
831  # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
832  # gluon's PDG code has the lowest priority
833
834#CSVv2 efficiencies
835
836#  add EfficiencyFormula {0} { (pt > 20.0 && pt < 105.0) * (-1.770*10^-9*pt^4 + 4.492*10^-7*pt^3-0.00003935*pt^2+0.00136*pt-0.006) +
837#            (pt >= 105.0 && pt < 235.0) * (-7.638*10^-12*pt^5 + 6.486*10^-9*pt^4 -2.15015*10^-6*pt^3 + 0.000347053*pt^2 - 0.0271883*pt + 0.8345)+
838#            (pt >= 235.0) * (3.9855*10^-17*pt^6 - 1.3094*10^-13*pt^5 + 1.7179*10^-10*pt^4 -
839# 1.14705*10^-7*pt^3 + 0.0000409144*pt^2 - 0.00733112*pt + 0.52874) }
840
841#  add EfficiencyFormula {4} { (pt > 20.0 && pt <45.0) * (-0.000159*pt^2+0.0117*pt-0.087) +
842#          (pt >= 45.0 && pt <145.0) * (2.76*10^-8 * pt^3 - 6.91*10^-6*pt^2 + 0.000723*pt+0.09675) +
843#          (pt >= 145.0 ) * (5.21785*10^-17*pt^6 - 1.60294*10^-13*pt^5 + 1.94745*10^-10*pt^4 -
844# 1.19154*10^-7*pt^3 + 0.0000386176*pt^2 - 0.0063131*pt + 0.532)  }
845
846#  add EfficiencyFormula {5} { (pt > 20.0 && pt < 80.0)*(-7.649*10^-8*pt^4 + 0.00001932*pt^3 - 0.001797*pt^2 + 0.07384*pt - 0.5) +
847#   (pt >= 80.0 && pt < 143.0) * (0.665) +
848#      (pt >= 143.0) * (-3.628*10^-15*pt^5 + 8.607*10^-12*pt^4 - 7.86*10^-9*pt^3 + 3.92*10^-6*pt^2 - 0.001468*pt + 0.8147)}
849
850# DeepCSV efficiencies
851
852  add EfficiencyFormula {0} { (pt >= 25.0 && pt < 360.0) * (-8.56347 * 10^-17 * pt^6 + 4.81506 * 10^-14 * pt^5 + 1.26688 * 10^-11 * pt^4 - 1.43111 * 10^-8 * pt^3 + 3.66113 * 10^-6 * pt^2 - 0.000343664 * pt + 0.0194182) +
853            (pt >= 360.0 && pt < 950 ) * (2.47657 * 10^-17 * pt^6 - 9.79073 * 10^-14 * pt^5 + 1.56687 * 10^-10 * pt^4 - 1.29616 * 10^-7 * pt^3 + 0.0000582789 * pt^2 - 0.0134288 * pt + 1.25506) + (pt >= 950 ) * (0.035)}
854
855  add EfficiencyFormula {4} { (pt >= 25.0 && pt <155.0) * (2.49952*10^-11*pt^5 - 1.19968 * 10^-8 * pt^4 + 2.15425 * 10^-6 * pt^3 - 0.000174775 * pt^2 + 0.00603344 * pt + 0.0571752) +
856          (pt >= 155.0 && pt <318.0) * (1.14416*10^-13 * pt^6 - 1.62168 * 10^-10 * pt^5 + 9.434 * 10^-8 * pt^4 - 0.000028816 * pt^3 + 0.00487191 * pt^2 - 0.432125 * pt + 15.8347) +
857          (pt >= 318.0 && pt < 950) * (1.10863*10^-16 * pt^5 + 7.37806 * 10^-13 * pt^4 - 1.96006 * 10^-9 * pt^3 + 1.36171 * 10^-6 * pt^2 - 0.000225177 * pt + 0.118996) + 
858          (pt >= 950 ) * (0.14)}
859
860  add EfficiencyFormula {5} { (pt > 25.0 && pt < 115.0)*(-1.20579*10^-8 * pt^4+4.07131*10^-6 * pt^3-0.00050732 * pt^2+0.0279171 * pt + 0.1297235) +
861      (pt >= 115.0  && pt < 950 ) * (1.11352*10^-14 * pt^5 - 2.78119 * 10^-11 * pt^4 + 2.55081 * 10^-8 * pt^3 - 0.000010315 * pt^2 + 0.00142765 * pt + 0.651055)+
862      (pt >= 950 ) * (0.50)}
863
864
865
866#  add EfficiencyFormula {0} { (pt >= 30.0 && pt < 130.0) * (0.124 - 1.0*10^-3*pt + 1.06*10^-5*pt^2 - 3.18*10^-8*pt^3 + 3.13*10^-11*pt^4) +
867#                              (pt >= 130.0) * (0.055 + 4.53*10^-4*pt - 1.60*10^-7*pt^2) }
868
869#  add EfficiencyFormula {4} { (pt >= 30.0 && pt <205.0) * (0.40 + 1.23*10^-3*pt - 4.60*10^-6*pt^2 + 5.71*10^-9*pt^3) +
870#                              (pt >= 205.0) * (0.478 + 1.573*10^-4*pt)}
871
872#  add EfficiencyFormula {5} { (pt >= 30.0 && pt < 150.0) * (0.707 + 5.6*10^-3*pt - 6.27*10^-5*pt^2 + 3.10*10^-7*pt^3 - 5.63*10^-10*pt^4) +
873#                              (pt >= 150.0) * (0.906 - 6.39*10^-5*pt + 4.11*10^-8*pt^2) }
874}
875# tau-tagging
876#############
877
878module TauTagging TauTagging {
879  set ParticleInputArray Delphes/allParticles
880  set PartonInputArray Delphes/partons
881  set JetInputArray JetEnergyScale/jets
882
883  set DeltaR 0.4
884
885  set TauPTMin 1.0
886
887  set TauEtaMax 2.5
888
889  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
890
891  # default efficiency formula (misidentification rate)
892  add EfficiencyFormula {0} {0.01}
893  # efficiency formula for tau-jets
894  add EfficiencyFormula {15} {0.6}
895}
896
897#####################################################
898# Find uniquely identified photons/electrons/tau/jets
899#####################################################
900
901module UniqueObjectFinder UniqueObjectFinder {
902# earlier arrays take precedence over later ones
903# add InputArray InputArray OutputArray
904  add InputArray PhotonIsolation/photons photons
905  add InputArray ElectronIsolation/electrons electrons
906  add InputArray MuonIsolation/muons muons
907  add InputArray JetEnergyScale/jets jets
908}
909
910##################
911# ROOT tree writer
912##################
913
914# tracks, towers and eflow objects are not stored by default in the output.
915# if needed (for jet constituent or other studies), uncomment the relevant
916# "add Branch ..." lines.
917
918module TreeWriter TreeWriter {
919# add Branch InputArray BranchName BranchClass
920  add Branch Delphes/allParticles Particle GenParticle
921
922#  add Branch TrackMerger/tracks Track Track
923#  add Branch Calorimeter/towers Tower Tower
924
925#  add Branch Calorimeter/eflowTracks EFlowTrack Track
926#  add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
927#  add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
928
929  add Branch GenJetFinder/jets GenJet Jet
930  add Branch GenMissingET/momentum GenMissingET MissingET
931
932  add Branch UniqueObjectFinder/jets Jet Jet
933  add Branch UniqueObjectFinder/electrons Electron Electron
934  add Branch UniqueObjectFinder/photons Photon Photon
935  add Branch UniqueObjectFinder/muons Muon Muon
936  add Branch MissingET/momentum MissingET MissingET
937  add Branch ScalarHT/energy ScalarHT ScalarHT
938  add Branch Rho/rho Rho Rho
939  add Branch PileUpMerger/vertices Vertex Vertex
940}