Fork me on GitHub

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

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

fix efficiency and resolution for high-pT muons

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