Fork me on GitHub

source: git/cards/delphes_card_LHCb.tcl@ 914fb04

ImprovedOutputFile Timing dual_readout llp
Last change on this file since 914fb04 was fa7f333, checked in by Michele Selvaggi <michele.selvaggi@…>, 9 years ago

fixed eflow at high pt

  • Property mode set to 100644
File size: 12.2 KB
RevLine 
[57e42c6]1#set MaxEvents 1000
2#set RandomSeed 123
[e2a76ae]3
4
5#######################################
6# Order of execution of various modules
7#######################################
8
9set ExecutionPath {
[ff37d75]10
11 PhotonConversions
[e2a76ae]12 ParticlePropagator
[a2983ec]13
[e2a76ae]14 ChargedHadronMomentumSmearing
15 ElectronEnergySmearing
16 MuonMomentumSmearing
17
18 TrackMerger
[66b590f]19 ImpactParameterSmearing
[a2983ec]20
[e2a76ae]21 IdentificationMap
[a2983ec]22
[8624f58]23 ECal
24 HCal
[e2a76ae]25
26 TreeWriter
27}
28
29
30
[ff37d75]31#####################
32# Photon Conversions
33#####################
34
35module PhotonConversions PhotonConversions {
36 set InputArray Delphes/stableParticles
37
38 set OutputArray stableParticles
39
40 # radius of the magnetic field coverage, in m
41
42 set Radius 3.31
43
44 set HalfLength 12.0
45
46 set EtaMin 2.0
47 set EtaMax 5.0
48
49
50 # material budget map: (uniform for now)
51 # distribution of the detector mass ( density / X0), can be thought as
52 # conversion rate per meter function of r,phi,z
53
54
55 # unit: m-1
56
57 set Step 0.05
58
59 set ConversionMap { (abs(z) > 0.0 && abs(z) < 12.0 ) * (0.07) +
60 (abs(z) > 0.0) * (0.00) +
61 (abs(z) < 0.0) * (0.00)
62 }
63
64}
65
66
67
[e2a76ae]68#################################
69# Propagate particles in cylinder
70#################################
71
72module ParticlePropagator ParticlePropagator {
[ff37d75]73 set InputArray PhotonConversions/stableParticles
[e2a76ae]74
75 set OutputArray stableParticles
76 set ChargedHadronOutputArray chargedHadrons
77 set ElectronOutputArray electrons
78 set MuonOutputArray muons
79
80 # radius of the magnetic field coverage, in m
[a2983ec]81
[e2a76ae]82 set Radius 3.31
[a2983ec]83
84
[e2a76ae]85 # half-length of the magnetic field coverage, in m
86 set HalfLength 12.0
87
88 # magnetic field
89 set Bz 1.1
90
91 # Need to veto anything with theta > 0.269 rad -> eta = 2
92 # theta < 0.0135 rad -> eta = 5
[a2983ec]93
94 # tracker and calos are at approx 0.269 rad, R = 12*tan(0.269)
[e2a76ae]95
96}
97
[a2983ec]98
[e2a76ae]99########################################
100# Momentum resolution for charged tracks
101########################################
102
103module MomentumSmearing ChargedHadronMomentumSmearing {
104 set InputArray ParticlePropagator/chargedHadrons
105 set OutputArray chargedHadrons
106
107 # set ResolutionFormula {resolution formula as a function of eta and pt}
108
109 # resolution formula for charged hadrons
110 set ResolutionFormula {(eta > 2.0 && eta <= 5.0) * (pt > 0.5) * (0.005)}
111}
112
113#################################
114# Energy resolution for electrons
115#################################
116
117module EnergySmearing ElectronEnergySmearing {
118 set InputArray ParticlePropagator/electrons
119 set OutputArray electrons
120
121 # set ResolutionFormula {resolution formula as a function of eta and energy}
122
123 # resolution formula for electrons
[a2983ec]124 set ResolutionFormula { (eta > 2.0 && eta <= 5.0) * (energy > 0.1 && energy <= 8.0) * (energy*0.05) +
[e2a76ae]125 (eta > 2.0 && eta <= 5.0) * (energy > 8.0) * sqrt(energy^2*0.015^2 + energy*0.10^2)}
126 }
127
128###############################
129# Momentum resolution for muons
130###############################
131
132module MomentumSmearing MuonMomentumSmearing {
133 set InputArray ParticlePropagator/muons
134 set OutputArray muons
135
136 # resolution formula for muons
137 set ResolutionFormula {(eta > 2.0 && eta <= 5.0) * (pt > 0.5)* (0.005)}
138}
139
140
141##############
142# Track merger
143##############
144
145module Merger TrackMerger {
146# add InputArray InputArray
147 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
148 add InputArray ElectronEnergySmearing/electrons
149 add InputArray MuonMomentumSmearing/muons
150 set OutputArray tracks
151}
152
153
[66b590f]154
155################################
156# Track impact parameter smearing
157################################
158
159module ImpactParameterSmearing ImpactParameterSmearing {
160 set InputArray TrackMerger/tracks
161 set OutputArray tracks
162
163
164# absolute impact parameter smearing formula (in mm) as a function of pt and eta
165set ResolutionFormula {0.0116 + 0.0234/pt}
166
167}
168
169###### ref. JINST 9 C01065 #############
170
171
[e2a76ae]172####################################
173# Charged hadron PID
174####################################
175
176module IdentificationMap IdentificationMap {
[66b590f]177 set InputArray ImpactParameterSmearing/tracks
[e2a76ae]178 set OutputArray tracks
[a2983ec]179
[e2a76ae]180 # {PID in} {PID out} {formula}
181 # make sure "PID in" and "PID out" have the same charge (e.g {-13} {211} or {-321} {211})
182 # {211} {-13} is equivalent to {-211} {13} (and needs to be written once only...)
[a2983ec]183
184
185
186
187
188
189 # --- pions ---
190
191 add EfficiencyFormula {211} {211} { (eta <= 2.0) * (0.00) +
192 (eta > 2.0 && eta <= 5.0) * (pt < 0.8) * (0.00) +
193 (eta > 2.0 && eta <= 5.0) * (pt >= 0.8)* (0.95) +
[e2a76ae]194 (eta > 5.0) * (0.00)}
[a2983ec]195
196 add EfficiencyFormula {211} {-13} { (eta <= 2.0) * (0.00) +
197 (eta > 2.0 && eta <= 5.0) * (pt < 0.8) * (0.00) +
198 (eta > 2.0 && eta <= 5.0) * (pt >= 0.8)* (0.005 + 0.0663*exp(-0.13*pt*cosh(eta))) +
[e2a76ae]199 (eta > 5.0) * (0.00)}
200
[a2983ec]201
[e2a76ae]202 # --- kaons ---
[a2983ec]203
204
205 add EfficiencyFormula {321} {321} { (eta <= 2.0) * (0.00) +
206 (eta > 2.0 && eta <= 5.0) * (pt < 0.8) * (0.00) +
207 (eta > 2.0 && eta <= 5.0) * (pt >= 0.8)* (0.95) +
[e2a76ae]208 (eta > 5.0) * (0.00)}
[a2983ec]209
210 add EfficiencyFormula {321} {-13} { (eta <= 2.0) * (0.00) +
211 (eta > 2.0 && eta <= 5.0) * (pt < 0.8) * (0.00) +
212 (eta > 2.0 && eta <= 5.0) * (pt >= 0.8)* (0.005 + 0.086*exp(-0.11*pt*cosh(eta))) +
[e2a76ae]213 (eta > 5.0) * (0.00)}
214
215
216 # --- protons ---
[a2983ec]217
218
219 add EfficiencyFormula {2212} {2212} { (eta <= 2.0) * (0.00) +
220 (eta > 2.0 && eta <= 5.0) * (pt < 0.8) * (0.00) +
221 (eta > 2.0 && eta <= 5.0) * (pt >= 0.8)* (0.95) +
[e2a76ae]222 (eta > 5.0) * (0.00)}
[a2983ec]223
224 add EfficiencyFormula {2212} {-13} { (eta <= 2.0) * (0.00) +
225 (eta > 2.0 && eta <= 5.0) * (pt < 0.8) * (0.00) +
226 (eta > 2.0 && eta <= 5.0) * (pt >= 0.8)* (0.002) +
[e2a76ae]227 (eta > 5.0) * (0.00)}
228
229
230
231 # --- muons ---
232
233
234
[a2983ec]235 add EfficiencyFormula {-13} {-13} { (eta <= 2.0) * (0.00) +
236 (eta > 2.0 && eta <= 5.0) * (pt < 0.8)* (0.00) +
237 (eta > 2.0 && eta <= 5.0) * (pt >= 0.8)* (0.97) +
[e2a76ae]238 (eta > 5.0) * (0.00)}
239
[ff37d75]240# --- electrons ---
241
242
243
244 add EfficiencyFormula {-11} {-11} { (eta <= 2.0) * (0.00) +
245 (eta > 2.0 && eta <= 5.0) * (pt < 0.6)* (0.97) +
246 (eta > 2.0 && eta <= 5.0) * (pt >= 0.6)* (0.97) +
247 (eta > 5.0) * (0.00)}
248
249
[a2983ec]250
[e2a76ae]251 # efficiency for other charged particles (should be always {0} {0} {formula})
[a2983ec]252
253 add EfficiencyFormula {0} {0} { (eta <= 2.0) * (0.00) +
254 (eta > 2.0 && eta <= 5.0) * (pt < 0.8) * (0.00) +
255 (eta > 2.0 && eta <= 5.0) * (pt > 0.8) * (0.95) +
[e2a76ae]256 (eta > 5.0) * (0.00)}
257
258}
259
260###### ref. JINST 8 P10020 #############
261
262
263#############
264# ECAL
265#############
266
[8624f58]267module SimpleCalorimeter ECal {
[e2a76ae]268 set ParticleInputArray ParticlePropagator/stableParticles
269 set TrackInputArray IdentificationMap/tracks
270
271 set TowerOutputArray ecalTowers
[fa7f333]272 set EFlowTrackOutputArray eflowTracks
[e2a76ae]273 set EFlowTowerOutputArray eflowPhotons
[a2983ec]274
[fc6300d]275 set IsEcal true
276
[a2983ec]277 set EnergyMin 0.0
278 set EnergySignificanceMin 0.0
279
280 set SmearTowerCenter true
281
[e2a76ae]282 set pi [expr {acos(-1)}]
283
284 # lists of the edges of each tower in eta and phi
285 # each list starts with the lower edge of the first tower
286 # the list ends with the higher edged of the last tower
287
288 # 1 degree towers
289 set PhiBins {}
290 for {set i -180} {$i <= 180} {incr i} {
291 add PhiBins [expr {$i * $pi/180.0}]
292 }
293
294 # 0.02 unit in eta from eta = 3.2 to eta = 5.0
295 for {set i 1} {$i <= 90} {incr i} {
296 set eta [expr {3.2 + $i * 0.02}]
297 add EtaPhiBins $eta $PhiBins
298 }
[a2983ec]299
[e2a76ae]300 # 1.25 degree towers
301 set PhiBins {}
302 for {set i -135} {$i <= 135} {incr i} {
303 add PhiBins [expr {$i * $pi/135.0}]
304 }
305
306 # 0.025 unit in eta from eta = 2.6 to eta = 3.2
307 for {set i 1} {$i <= 24} {incr i} {
308 set eta [expr {2.6 + $i * 0.025}]
309 add EtaPhiBins $eta $PhiBins
310 }
311
312 # 1.25 degree towers
313 set PhiBins {}
314 for {set i -100} {$i <= 100} {incr i} {
315 add PhiBins [expr {$i * $pi/100.0}]
316 }
317
318 # 0.04 unit in eta from eta = 2.0 to eta = 2.6
319 for {set i 0} {$i <= 24} {incr i} {
320 set eta [expr {2.0 + $i * 0.04}]
321 add EtaPhiBins $eta $PhiBins
322 }
323
324 add EnergyFraction {0} {0.0}
325 # energy fractions for e, gamma and pi0
326 add EnergyFraction {11} {1.0}
327 add EnergyFraction {22} {1.0}
328 add EnergyFraction {111} {1.0}
329 # energy fractions for muon, neutrinos and neutralinos
330 add EnergyFraction {12} {0.0}
331 add EnergyFraction {13} {0.0}
332 add EnergyFraction {14} {0.0}
333 add EnergyFraction {16} {0.0}
334 add EnergyFraction {1000022} {0.0}
335 add EnergyFraction {1000023} {0.0}
336 add EnergyFraction {1000025} {0.0}
337 add EnergyFraction {1000035} {0.0}
338 add EnergyFraction {1000045} {0.0}
339 # energy fractions for K0short and Lambda
340 add EnergyFraction {310} {0.3}
341 add EnergyFraction {3122} {0.3}
342
[a2983ec]343 set ResolutionFormula {(eta <= 5.0 && eta > 2.0) * sqrt(energy^2*0.015^2 + energy*0.10^2)}
[e2a76ae]344}
345
346#############
347# HCAL
348#############
349
[8624f58]350module SimpleCalorimeter HCal {
[e2a76ae]351 set ParticleInputArray ParticlePropagator/stableParticles
[fa7f333]352 set TrackInputArray ECal/eflowTracks
[e2a76ae]353
354 set TowerOutputArray hcalTowers
[fa7f333]355 set EFlowTrackOutputArray eflowTracks
[e2a76ae]356 set EFlowTowerOutputArray eflowNeutralHadrons
[a2983ec]357
[fc6300d]358 set IsEcal false
359
[a2983ec]360 set EnergyMin 0.0
361 set EnergySignificanceMin 0.0
362
363 set SmearTowerCenter true
364
[e2a76ae]365 set pi [expr {acos(-1)}]
366
367 # lists of the edges of each tower in eta and phi
368 # each list starts with the lower edge of the first tower
369 # the list ends with the higher edged of the last tower
370
371 # 1 degree towers
372 set PhiBins {}
373 for {set i -16} {$i <= 16} {incr i} {
374 add PhiBins [expr {$i * $pi/16.0}]
375 }
376
377 # 0.20 unit in eta from eta = 2.6 to eta = 5.0
378 for {set i 1} {$i <= 12} {incr i} {
379 set eta [expr {2.6 + $i * 0.2}]
380 add EtaPhiBins $eta $PhiBins
381 }
382
383 # 1 degree towers
384 set PhiBins {}
385 for {set i -32} {$i <= 32} {incr i} {
386 add PhiBins [expr {$i * $pi/32.0}]
387 }
388
389 # 0.1 unit in eta from eta = 2 to eta = 2.6
390 for {set i 0} {$i <= 6} {incr i} {
391 set eta [expr {2.0 + $i * 0.1}]
392 add EtaPhiBins $eta $PhiBins
393 }
394
395
[a2983ec]396
[e2a76ae]397 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
398 add EnergyFraction {0} {1.0}
399 # energy fractions for e, gamma and pi0
400 add EnergyFraction {11} {0.0}
401 add EnergyFraction {22} {0.0}
402 add EnergyFraction {111} {0.0}
403 # energy fractions for muon, neutrinos and neutralinos
404 add EnergyFraction {12} {0.0}
405 add EnergyFraction {13} {0.0}
406 add EnergyFraction {14} {0.0}
407 add EnergyFraction {16} {0.0}
408 add EnergyFraction {1000022} {0.0}
409 add EnergyFraction {1000023} {0.0}
410 add EnergyFraction {1000025} {0.0}
411 add EnergyFraction {1000035} {0.0}
412 add EnergyFraction {1000045} {0.0}
413 # energy fractions for K0short and Lambda
414 add EnergyFraction {310} {0.7}
415 add EnergyFraction {3122} {0.7}
416
417 set ResolutionFormula { (eta <= 5.0 && eta > 2.0) * sqrt(energy^2*0.05^2 + energy*0.80^2)}
[a2983ec]418}
[e2a76ae]419
420
421##################
422# ROOT tree writer
423##################
424
425# tracks, towers and eflow objects are not stored by default in the output.
[a2983ec]426# if needed (for jet constituent or other studies), uncomment the relevant
427# "add Branch ..." lines.
[e2a76ae]428
429module TreeWriter TreeWriter {
430# add Branch InputArray BranchName BranchClass
[a2983ec]431
[e2a76ae]432 add Branch Delphes/allParticles Particle GenParticle
433
434 add Branch IdentificationMap/tracks Track Track
[8624f58]435 add Branch HCal/eflowNeutralHadrons NeutralHadron Tower
436 add Branch ECal/eflowPhotons Photon Photon
[a2983ec]437
[e2a76ae]438}
439
Note: See TracBrowser for help on using the repository browser.