PublicAnalysisDatabase: delphes_card_cms_sus_16_052.tcl

File delphes_card_cms_sus_16_052.tcl, 25.1 KB (added by BenjF, 10 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 # cms_sus_051
144 set EfficiencyFormula {                                                    (pt <= 0.1)   * (0.00) +
145                                           (abs(eta) <= 1.5) * (pt > 0.1   && pt <= 1.0)   * (0.68) +
146                                           (abs(eta) <= 1.5) * (pt > 1.0   && pt <= 1.0e2) * (0.96) +
147                                           (abs(eta) <= 1.5) * (pt > 1.0e2)                * (0.99) +
148                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1   && pt <= 1.0)   * (0.54) +
149                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0   && pt <= 1.0e2) * (0.81) +
150                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2)                * (0.94) +
151                         (abs(eta) > 2.5)                                                  * (0.00)}
152}
153
154##########################
155# Muon tracking efficiency
156##########################
157
158module Efficiency MuonTrackingEfficiency {
159  set InputArray ParticlePropagator/muons
160  set OutputArray muons
161
162  # set EfficiencyFormula {efficiency formula as a function of eta and pt}
163
164  # tracking efficiency formula for muons
165  #based on cms_sus_051
166  set EfficiencyFormula {                                                    (pt <= 0.1)   * (0.00) +
167                                           (abs(eta) <= 1.5) * (pt > 0.1   && pt <= 1.0)   * (0.73) +
168                                           (abs(eta) <= 1.5) * (pt > 1.0   && pt <= 1.0e3) * (1.00) +
169                                           (abs(eta) <= 1.5) * (pt > 1.0e3 )               * (0.99 * exp(0.5 - pt*5.0e-4)) +
170
171                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1   && pt <= 1.0)   * (0.78) +
172                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0   && pt <= 1.0e3) * (0.99) +
173                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e3)                * (0.99 * exp(0.5 - pt*5.0e-4)) +
174                         (abs(eta) > 2.5)                                                  * (0.00)}
175}
176
177########################################
178# Momentum resolution for charged tracks
179########################################
180
181module MomentumSmearing ChargedHadronMomentumSmearing {
182  set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
183  set OutputArray chargedHadrons
184
185  # set ResolutionFormula {resolution formula as a function of eta and pt}
186
187  # resolution formula for charged hadrons
188 
189  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
190                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
191                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
192}
193
194###################################
195# Momentum resolution for electrons
196###################################
197
198module MomentumSmearing ElectronMomentumSmearing {
199  set InputArray ElectronTrackingEfficiency/electrons
200  set OutputArray electrons
201
202  # set ResolutionFormula {resolution formula as a function of eta and energy}
203
204  # resolution formula for electrons
205  # based on cms_sus_051
206  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.03^2 + pt^2*1.3e-3^2) +
207                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.046^2 + pt^2*1.7e-3^2) +
208                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.18^2 + pt^2*3.1e-3^2)}
209}
210
211###############################
212# Momentum resolution for muons
213###############################
214
215module MomentumSmearing MuonMomentumSmearing {
216  set InputArray MuonTrackingEfficiency/muons
217  set OutputArray muons
218
219  # set ResolutionFormula {resolution formula as a function of eta and pt}
220
221  # resolution formula for muons
222  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*1.0e-4^2) +
223                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.015^2 + pt^2*1.5e-4^2) +
224                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.025^2 + pt^2*3.5e-4^2)}
225}
226
227##############
228# Track merger
229##############
230
231module Merger TrackMerger {
232# add InputArray InputArray
233  add InputArray ChargedHadronMomentumSmearing/chargedHadrons
234  add InputArray ElectronMomentumSmearing/electrons
235  add InputArray MuonMomentumSmearing/muons
236  set OutputArray tracks
237}
238
239#############
240#   ECAL
241#############
242
243module SimpleCalorimeter ECal {
244  set ParticleInputArray ParticlePropagator/stableParticles
245  set TrackInputArray TrackMerger/tracks
246
247  set TowerOutputArray ecalTowers
248  set EFlowTrackOutputArray eflowTracks
249  set EFlowTowerOutputArray eflowPhotons
250
251  set IsEcal true
252
253  set EnergyMin 0.5
254  set EnergySignificanceMin 2.0
255
256  set SmearTowerCenter true
257
258  set pi [expr {acos(-1)}]
259
260  # lists of the edges of each tower in eta and phi
261  # each list starts with the lower edge of the first tower
262  # the list ends with the higher edged of the last tower
263
264  # assume 0.02 x 0.02 resolution in eta,phi in the barrel |eta| < 1.5
265
266  set PhiBins {}
267  for {set i -180} {$i <= 180} {incr i} {
268    add PhiBins [expr {$i * $pi/180.0}]
269  }
270
271  # 0.02 unit in eta up to eta = 1.5 (barrel)
272  for {set i -85} {$i <= 86} {incr i} {
273    set eta [expr {$i * 0.0174}]
274    add EtaPhiBins $eta $PhiBins
275  }
276
277  # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- ECAL)
278
279  set PhiBins {}
280  for {set i -180} {$i <= 180} {incr i} {
281    add PhiBins [expr {$i * $pi/180.0}]
282  }
283
284  # 0.02 unit in eta up to eta = 3
285  for {set i 1} {$i <= 84} {incr i} {
286    set eta [expr { -2.958 + $i * 0.0174}]
287    add EtaPhiBins $eta $PhiBins
288  }
289
290  for {set i 1} {$i <= 84} {incr i} {
291    set eta [expr { 1.4964 + $i * 0.0174}]
292    add EtaPhiBins $eta $PhiBins
293  }
294
295  # take present CMS granularity for HF
296
297  # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
298  set PhiBins {}
299  for {set i -18} {$i <= 18} {incr i} {
300    add PhiBins [expr {$i * $pi/18.0}]
301  }
302
303  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} {
304    add EtaPhiBins $eta $PhiBins
305  }
306
307
308  add EnergyFraction {0} {0.0}
309  # energy fractions for e, gamma and pi0
310  add EnergyFraction {11} {1.0}
311  add EnergyFraction {22} {1.0}
312  add EnergyFraction {111} {1.0}
313  # energy fractions for muon, neutrinos and neutralinos
314  add EnergyFraction {12} {0.0}
315  add EnergyFraction {13} {0.0}
316  add EnergyFraction {14} {0.0}
317  add EnergyFraction {16} {0.0}
318  add EnergyFraction {1000022} {0.0}
319  add EnergyFraction {1000023} {0.0}
320  add EnergyFraction {1000025} {0.0}
321  add EnergyFraction {1000035} {0.0}
322  add EnergyFraction {1000045} {0.0}
323  # energy fractions for K0short and Lambda
324  add EnergyFraction {310} {0.3}
325  add EnergyFraction {3122} {0.3}
326
327  # set ResolutionFormula {resolution formula as a function of eta and energy}
328
329  # for the ECAL barrel (|eta| < 1.5), see hep-ex/1306.2016 and 1502.02701
330
331  # set ECalResolutionFormula {resolution formula as a function of eta and energy}
332  # Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
333  set ResolutionFormula {                      (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
334                             (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) +
335                             (abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
336
337}
338
339
340#############
341#   HCAL
342#############
343
344module SimpleCalorimeter HCal {
345  set ParticleInputArray ParticlePropagator/stableParticles
346  set TrackInputArray ECal/eflowTracks
347
348  set TowerOutputArray hcalTowers
349  set EFlowTrackOutputArray eflowTracks
350  set EFlowTowerOutputArray eflowNeutralHadrons
351
352  set IsEcal false
353
354  set EnergyMin 1.0
355  set EnergySignificanceMin 1.0
356
357  set SmearTowerCenter true
358
359  set pi [expr {acos(-1)}]
360
361  # lists of the edges of each tower in eta and phi
362  # each list starts with the lower edge of the first tower
363  # the list ends with the higher edged of the last tower
364
365  # 5 degrees towers
366  set PhiBins {}
367  for {set i -36} {$i <= 36} {incr i} {
368    add PhiBins [expr {$i * $pi/36.0}]
369  }
370  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} {
371    add EtaPhiBins $eta $PhiBins
372  }
373
374  # 10 degrees towers
375  set PhiBins {}
376  for {set i -18} {$i <= 18} {incr i} {
377    add PhiBins [expr {$i * $pi/18.0}]
378  }
379  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} {
380    add EtaPhiBins $eta $PhiBins
381  }
382
383  # 20 degrees towers
384  set PhiBins {}
385  for {set i -9} {$i <= 9} {incr i} {
386    add PhiBins [expr {$i * $pi/9.0}]
387  }
388  foreach eta {-5 -4.7 -4.525 4.7 5} {
389    add EtaPhiBins $eta $PhiBins
390  }
391
392  # default energy fractions {abs(PDG code)} {Fecal Fhcal}
393  add EnergyFraction {0} {1.0}
394  # energy fractions for e, gamma and pi0
395  add EnergyFraction {11} {0.0}
396  add EnergyFraction {22} {0.0}
397  add EnergyFraction {111} {0.0}
398  # energy fractions for muon, neutrinos and neutralinos
399  add EnergyFraction {12} {0.0}
400  add EnergyFraction {13} {0.0}
401  add EnergyFraction {14} {0.0}
402  add EnergyFraction {16} {0.0}
403  add EnergyFraction {1000022} {0.0}
404  add EnergyFraction {1000023} {0.0}
405  add EnergyFraction {1000025} {0.0}
406  add EnergyFraction {1000035} {0.0}
407  add EnergyFraction {1000045} {0.0}
408  # energy fractions for K0short and Lambda
409  add EnergyFraction {310} {0.7}
410  add EnergyFraction {3122} {0.7}
411
412  # set HCalResolutionFormula {resolution formula as a function of eta and energy}
413  set ResolutionFormula {                      (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
414                             (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
415
416}
417
418#################
419# Electron filter
420#################
421
422module PdgCodeFilter ElectronFilter {
423  set InputArray HCal/eflowTracks
424  set OutputArray electrons
425  set Invert true
426  add PdgCode {11}
427  add PdgCode {-11}
428}
429
430###################################################
431# Tower Merger (in case not using e-flow algorithm)
432###################################################
433
434module Merger Calorimeter {
435# add InputArray InputArray
436  add InputArray ECal/ecalTowers
437  add InputArray HCal/hcalTowers
438  set OutputArray towers
439}
440
441######################
442# EFlowFilter
443######################
444
445module PdgCodeFilter EFlowFilter {
446  set InputArray EFlowMergerAllTracks/eflow
447  set OutputArray eflow
448 
449  add PdgCode {11}
450  add PdgCode {-11}
451  add PdgCode {13}
452  add PdgCode {-13}
453}
454
455##########################
456# Track pile-up subtractor
457##########################
458
459module TrackPileUpSubtractor TrackPileUpSubtractor {
460# add InputArray InputArray OutputArray
461  add InputArray HCal/eflowTracks eflowTracks
462  add InputArray ElectronFilter/electrons electrons
463  add InputArray MuonMomentumSmearing/muons muons
464
465  set VertexInputArray PileUpMerger/vertices
466  # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
467  # Z vertex resolution in m
468  set ZVertexResolution {0.0001}
469}
470
471
472####################
473# Neutral Tower merger
474####################
475
476module Merger NeutralTowerMerger {
477# add InputArray InputArray
478  add InputArray ECal/eflowPhotons
479  add InputArray HCal/eflowNeutralHadrons
480  set OutputArray towers
481}
482
483
484####################
485# Energy flow merger
486####################
487
488module Merger EFlowMergerAllTracks {
489# add InputArray InputArray
490  add InputArray HCal/eflowTracks
491  add InputArray ECal/eflowPhotons
492  add InputArray HCal/eflowNeutralHadrons
493  set OutputArray eflow
494}
495
496
497
498
499####################
500# Energy flow merger
501####################
502
503module Merger EFlowMerger {
504# add InputArray InputArray
505  add InputArray TrackPileUpSubtractor/eflowTracks
506  add InputArray ECal/eflowPhotons
507  add InputArray HCal/eflowNeutralHadrons
508  set OutputArray eflow
509}
510
511#############
512# Rho pile-up
513#############
514
515module FastJetGridMedianEstimator Rho {
516
517  set InputArray EFlowMerger/eflow
518  set RhoOutputArray rho
519
520  # add GridRange rapmin rapmax drap dphi
521  # rapmin - the minimum rapidity extent of the grid
522  # rapmax - the maximum rapidity extent of the grid
523  # drap - the grid spacing in rapidity
524  # dphi - the grid spacing in azimuth
525
526  add GridRange -5.0 -2.5 1.0 1.0
527  add GridRange -2.5 2.5 1.0 1.0
528  add GridRange 2.5 5.0 1.0 1.0
529
530}
531
532#####################
533# Neutrino Filter
534#####################
535
536module PdgCodeFilter NeutrinoFilter {
537
538  set InputArray Delphes/stableParticles
539  set OutputArray filteredParticles
540
541  set PTMin 0.0
542
543  add PdgCode {12}
544  add PdgCode {14}
545  add PdgCode {16}
546  add PdgCode {-12}
547  add PdgCode {-14}
548  add PdgCode {-16}
549
550}
551
552
553
554#####################
555# MC truth jet finder
556#####################
557
558module FastJetFinder GenJetFinder {
559  set InputArray NeutrinoFilter/filteredParticles
560
561  set OutputArray jets
562
563  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
564  set JetAlgorithm 6
565  set ParameterR 0.4
566
567  set JetPTMin 20.0
568}
569
570#########################
571# Gen Missing ET merger
572########################
573
574module Merger GenMissingET {
575# add InputArray InputArray
576  add InputArray NeutrinoFilter/filteredParticles
577  set MomentumOutputArray momentum
578}
579
580############
581# Jet finder
582############
583
584module FastJetFinder FastJetFinder {
585#  set InputArray Calorimeter/towers
586  set InputArray EFlowMerger/eflow
587
588  set OutputArray jets
589
590  # 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
591  set AreaAlgorithm 5
592
593  # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
594  set JetAlgorithm 6
595  set ParameterR 0.8
596
597  set JetPTMin 20.0
598}
599
600###########################
601# Jet Pile-Up ID
602###########################
603
604module PileUpJetID PileUpJetID {
605  set JetInputArray FastJetFinder/jets
606  set TrackInputArray HCal/eflowTracks
607  set NeutralInputArray NeutralTowerMerger/towers
608
609  set VertexInputArray PileUpMerger/vertices
610  # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
611  # Z vertex resolution in m
612  set ZVertexResolution 0.0001
613
614  set OutputArray jets
615
616  set UseConstituents 0
617  set ParameterR 0.4
618
619  set JetPTMin 20.0
620}
621
622###########################
623# Jet Pile-Up Subtraction
624###########################
625
626module JetPileUpSubtractor JetPileUpSubtractor {
627  set JetInputArray PileUpJetID/jets
628  set RhoInputArray Rho/rho
629
630  set OutputArray jets
631
632  set JetPTMin 20.0
633}
634
635##################
636# Jet Energy Scale
637##################
638
639module EnergyScale JetEnergyScale {
640  set InputArray JetPileUpSubtractor/jets
641  set OutputArray jets
642
643 # scale formula for jets
644  set ScaleFormula {1.0}
645}
646
647###################
648# Photon efficiency
649###################
650
651module Efficiency PhotonEfficiency {
652  set InputArray ECal/eflowPhotons
653  set OutputArray photons
654
655  # set EfficiencyFormula {efficiency formula as a function of eta and pt}
656
657  # efficiency formula for photons
658  set EfficiencyFormula {                                      (pt <= 10.0) * (0.00) +
659                                           (abs(eta) <= 1.5) * (pt > 10.0)  * (0.95) +
660                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0)  * (0.85) +
661                         (abs(eta) > 2.5)                                   * (0.00)}
662}
663
664
665##################
666# Photon isolation
667##################
668
669module Isolation PhotonIsolation {
670  set CandidateInputArray PhotonEfficiency/photons
671  set IsolationInputArray EFlowFilter/eflow
672  set RhoInputArray Rho/rho
673
674  set OutputArray photons
675
676  set DeltaRMax 0.4
677
678  set PTMin 0.5
679
680  set PTRatioMax 0.12
681}
682
683#####################
684# Electron efficiency
685#####################
686
687module Efficiency ElectronEfficiency {
688  set InputArray TrackPileUpSubtractor/electrons
689  set OutputArray electrons
690
691  # set EfficiencyFormula {efficiency formula as a function of eta and pt}
692
693  # efficiency formula for electrons
694  #based on cms_sus_051
695  set EfficiencyFormula {                                      (pt <= 1.0) * (0.00) +
696
697                                            (abs(eta) <= 1.5)*(pt <= 10.0)*(0.5)    +
698                                           (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt < 10.0)  * (0.45) +
699                                           (abs(eta) <= 1.5) * (pt > 10.0)  * (0.97) +
700                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0)  * (0.88) +
701                         (abs(eta) > 2.5)                                   * (0.00)}
702}
703
704####################
705# Electron isolation
706####################
707
708module Isolation ElectronIsolation {
709  set CandidateInputArray ElectronEfficiency/electrons
710  set IsolationInputArray EFlowFilter/eflow
711  set RhoInputArray Rho/rho
712
713  set OutputArray electrons
714
715  set DeltaRMax 0.4
716
717  set PTMin 0.5
718
719  set PTRatioMax 0.12
720}
721
722#################
723# Muon efficiency
724#################
725
726module Efficiency MuonEfficiency {
727  set InputArray TrackPileUpSubtractor/muons
728  set OutputArray muons
729
730  # set EfficiencyFormula {efficiency as a function of eta and pt}
731
732  # efficiency formula for muons
733  set EfficiencyFormula {                                     (pt <= 1)                * (0.00) +
734                                    (abs(eta) <= 1.5)*(pt <= 10.0)*(0.5)    +
735                                           (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt < 10.0)  * (0.45) +         
736                                           (abs(eta) <= 1.5) * (pt > 10.0)                * (0.95) +
737                         (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0)                * (0.95) +
738                         (abs(eta) > 2.4)                                                 * (0.00)}
739
740}
741
742################
743# Muon isolation
744################
745
746module Isolation MuonIsolation {
747  set CandidateInputArray MuonEfficiency/muons
748  set IsolationInputArray EFlowFilter/eflow
749  set RhoInputArray Rho/rho
750
751  set OutputArray muons
752
753  set DeltaRMax 0.4
754
755  set PTMin 0.5
756
757  set PTRatioMax 0.25
758}
759
760###################
761# Missing ET merger
762###################
763
764module Merger MissingET {
765# add InputArray InputArray
766  add InputArray EFlowMergerAllTracks/eflow
767  set MomentumOutputArray momentum
768}
769
770
771
772##################
773# Scalar HT merger
774##################
775
776module Merger ScalarHT {
777# add InputArray InputArray
778  add InputArray UniqueObjectFinder/jets
779  add InputArray UniqueObjectFinder/electrons
780  add InputArray UniqueObjectFinder/photons
781  add InputArray UniqueObjectFinder/muons
782  set EnergyOutputArray energy
783}
784
785########################
786# Jet Flavor Association
787########################
788
789module JetFlavorAssociation JetFlavorAssociation {
790
791  set PartonInputArray Delphes/partons
792  set ParticleInputArray Delphes/allParticles
793  set ParticleLHEFInputArray Delphes/allParticlesLHEF
794  set JetInputArray JetEnergyScale/jets
795
796  set DeltaR 0.4
797  set PartonPTMin 1.0
798  set PartonEtaMax 2.5
799
800}
801
802###########
803# b-tagging
804###########
805
806module BTagging BTagging {
807  set JetInputArray JetEnergyScale/jets
808
809  set BitNumber 0
810
811  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
812  # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
813  # gluon's PDG code has the lowest priority
814  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) +
815                              (pt >= 130.0) * (0.055 + 4.53*10^-4*pt - 1.60*10^-7*pt^2) }
816
817  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) +
818                              (pt >= 205.0) * (0.478 + 1.573*10^-4*pt)}
819
820  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) +
821                              (pt >= 150.0) * (0.906 - 6.39*10^-5*pt + 4.11*10^-8*pt^2) }
822
823}
824
825#############
826# tau-tagging
827#############
828
829module TauTagging TauTagging {
830  set ParticleInputArray Delphes/allParticles
831  set PartonInputArray Delphes/partons
832  set JetInputArray JetEnergyScale/jets
833
834  set DeltaR 0.4
835
836  set TauPTMin 1.0
837
838  set TauEtaMax 2.5
839
840  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
841
842  # default efficiency formula (misidentification rate)
843  add EfficiencyFormula {0} {0.01}
844  # efficiency formula for tau-jets
845  add EfficiencyFormula {15} {0.6}
846}
847
848#####################################################
849# Find uniquely identified photons/electrons/tau/jets
850#####################################################
851
852module UniqueObjectFinder UniqueObjectFinder {
853# earlier arrays take precedence over later ones
854# add InputArray InputArray OutputArray
855  add InputArray PhotonIsolation/photons photons
856  add InputArray ElectronIsolation/electrons electrons
857  add InputArray MuonIsolation/muons muons
858  add InputArray JetEnergyScale/jets jets
859}
860
861##################
862# ROOT tree writer
863##################
864
865# tracks, towers and eflow objects are not stored by default in the output.
866# if needed (for jet constituent or other studies), uncomment the relevant
867# "add Branch ..." lines.
868
869module TreeWriter TreeWriter {
870# add Branch InputArray BranchName BranchClass
871  add Branch Delphes/allParticles Particle GenParticle
872
873#  add Branch TrackMerger/tracks Track Track
874#  add Branch Calorimeter/towers Tower Tower
875
876#  add Branch Calorimeter/eflowTracks EFlowTrack Track
877#  add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
878#  add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
879
880  add Branch GenJetFinder/jets GenJet Jet
881  add Branch GenMissingET/momentum GenMissingET MissingET
882
883  add Branch UniqueObjectFinder/jets Jet Jet
884  add Branch UniqueObjectFinder/electrons Electron Electron
885  add Branch UniqueObjectFinder/photons Photon Photon
886  add Branch UniqueObjectFinder/muons Muon Muon
887  add Branch MissingET/momentum MissingET MissingET
888  add Branch ScalarHT/energy ScalarHT ScalarHT
889  add Branch Rho/rho Rho Rho
890  add Branch PileUpMerger/vertices Vertex Vertex
891}