Fork me on GitHub

source: git/examples/delphes_card_CMS.tcl@ 3e13996

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 3e13996 was a1ac20e, checked in by pavel <pavel@…>, 11 years ago

revert to pre 3.0.10 HCAL and charged hadron resolution for CMS

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