Fork me on GitHub

source: svn/trunk/examples/delphes_card_CMS_PileUp.tcl@ 1306

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

add muons to TrackMerger

File size: 20.0 KB
Line 
1#######################################
2# Order of execution of various modules
3#######################################
4
5set ExecutionPath {
6
7 PileUpMerger
8 ParticlePropagator
9
10 ChargedHadronTrackingEfficiency
11 ElectronTrackingEfficiency
12 MuonTrackingEfficiency
13
14 ChargedHadronMomentumSmearing
15 ElectronEnergySmearing
16 MuonMomentumSmearing
17
18 TrackMerger
19 Calorimeter
20 TrackPileUpSubtractor
21 EFlowMerger
22
23 GenJetFinder
24
25 Rho
26 FastJetFinder
27 JetPileUpSubtractor
28
29 JetEnergyScale
30
31 PhotonEfficiency
32 PhotonIsolation
33
34 ElectronEfficiency
35 ElectronIsolation
36
37 MuonEfficiency
38 MuonIsolation
39
40 MissingET
41
42 BTagging
43 TauTagging
44
45 UniqueObjectFinder
46
47 ScalarHT
48
49 TreeWriter
50}
51
52###############
53# PileUp Merger
54###############
55
56module PileUpMerger PileUpMerger {
57 set InputArray Delphes/stableParticles
58
59 set OutputArray stableParticles
60
61 # pre-generated minbias input file
62 set PileUpFile MinBias.pileup
63
64 # average expected pile up
65 set MeanPileUp 50
66 # spread in the beam direction in m (assumes gaussian)
67 set ZVertexSpread 0.07
68}
69
70#################################
71# Propagate particles in cylinder
72#################################
73
74module ParticlePropagator ParticlePropagator {
75 set InputArray PileUpMerger/stableParticles
76
77 set OutputArray stableParticles
78 set ChargedHadronOutputArray chargedHadrons
79 set ElectronOutputArray electrons
80 set MuonOutputArray muons
81
82 # radius of the magnetic field coverage, in m
83 set Radius 1.29
84 # half-length of the magnetic field coverage, in m
85 set HalfLength 3.00
86
87 # magnetic field
88 set Bz 3.8
89}
90
91####################################
92# Charged hadron tracking efficiency
93####################################
94
95module Efficiency ChargedHadronTrackingEfficiency {
96 set InputArray ParticlePropagator/chargedHadrons
97 set OutputArray chargedHadrons
98
99 # add EfficiencyFormula {efficiency formula as a function of eta and pt}
100
101 # tracking efficiency formula for charged hadrons
102 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
103 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
104 (abs(eta) <= 1.5) * (pt > 1.0) * (0.95) + \
105 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.60) + \
106 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.85) + \
107 (abs(eta) > 2.5) * (0.00)}
108}
109
110##############################
111# Electron tracking efficiency
112##############################
113
114module Efficiency ElectronTrackingEfficiency {
115 set InputArray ParticlePropagator/electrons
116 set OutputArray electrons
117
118 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
119
120 # tracking efficiency formula for electrons
121 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
122 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.73) + \
123 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e2) * (0.95) + \
124 (abs(eta) <= 1.5) * (pt > 1.0e2) * (0.99) + \
125 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.50) + \
126 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e2) * (0.83) + \
127 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.90) + \
128 (abs(eta) > 2.5) * (0.00)}
129}
130
131##########################
132# Muon tracking efficiency
133##########################
134
135module Efficiency MuonTrackingEfficiency {
136 set InputArray ParticlePropagator/muons
137 set OutputArray muons
138
139 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
140
141 # tracking efficiency formula for muons
142 set EfficiencyFormula { (pt <= 0.1) * (0.00) + \
143 (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.75) + \
144 (abs(eta) <= 1.5) * (pt > 1.0) * (0.99) + \
145 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.70) + \
146 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0) * (0.98) + \
147 (abs(eta) > 2.5) * (0.00)}
148}
149
150########################################
151# Momentum resolution for charged tracks
152########################################
153
154module MomentumSmearing ChargedHadronMomentumSmearing {
155 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
156 set OutputArray chargedHadrons
157
158 # set ResolutionFormula {resolution formula as a function of eta and pt}
159
160 # resolution formula for charged hadrons
161 set ResolutionFormula { (abs(eta) <= 1.5) * (pt > 0.1 && pt <= 1.0) * (0.02) + \
162 (abs(eta) <= 1.5) * (pt > 1.0 && pt <= 1.0e1) * (0.01) + \
163 (abs(eta) <= 1.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.03) + \
164 (abs(eta) <= 1.5) * (pt > 2.0e2) * (0.05) + \
165 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 1.0) * (0.03) + \
166 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0 && pt <= 1.0e1) * (0.02) + \
167 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e1 && pt <= 2.0e2) * (0.04) + \
168 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 2.0e2) * (0.05)}
169}
170
171#################################
172# Energy resolution for electrons
173#################################
174
175module EnergySmearing ElectronEnergySmearing {
176 set InputArray ElectronTrackingEfficiency/electrons
177 set OutputArray electrons
178
179 # set ResolutionFormula {resolution formula as a function of eta and energy}
180
181 # resolution formula for electrons
182 set ResolutionFormula { (abs(eta) <= 2.5) * (energy > 0.1 && energy <= 2.0e1) * (energy*0.0225) + \
183 (abs(eta) <= 2.5) * (energy > 2.0e1) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) + \
184 (abs(eta) > 2.5 && abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) + \
185 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
186
187}
188
189###############################
190# Momentum resolution for muons
191###############################
192
193module MomentumSmearing MuonMomentumSmearing {
194 set InputArray MuonTrackingEfficiency/muons
195 set OutputArray muons
196
197 # set ResolutionFormula {resolution formula as a function of eta and pt}
198
199 # resolution formula for muons
200 set ResolutionFormula { (abs(eta) <= 0.5) * (pt > 0.1 && pt <= 5.0) * (0.02) + \
201 (abs(eta) <= 0.5) * (pt > 5.0 && pt <= 1.0e2) * (0.015) + \
202 (abs(eta) <= 0.5) * (pt > 1.0e2) * (0.03) + \
203 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1 && pt <= 5.0) * (0.03) + \
204 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 5.0 && pt <= 1.0e2) * (0.02) + \
205 (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 1.0e2) * (0.04) + \
206 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1 && pt <= 5.0) * (0.04) + \
207 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 5.0 && pt <= 1.0e2) * (0.035) + \
208 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e2) * (0.05)}
209}
210
211##############
212# Track merger
213##############
214
215module Merger TrackMerger {
216# add InputArray InputArray
217 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
218 add InputArray ElectronEnergySmearing/electrons
219 add InputArray MuonMomentumSmearing/muons
220 set OutputArray tracks
221}
222
223#############
224# Calorimeter
225#############
226
227module Calorimeter Calorimeter {
228 set ParticleInputArray ParticlePropagator/stableParticles
229 set TrackInputArray TrackMerger/tracks
230
231 set TowerOutputArray towers
232 set PhotonOutputArray photons
233
234 set EFlowTrackOutputArray eflowTracks
235 set EFlowTowerOutputArray eflowTowers
236
237 set pi [expr {acos(-1)}]
238
239 # lists of the edges of each tower in eta and phi
240 # each list starts with the lower edge of the first tower
241 # the list ends with the higher edged of the last tower
242
243 # 5 degrees towers
244 set PhiBins {}
245 for {set i -36} {$i <= 36} {incr i} {
246 add PhiBins [expr {$i * $pi/36.0}]
247 }
248 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} {
249 add EtaPhiBins $eta $PhiBins
250 }
251
252 # 10 degrees towers
253 set PhiBins {}
254 for {set i -18} {$i <= 18} {incr i} {
255 add PhiBins [expr {$i * $pi/18.0}]
256 }
257 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} {
258 add EtaPhiBins $eta $PhiBins
259 }
260
261 # 20 degrees towers
262 set PhiBins {}
263 for {set i -9} {$i <= 9} {incr i} {
264 add PhiBins [expr {$i * $pi/9.0}]
265 }
266 foreach eta {-5 -4.7 -4.525 4.7 5} {
267 add EtaPhiBins $eta $PhiBins
268 }
269
270 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
271 add EnergyFraction {0} {0.0 1.0}
272 # energy fractions for e, gamma and pi0
273 add EnergyFraction {11} {1.0 0.0}
274 add EnergyFraction {22} {1.0 0.0}
275 add EnergyFraction {111} {1.0 0.0}
276 # energy fractions for muon, neutrinos and neutralinos
277 add EnergyFraction {12} {0.0 0.0}
278 add EnergyFraction {13} {0.0 0.0}
279 add EnergyFraction {14} {0.0 0.0}
280 add EnergyFraction {16} {0.0 0.0}
281 add EnergyFraction {1000022} {0.0 0.0}
282 add EnergyFraction {1000023} {0.0 0.0}
283 add EnergyFraction {1000025} {0.0 0.0}
284 add EnergyFraction {1000035} {0.0 0.0}
285 add EnergyFraction {1000045} {0.0 0.0}
286 # energy fractions for K0short and Lambda
287 add EnergyFraction {310} {0.3 0.7}
288 add EnergyFraction {3122} {0.3 0.7}
289
290 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
291 set ECalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2) + \
292 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
293
294 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
295 set HCalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) + \
296 (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
297}
298
299##########################
300# Track pile-up subtractor
301##########################
302
303module TrackPileUpSubtractor TrackPileUpSubtractor {
304# add InputArray InputArray OutputArray
305 add InputArray Calorimeter/eflowTracks eflowTracks
306 add InputArray ElectronEnergySmearing/electrons electrons
307 add InputArray MuonMomentumSmearing/muons muons
308
309 # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
310 # Z vertex resolution in m
311 set ZVertexResolution 0.0001
312}
313
314####################
315# Energy flow merger
316####################
317
318module Merger EFlowMerger {
319# add InputArray InputArray
320 add InputArray TrackPileUpSubtractor/eflowTracks
321 add InputArray Calorimeter/eflowTowers
322 set OutputArray eflow
323}
324
325#############
326# Rho pile-up
327#############
328
329module FastJetFinder Rho {
330# set InputArray Calorimeter/towers
331 set InputArray EFlowMerger/eflow
332
333 set ComputeRho true
334 set RhoOutputArray rho
335
336 # area algorithm: 0 Do not compute area, 1 Active area explicit ghosts, 2 One ghost passive area, 3 Passive area, 4 Voronoi, 5 Active area
337 set AreaAlgorithm 5
338
339 # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
340 set JetAlgorithm 4
341 set ParameterR 0.6
342 set GhostEtaMax 5.0
343 set RhoEtaMax 5.0
344
345 set JetPTMin 0.0
346}
347
348#####################
349# MC truth jet finder
350#####################
351
352module FastJetFinder GenJetFinder {
353 set InputArray Delphes/stableParticles
354
355 set OutputArray jets
356
357 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
358 set JetAlgorithm 6
359 set ParameterR 0.5
360
361 set JetPTMin 20.0
362}
363
364############
365# Jet finder
366############
367
368module FastJetFinder FastJetFinder {
369# set InputArray Calorimeter/towers
370 set InputArray EFlowMerger/eflow
371
372 set OutputArray jets
373
374 # area algorithm: 0 Do not compute area, 1 Active area explicit ghosts, 2 One ghost passive area, 3 Passive area, 4 Voronoi, 5 Active area
375 set AreaAlgorithm 5
376
377 # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
378 set JetAlgorithm 6
379 set ParameterR 0.5
380
381 set JetPTMin 20.0
382}
383
384###########################
385# Jet Pile-Up Subtraction
386###########################
387
388module JetPileUpSubtractor JetPileUpSubtractor {
389 set JetInputArray FastJetFinder/jets
390 set RhoInputArray Rho/rho
391
392 set OutputArray jets
393
394 set JetPTMin 20.0
395}
396
397##################
398# Jet Energy Scale
399##################
400
401module EnergyScale JetEnergyScale {
402 set InputArray JetPileUpSubtractor/jets
403 set OutputArray jets
404
405 # scale formula for jets
406 set ScaleFormula {1.0}
407}
408
409###################
410# Photon efficiency
411###################
412
413module Efficiency PhotonEfficiency {
414 set InputArray Calorimeter/photons
415 set OutputArray photons
416
417 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
418
419 # efficiency formula for photons
420 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
421 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
422 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
423 (abs(eta) > 2.5) * (0.00)}
424}
425
426##################
427# Photon isolation
428##################
429
430module Isolation PhotonIsolation {
431 set CandidateInputArray PhotonEfficiency/photons
432 set IsolationInputArray EFlowMerger/eflow
433 set RhoInputArray Rho/rho
434
435 set OutputArray photons
436
437 set DeltaRMax 0.5
438
439 set PTMin 0.5
440
441 set PTRatioMax 0.1
442}
443
444#####################
445# Electron efficiency
446#####################
447
448module Efficiency ElectronEfficiency {
449 set InputArray TrackPileUpSubtractor/electrons
450 set OutputArray electrons
451
452 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
453
454 # efficiency formula for electrons
455 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
456 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
457 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
458 (abs(eta) > 2.5) * (0.00)}
459}
460
461####################
462# Electron isolation
463####################
464
465module Isolation ElectronIsolation {
466 set CandidateInputArray ElectronEfficiency/electrons
467 set IsolationInputArray EFlowMerger/eflow
468 set RhoInputArray Rho/rho
469
470 set OutputArray electrons
471
472 set DeltaRMax 0.5
473
474 set PTMin 0.5
475
476 set PTRatioMax 0.1
477}
478
479#################
480# Muon efficiency
481#################
482
483module Efficiency MuonEfficiency {
484 set InputArray TrackPileUpSubtractor/muons
485 set OutputArray muons
486
487 # set EfficiencyFormula {efficiency as a function of eta and pt}
488
489 # efficiency formula for muons
490 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
491 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
492 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0) * (0.85) + \
493 (abs(eta) > 2.4) * (0.00)}
494}
495
496################
497# Muon isolation
498################
499
500module Isolation MuonIsolation {
501 set CandidateInputArray MuonEfficiency/muons
502 set IsolationInputArray EFlowMerger/eflow
503 set RhoInputArray Rho/rho
504
505 set OutputArray muons
506
507 set DeltaRMax 0.5
508
509 set PTMin 0.5
510
511 set PTRatioMax 0.1
512}
513
514###################
515# Missing ET merger
516###################
517
518module Merger MissingET {
519# add InputArray InputArray
520 add InputArray Calorimeter/eflowTracks
521 add InputArray Calorimeter/eflowTowers
522 set MomentumOutputArray momentum
523}
524
525##################
526# Scalar HT merger
527##################
528
529module Merger ScalarHT {
530# add InputArray InputArray
531 add InputArray UniqueObjectFinder/jets
532 add InputArray UniqueObjectFinder/electrons
533 add InputArray UniqueObjectFinder/photons
534 add InputArray UniqueObjectFinder/muons
535 set EnergyOutputArray energy
536}
537
538###########
539# b-tagging
540###########
541
542module BTagging BTagging {
543 set PartonInputArray Delphes/partons
544 set JetInputArray JetEnergyScale/jets
545
546 set BitNumber 0
547
548 set DeltaR 0.5
549
550 set PartonPTMin 1.0
551
552 set PartonEtaMax 2.5
553
554 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
555 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
556 # gluon's PDG code has the lowest priority
557
558 # https://twiki.cern.ch/twiki/bin/view/CMSPublic/PhysicsResultsBTV
559 # default efficiency formula (misidentification rate)
560 add EfficiencyFormula {0} {0.001}
561
562 # efficiency formula for c-jets (misidentification rate)
563 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) + \
564 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) + \
565 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) + \
566 (abs(eta) > 2.5) * (0.000)}
567
568 # efficiency formula for b-jets
569 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) + \
570 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) + \
571 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) + \
572 (abs(eta) > 2.5) * (0.000)}
573}
574
575module TauTagging TauTagging {
576 set ParticleInputArray Delphes/allParticles
577 set PartonInputArray Delphes/partons
578 set JetInputArray JetEnergyScale/jets
579
580 set DeltaR 0.5
581
582 set TauPTMin 1.0
583
584 set TauEtaMax 2.5
585
586 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
587
588 # default efficiency formula (misidentification rate)
589 add EfficiencyFormula {0} {0.001}
590 # efficiency formula for tau-jets
591 add EfficiencyFormula {15} {0.4}
592}
593
594#####################################################
595# Find uniquely identified photons/electrons/tau/jets
596#####################################################
597
598module UniqueObjectFinder UniqueObjectFinder {
599# earlier arrays take precedence over later ones
600# add InputArray InputArray OutputArray
601 add InputArray PhotonIsolation/photons photons
602 add InputArray ElectronIsolation/electrons electrons
603 add InputArray MuonIsolation/muons muons
604 add InputArray JetEnergyScale/jets jets
605}
606
607##################
608# ROOT tree writer
609##################
610
611module TreeWriter TreeWriter {
612# add Branch InputArray BranchName BranchClass
613 add Branch Delphes/allParticles Particle GenParticle
614 add Branch TrackMerger/tracks Track Track
615 add Branch Calorimeter/towers Tower Tower
616 add Branch Calorimeter/eflowTracks EFlowTrack Track
617 add Branch Calorimeter/eflowTowers EFlowTower Tower
618 add Branch GenJetFinder/jets GenJet Jet
619 add Branch UniqueObjectFinder/jets Jet Jet
620 add Branch UniqueObjectFinder/electrons Electron Electron
621 add Branch UniqueObjectFinder/photons Photon Photon
622 add Branch UniqueObjectFinder/muons Muon Muon
623 add Branch MissingET/momentum MissingET MissingET
624 add Branch ScalarHT/energy ScalarHT ScalarHT
625 add Branch Rho/rho Rho Rho
626}
627
Note: See TracBrowser for help on using the repository browser.