PublicAnalysisDatabase: delphes_card_cms_exo_16_010.tcl

File delphes_card_cms_exo_16_010.tcl, 24.6 KB (added by BenjF, 3 weeks 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.8
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  # efficiency formula for electrons
692  set EfficiencyFormula {                                      (pt <= 10.0) * (0.00) +
693                                           (abs(eta) <= 1.5) * (pt > 10.0)  * (0.95) +
694                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0)  * (0.85) +
695                         (abs(eta) > 2.5)                                   * (0.00)}
696}
697
698####################
699# Electron isolation
700####################
701
702module Isolation ElectronIsolation {
703  set CandidateInputArray ElectronEfficiency/electrons
704  set IsolationInputArray EFlowFilter/eflow
705  set RhoInputArray Rho/rho
706
707  set OutputArray electrons
708
709  set DeltaRMax 0.4
710
711  set PTMin 0.5
712
713  set PTRatioMax 0.12
714}
715
716#################
717# Muon efficiency
718#################
719
720module Efficiency MuonEfficiency {
721  set InputArray TrackPileUpSubtractor/muons
722  set OutputArray muons
723
724  # set EfficiencyFormula {efficiency as a function of eta and pt}
725
726  # efficiency formula for muons
727  set EfficiencyFormula {                                     (pt <= 10.0)                * (0.00) +
728                                           (abs(eta) <= 1.5) * (pt > 10.0)                * (0.95) +
729                         (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0)                * (0.95) +
730                         (abs(eta) > 2.4)                                                 * (0.00)}
731
732}
733
734################
735# Muon isolation
736################
737
738module Isolation MuonIsolation {
739  set CandidateInputArray MuonEfficiency/muons
740  set IsolationInputArray EFlowFilter/eflow
741  set RhoInputArray Rho/rho
742
743  set OutputArray muons
744
745  set DeltaRMax 0.4
746
747  set PTMin 0.5
748
749  set PTRatioMax 0.25
750}
751
752###################
753# Missing ET merger
754###################
755
756module Merger MissingET {
757# add InputArray InputArray
758  add InputArray EFlowMergerAllTracks/eflow
759  set MomentumOutputArray momentum
760}
761
762
763
764##################
765# Scalar HT merger
766##################
767
768module Merger ScalarHT {
769# add InputArray InputArray
770  add InputArray UniqueObjectFinder/jets
771  add InputArray UniqueObjectFinder/electrons
772  add InputArray UniqueObjectFinder/photons
773  add InputArray UniqueObjectFinder/muons
774  set EnergyOutputArray energy
775}
776
777########################
778# Jet Flavor Association
779########################
780
781module JetFlavorAssociation JetFlavorAssociation {
782
783  set PartonInputArray Delphes/partons
784  set ParticleInputArray Delphes/allParticles
785  set ParticleLHEFInputArray Delphes/allParticlesLHEF
786  set JetInputArray JetEnergyScale/jets
787
788  set DeltaR 0.4
789  set PartonPTMin 1.0
790  set PartonEtaMax 2.5
791
792}
793
794###########
795# b-tagging
796###########
797
798module BTagging BTagging {
799  set JetInputArray JetEnergyScale/jets
800
801  set BitNumber 0
802
803  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
804  # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
805  # gluon's PDG code has the lowest priority
806  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) +
807                              (pt >= 130.0) * (0.055 + 4.53*10^-4*pt - 1.60*10^-7*pt^2) }
808
809  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) +
810                              (pt >= 205.0) * (0.478 + 1.573*10^-4*pt)}
811
812  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) +
813                              (pt >= 150.0) * (0.906 - 6.39*10^-5*pt + 4.11*10^-8*pt^2) }
814
815}
816
817#############
818# tau-tagging
819#############
820
821module TauTagging TauTagging {
822  set ParticleInputArray Delphes/allParticles
823  set PartonInputArray Delphes/partons
824  set JetInputArray JetEnergyScale/jets
825
826  set DeltaR 0.4
827
828  set TauPTMin 1.0
829
830  set TauEtaMax 2.5
831
832  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
833
834  # default efficiency formula (misidentification rate)
835  add EfficiencyFormula {0} {0.01}
836  # efficiency formula for tau-jets
837  add EfficiencyFormula {15} {0.6}
838}
839
840#####################################################
841# Find uniquely identified photons/electrons/tau/jets
842#####################################################
843
844module UniqueObjectFinder UniqueObjectFinder {
845# earlier arrays take precedence over later ones
846# add InputArray InputArray OutputArray
847  add InputArray PhotonIsolation/photons photons
848  add InputArray ElectronIsolation/electrons electrons
849  add InputArray MuonIsolation/muons muons
850  add InputArray JetEnergyScale/jets jets
851}
852
853##################
854# ROOT tree writer
855##################
856
857# tracks, towers and eflow objects are not stored by default in the output.
858# if needed (for jet constituent or other studies), uncomment the relevant
859# "add Branch ..." lines.
860
861module TreeWriter TreeWriter {
862# add Branch InputArray BranchName BranchClass
863  add Branch Delphes/allParticles Particle GenParticle
864
865#  add Branch TrackMerger/tracks Track Track
866#  add Branch Calorimeter/towers Tower Tower
867
868#  add Branch Calorimeter/eflowTracks EFlowTrack Track
869#  add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
870#  add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
871
872  add Branch GenJetFinder/jets GenJet Jet
873  add Branch GenMissingET/momentum GenMissingET MissingET
874
875  add Branch UniqueObjectFinder/jets Jet Jet
876  add Branch UniqueObjectFinder/electrons Electron Electron
877  add Branch UniqueObjectFinder/photons Photon Photon
878  add Branch UniqueObjectFinder/muons Muon Muon
879  add Branch MissingET/momentum MissingET MissingET
880  add Branch ScalarHT/energy ScalarHT ScalarHT
881  add Branch Rho/rho Rho Rho
882  add Branch PileUpMerger/vertices Vertex Vertex
883}