Fork me on GitHub

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

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

revert to pre 3.0.10 HCAL and charged hadron resolution for CMS

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
158 set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.0e1) * (0.0225)*energy + \
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
195 set OutputArray tracks
196}
197
[703]198#############
199# Calorimeter
200#############
201
[695]202module Calorimeter Calorimeter {
[905]203 set ParticleInputArray ParticlePropagator/stableParticles
204 set TrackInputArray TrackMerger/tracks
[612]205
[703]206 set TowerOutputArray towers
207 set PhotonOutputArray photons
[619]208
[938]209 set EFlowTrackOutputArray eflowTracks
210 set EFlowTowerOutputArray eflowTowers
211
[695]212 set pi [expr {acos(-1)}]
[1032]213
[883]214 # lists of the edges of each tower in eta and phi
215 # each list starts with the lower edge of the first tower
216 # the list ends with the higher edged of the last tower
217
[695]218 # 5 degrees towers
[883]219 set PhiBins {}
[1032]220 for {set i -36} {$i <= 36} {incr i} {
[883]221 add PhiBins [expr {$i * $pi/36.0}]
[695]222 }
[1032]223 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]224 add EtaPhiBins $eta $PhiBins
[695]225 }
[619]226
[695]227 # 10 degrees towers
[883]228 set PhiBins {}
[1032]229 for {set i -18} {$i <= 18} {incr i} {
[883]230 add PhiBins [expr {$i * $pi/18.0}]
[695]231 }
[1032]232 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]233 add EtaPhiBins $eta $PhiBins
[695]234 }
[1032]235
[695]236 # 20 degrees towers
[883]237 set PhiBins {}
[1032]238 for {set i -9} {$i <= 9} {incr i} {
[883]239 add PhiBins [expr {$i * $pi/9.0}]
[1032]240 }
241 foreach eta {-5 -4.7 -4.525 4.7 5} {
[883]242 add EtaPhiBins $eta $PhiBins
[695]243 }
[619]244
[703]245 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
246 add EnergyFraction {0} {0.0 1.0}
[695]247 # energy fractions for e, gamma and pi0
[703]248 add EnergyFraction {11} {1.0 0.0}
249 add EnergyFraction {22} {1.0 0.0}
250 add EnergyFraction {111} {1.0 0.0}
[1076]251 # energy fractions for muon, neutrinos and neutralinos
[703]252 add EnergyFraction {12} {0.0 0.0}
253 add EnergyFraction {13} {0.0 0.0}
254 add EnergyFraction {14} {0.0 0.0}
255 add EnergyFraction {16} {0.0 0.0}
[1076]256 add EnergyFraction {1000022} {0.0 0.0}
257 add EnergyFraction {1000023} {0.0 0.0}
258 add EnergyFraction {1000025} {0.0 0.0}
259 add EnergyFraction {1000035} {0.0 0.0}
260 add EnergyFraction {1000045} {0.0 0.0}
[695]261 # energy fractions for K0short and Lambda
[703]262 add EnergyFraction {310} {0.3 0.7}
263 add EnergyFraction {3122} {0.3 0.7}
[1032]264
[766]265 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
[1254]266 set ECalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) + \
[881]267 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
[632]268
[766]269 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
[1278]270 set HCalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) + \
271 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
[612]272}
273
[924]274####################
275# Energy flow merger
276####################
277
278module Merger EFlowMerger {
279# add InputArray InputArray
[938]280 add InputArray Calorimeter/eflowTracks
281 add InputArray Calorimeter/eflowTowers
282 add InputArray MuonMomentumSmearing/muons
[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
[924]394 add InputArray EFlowMerger/eflow
[760]395 set MomentumOutputArray momentum
396}
397
[894]398##################
399# Scalar HT merger
400##################
401
402module Merger ScalarHT {
403# add InputArray InputArray
404 add InputArray UniqueObjectFinder/jets
405 add InputArray UniqueObjectFinder/electrons
406 add InputArray UniqueObjectFinder/photons
[1254]407 add InputArray UniqueObjectFinder/muons
[894]408 set EnergyOutputArray energy
409}
410
[1074]411#####################
412# MC truth jet finder
413#####################
414
415module FastJetFinder GenJetFinder {
416 set InputArray Delphes/stableParticles
417
418 set OutputArray jets
419
420 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
421 set JetAlgorithm 6
[1254]422 set ParameterR 0.5
[1074]423
424 set JetPTMin 20.0
425}
426
[612]427############
428# Jet finder
429############
430
[632]431module FastJetFinder FastJetFinder {
[890]432# set InputArray Calorimeter/towers
[924]433 set InputArray EFlowMerger/eflow
[1032]434
[703]435 set OutputArray jets
[612]436
437 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
438 set JetAlgorithm 6
[1254]439 set ParameterR 0.5
[632]440
[881]441 set JetPTMin 20.0
[612]442}
443
[1254]444##################
445# Jet Energy Scale
446##################
[1074]447
[1254]448module EnergyScale JetEnergyScale {
449 set InputArray FastJetFinder/jets
450 set OutputArray jets
[1074]451
[1254]452 # scale formula for jets
453 set ScaleFormula {1.08}
[1074]454}
455
[651]456###########
457# b-tagging
458###########
459
460module BTagging BTagging {
[703]461 set PartonInputArray Delphes/partons
[1254]462 set JetInputArray JetEnergyScale/jets
[651]463
[1099]464 set BitNumber 0
465
[651]466 set DeltaR 0.5
[670]467
[657]468 set PartonPTMin 1.0
[651]469
[657]470 set PartonEtaMax 2.5
471
[768]472 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
[651]473 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
[652]474 # gluon's PDG code has the lowest priority
[703]475
[881]476 # https://twiki.cern.ch/twiki/bin/view/CMSPublic/PhysicsResultsBTV
[869]477 # default efficiency formula (misidentification rate)
[703]478 add EfficiencyFormula {0} {0.001}
[881]479
[869]480 # efficiency formula for c-jets (misidentification rate)
[881]481 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) + \
482 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) + \
483 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) + \
[1032]484 (abs(eta) > 2.5) * (0.000)}
485
[703]486 # efficiency formula for b-jets
[881]487 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) + \
488 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) + \
489 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) + \
490 (abs(eta) > 2.5) * (0.000)}
[651]491}
492
[869]493module TauTagging TauTagging {
[905]494 set ParticleInputArray Delphes/allParticles
[869]495 set PartonInputArray Delphes/partons
[1255]496 set JetInputArray JetEnergyScale/jets
[719]497
[869]498 set DeltaR 0.5
499
500 set TauPTMin 1.0
501
502 set TauEtaMax 2.5
503
504 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
505
506 # default efficiency formula (misidentification rate)
507 add EfficiencyFormula {0} {0.001}
508 # efficiency formula for tau-jets
509 add EfficiencyFormula {15} {0.4}
[719]510}
511
[812]512#####################################################
513# Find uniquely identified photons/electrons/tau/jets
514#####################################################
515
516module UniqueObjectFinder UniqueObjectFinder {
[814]517# earlier arrays take precedence over later ones
[812]518# add InputArray InputArray OutputArray
519 add InputArray PhotonIsolation/photons photons
520 add InputArray ElectronIsolation/electrons electrons
[1254]521 add InputArray MuonIsolation/muons muons
522 add InputArray JetEnergyScale/jets jets
[812]523}
524
[612]525##################
526# ROOT tree writer
527##################
528
[632]529module TreeWriter TreeWriter {
[703]530# add Branch InputArray BranchName BranchClass
[905]531 add Branch Delphes/allParticles Particle GenParticle
[951]532 add Branch TrackMerger/tracks Track Track
533 add Branch Calorimeter/towers Tower Tower
[1254]534 add Branch Calorimeter/eflowTracks EFlowTrack Track
535 add Branch Calorimeter/eflowTowers EFlowTower Tower
536 add Branch MuonMomentumSmearing/muons EFlowMuon Muon
[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.