Fork me on GitHub

Ticket #233: delphes_card_CMS_dev.tcl

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