Fork me on GitHub

source: git/cards/delphes_card_CMS.tcl@ 20dc57b

Last change on this file since 20dc57b was a2983ec, checked in by Pavel Demin <pavel.demin@…>, 10 years ago

add parameter SmearTowerCenter to all cards

  • Property mode set to 100644
File size: 19.4 KB
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 NeutrinoFilter
32 GenJetFinder
33 FastJetFinder
34
35 JetEnergyScale
36
37 BTagging
38 TauTagging
39
40 UniqueObjectFinder
41
42 ScalarHT
43
44 TreeWriter
45}
46
47#################################
48# Propagate particles in cylinder
49#################################
50
51module ParticlePropagator ParticlePropagator {
52 set InputArray Delphes/stableParticles
53
54 set OutputArray stableParticles
55 set ChargedHadronOutputArray chargedHadrons
56 set ElectronOutputArray electrons
57 set MuonOutputArray muons
58
59 # radius of the magnetic field coverage, in m
60 set Radius 1.29
61 # half-length of the magnetic field coverage, in m
62 set HalfLength 3.00
63
64 # magnetic field
65 set Bz 3.8
66}
67
68####################################
69# Charged hadron tracking efficiency
70####################################
71
72module Efficiency ChargedHadronTrackingEfficiency {
73 set InputArray ParticlePropagator/chargedHadrons
74 set OutputArray chargedHadrons
75
76 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
77
78 # tracking efficiency formula for charged hadrons
79 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
80 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.70) +
81 (abs(eta) <= 1.5) * (pt > 1.0) * (0.95) +
82 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.60) +
83 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.85) +
84 (abs(eta) > 2.5) * (0.00)}
85}
86
87##############################
88# Electron tracking efficiency
89##############################
90
91module Efficiency ElectronTrackingEfficiency {
92 set InputArray ParticlePropagator/electrons
93 set OutputArray electrons
94
95 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
96
97 # tracking efficiency formula for electrons
98 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
99 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.73) +
100 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e2) * (0.95) +
101 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.99) +
102 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.50) +
103 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e2) * (0.83) +
104 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.90) +
105 (abs(eta) > 2.5) * (0.00)}
106}
107
108##########################
109# Muon tracking efficiency
110##########################
111
112module Efficiency MuonTrackingEfficiency {
113 set InputArray ParticlePropagator/muons
114 set OutputArray muons
115
116 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
117
118 # tracking efficiency formula for muons
119 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
120 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) +
121 (abs(eta) <= 1.5) * (pt > 1.0) * (0.99) +
122 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.70) +
123 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.98) +
124 (abs(eta) > 2.5) * (0.00)}
125}
126
127########################################
128# Momentum resolution for charged tracks
129########################################
130
131module MomentumSmearing ChargedHadronMomentumSmearing {
132 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
133 set OutputArray chargedHadrons
134
135 # set ResolutionFormula {resolution formula as a function of eta and pt}
136
137 # resolution formula for charged hadrons
138 set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.02) +
139 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e1) * (0.01) +
140 (abs(eta) <= 1.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.03) +
141 (abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05) +
142 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.03) +
143 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e1) * (0.02) +
144 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.04) +
145 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.05)}
146}
147
148#################################
149# Energy resolution for electrons
150#################################
151
152module EnergySmearing ElectronEnergySmearing {
153 set InputArray ElectronTrackingEfficiency/electrons
154 set OutputArray electrons
155
156 # set ResolutionFormula {resolution formula as a function of eta and energy}
157
158 # resolution formula for electrons
159 set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.0e1) * (energy*0.0225) +
160 (abs(eta) <= 2.5) * (energy > 2.0e1) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) +
161 (abs(eta) > 2.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) +
162 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
163
164}
165
166###############################
167# Momentum resolution for muons
168###############################
169
170module MomentumSmearing MuonMomentumSmearing {
171 set InputArray MuonTrackingEfficiency/muons
172 set OutputArray muons
173
174 # set ResolutionFormula {resolution formula as a function of eta and pt}
175
176 # resolution formula for muons
177 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1 && pt <= 5.0) * (0.02) +
178 (abs(eta) <= 0.5) * (pt > 5.0 && pt <= 1.0e2) * (0.015) +
179 (abs(eta) <= 0.5) * (pt > 1.0e2 && pt <= 2.0e2) * (0.03) +
180 (abs(eta) <= 0.5) * (pt > 2.0e2) * (0.05 + pt*1.e-4) +
181 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1 && pt <= 5.0) * (0.03) +
182 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 5.0 && pt <= 1.0e2) * (0.02) +
183 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 1.0e2 && pt <= 2.0e2) * (0.04) +
184 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05 + pt*1.e-4) +
185 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 5.0) * (0.04) +
186 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 5.0 && pt <= 1.0e2) * (0.035) +
187 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2 && pt <= 2.0e2) * (0.05) +
188 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.05 + pt*1.e-4)}
189}
190
191##############
192# Track merger
193##############
194
195module Merger TrackMerger {
196# add InputArray InputArray
197 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
198 add InputArray ElectronEnergySmearing/electrons
199 add InputArray MuonMomentumSmearing/muons
200 set OutputArray tracks
201}
202
203#############
204# Calorimeter
205#############
206
207module Calorimeter Calorimeter {
208 set ParticleInputArray ParticlePropagator/stableParticles
209 set TrackInputArray TrackMerger/tracks
210
211 set TowerOutputArray towers
212 set PhotonOutputArray photons
213
214 set EFlowTrackOutputArray eflowTracks
215 set EFlowPhotonOutputArray eflowPhotons
216 set EFlowNeutralHadronOutputArray eflowNeutralHadrons
217
218 set ECalEnergyMin 0.5
219 set HCalEnergyMin 1.0
220
221 set ECalEnergySignificanceMin 1.0
222 set HCalEnergySignificanceMin 1.0
223
224 set SmearTowerCenter true
225
226 set pi [expr {acos(-1)}]
227
228 # lists of the edges of each tower in eta and phi
229 # each list starts with the lower edge of the first tower
230 # the list ends with the higher edged of the last tower
231
232 # 5 degrees towers
233 set PhiBins {}
234 for {set i -36} {$i <= 36} {incr i} {
235 add PhiBins [expr {$i * $pi/36.0}]
236 }
237 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} {
238 add EtaPhiBins $eta $PhiBins
239 }
240
241 # 10 degrees towers
242 set PhiBins {}
243 for {set i -18} {$i <= 18} {incr i} {
244 add PhiBins [expr {$i * $pi/18.0}]
245 }
246 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} {
247 add EtaPhiBins $eta $PhiBins
248 }
249
250 # 20 degrees towers
251 set PhiBins {}
252 for {set i -9} {$i <= 9} {incr i} {
253 add PhiBins [expr {$i * $pi/9.0}]
254 }
255 foreach eta {-5 -4.7 -4.525 4.7 5} {
256 add EtaPhiBins $eta $PhiBins
257 }
258
259 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
260 add EnergyFraction {0} {0.0 1.0}
261 # energy fractions for e, gamma and pi0
262 add EnergyFraction {11} {1.0 0.0}
263 add EnergyFraction {22} {1.0 0.0}
264 add EnergyFraction {111} {1.0 0.0}
265 # energy fractions for muon, neutrinos and neutralinos
266 add EnergyFraction {12} {0.0 0.0}
267 add EnergyFraction {13} {0.0 0.0}
268 add EnergyFraction {14} {0.0 0.0}
269 add EnergyFraction {16} {0.0 0.0}
270 add EnergyFraction {1000022} {0.0 0.0}
271 add EnergyFraction {1000023} {0.0 0.0}
272 add EnergyFraction {1000025} {0.0 0.0}
273 add EnergyFraction {1000035} {0.0 0.0}
274 add EnergyFraction {1000045} {0.0 0.0}
275 # energy fractions for K0short and Lambda
276 add EnergyFraction {310} {0.3 0.7}
277 add EnergyFraction {3122} {0.3 0.7}
278
279 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
280 set ECalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) +
281 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
282
283 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
284 set HCalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
285 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
286}
287
288####################
289# Energy flow merger
290####################
291
292module Merger EFlowMerger {
293# add InputArray InputArray
294 add InputArray Calorimeter/eflowTracks
295 add InputArray Calorimeter/eflowPhotons
296 add InputArray Calorimeter/eflowNeutralHadrons
297 set OutputArray eflow
298}
299
300###################
301# Photon efficiency
302###################
303
304module Efficiency PhotonEfficiency {
305 set InputArray Calorimeter/eflowPhotons
306 set OutputArray photons
307
308 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
309
310 # efficiency formula for photons
311 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
312 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) +
313 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) +
314 (abs(eta) > 2.5) * (0.00)}
315}
316
317##################
318# Photon isolation
319##################
320
321module Isolation PhotonIsolation {
322 set CandidateInputArray PhotonEfficiency/photons
323 set IsolationInputArray EFlowMerger/eflow
324
325 set OutputArray photons
326
327 set DeltaRMax 0.5
328
329 set PTMin 0.5
330
331 set PTRatioMax 0.1
332}
333
334#####################
335# Electron efficiency
336#####################
337
338module Efficiency ElectronEfficiency {
339 set InputArray ElectronEnergySmearing/electrons
340 set OutputArray electrons
341
342 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
343
344 # efficiency formula for electrons
345 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
346 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) +
347 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) +
348 (abs(eta) > 2.5) * (0.00)}
349}
350
351####################
352# Electron isolation
353####################
354
355module Isolation ElectronIsolation {
356 set CandidateInputArray ElectronEfficiency/electrons
357 set IsolationInputArray EFlowMerger/eflow
358
359 set OutputArray electrons
360
361 set DeltaRMax 0.5
362
363 set PTMin 0.5
364
365 set PTRatioMax 0.1
366}
367
368#################
369# Muon efficiency
370#################
371
372module Efficiency MuonEfficiency {
373 set InputArray MuonMomentumSmearing/muons
374 set OutputArray muons
375
376 # set EfficiencyFormula {efficiency as a function of eta and pt}
377
378 # efficiency formula for muons
379 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
380 (abs(eta) <= 1.5) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
381 (abs(eta) <= 1.5) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) +
382 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
383 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) +
384 (abs(eta) > 2.4) * (0.00)}
385}
386
387################
388# Muon isolation
389################
390
391module Isolation MuonIsolation {
392 set CandidateInputArray MuonEfficiency/muons
393 set IsolationInputArray EFlowMerger/eflow
394
395 set OutputArray muons
396
397 set DeltaRMax 0.5
398
399 set PTMin 0.5
400
401 set PTRatioMax 0.1
402}
403
404###################
405# Missing ET merger
406###################
407
408module Merger MissingET {
409# add InputArray InputArray
410 add InputArray EFlowMerger/eflow
411 set MomentumOutputArray momentum
412}
413
414##################
415# Scalar HT merger
416##################
417
418module Merger ScalarHT {
419# add InputArray InputArray
420 add InputArray UniqueObjectFinder/jets
421 add InputArray UniqueObjectFinder/electrons
422 add InputArray UniqueObjectFinder/photons
423 add InputArray UniqueObjectFinder/muons
424 set EnergyOutputArray energy
425}
426
427
428#####################
429# Neutrino Filter
430#####################
431
432module PdgCodeFilter NeutrinoFilter {
433
434 set InputArray Delphes/stableParticles
435 set OutputArray filteredParticles
436
437 set PTMin 0.0
438
439 add PdgCode {12}
440 add PdgCode {14}
441 add PdgCode {16}
442 add PdgCode {-12}
443 add PdgCode {-14}
444 add PdgCode {-16}
445
446}
447
448
449#####################
450# MC truth jet finder
451#####################
452
453module FastJetFinder GenJetFinder {
454 set InputArray NeutrinoFilter/filteredParticles
455
456 set OutputArray jets
457
458 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
459 set JetAlgorithm 6
460 set ParameterR 0.5
461
462 set JetPTMin 20.0
463}
464
465
466
467
468############
469# Jet finder
470############
471
472module FastJetFinder FastJetFinder {
473# set InputArray Calorimeter/towers
474 set InputArray EFlowMerger/eflow
475
476 set OutputArray jets
477
478 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
479 set JetAlgorithm 6
480 set ParameterR 0.5
481
482 set JetPTMin 20.0
483}
484
485##################
486# Jet Energy Scale
487##################
488
489module EnergyScale JetEnergyScale {
490 set InputArray FastJetFinder/jets
491 set OutputArray jets
492
493 # scale formula for jets
494 set ScaleFormula {sqrt( (2.5 - 0.15*(abs(eta)))^2 / pt + 1.0 )}
495}
496
497###########
498# b-tagging
499###########
500
501module BTagging BTagging {
502 set PartonInputArray Delphes/partons
503 set JetInputArray JetEnergyScale/jets
504
505 set BitNumber 0
506
507 set DeltaR 0.5
508
509 set PartonPTMin 1.0
510
511 set PartonEtaMax 2.5
512
513 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
514 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
515 # gluon's PDG code has the lowest priority
516
517 # https://twiki.cern.ch/twiki/bin/view/CMSPublic/PhysicsResultsBTV
518 # default efficiency formula (misidentification rate)
519 add EfficiencyFormula {0} {0.001}
520
521 # efficiency formula for c-jets (misidentification rate)
522 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) +
523 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) +
524 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) +
525 (abs(eta) > 2.5) * (0.000)}
526
527 # efficiency formula for b-jets
528 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) +
529 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) +
530 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) +
531 (abs(eta) > 2.5) * (0.000)}
532}
533
534module TauTagging TauTagging {
535 set ParticleInputArray Delphes/allParticles
536 set PartonInputArray Delphes/partons
537 set JetInputArray JetEnergyScale/jets
538
539 set DeltaR 0.5
540
541 set TauPTMin 1.0
542
543 set TauEtaMax 2.5
544
545 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
546
547 # default efficiency formula (misidentification rate)
548 add EfficiencyFormula {0} {0.001}
549 # efficiency formula for tau-jets
550 add EfficiencyFormula {15} {0.4}
551}
552
553#####################################################
554# Find uniquely identified photons/electrons/tau/jets
555#####################################################
556
557module UniqueObjectFinder UniqueObjectFinder {
558# earlier arrays take precedence over later ones
559# add InputArray InputArray OutputArray
560 add InputArray PhotonIsolation/photons photons
561 add InputArray ElectronIsolation/electrons electrons
562 add InputArray MuonIsolation/muons muons
563 add InputArray JetEnergyScale/jets jets
564}
565
566##################
567# ROOT tree writer
568##################
569
570# tracks, towers and eflow objects are not stored by default in the output.
571# if needed (for jet constituent or other studies), uncomment the relevant
572# "add Branch ..." lines.
573
574module TreeWriter TreeWriter {
575# add Branch InputArray BranchName BranchClass
576 add Branch Delphes/allParticles Particle GenParticle
577
578 add Branch TrackMerger/tracks Track Track
579 add Branch Calorimeter/towers Tower Tower
580
581 add Branch Calorimeter/eflowTracks EFlowTrack Track
582 add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
583 add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
584
585 add Branch GenJetFinder/jets GenJet Jet
586 add Branch UniqueObjectFinder/jets Jet Jet
587 add Branch UniqueObjectFinder/electrons Electron Electron
588 add Branch UniqueObjectFinder/photons Photon Photon
589 add Branch UniqueObjectFinder/muons Muon Muon
590 add Branch MissingET/momentum MissingET MissingET
591 add Branch ScalarHT/energy ScalarHT ScalarHT
592}
Note: See TracBrowser for help on using the repository browser.