Fork me on GitHub

Ticket #997: delphes_card_CMS.tcl

File delphes_card_CMS.tcl, 18.9 KB (added by Nikolay Kolev, 8 years ago)
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 ElectronMomentumSmearing
14 MuonMomentumSmearing
15
16 TrackMerger
17 Calorimeter
18 EFlowMerger
19
20 PhotonEfficiency
21 PhotonIsolation
22
23 ElectronFilter
24 ElectronEfficiency
25 ElectronIsolation
26
27 MuonEfficiency
28 MuonIsolation
29
30 MissingET
31
32 NeutrinoFilter
33 GenJetFinder
34 GenMissingET
35
36 FastJetFinder
37
38 JetEnergyScale
39
40 JetFlavorAssociation
41
42 BTagging
43 TauTagging
44
45 UniqueObjectFinder
46
47 ScalarHT
48
49 TreeWriter
50}
51
52#################################
53# Propagate particles in cylinder
54#################################
55
56module ParticlePropagator ParticlePropagator {
57 set InputArray Delphes/stableParticles
58
59 set OutputArray stableParticles
60 set ChargedHadronOutputArray chargedHadrons
61 set ElectronOutputArray electrons
62 set MuonOutputArray muons
63
64 # radius of the magnetic field coverage, in m
65 set Radius 1.29
66 # half-length of the magnetic field coverage, in m
67 set HalfLength 3.00
68
69 # magnetic field
70 set Bz 3.8
71}
72
73####################################
74# Charged hadron tracking efficiency
75####################################
76
77module Efficiency ChargedHadronTrackingEfficiency {
78 set InputArray ParticlePropagator/chargedHadrons
79 set OutputArray chargedHadrons
80
81 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
82
83 # tracking efficiency formula for charged hadrons
84 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
85 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.70) +
86 (abs(eta) <= 1.5) * (pt > 1.0) * (0.95) +
87 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.60) +
88 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.85) +
89 (abs(eta) > 2.5) * (0.00)}
90}
91
92##############################
93# Electron tracking efficiency
94##############################
95
96module Efficiency ElectronTrackingEfficiency {
97 set InputArray ParticlePropagator/electrons
98 set OutputArray electrons
99
100 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
101
102 # tracking efficiency formula for electrons
103 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
104 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.73) +
105 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e2) * (0.95) +
106 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.99) +
107 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.50) +
108 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e2) * (0.83) +
109 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.90) +
110 (abs(eta) > 2.5) * (0.00)}
111}
112
113##########################
114# Muon tracking efficiency
115##########################
116
117module Efficiency MuonTrackingEfficiency {
118 set InputArray ParticlePropagator/muons
119 set OutputArray muons
120
121 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
122
123 # tracking efficiency formula for muons
124 set EfficiencyFormula { (pt <= 0.1) * (0.00) +
125 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) +
126 (abs(eta) <= 1.5) * (pt > 1.0) * (0.99) +
127 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.70) +
128 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.98) +
129 (abs(eta) > 2.5) * (0.00)}
130}
131
132########################################
133# Momentum resolution for charged tracks
134########################################
135
136module MomentumSmearing ChargedHadronMomentumSmearing {
137 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
138 set OutputArray chargedHadrons
139
140 # set ResolutionFormula {resolution formula as a function of eta and pt}
141
142 # resolution formula for charged hadrons
143 # based on arXiv:1405.6569
144 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
145 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
146 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
147}
148
149###################################
150# Momentum resolution for electrons
151###################################
152
153module MomentumSmearing ElectronMomentumSmearing {
154 set InputArray ElectronTrackingEfficiency/electrons
155 set OutputArray electrons
156
157 # set ResolutionFormula {resolution formula as a function of eta and energy}
158
159 # resolution formula for electrons
160 # based on arXiv:1405.6569
161 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
162 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
163 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
164}
165
166###############################
167# Momentum resolution for muons
168###############################
169
170module MomentumSmearing MuonMomentumSmearing {
171 set InputArray MuonTrackingEfficiency/muons
172 set OutputArray muons
173
174 # set ResolutionFormula {resolution formula as a function of eta and pt}
175
176 # resolution formula for muons
177 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*2.0e-4^2) +
178 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.02^2 + pt^2*3.0e-4^2) +
179 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.05^2 + pt^2*6.0e-4^2)}
180}
181
182##############
183# Track merger
184##############
185
186module Merger TrackMerger {
187# add InputArray InputArray
188 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
189 add InputArray ElectronMomentumSmearing/electrons
190 add InputArray MuonMomentumSmearing/muons
191 set OutputArray tracks
192}
193
194#############
195# Calorimeter
196#############
197
198module Calorimeter Calorimeter {
199 set ParticleInputArray ParticlePropagator/stableParticles
200 set TrackInputArray TrackMerger/tracks
201
202 set TowerOutputArray towers
203 set PhotonOutputArray photons
204
205 set EFlowTrackOutputArray eflowTracks
206 set EFlowPhotonOutputArray eflowPhotons
207 set EFlowNeutralHadronOutputArray eflowNeutralHadrons
208
209 set ECalEnergyMin 0.5
210 set HCalEnergyMin 1.0
211
212 set ECalEnergySignificanceMin 1.0
213 set HCalEnergySignificanceMin 1.0
214
215 set SmearTowerCenter true
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.12
323}
324
325#################
326# Electron filter
327#################
328
329module PdgCodeFilter ElectronFilter {
330 set InputArray Calorimeter/eflowTracks
331 set OutputArray electrons
332 set Invert true
333 add PdgCode {11}
334 add PdgCode {-11}
335}
336
337#####################
338# Electron efficiency
339#####################
340
341module Efficiency ElectronEfficiency {
342 set InputArray ElectronFilter/electrons
343 set OutputArray electrons
344
345 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
346
347 # efficiency formula for electrons
348 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
349 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) +
350 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) +
351 (abs(eta) > 2.5) * (0.00)}
352}
353
354####################
355# Electron isolation
356####################
357
358module Isolation ElectronIsolation {
359 set CandidateInputArray ElectronEfficiency/electrons
360 set IsolationInputArray EFlowMerger/eflow
361
362 set OutputArray electrons
363
364 set DeltaRMax 0.5
365
366 set PTMin 0.5
367
368 set PTRatioMax 0.12
369}
370
371#################
372# Muon efficiency
373#################
374
375module Efficiency MuonEfficiency {
376 set InputArray MuonMomentumSmearing/muons
377 set OutputArray muons
378
379 # set EfficiencyFormula {efficiency as a function of eta and pt}
380
381 # efficiency formula for muons
382 set EfficiencyFormula { (pt <= 10.0) * (0.00) +
383 (abs(eta) <= 1.5) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
384 (abs(eta) <= 1.5) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) +
385 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
386 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 1.0e3) * (0.95 * exp(0.5 - pt*5.0e-4)) +
387 (abs(eta) > 2.4) * (0.00)}
388}
389
390################
391# Muon isolation
392################
393
394module Isolation MuonIsolation {
395 set CandidateInputArray MuonEfficiency/muons
396 set IsolationInputArray EFlowMerger/eflow
397
398 set OutputArray muons
399
400 set DeltaRMax 0.5
401
402 set PTMin 0.5
403
404 set PTRatioMax 0.25
405}
406
407###################
408# Missing ET merger
409###################
410
411module Merger MissingET {
412# add InputArray InputArray
413 add InputArray EFlowMerger/eflow
414 set MomentumOutputArray momentum
415}
416
417##################
418# Scalar HT merger
419##################
420
421module Merger ScalarHT {
422# add InputArray InputArray
423 add InputArray UniqueObjectFinder/jets
424 add InputArray UniqueObjectFinder/electrons
425 add InputArray UniqueObjectFinder/photons
426 add InputArray UniqueObjectFinder/muons
427 set EnergyOutputArray energy
428}
429
430
431#####################
432# Neutrino Filter
433#####################
434
435module PdgCodeFilter NeutrinoFilter {
436
437 set InputArray Delphes/stableParticles
438 set OutputArray filteredParticles
439
440 set PTMin 0.0
441
442 add PdgCode {12}
443 add PdgCode {14}
444 add PdgCode {16}
445 add PdgCode {-12}
446 add PdgCode {-14}
447 add PdgCode {-16}
448
449}
450
451
452#####################
453# MC truth jet finder
454#####################
455
456module FastJetFinder GenJetFinder {
457 set InputArray NeutrinoFilter/filteredParticles
458
459 set OutputArray jets
460
461 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
462 set JetAlgorithm 6
463 set ParameterR 0.5
464
465 set JetPTMin 20.0
466}
467
468#########################
469# Gen Missing ET merger
470########################
471
472module Merger GenMissingET {
473# add InputArray InputArray
474 add InputArray NeutrinoFilter/filteredParticles
475 set MomentumOutputArray momentum
476}
477
478
479
480############
481# Jet finder
482############
483
484module FastJetFinder FastJetFinder {
485# set InputArray Calorimeter/towers
486 set InputArray EFlowMerger/eflow
487
488 set OutputArray jets
489
490 set JetAlgorithm 7
491 set ParameterR 0.5
492
493 set ComputeNsubjettiness 1
494 set Beta 1.0
495 set AxisMode 1
496
497 set ComputeTrimming 1
498 set RTrim 0.2
499 set PtFracTrim 0.05
500
501 #set ComputePruning 1
502 #set ZcutPrun 0.1
503 #set RcutPrun 0.5
504 #set RPrun 0.8
505
506 #set ComputeSoftDrop 1
507 #set BetaSoftDrop 0.0
508 #set SymmetryCutSoftDrop 0.1
509 #set R0SoftDrop 0.8
510
511 set JetPTMin 10.0
512}
513
514##################
515# Jet Energy Scale
516##################
517
518module EnergyScale JetEnergyScale {
519 set InputArray FastJetFinder/jets
520 set OutputArray jets
521
522 # scale formula for jets
523 set ScaleFormula {sqrt( (2.5 - 0.15*(abs(eta)))^2 / pt + 1.0 )}
524}
525
526########################
527# Jet Flavor Association
528########################
529
530module JetFlavorAssociation JetFlavorAssociation {
531
532 set PartonInputArray Delphes/partons
533 set ParticleInputArray Delphes/allParticles
534 set ParticleLHEFInputArray Delphes/allParticlesLHEF
535 set JetInputArray JetEnergyScale/jets
536
537 set DeltaR 0.5
538 set PartonPTMin 1.0
539 set PartonEtaMax 2.5
540
541}
542
543###########
544# b-tagging
545###########
546
547module BTagging BTagging {
548 set JetInputArray JetEnergyScale/jets
549
550 set BitNumber 0
551
552 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
553 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
554 # gluon's PDG code has the lowest priority
555
556 # based on arXiv:1211.4462
557
558 # default efficiency formula (misidentification rate)
559 add EfficiencyFormula {0} {0.01+0.000038*pt}
560
561 # efficiency formula for c-jets (misidentification rate)
562 add EfficiencyFormula {4} {0.25*tanh(0.018*pt)*(1/(1+ 0.0013*pt))}
563
564 # efficiency formula for b-jets
565 add EfficiencyFormula {5} {0.85*tanh(0.0025*pt)*(25.0/(1+0.063*pt))}
566}
567
568#############
569# tau-tagging
570#############
571
572module TauTagging TauTagging {
573 set ParticleInputArray Delphes/allParticles
574 set PartonInputArray Delphes/partons
575 set JetInputArray JetEnergyScale/jets
576
577 set DeltaR 0.5
578
579 set TauPTMin 1.0
580
581 set TauEtaMax 2.5
582
583 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
584
585 # default efficiency formula (misidentification rate)
586 add EfficiencyFormula {0} {0.01}
587 # efficiency formula for tau-jets
588 add EfficiencyFormula {15} {0.7}
589 # NK was 0.6
590}
591
592#####################################################
593# Find uniquely identified photons/electrons/tau/jets
594#####################################################
595
596module UniqueObjectFinder UniqueObjectFinder {
597# earlier arrays take precedence over later ones
598# add InputArray InputArray OutputArray
599 add InputArray PhotonIsolation/photons photons
600 add InputArray ElectronIsolation/electrons electrons
601 add InputArray MuonIsolation/muons muons
602 add InputArray JetEnergyScale/jets jets
603}
604
605##################
606# ROOT tree writer
607##################
608
609# tracks, towers and eflow objects are not stored by default in the output.
610# if needed (for jet constituent or other studies), uncomment the relevant
611# "add Branch ..." lines.
612
613module TreeWriter TreeWriter {
614# add Branch InputArray BranchName BranchClass
615 add Branch Delphes/allParticles Particle GenParticle
616
617 add Branch TrackMerger/tracks Track Track
618 add Branch Calorimeter/towers Tower Tower
619
620 add Branch Calorimeter/eflowTracks EFlowTrack Track
621 add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
622 add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
623
624 add Branch GenJetFinder/jets GenJet Jet
625 add Branch GenMissingET/momentum GenMissingET MissingET
626
627 add Branch UniqueObjectFinder/jets Jet Jet
628 add Branch UniqueObjectFinder/electrons Electron Electron
629 add Branch UniqueObjectFinder/photons Photon Photon
630 add Branch UniqueObjectFinder/muons Muon Muon
631 add Branch MissingET/momentum MissingET MissingET
632 add Branch ScalarHT/energy ScalarHT ScalarHT
633}