Fork me on GitHub

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

Last change on this file since 1159 was 1099, checked in by Pavel Demin, 12 years ago

define BTag and TauTag as UInt_t and use them as a set of bits

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