Fork me on GitHub

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

Last change on this file since 1311 was 1301, checked in by Pavel Demin, 11 years ago

add muons to TrackMerger

File size: 18.0 KB
RevLine 
[612]1#######################################
2# Order of execution of various modules
3#######################################
4
5set ExecutionPath {
[695]6 ParticlePropagator
[905]7
8 ChargedHadronTrackingEfficiency
9 ElectronTrackingEfficiency
10 MuonTrackingEfficiency
11
12 ChargedHadronMomentumSmearing
[829]13 ElectronEnergySmearing
[905]14 MuonMomentumSmearing
15
16 TrackMerger
[695]17 Calorimeter
[924]18 EFlowMerger
[905]19
[750]20 PhotonEfficiency
[746]21 PhotonIsolation
[1032]22
[750]23 ElectronEfficiency
[746]24 ElectronIsolation
[1032]25
[757]26 MuonEfficiency
27 MuonIsolation
[1032]28
[761]29 MissingET
[1032]30
[1074]31 GenJetFinder
[695]32 FastJetFinder
[1074]33
[1254]34 JetEnergyScale
[1074]35
[695]36 BTagging
[871]37 TauTagging
[1032]38
[812]39 UniqueObjectFinder
[1032]40
[894]41 ScalarHT
[1032]42
[695]43 TreeWriter
[612]44}
45
[652]46#################################
47# Propagate particles in cylinder
48#################################
[612]49
[632]50module ParticlePropagator ParticlePropagator {
[905]51 set InputArray Delphes/stableParticles
[750]52
[905]53 set OutputArray stableParticles
54 set ChargedHadronOutputArray chargedHadrons
55 set ElectronOutputArray electrons
56 set MuonOutputArray muons
[612]57
[619]58 # radius of the magnetic field coverage, in m
[612]59 set Radius 1.29
[619]60 # half-length of the magnetic field coverage, in m
61 set HalfLength 3.00
[632]62
[652]63 # magnetic field
[612]64 set Bz 3.8
65}
66
[905]67####################################
68# Charged hadron tracking efficiency
69####################################
[612]70
[905]71module Efficiency ChargedHadronTrackingEfficiency {
72 set InputArray ParticlePropagator/chargedHadrons
73 set OutputArray chargedHadrons
[612]74
[905]75 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
[703]76
[905]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}
[703]85
[905]86##############################
87# Electron tracking efficiency
88##############################
[703]89
[905]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}
[1032]95
[905]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)}
[750]105}
[703]106
[1032]107##########################
[905]108# Muon tracking efficiency
[1032]109##########################
[703]110
[905]111module Efficiency MuonTrackingEfficiency {
112 set InputArray ParticlePropagator/muons
113 set OutputArray muons
[750]114
[905]115 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
[1032]116
[905]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}
[703]125
[905]126########################################
127# Momentum resolution for charged tracks
128########################################
[703]129
[905]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
[1278]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)}
[703]145}
146
[905]147#################################
148# Energy resolution for electrons
149#################################
[829]150
151module EnergySmearing ElectronEnergySmearing {
[905]152 set InputArray ElectronTrackingEfficiency/electrons
[829]153 set OutputArray electrons
154
[905]155 # set ResolutionFormula {resolution formula as a function of eta and energy}
[829]156
[1254]157 # resolution formula for electrons
[1301]158 set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.0e1) * (energy*0.0225) + \
[1254]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) + \
[905]161 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
[829]162
163}
164
[905]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
[1254]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) * (0.03) + \
179 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1 && pt <= 5.0) * (0.03) + \
180 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 5.0 && pt <= 1.0e2) * (0.02) + \
181 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 1.0e2) * (0.04) + \
182 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 5.0) * (0.04) + \
183 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 5.0 && pt <= 1.0e2) * (0.035) + \
184 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.05)}
[905]185}
186
187##############
188# Track merger
189##############
190
191module Merger TrackMerger {
192# add InputArray InputArray
193 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
194 add InputArray ElectronEnergySmearing/electrons
[1301]195 add InputArray MuonMomentumSmearing/muons
[905]196 set OutputArray tracks
197}
198
[703]199#############
200# Calorimeter
201#############
202
[695]203module Calorimeter Calorimeter {
[905]204 set ParticleInputArray ParticlePropagator/stableParticles
205 set TrackInputArray TrackMerger/tracks
[612]206
[703]207 set TowerOutputArray towers
208 set PhotonOutputArray photons
[619]209
[938]210 set EFlowTrackOutputArray eflowTracks
211 set EFlowTowerOutputArray eflowTowers
212
[695]213 set pi [expr {acos(-1)}]
[1032]214
[883]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
[695]219 # 5 degrees towers
[883]220 set PhiBins {}
[1032]221 for {set i -36} {$i <= 36} {incr i} {
[883]222 add PhiBins [expr {$i * $pi/36.0}]
[695]223 }
[1032]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} {
[883]225 add EtaPhiBins $eta $PhiBins
[695]226 }
[619]227
[695]228 # 10 degrees towers
[883]229 set PhiBins {}
[1032]230 for {set i -18} {$i <= 18} {incr i} {
[883]231 add PhiBins [expr {$i * $pi/18.0}]
[695]232 }
[1032]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} {
[883]234 add EtaPhiBins $eta $PhiBins
[695]235 }
[1032]236
[695]237 # 20 degrees towers
[883]238 set PhiBins {}
[1032]239 for {set i -9} {$i <= 9} {incr i} {
[883]240 add PhiBins [expr {$i * $pi/9.0}]
[1032]241 }
242 foreach eta {-5 -4.7 -4.525 4.7 5} {
[883]243 add EtaPhiBins $eta $PhiBins
[695]244 }
[619]245
[703]246 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
247 add EnergyFraction {0} {0.0 1.0}
[695]248 # energy fractions for e, gamma and pi0
[703]249 add EnergyFraction {11} {1.0 0.0}
250 add EnergyFraction {22} {1.0 0.0}
251 add EnergyFraction {111} {1.0 0.0}
[1076]252 # energy fractions for muon, neutrinos and neutralinos
[703]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}
[1076]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}
[695]262 # energy fractions for K0short and Lambda
[703]263 add EnergyFraction {310} {0.3 0.7}
264 add EnergyFraction {3122} {0.3 0.7}
[1032]265
[766]266 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
[1254]267 set ECalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) + \
[881]268 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
[632]269
[766]270 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
[1278]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)}
[612]273}
274
[924]275####################
276# Energy flow merger
277####################
278
279module Merger EFlowMerger {
280# add InputArray InputArray
[938]281 add InputArray Calorimeter/eflowTracks
282 add InputArray Calorimeter/eflowTowers
[924]283 set OutputArray eflow
284}
285
[750]286###################
287# Photon efficiency
288###################
289
290module Efficiency PhotonEfficiency {
291 set InputArray Calorimeter/photons
292 set OutputArray photons
293
[905]294 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
[750]295
[905]296 # efficiency formula for photons
297 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
298 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
299 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
300 (abs(eta) > 2.5) * (0.00)}
[750]301}
302
[746]303##################
[750]304# Photon isolation
[746]305##################
306
307module Isolation PhotonIsolation {
[750]308 set CandidateInputArray PhotonEfficiency/photons
[924]309 set IsolationInputArray EFlowMerger/eflow
[1032]310
[746]311 set OutputArray photons
312
[875]313 set DeltaRMax 0.5
[746]314
315 set PTMin 0.5
316
[753]317 set PTRatioMax 0.1
[746]318}
319
[750]320#####################
321# Electron efficiency
322#####################
323
324module Efficiency ElectronEfficiency {
[829]325 set InputArray ElectronEnergySmearing/electrons
[750]326 set OutputArray electrons
327
[905]328 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
[750]329
[829]330 # efficiency formula for electrons
[905]331 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
332 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
333 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
334 (abs(eta) > 2.5) * (0.00)}
[750]335}
336
[746]337####################
[750]338# Electron isolation
[746]339####################
340
341module Isolation ElectronIsolation {
[750]342 set CandidateInputArray ElectronEfficiency/electrons
[924]343 set IsolationInputArray EFlowMerger/eflow
[1032]344
[746]345 set OutputArray electrons
346
[875]347 set DeltaRMax 0.5
[746]348
349 set PTMin 0.5
350
[894]351 set PTRatioMax 0.1
[746]352}
353
[755]354#################
355# Muon efficiency
356#################
357
358module Efficiency MuonEfficiency {
[905]359 set InputArray MuonMomentumSmearing/muons
[755]360 set OutputArray muons
361
[905]362 # set EfficiencyFormula {efficiency as a function of eta and pt}
[755]363
364 # efficiency formula for muons
[905]365 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
366 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
367 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0) * (0.85) + \
368 (abs(eta) > 2.4) * (0.00)}
[755]369}
370
371################
372# Muon isolation
373################
374
375module Isolation MuonIsolation {
376 set CandidateInputArray MuonEfficiency/muons
[924]377 set IsolationInputArray EFlowMerger/eflow
[1032]378
[755]379 set OutputArray muons
380
[875]381 set DeltaRMax 0.5
[755]382
383 set PTMin 0.5
384
[894]385 set PTRatioMax 0.1
[755]386}
387
[760]388###################
389# Missing ET merger
390###################
391
392module Merger MissingET {
[894]393# add InputArray InputArray
[1301]394 add InputArray Calorimeter/eflowTracks
395 add InputArray Calorimeter/eflowTowers
[760]396 set MomentumOutputArray momentum
397}
398
[894]399##################
400# Scalar HT merger
401##################
402
403module Merger ScalarHT {
404# add InputArray InputArray
405 add InputArray UniqueObjectFinder/jets
406 add InputArray UniqueObjectFinder/electrons
407 add InputArray UniqueObjectFinder/photons
[1254]408 add InputArray UniqueObjectFinder/muons
[894]409 set EnergyOutputArray energy
410}
411
[1074]412#####################
413# MC truth jet finder
414#####################
415
416module FastJetFinder GenJetFinder {
417 set InputArray Delphes/stableParticles
418
419 set OutputArray jets
420
421 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
422 set JetAlgorithm 6
[1254]423 set ParameterR 0.5
[1074]424
425 set JetPTMin 20.0
426}
427
[612]428############
429# Jet finder
430############
431
[632]432module FastJetFinder FastJetFinder {
[890]433# set InputArray Calorimeter/towers
[924]434 set InputArray EFlowMerger/eflow
[1032]435
[703]436 set OutputArray jets
[612]437
438 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
439 set JetAlgorithm 6
[1254]440 set ParameterR 0.5
[632]441
[881]442 set JetPTMin 20.0
[612]443}
444
[1254]445##################
446# Jet Energy Scale
447##################
[1074]448
[1254]449module EnergyScale JetEnergyScale {
450 set InputArray FastJetFinder/jets
451 set OutputArray jets
[1074]452
[1254]453 # scale formula for jets
454 set ScaleFormula {1.08}
[1074]455}
456
[651]457###########
458# b-tagging
459###########
460
461module BTagging BTagging {
[703]462 set PartonInputArray Delphes/partons
[1254]463 set JetInputArray JetEnergyScale/jets
[651]464
[1099]465 set BitNumber 0
466
[651]467 set DeltaR 0.5
[670]468
[657]469 set PartonPTMin 1.0
[651]470
[657]471 set PartonEtaMax 2.5
472
[768]473 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
[651]474 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
[652]475 # gluon's PDG code has the lowest priority
[703]476
[881]477 # https://twiki.cern.ch/twiki/bin/view/CMSPublic/PhysicsResultsBTV
[869]478 # default efficiency formula (misidentification rate)
[703]479 add EfficiencyFormula {0} {0.001}
[881]480
[869]481 # efficiency formula for c-jets (misidentification rate)
[881]482 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) + \
483 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) + \
484 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) + \
[1032]485 (abs(eta) > 2.5) * (0.000)}
486
[703]487 # efficiency formula for b-jets
[881]488 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) + \
489 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) + \
490 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) + \
491 (abs(eta) > 2.5) * (0.000)}
[651]492}
493
[869]494module TauTagging TauTagging {
[905]495 set ParticleInputArray Delphes/allParticles
[869]496 set PartonInputArray Delphes/partons
[1255]497 set JetInputArray JetEnergyScale/jets
[719]498
[869]499 set DeltaR 0.5
500
501 set TauPTMin 1.0
502
503 set TauEtaMax 2.5
504
505 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
506
507 # default efficiency formula (misidentification rate)
508 add EfficiencyFormula {0} {0.001}
509 # efficiency formula for tau-jets
510 add EfficiencyFormula {15} {0.4}
[719]511}
512
[812]513#####################################################
514# Find uniquely identified photons/electrons/tau/jets
515#####################################################
516
517module UniqueObjectFinder UniqueObjectFinder {
[814]518# earlier arrays take precedence over later ones
[812]519# add InputArray InputArray OutputArray
520 add InputArray PhotonIsolation/photons photons
521 add InputArray ElectronIsolation/electrons electrons
[1254]522 add InputArray MuonIsolation/muons muons
523 add InputArray JetEnergyScale/jets jets
[812]524}
525
[612]526##################
527# ROOT tree writer
528##################
529
[632]530module TreeWriter TreeWriter {
[703]531# add Branch InputArray BranchName BranchClass
[905]532 add Branch Delphes/allParticles Particle GenParticle
[951]533 add Branch TrackMerger/tracks Track Track
534 add Branch Calorimeter/towers Tower Tower
[1254]535 add Branch Calorimeter/eflowTracks EFlowTrack Track
536 add Branch Calorimeter/eflowTowers EFlowTower Tower
[1074]537 add Branch GenJetFinder/jets GenJet Jet
[954]538 add Branch UniqueObjectFinder/jets Jet Jet
539 add Branch UniqueObjectFinder/electrons Electron Electron
[812]540 add Branch UniqueObjectFinder/photons Photon Photon
[1254]541 add Branch UniqueObjectFinder/muons Muon Muon
[760]542 add Branch MissingET/momentum MissingET MissingET
[894]543 add Branch ScalarHT/energy ScalarHT ScalarHT
[612]544}
[926]545
Note: See TracBrowser for help on using the repository browser.