Fork me on GitHub

source: git/examples/delphes_card_CMS_PileUp.tcl@ e9065e7

ImprovedOutputFile Timing dual_readout llp
Last change on this file since e9065e7 was e9065e7, checked in by pavel <pavel@…>, 11 years ago

add eta ranges for rho

  • Property mode set to 100644
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
344 add RhoEtaRange 0.0 2.5
345 add RhoEtaRange 2.5 5.0
346
347 set JetPTMin 0.0
348}
349
350#####################
351# MC truth jet finder
352#####################
353
354module FastJetFinder GenJetFinder {
355 set InputArray Delphes/stableParticles
356
357 set OutputArray jets
358
359 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
360 set JetAlgorithm 6
361 set ParameterR 0.5
362
363 set JetPTMin 20.0
364}
365
366############
367# Jet finder
368############
369
370module FastJetFinder FastJetFinder {
371# set InputArray Calorimeter/towers
372 set InputArray EFlowMerger/eflow
373
374 set OutputArray jets
375
376 # 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
377 set AreaAlgorithm 5
378
379 # jet algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
380 set JetAlgorithm 6
381 set ParameterR 0.5
382
383 set JetPTMin 20.0
384}
385
386###########################
387# Jet Pile-Up Subtraction
388###########################
389
390module JetPileUpSubtractor JetPileUpSubtractor {
391 set JetInputArray FastJetFinder/jets
392 set RhoInputArray Rho/rho
393
394 set OutputArray jets
395
396 set JetPTMin 20.0
397}
398
399##################
400# Jet Energy Scale
401##################
402
403module EnergyScale JetEnergyScale {
404 set InputArray JetPileUpSubtractor/jets
405 set OutputArray jets
406
407 # scale formula for jets
408 set ScaleFormula {1.0}
409}
410
411###################
412# Photon efficiency
413###################
414
415module Efficiency PhotonEfficiency {
416 set InputArray Calorimeter/photons
417 set OutputArray photons
418
419 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
420
421 # efficiency formula for photons
422 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
423 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
424 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
425 (abs(eta) > 2.5) * (0.00)}
426}
427
428##################
429# Photon isolation
430##################
431
432module Isolation PhotonIsolation {
433 set CandidateInputArray PhotonEfficiency/photons
434 set IsolationInputArray EFlowMerger/eflow
435 set RhoInputArray Rho/rho
436
437 set OutputArray photons
438
439 set DeltaRMax 0.5
440
441 set PTMin 0.5
442
443 set PTRatioMax 0.1
444}
445
446#####################
447# Electron efficiency
448#####################
449
450module Efficiency ElectronEfficiency {
451 set InputArray TrackPileUpSubtractor/electrons
452 set OutputArray electrons
453
454 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
455
456 # efficiency formula for electrons
457 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
458 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
459 (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0) * (0.85) + \
460 (abs(eta) > 2.5) * (0.00)}
461}
462
463####################
464# Electron isolation
465####################
466
467module Isolation ElectronIsolation {
468 set CandidateInputArray ElectronEfficiency/electrons
469 set IsolationInputArray EFlowMerger/eflow
470 set RhoInputArray Rho/rho
471
472 set OutputArray electrons
473
474 set DeltaRMax 0.5
475
476 set PTMin 0.5
477
478 set PTRatioMax 0.1
479}
480
481#################
482# Muon efficiency
483#################
484
485module Efficiency MuonEfficiency {
486 set InputArray TrackPileUpSubtractor/muons
487 set OutputArray muons
488
489 # set EfficiencyFormula {efficiency as a function of eta and pt}
490
491 # efficiency formula for muons
492 set EfficiencyFormula { (pt <= 10.0) * (0.00) + \
493 (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
494 (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0) * (0.85) + \
495 (abs(eta) > 2.4) * (0.00)}
496}
497
498################
499# Muon isolation
500################
501
502module Isolation MuonIsolation {
503 set CandidateInputArray MuonEfficiency/muons
504 set IsolationInputArray EFlowMerger/eflow
505 set RhoInputArray Rho/rho
506
507 set OutputArray muons
508
509 set DeltaRMax 0.5
510
511 set PTMin 0.5
512
513 set PTRatioMax 0.1
514}
515
516###################
517# Missing ET merger
518###################
519
520module Merger MissingET {
521# add InputArray InputArray
522 add InputArray Calorimeter/eflowTracks
523 add InputArray Calorimeter/eflowTowers
524 set MomentumOutputArray momentum
525}
526
527##################
528# Scalar HT merger
529##################
530
531module Merger ScalarHT {
532# add InputArray InputArray
533 add InputArray UniqueObjectFinder/jets
534 add InputArray UniqueObjectFinder/electrons
535 add InputArray UniqueObjectFinder/photons
536 add InputArray UniqueObjectFinder/muons
537 set EnergyOutputArray energy
538}
539
540###########
541# b-tagging
542###########
543
544module BTagging BTagging {
545 set PartonInputArray Delphes/partons
546 set JetInputArray JetEnergyScale/jets
547
548 set BitNumber 0
549
550 set DeltaR 0.5
551
552 set PartonPTMin 1.0
553
554 set PartonEtaMax 2.5
555
556 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
557 # PDG code = the highest PDG code of a quark or gluon inside DeltaR cone around jet axis
558 # gluon's PDG code has the lowest priority
559
560 # https://twiki.cern.ch/twiki/bin/view/CMSPublic/PhysicsResultsBTV
561 # default efficiency formula (misidentification rate)
562 add EfficiencyFormula {0} {0.001}
563
564 # efficiency formula for c-jets (misidentification rate)
565 add EfficiencyFormula {4} { (pt <= 15.0) * (0.000) + \
566 (abs(eta) <= 1.2) * (pt > 15.0) * (0.2*tanh(pt*0.03 - 0.4)) + \
567 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.1*tanh(pt*0.03 - 0.4)) + \
568 (abs(eta) > 2.5) * (0.000)}
569
570 # efficiency formula for b-jets
571 add EfficiencyFormula {5} { (pt <= 15.0) * (0.000) + \
572 (abs(eta) <= 1.2) * (pt > 15.0) * (0.5*tanh(pt*0.03 - 0.4)) + \
573 (abs(eta) > 1.2 && abs(eta) <= 2.5) * (pt > 15.0) * (0.4*tanh(pt*0.03 - 0.4)) + \
574 (abs(eta) > 2.5) * (0.000)}
575}
576
577module TauTagging TauTagging {
578 set ParticleInputArray Delphes/allParticles
579 set PartonInputArray Delphes/partons
580 set JetInputArray JetEnergyScale/jets
581
582 set DeltaR 0.5
583
584 set TauPTMin 1.0
585
586 set TauEtaMax 2.5
587
588 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
589
590 # default efficiency formula (misidentification rate)
591 add EfficiencyFormula {0} {0.001}
592 # efficiency formula for tau-jets
593 add EfficiencyFormula {15} {0.4}
594}
595
596#####################################################
597# Find uniquely identified photons/electrons/tau/jets
598#####################################################
599
600module UniqueObjectFinder UniqueObjectFinder {
601# earlier arrays take precedence over later ones
602# add InputArray InputArray OutputArray
603 add InputArray PhotonIsolation/photons photons
604 add InputArray ElectronIsolation/electrons electrons
605 add InputArray MuonIsolation/muons muons
606 add InputArray JetEnergyScale/jets jets
607}
608
609##################
610# ROOT tree writer
611##################
612
613module TreeWriter TreeWriter {
614# add Branch InputArray BranchName BranchClass
615 add Branch Delphes/allParticles Particle GenParticle
616 add Branch TrackMerger/tracks Track Track
617 add Branch Calorimeter/towers Tower Tower
618 add Branch Calorimeter/eflowTracks EFlowTrack Track
619 add Branch Calorimeter/eflowTowers EFlowTower Tower
620 add Branch GenJetFinder/jets GenJet Jet
621 add Branch UniqueObjectFinder/jets Jet Jet
622 add Branch UniqueObjectFinder/electrons Electron Electron
623 add Branch UniqueObjectFinder/photons Photon Photon
624 add Branch UniqueObjectFinder/muons Muon Muon
625 add Branch MissingET/momentum MissingET MissingET
626 add Branch ScalarHT/energy ScalarHT ScalarHT
627 add Branch Rho/rho Rho Rho
628}
629
Note: See TracBrowser for help on using the repository browser.