Fork me on GitHub

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

Last change on this file since 1360 was 1357, checked in by Michele Selvaggi, 11 years ago

separated Photon and Neutral Hadron components in particle algorithm

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