Fork me on GitHub

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

Last change on this file since 1174 was 1099, checked in by Pavel Demin, 12 years ago

define BTag and TauTag as UInt_t and use them as a set of bits

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