Fork me on GitHub

source: svn/trunk/examples/delphes_card_CMS.tcl@ 1329

Last change on this file since 1329 was 1320, checked in by Pavel Demin, 11 years ago

fix efficiency and resolution for high-pT muons

File size: 18.7 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 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.29
60 # half-length of the magnetic field coverage, in m
61 set HalfLength 3.00
62
63 # magnetic field
64 set Bz 3.8
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 # resolution formula for electrons
158 set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.0e1) * (energy*0.0225) + \
159 (abs(eta) <= 2.5) * (energy > 2.0e1) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) + \
160 (abs(eta) > 2.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) + \
161 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
162
163}
164
165###############################
166# Momentum resolution for muons
167###############################
168
169module MomentumSmearing MuonMomentumSmearing {
170 set InputArray MuonTrackingEfficiency/muons
171 set OutputArray muons
172
173 # set ResolutionFormula {resolution formula as a function of eta and pt}
174
175 # resolution formula for muons
176 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1 && pt <= 5.0) * (0.02) + \
177 (abs(eta) <= 0.5) * (pt > 5.0 && pt <= 1.0e2) * (0.015) + \
178 (abs(eta) <= 0.5) * (pt > 1.0e2 && pt <= 2.0e2) * (0.03) + \
179 (abs(eta) <= 0.5) * (pt > 2.0e2) * (0.05 + pt*1.e-4) + \
180 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1 && pt <= 5.0) * (0.03) + \
181 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 5.0 && pt <= 1.0e2) * (0.02) + \
182 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 1.0e2 && pt <= 2.0e2) * (0.04) + \
183 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05 + pt*1.e-4) + \
184 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 5.0) * (0.04) + \
185 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 5.0 && pt <= 1.0e2) * (0.035) + \
186 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2 && pt <= 2.0e2) * (0.05) + \
187 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.05 + pt*1.e-4)}
188}
189
190##############
191# Track merger
192##############
193
194module Merger TrackMerger {
195# add InputArray InputArray
196 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
197 add InputArray ElectronEnergySmearing/electrons
198 add InputArray MuonMomentumSmearing/muons
199 set OutputArray tracks
200}
201
202#############
203# Calorimeter
204#############
205
206module Calorimeter Calorimeter {
207 set ParticleInputArray ParticlePropagator/stableParticles
208 set TrackInputArray TrackMerger/tracks
209
210 set TowerOutputArray towers
211 set PhotonOutputArray photons
212
213 set EFlowTrackOutputArray eflowTracks
214 set EFlowTowerOutputArray eflowTowers
215
216 set pi [expr {acos(-1)}]
217
218 # lists of the edges of each tower in eta and phi
219 # each list starts with the lower edge of the first tower
220 # the list ends with the higher edged of the last tower
221
222 # 5 degrees towers
223 set PhiBins {}
224 for {set i -36} {$i <= 36} {incr i} {
225 add PhiBins [expr {$i * $pi/36.0}]
226 }
227 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} {
228 add EtaPhiBins $eta $PhiBins
229 }
230
231 # 10 degrees towers
232 set PhiBins {}
233 for {set i -18} {$i <= 18} {incr i} {
234 add PhiBins [expr {$i * $pi/18.0}]
235 }
236 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} {
237 add EtaPhiBins $eta $PhiBins
238 }
239
240 # 20 degrees towers
241 set PhiBins {}
242 for {set i -9} {$i <= 9} {incr i} {
243 add PhiBins [expr {$i * $pi/9.0}]
244 }
245 foreach eta {-5 -4.7 -4.525 4.7 5} {
246 add EtaPhiBins $eta $PhiBins
247 }
248
249 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
250 add EnergyFraction {0} {0.0 1.0}
251 # energy fractions for e, gamma and pi0
252 add EnergyFraction {11} {1.0 0.0}
253 add EnergyFraction {22} {1.0 0.0}
254 add EnergyFraction {111} {1.0 0.0}
255 # energy fractions for muon, neutrinos and neutralinos
256 add EnergyFraction {12} {0.0 0.0}
257 add EnergyFraction {13} {0.0 0.0}
258 add EnergyFraction {14} {0.0 0.0}
259 add EnergyFraction {16} {0.0 0.0}
260 add EnergyFraction {1000022} {0.0 0.0}
261 add EnergyFraction {1000023} {0.0 0.0}
262 add EnergyFraction {1000025} {0.0 0.0}
263 add EnergyFraction {1000035} {0.0 0.0}
264 add EnergyFraction {1000045} {0.0 0.0}
265 # energy fractions for K0short and Lambda
266 add EnergyFraction {310} {0.3 0.7}
267 add EnergyFraction {3122} {0.3 0.7}
268
269 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
270 set ECalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) + \
271 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
272
273 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
274 set HCalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) + \
275 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
276}
277
278####################
279# Energy flow merger
280####################
281
282module Merger EFlowMerger {
283# add InputArray InputArray
284 add InputArray Calorimeter/eflowTracks
285 add InputArray Calorimeter/eflowTowers
286 set OutputArray eflow
287}
288
289###################
290# Photon efficiency
291###################
292
293module Efficiency PhotonEfficiency {
294 set InputArray Calorimeter/photons
295 set OutputArray photons
296
297 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
298
299 # efficiency formula for photons
300 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
301 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
302 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
303 (abs(eta) > 2.5) * (0.00)}
304}
305
306##################
307# Photon isolation
308##################
309
310module Isolation PhotonIsolation {
311 set CandidateInputArray PhotonEfficiency/photons
312 set IsolationInputArray EFlowMerger/eflow
313
314 set OutputArray photons
315
316 set DeltaRMax 0.5
317
318 set PTMin 0.5
319
320 set PTRatioMax 0.1
321}
322
323#####################
324# Electron efficiency
325#####################
326
327module Efficiency ElectronEfficiency {
328 set InputArray ElectronEnergySmearing/electrons
329 set OutputArray electrons
330
331 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
332
333 # efficiency formula for electrons
334 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
335 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
336 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
337 (abs(eta) > 2.5) * (0.00)}
338}
339
340####################
341# Electron isolation
342####################
343
344module Isolation ElectronIsolation {
345 set CandidateInputArray ElectronEfficiency/electrons
346 set IsolationInputArray EFlowMerger/eflow
347
348 set OutputArray electrons
349
350 set DeltaRMax 0.5
351
352 set PTMin 0.5
353
354 set PTRatioMax 0.1
355}
356
357#################
358# Muon efficiency
359#################
360
361module Efficiency MuonEfficiency {
362 set InputArray MuonMomentumSmearing/muons
363 set OutputArray muons
364
365 # set EfficiencyFormula {efficiency as a function of eta and pt}
366
367 # efficiency formula for muons
368 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
369 (abs(eta) <= 1.5) * (pt > 10.0 && pt <= 1.0e3) * (0.95) + \
370 (abs(eta) <= 1.5) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) + \
371 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0 && pt <= 1.0e3) * (0.95) + \
372 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) + \
373 (abs(eta) > 2.4) * (0.00)}
374}
375
376################
377# Muon isolation
378################
379
380module Isolation MuonIsolation {
381 set CandidateInputArray MuonEfficiency/muons
382 set IsolationInputArray EFlowMerger/eflow
383
384 set OutputArray muons
385
386 set DeltaRMax 0.5
387
388 set PTMin 0.5
389
390 set PTRatioMax 0.1
391}
392
393###################
394# Missing ET merger
395###################
396
397module Merger MissingET {
398# add InputArray InputArray
399 add InputArray Calorimeter/eflowTracks
400 add InputArray Calorimeter/eflowTowers
401 set MomentumOutputArray momentum
402}
403
404##################
405# Scalar HT merger
406##################
407
408module Merger ScalarHT {
409# add InputArray InputArray
410 add InputArray UniqueObjectFinder/jets
411 add InputArray UniqueObjectFinder/electrons
412 add InputArray UniqueObjectFinder/photons
413 add InputArray UniqueObjectFinder/muons
414 set EnergyOutputArray energy
415}
416
417#####################
418# MC truth jet finder
419#####################
420
421module FastJetFinder GenJetFinder {
422 set InputArray Delphes/stableParticles
423
424 set OutputArray jets
425
426 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
427 set JetAlgorithm 6
428 set ParameterR 0.5
429
430 set JetPTMin 20.0
431}
432
433############
434# Jet finder
435############
436
437module FastJetFinder FastJetFinder {
438# set InputArray Calorimeter/towers
439 set InputArray EFlowMerger/eflow
440
441 set OutputArray jets
442
443 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
444 set JetAlgorithm 6
445 set ParameterR 0.5
446
447 set JetPTMin 20.0
448}
449
450##################
451# Jet Energy Scale
452##################
453
454module EnergyScale JetEnergyScale {
455 set InputArray FastJetFinder/jets
456 set OutputArray jets
457
458 # scale formula for jets
459 set ScaleFormula {1.08}
460}
461
462###########
463# b-tagging
464###########
465
466module BTagging BTagging {
467 set PartonInputArray Delphes/partons
468 set JetInputArray JetEnergyScale/jets
469
470 set BitNumber 0
471
472 set DeltaR 0.5
473
474 set PartonPTMin 1.0
475
476 set PartonEtaMax 2.5
477
478 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
479 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
480 # gluon's PDG code has the lowest priority
481
482 # https://twiki.cern.ch/twiki/bin/view/CMSPublic/PhysicsResultsBTV
483 # default efficiency formula (misidentification rate)
484 add EfficiencyFormula {0} {0.001}
485
486 # efficiency formula for c-jets (misidentification rate)
487 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) + \
488 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) + \
489 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) + \
490 (abs(eta) > 2.5) * (0.000)}
491
492 # efficiency formula for b-jets
493 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) + \
494 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) + \
495 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) + \
496 (abs(eta) > 2.5) * (0.000)}
497}
498
499module TauTagging TauTagging {
500 set ParticleInputArray Delphes/allParticles
501 set PartonInputArray Delphes/partons
502 set JetInputArray JetEnergyScale/jets
503
504 set DeltaR 0.5
505
506 set TauPTMin 1.0
507
508 set TauEtaMax 2.5
509
510 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
511
512 # default efficiency formula (misidentification rate)
513 add EfficiencyFormula {0} {0.001}
514 # efficiency formula for tau-jets
515 add EfficiencyFormula {15} {0.4}
516}
517
518#####################################################
519# Find uniquely identified photons/electrons/tau/jets
520#####################################################
521
522module UniqueObjectFinder UniqueObjectFinder {
523# earlier arrays take precedence over later ones
524# add InputArray InputArray OutputArray
525 add InputArray PhotonIsolation/photons photons
526 add InputArray ElectronIsolation/electrons electrons
527 add InputArray MuonIsolation/muons muons
528 add InputArray JetEnergyScale/jets jets
529}
530
531##################
532# ROOT tree writer
533##################
534
535module TreeWriter TreeWriter {
536# add Branch InputArray BranchName BranchClass
537 add Branch Delphes/allParticles Particle GenParticle
538 add Branch TrackMerger/tracks Track Track
539 add Branch Calorimeter/towers Tower Tower
540 add Branch Calorimeter/eflowTracks EFlowTrack Track
541 add Branch Calorimeter/eflowTowers EFlowTower Tower
542 add Branch GenJetFinder/jets GenJet Jet
543 add Branch UniqueObjectFinder/jets Jet Jet
544 add Branch UniqueObjectFinder/electrons Electron Electron
545 add Branch UniqueObjectFinder/photons Photon Photon
546 add Branch UniqueObjectFinder/muons Muon Muon
547 add Branch MissingET/momentum MissingET MissingET
548 add Branch ScalarHT/energy ScalarHT ScalarHT
549}
550
Note: See TracBrowser for help on using the repository browser.