1
#######################################
2
# Order of execution of various modules
3
#######################################
8
ChargedHadronTrackingEfficiency
9
ElectronTrackingEfficiency
10
MuonTrackingEfficiency
12
ChargedHadronMomentumSmearing
13
ElectronEnergySmearing
42
#################################
43
# Propagate particles in cylinder
44
#################################
46
module ParticlePropagator ParticlePropagator {
47
set InputArray Delphes/stableParticles
49
set OutputArray stableParticles
50
set ChargedHadronOutputArray chargedHadrons
51
set ElectronOutputArray electrons
52
set MuonOutputArray muons
54
# radius of the magnetic field coverage, in m
56
# half-length of the magnetic field coverage, in m
63
####################################
64
# Charged hadron tracking efficiency
65
####################################
67
module Efficiency ChargedHadronTrackingEfficiency {
68
set InputArray ParticlePropagator/chargedHadrons
69
set OutputArray chargedHadrons
71
# add EfficiencyFormula {efficiency formula as a function of eta and pt}
73
# tracking efficiency formula for charged hadrons
74
set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
75
(abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
76
(abs(eta) <= 1.5) * (pt > 1.0) * (0.95) + \
77
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.60) + \
78
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.85) + \
79
(abs(eta) > 2.5) * (0.00)}
82
##############################
83
# Electron tracking efficiency
84
##############################
86
module Efficiency ElectronTrackingEfficiency {
87
set InputArray ParticlePropagator/electrons
88
set OutputArray electrons
90
# set EfficiencyFormula {efficiency formula as a function of eta and pt}
92
# tracking efficiency formula for electrons
93
set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
94
(abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.73) + \
95
(abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e2) * (0.95) + \
96
(abs(eta) <= 1.5) * (pt > 1.0e2) * (0.99) + \
97
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.50) + \
98
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e2) * (0.83) + \
99
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.90) + \
100
(abs(eta) > 2.5) * (0.00)}
103
##############################
104
# Muon tracking efficiency
105
##############################
107
module Efficiency MuonTrackingEfficiency {
108
set InputArray ParticlePropagator/muons
109
set OutputArray muons
111
# set EfficiencyFormula {efficiency formula as a function of eta and pt}
113
# tracking efficiency formula for muons
114
set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
115
(abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) + \
116
(abs(eta) <= 1.5) * (pt > 1.0) * (0.99) + \
117
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
118
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.98) + \
119
(abs(eta) > 2.5) * (0.00)}
122
########################################
123
# Momentum resolution for charged tracks
124
########################################
126
module MomentumSmearing ChargedHadronMomentumSmearing {
127
set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
128
set OutputArray chargedHadrons
130
# set ResolutionFormula {resolution formula as a function of eta and pt}
132
# resolution formula for charged hadrons
133
set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.02) + \
134
(abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e1) * (0.01) + \
135
(abs(eta) <= 1.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.03) + \
136
(abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05) + \
137
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
138
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e1) * (0.02) + \
139
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.04) + \
140
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.05)}
143
#################################
144
# Energy resolution for electrons
145
#################################
147
module EnergySmearing ElectronEnergySmearing {
148
set InputArray ElectronTrackingEfficiency/electrons
149
set OutputArray electrons
151
# set ResolutionFormula {resolution formula as a function of eta and energy}
153
set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.5e1) * (energy*0.015) + \
154
(abs(eta) <= 2.5) * (energy > 2.5e1) * sqrt(energy^2*0.005^2 + energy*0.05^2 + 0.25^2) + \
155
(abs(eta) > 2.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.005^2 + energy*0.05^2 + 0.25^2) + \
156
(abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
160
###############################
161
# Momentum resolution for muons
162
###############################
164
module MomentumSmearing MuonMomentumSmearing {
165
set InputArray MuonTrackingEfficiency/muons
166
set OutputArray muons
168
# set ResolutionFormula {resolution formula as a function of eta and pt}
170
# resolution formula for muons
171
set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
172
(abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e1) * (0.02) + \
173
(abs(eta) <= 1.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.03) + \
174
(abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05) + \
175
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.04) + \
176
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e1) * (0.03) + \
177
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.04) + \
178
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.05)}
185
module Merger TrackMerger {
186
# add InputArray InputArray
187
add InputArray ChargedHadronMomentumSmearing/chargedHadrons
188
add InputArray ElectronEnergySmearing/electrons
189
set OutputArray tracks
196
module Calorimeter Calorimeter {
197
set ParticleInputArray ParticlePropagator/stableParticles
198
set TrackInputArray TrackMerger/tracks
200
set TowerOutputArray towers
201
set PhotonOutputArray photons
203
set EFlowTrackOutputArray eflowTracks
204
set EFlowTowerOutputArray eflowTowers
206
set pi [expr {acos(-1)}]
208
# lists of the edges of each tower in eta and phi
209
# each list starts with the lower edge of the first tower
210
# the list ends with the higher edged of the last tower
214
for {set i -18} {$i <= 18} {incr i} {
215
add PhiBins [expr {$i * $pi/18.0}]
217
foreach eta {-3.2 -2.5 -2.4 -2.3 -2.2 -2.1 -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 3.3} {
218
add EtaPhiBins $eta $PhiBins
223
for {set i -9} {$i <= 9} {incr i} {
224
add PhiBins [expr {$i * $pi/9.0}]
226
foreach eta {-4.9 -4.7 -4.5 -4.3 -4.1 -3.9 -3.7 -3.5 -3.3 -3 -2.8 -2.6 2.8 3 3.2 3.3 3.5 3.7 3.9 4.1 4.3 4.5 4.7 4.9} {
227
add EtaPhiBins $eta $PhiBins
230
# default energy fractions {abs(PDG code)} {Fecal Fhcal}
231
add EnergyFraction {0} {0.0 1.0}
232
# energy fractions for e, gamma and pi0
233
add EnergyFraction {11} {1.0 0.0}
234
add EnergyFraction {22} {1.0 0.0}
235
add EnergyFraction {111} {1.0 0.0}
236
# energy fractions for muon and neutrinos
237
add EnergyFraction {12} {0.0 0.0}
238
add EnergyFraction {13} {0.0 0.0}
239
add EnergyFraction {14} {0.0 0.0}
240
add EnergyFraction {16} {0.0 0.0}
241
# energy fractions for K0short and Lambda
242
add EnergyFraction {310} {0.3 0.7}
243
add EnergyFraction {3122} {0.3 0.7}
245
# set ECalResolutionFormula {resolution formula as a function of eta and energy}
246
# http://arxiv.org/pdf/physics/0608012v1 jinst8_08_s08003
247
# http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
248
set ECalResolutionFormula { (abs(eta) <= 3.2) * sqrt(energy^2*0.0017^2 + energy*0.101^2) + \
249
(abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.0350^2 + energy*2.085^2)}
251
# set HCalResolutionFormula {resolution formula as a function of eta and energy}
252
# http://arxiv.org/pdf/hep-ex/0004009v1
253
# http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
254
set HCalResolutionFormula { (abs(eta) <= 1.7) * sqrt(energy^2*0.0302^2 + energy*0.5205^2 + 1.59^2) + \
255
(abs(eta) > 1.7 && abs(eta) <= 3.2) * sqrt(energy^2*0.0500^2 + energy*0.706^2) + \
256
(abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.9420^2 + energy*0.075^2)}
263
module Merger EFlowMerger {
264
# add InputArray InputArray
265
add InputArray Calorimeter/eflowTracks
266
add InputArray Calorimeter/eflowTowers
267
add InputArray MuonMomentumSmearing/muons
268
set OutputArray eflow
275
module Efficiency PhotonEfficiency {
276
set InputArray Calorimeter/photons
277
set OutputArray photons
279
# set EfficiencyFormula {efficiency formula as a function of eta and pt}
281
# efficiency formula for photons
282
set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
283
(abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
284
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
285
(abs(eta) > 2.5) * (0.00)}
292
module Isolation PhotonIsolation {
293
set CandidateInputArray PhotonEfficiency/photons
294
set IsolationInputArray EFlowMerger/eflow
296
set OutputArray photons
305
#####################
306
# Electron efficiency
307
#####################
309
module Efficiency ElectronEfficiency {
310
set InputArray ElectronEnergySmearing/electrons
311
set OutputArray electrons
313
# set EfficiencyFormula {efficiency formula as a function of eta and pt}
315
# efficiency formula for electrons
316
set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
317
(abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
318
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
319
(abs(eta) > 2.5) * (0.00)}
326
module Isolation ElectronIsolation {
327
set CandidateInputArray ElectronEfficiency/electrons
328
set IsolationInputArray EFlowMerger/eflow
330
set OutputArray electrons
343
module Efficiency MuonEfficiency {
344
set InputArray MuonMomentumSmearing/muons
345
set OutputArray muons
347
# set EfficiencyFormula {efficiency as a function of eta and pt}
349
# efficiency formula for muons
350
set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
351
(abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
352
(abs(eta) > 1.5 && abs(eta) <= 2.7) * (pt > 10.0) * (0.85) + \
353
(abs(eta) > 2.7) * (0.00)}
360
module Isolation MuonIsolation {
361
set CandidateInputArray MuonEfficiency/muons
362
set IsolationInputArray EFlowMerger/eflow
364
set OutputArray muons
377
module Merger MissingET {
378
# add InputArray InputArray
379
add InputArray EFlowMerger/eflow
380
set MomentumOutputArray momentum
387
module Merger ScalarHT {
388
# add InputArray InputArray
389
add InputArray UniqueObjectFinder/jets
390
add InputArray UniqueObjectFinder/electrons
391
add InputArray UniqueObjectFinder/photons
392
add InputArray MuonIsolation/muons
393
set EnergyOutputArray energy
400
module FastJetFinder FastJetFinder {
401
# set InputArray Calorimeter/towers
402
set InputArray EFlowMerger/eflow
406
# algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
411
set SeedThreshold 1.0
412
set ConeAreaFraction 1.0
414
set OverlapThreshold 0.75
416
set MaxIterations 100
427
module BTagging BTagging {
428
set PartonInputArray Delphes/partons
429
set JetInputArray FastJetFinder/jets
437
# add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
438
# PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
439
# gluon's PDG code has the lowest priority
441
# default efficiency formula (misidentification rate)
442
add EfficiencyFormula {0} {0.001}
443
# efficiency formula for c-jets (misidentification rate)
444
add EfficiencyFormula {4} {0.1}
445
# efficiency formula for b-jets
446
add EfficiencyFormula {5} {0.4}
449
module TauTagging TauTagging {
450
set ParticleInputArray Delphes/allParticles
451
set PartonInputArray Delphes/partons
452
set JetInputArray FastJetFinder/jets
460
# add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
462
# default efficiency formula (misidentification rate)
463
add EfficiencyFormula {0} {0.001}
464
# efficiency formula for tau-jets
465
add EfficiencyFormula {15} {0.4}
468
#####################################################
469
# Find uniquely identified photons/electrons/tau/jets
470
#####################################################
472
module UniqueObjectFinder UniqueObjectFinder {
473
# earlier arrays take precedence over later ones
474
# add InputArray InputArray OutputArray
475
add InputArray PhotonIsolation/photons photons
476
add InputArray ElectronIsolation/electrons electrons
477
add InputArray FastJetFinder/jets jets
484
module TreeWriter TreeWriter {
485
# add Branch InputArray BranchName BranchClass
486
add Branch Delphes/allParticles Particle GenParticle
487
add Branch TrackMerger/tracks Track Track
488
add Branch Calorimeter/towers Tower Tower
489
add Branch Calorimeter/eflowTracks EFlowTrack Track
490
add Branch Calorimeter/eflowTowers EFlowTower Tower
491
add Branch MuonMomentumSmearing/muons EFlowMuon Muon
492
add Branch UniqueObjectFinder/jets Jet Jet
493
add Branch UniqueObjectFinder/electrons Electron Electron
494
add Branch UniqueObjectFinder/photons Photon Photon
495
add Branch MuonIsolation/muons Muon Muon
496
add Branch MissingET/momentum MissingET MissingET
497
add Branch ScalarHT/energy ScalarHT ScalarHT