Fork me on GitHub

Ticket #308: delphes_card.tcl

File delphes_card.tcl, 17.9 KB (added by Miha Nemevsek, 10 years ago)
Line 
1#######################################
2# Order of execution of various modules
3#######################################
4
5set ExecutionPath {
6 ParticlePropagator
7
8 ChargedHadronTrackingEfficiency
9 ElectronTrackingEfficiency
10 MuonTrackingEfficiency
11
12 ChargedHadronMomentumSmearing
13 ElectronEnergySmearing
14 MuonMomentumSmearing
15
16 TrackMerger
17 Calorimeter
18 EFlowMerger
19
20 PhotonEfficiency
21 PhotonIsolation
22
23 ElectronEfficiency
24 ElectronIsolation
25
26 MuonEfficiency
27 MuonIsolation
28
29 MissingET
30
31 GenJetFinder
32 FastJetFinder
33
34 JetEnergyScale
35
36 BTagging
37 TauTagging
38
39 UniqueObjectFinder
40
41 ScalarHT
42
43 TreeWriter
44}
45
46#################################
47# Propagate particles in cylinder
48#################################
49
50module ParticlePropagator ParticlePropagator {
51 set InputArray Delphes/stableParticles
52
53 set OutputArray stableParticles
54 set ChargedHadronOutputArray chargedHadrons
55 set ElectronOutputArray electrons
56 set MuonOutputArray muons
57
58 # radius of the magnetic field coverage, in m
59 set Radius 1.15
60 # half-length of the magnetic field coverage, in m
61 set HalfLength 3.51
62
63 # magnetic field
64 set Bz 2.0
65}
66
67####################################
68# Charged hadron tracking efficiency
69####################################
70
71module Efficiency ChargedHadronTrackingEfficiency {
72 set InputArray ParticlePropagator/chargedHadrons
73 set OutputArray chargedHadrons
74
75 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
76
77 # tracking efficiency formula for charged hadrons
78 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
79 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
80 (abs(eta) <= 1.5) * (pt > 1.0) * (0.95) + \
81 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.60) + \
82 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.85) + \
83 (abs(eta) > 2.5) * (0.00)}
84}
85
86##############################
87# Electron tracking efficiency
88##############################
89
90module Efficiency ElectronTrackingEfficiency {
91 set InputArray ParticlePropagator/electrons
92 set OutputArray electrons
93
94 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
95
96 # tracking efficiency formula for electrons
97 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
98 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.73) + \
99 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e2) * (0.95) + \
100 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.99) + \
101 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.50) + \
102 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e2) * (0.83) + \
103 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.90) + \
104 (abs(eta) > 2.5) * (0.00)}
105}
106
107##########################
108# Muon tracking efficiency
109##########################
110
111module Efficiency MuonTrackingEfficiency {
112 set InputArray ParticlePropagator/muons
113 set OutputArray muons
114
115 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
116
117 # tracking efficiency formula for muons
118 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
119 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) + \
120 (abs(eta) <= 1.5) * (pt > 1.0) * (0.99) + \
121 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
122 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.98) + \
123 (abs(eta) > 2.5) * (0.00)}
124}
125
126########################################
127# Momentum resolution for charged tracks
128########################################
129
130module MomentumSmearing ChargedHadronMomentumSmearing {
131 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
132 set OutputArray chargedHadrons
133
134 # set ResolutionFormula {resolution formula as a function of eta and pt}
135
136 # resolution formula for charged hadrons
137 set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.02) + \
138 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e1) * (0.01) + \
139 (abs(eta) <= 1.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.03) + \
140 (abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05) + \
141 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
142 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e1) * (0.02) + \
143 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.04) + \
144 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.05)}
145}
146
147#################################
148# Energy resolution for electrons
149#################################
150
151module EnergySmearing ElectronEnergySmearing {
152 set InputArray ElectronTrackingEfficiency/electrons
153 set OutputArray electrons
154
155 # set ResolutionFormula {resolution formula as a function of eta and energy}
156
157 set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.5e1) * (energy*0.015) + \
158 (abs(eta) <= 2.5) * (energy > 2.5e1) * sqrt(energy^2*0.005^2 + energy*0.05^2 + 0.25^2) + \
159 (abs(eta) > 2.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.005^2 + energy*0.05^2 + 0.25^2) + \
160 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
161
162}
163
164###############################
165# Momentum resolution for muons
166###############################
167
168module MomentumSmearing MuonMomentumSmearing {
169 set InputArray MuonTrackingEfficiency/muons
170 set OutputArray muons
171
172 # set ResolutionFormula {resolution formula as a function of eta and pt}
173
174 # resolution formula for muons
175 set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
176 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 5.0e1) * (0.03) + \
177 (abs(eta) <= 1.5) * (pt > 5.0e1 && pt <= 1.0e2) * (0.04) + \
178 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.07) + \
179 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.04) + \
180 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 5.0e1) * (0.04) + \
181 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 5.0e1 && pt <= 1.0e2) * (0.05) + \
182 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.10)}
183}
184
185##############
186# Track merger
187##############
188
189module Merger TrackMerger {
190# add InputArray InputArray
191 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
192 add InputArray ElectronEnergySmearing/electrons
193 add InputArray MuonMomentumSmearing/muons
194 set OutputArray tracks
195}
196
197#############
198# Calorimeter
199#############
200
201module Calorimeter Calorimeter {
202 set ParticleInputArray ParticlePropagator/stableParticles
203 set TrackInputArray TrackMerger/tracks
204
205 set TowerOutputArray towers
206 set PhotonOutputArray photons
207
208 set EFlowTrackOutputArray eflowTracks
209 set EFlowTowerOutputArray eflowTowers
210
211 set pi [expr {acos(-1)}]
212
213 # lists of the edges of each tower in eta and phi
214 # each list starts with the lower edge of the first tower
215 # the list ends with the higher edged of the last tower
216
217 # 10 degrees towers
218 set PhiBins {}
219 for {set i -18} {$i <= 18} {incr i} {
220 add PhiBins [expr {$i * $pi/18.0}]
221 }
222 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} {
223 add EtaPhiBins $eta $PhiBins
224 }
225
226 # 20 degrees towers
227 set PhiBins {}
228 for {set i -9} {$i <= 9} {incr i} {
229 add PhiBins [expr {$i * $pi/9.0}]
230 }
231 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.5 3.7 3.9 4.1 4.3 4.5 4.7 4.9} {
232 add EtaPhiBins $eta $PhiBins
233 }
234
235 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
236 add EnergyFraction {0} {0.0 1.0}
237 # energy fractions for e, gamma and pi0
238 add EnergyFraction {11} {1.0 0.0}
239 add EnergyFraction {22} {1.0 0.0}
240 add EnergyFraction {111} {1.0 0.0}
241 # energy fractions for muon, neutrinos and neutralinos
242 add EnergyFraction {12} {0.0 0.0}
243 add EnergyFraction {13} {0.0 0.0}
244 add EnergyFraction {14} {0.0 0.0}
245 add EnergyFraction {16} {0.0 0.0}
246 add EnergyFraction {1000022} {0.0 0.0}
247 add EnergyFraction {1000023} {0.0 0.0}
248 add EnergyFraction {1000025} {0.0 0.0}
249 add EnergyFraction {1000035} {0.0 0.0}
250 add EnergyFraction {1000045} {0.0 0.0}
251 # energy fractions for K0short and Lambda
252 add EnergyFraction {310} {0.3 0.7}
253 add EnergyFraction {3122} {0.3 0.7}
254
255 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
256 # http://arxiv.org/pdf/physics/0608012v1 jinst8_08_s08003
257 # http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
258 # http://www.physics.utoronto.ca/~krieger/procs/ComoProceedings.pdf
259 set ECalResolutionFormula { (abs(eta) <= 3.2) * sqrt(energy^2*0.0017^2 + energy*0.101^2) + \
260 (abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.0350^2 + energy*0.285^2)}
261
262 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
263 # http://arxiv.org/pdf/hep-ex/0004009v1
264 # http://villaolmo.mib.infn.it/ICATPP9th_2005/Calorimetry/Schram.p.pdf
265 set HCalResolutionFormula { (abs(eta) <= 1.7) * sqrt(energy^2*0.0302^2 + energy*0.5205^2 + 1.59^2) + \
266 (abs(eta) > 1.7 && abs(eta) <= 3.2) * sqrt(energy^2*0.0500^2 + energy*0.706^2) + \
267 (abs(eta) > 3.2 && abs(eta) <= 4.9) * sqrt(energy^2*0.9420^2 + energy*0.075^2)}
268}
269
270####################
271# Energy flow merger
272####################
273
274module Merger EFlowMerger {
275# add InputArray InputArray
276 add InputArray Calorimeter/eflowTracks
277 add InputArray Calorimeter/eflowTowers
278 set OutputArray eflow
279}
280
281###################
282# Photon efficiency
283###################
284
285module Efficiency PhotonEfficiency {
286 set InputArray Calorimeter/photons
287 set OutputArray photons
288
289 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
290
291 # efficiency formula for photons
292 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
293 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
294 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
295 (abs(eta) > 2.5) * (0.00)}
296}
297
298##################
299# Photon isolation
300##################
301
302module Isolation PhotonIsolation {
303 set CandidateInputArray PhotonEfficiency/photons
304 set IsolationInputArray EFlowMerger/eflow
305
306 set OutputArray photons
307
308 set DeltaRMax 0.5
309
310 set PTMin 0.5
311
312 set PTRatioMax 0.1
313}
314
315#####################
316# Electron efficiency
317#####################
318
319module Efficiency ElectronEfficiency {
320 set InputArray ElectronEnergySmearing/electrons
321 set OutputArray electrons
322
323 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
324
325 # efficiency formula for electrons
326 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
327 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
328 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
329 (abs(eta) > 2.5) * (0.00)}
330}
331
332####################
333# Electron isolation
334####################
335
336module Isolation ElectronIsolation {
337 set CandidateInputArray ElectronEfficiency/electrons
338 set IsolationInputArray EFlowMerger/eflow
339
340 set OutputArray electrons
341
342 set DeltaRMax 0.5
343
344 set PTMin 0.5
345
346 set PTRatioMax 0.1
347}
348
349#################
350# Muon efficiency
351#################
352
353module Efficiency MuonEfficiency {
354 set InputArray MuonMomentumSmearing/muons
355 set OutputArray muons
356
357 # set EfficiencyFormula {efficiency as a function of eta and pt}
358
359 # efficiency formula for muons
360 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
361 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
362 (abs(eta) > 1.5 && abs(eta) <= 2.7) * (pt > 10.0) * (0.85) + \
363 (abs(eta) > 2.7) * (0.00)}
364}
365
366################
367# Muon isolation
368################
369
370module Isolation MuonIsolation {
371 set CandidateInputArray MuonEfficiency/muons
372 set IsolationInputArray EFlowMerger/eflow
373
374 set OutputArray muons
375
376 set DeltaRMax 0.3
377
378 set PTMin 0.5
379
380 set PTRatioMax 0.1
381}
382
383###################
384# Missing ET merger
385###################
386
387module Merger MissingET {
388# add InputArray InputArray
389 add InputArray Calorimeter/eflowTracks
390 add InputArray Calorimeter/eflowTowers
391 set MomentumOutputArray momentum
392}
393
394##################
395# Scalar HT merger
396##################
397
398module Merger ScalarHT {
399# add InputArray InputArray
400 add InputArray UniqueObjectFinder/jets
401 add InputArray UniqueObjectFinder/electrons
402 add InputArray UniqueObjectFinder/photons
403 add InputArray UniqueObjectFinder/muons
404 set EnergyOutputArray energy
405}
406
407#####################
408# MC truth jet finder
409#####################
410
411module FastJetFinder GenJetFinder {
412 set InputArray Delphes/stableParticles
413
414 set OutputArray jets
415
416 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
417 set JetAlgorithm 6
418 set ParameterR 0.4
419
420 set JetPTMin 20.0
421}
422
423############
424# Jet finder
425############
426
427module FastJetFinder FastJetFinder {
428 set InputArray Calorimeter/towers
429
430 set OutputArray jets
431
432 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
433 set JetAlgorithm 6
434 set ParameterR 0.4
435
436 set JetPTMin 20.0
437}
438
439##################
440# Jet Energy Scale
441##################
442
443module EnergyScale JetEnergyScale {
444 set InputArray FastJetFinder/jets
445 set OutputArray jets
446
447 # scale formula for jets
448 set ScaleFormula {1.08}
449}
450
451###########
452# b-tagging
453###########
454
455module BTagging BTagging {
456 set PartonInputArray Delphes/partons
457 set JetInputArray JetEnergyScale/jets
458
459 set BitNumber 0
460
461 set DeltaR 0.5
462
463 set PartonPTMin 1.0
464
465 set PartonEtaMax 2.5
466
467 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
468 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
469 # gluon's PDG code has the lowest priority
470
471 # default efficiency formula (misidentification rate)
472 add EfficiencyFormula {0} {0.001}
473
474 # efficiency formula for c-jets (misidentification rate)
475 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) + \
476 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) + \
477 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) + \
478 (abs(eta) > 2.5) * (0.000)}
479
480 # efficiency formula for b-jets
481 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) + \
482 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) + \
483 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) + \
484 (abs(eta) > 2.5) * (0.000)}
485}
486
487module TauTagging TauTagging {
488 set ParticleInputArray Delphes/allParticles
489 set PartonInputArray Delphes/partons
490 set JetInputArray JetEnergyScale/jets
491
492 set DeltaR 0.5
493
494 set TauPTMin 1.0
495
496 set TauEtaMax 2.5
497
498 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
499
500 # default efficiency formula (misidentification rate)
501 add EfficiencyFormula {0} {0.001}
502 # efficiency formula for tau-jets
503 add EfficiencyFormula {15} {0.4}
504}
505
506#####################################################
507# Find uniquely identified photons/electrons/tau/jets
508#####################################################
509
510module UniqueObjectFinder UniqueObjectFinder {
511# earlier arrays take precedence over later ones
512# add InputArray InputArray OutputArray
513 add InputArray PhotonIsolation/photons photons
514 add InputArray ElectronIsolation/electrons electrons
515 add InputArray MuonIsolation/muons muons
516 add InputArray JetEnergyScale/jets jets
517}
518
519##################
520# ROOT tree writer
521##################
522
523module TreeWriter TreeWriter {
524# add Branch InputArray BranchName BranchClass
525 add Branch Delphes/allParticles Particle GenParticle
526 add Branch TrackMerger/tracks Track Track
527 add Branch Calorimeter/towers Tower Tower
528# add Branch Calorimeter/eflowTracks EFlowTrack Track
529# add Branch Calorimeter/eflowTowers EFlowTower Tower
530 add Branch GenJetFinder/jets GenJet Jet
531 add Branch UniqueObjectFinder/jets Jet Jet
532 add Branch UniqueObjectFinder/electrons Electron Electron
533 add Branch UniqueObjectFinder/photons Photon Photon
534 add Branch UniqueObjectFinder/muons Muon Muon
535 add Branch MissingET/momentum MissingET MissingET
536 add Branch ScalarHT/energy ScalarHT ScalarHT
537}
538