Fork me on GitHub

source: git/cards/delphes_card_CMS.tcl@ 7aea88d

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 7aea88d was 6153fb0, checked in by Michele Selvaggi <michele.selvaggi@…>, 9 years ago

add JetFlavorAssociation

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