Fork me on GitHub

source: git/cards/delphes_card_IDEAtrkCov.tcl@ 3e5f05c

ImprovedOutputFile
Last change on this file since 3e5f05c was 3e5f05c, checked in by michele <michele.selvaggi@…>, 5 years ago

updated IDA card with geometry in delphes card

  • Property mode set to 100644
File size: 15.7 KB
Line 
1#################################################################### l
2# FCC-ee IDEA detector model
3#
4# Authors: Elisa Fontanesi, Lorenzo Pezzotti, Massimiliano Antonello, Michele Selvaggi
5# email: efontane@bo.infn.it,
6# lorenzo.pezzotti01@universitadipavia.it,
7# m.antonello@uninsubria.it,
8# michele.selvaggi@cern.ch
9#####################################################################
10#
11#######################################
12# Order of execution of various modules
13#######################################
14
15set ExecutionPath {
16 ParticlePropagator
17
18 ChargedHadronTrackingEfficiency
19 ElectronTrackingEfficiency
20 MuonTrackingEfficiency
21
22 TrackMergerPre
23 TrackSmearing
24
25 TrackMerger
26 Calorimeter
27 EFlowMerger
28
29 PhotonEfficiency
30 PhotonIsolation
31
32 MuonFilter
33
34 ElectronFilter
35 ElectronEfficiency
36 ElectronIsolation
37
38 MuonEfficiency
39 MuonIsolation
40
41 MissingET
42
43 NeutrinoFilter
44 GenJetFinder
45 GenMissingET
46
47 FastJetFinder
48
49 JetEnergyScale
50
51 JetFlavorAssociation
52
53 BTagging
54 TauTagging
55
56 UniqueObjectFinder
57
58 ScalarHT
59 TreeWriter
60}
61
62
63#################################
64# Propagate particles in cylinder
65#################################
66
67module ParticlePropagator ParticlePropagator {
68 set InputArray Delphes/stableParticles
69
70 set OutputArray stableParticles
71 set ChargedHadronOutputArray chargedHadrons
72 set ElectronOutputArray electrons
73 set MuonOutputArray muons
74
75 # inner radius of the solenoid, in m
76 set Radius 2.25
77
78 # half-length: z of the solenoid, in m
79 set HalfLength 2.5
80
81 # magnetic field, in T
82 set Bz 2.0
83}
84
85####################################
86# Charged hadron tracking efficiency
87####################################
88
89module Efficiency ChargedHadronTrackingEfficiency {
90 set InputArray ParticlePropagator/chargedHadrons
91 set OutputArray chargedHadrons
92 # We use only one efficiency, we set only 0 effincency out of eta bounds:
93
94 set EfficiencyFormula {
95 (abs(eta) > 3.0) * (0.000) +
96 (energy >= 0.5) * (abs(eta) <= 3.0) * (0.997) +
97 (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0) * (0.65) +
98 (energy < 0.3) * (abs(eta) <= 3.0) * (0.06)
99 }
100}
101
102# (pt <= 0.1) * (0.00) +
103# (abs(eta) <= 3.0) * (pt > 0.1) * (1.00) +
104# (abs(eta) > 3) * (0.00)
105
106
107
108##############################
109# Electron tracking efficiency
110##############################
111
112module Efficiency ElectronTrackingEfficiency {
113 set InputArray ParticlePropagator/electrons
114 set OutputArray electrons
115
116
117 # Current full simulation with CLICdet provides for electrons:
118 set EfficiencyFormula {
119 (abs(eta) > 3.0) * (0.000) +
120 (energy >= 0.5) * (abs(eta) <= 3.0) * (0.997) +
121 (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0) * (0.65) +
122 (energy < 0.3) * (abs(eta) <= 3.0) * (0.06)
123 }
124}
125
126
127##########################
128# Muon tracking efficiency
129##########################
130
131module Efficiency MuonTrackingEfficiency {
132 set InputArray ParticlePropagator/muons
133 set OutputArray muons
134
135 # Current full simulation with CLICdet provides for muons:
136 set EfficiencyFormula {
137 (abs(eta) > 3.0) * (0.000) +
138 (energy >= 0.5) * (abs(eta) <= 3.0) * (0.997) +
139 (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0) * (0.65) +
140 (energy < 0.3) * (abs(eta) <= 3.0) * (0.06)
141 }
142}
143
144##############
145# Track merger
146##############
147
148module Merger TrackMergerPre {
149# add InputArray InputArray
150 add InputArray ChargedHadronTrackingEfficiency/chargedHadrons
151 add InputArray ElectronTrackingEfficiency/electrons
152 add InputArray MuonTrackingEfficiency/muons
153 set OutputArray tracks
154}
155
156
157########################################
158# Smearing for charged tracks
159########################################
160
161module TrackCovariance TrackSmearing {
162 set InputArray TrackMergerPre/tracks
163 set OutputArray tracks
164
165 ## uses https://raw.githubusercontent.com/selvaggi/FastTrackCovariance/master/GeoIDEA_BASE.txt
166 set DetectorGeometry {
167
168 1 PIPE -100 100 0.015 0.0012 0.35276 0 0 0 0 0 0
169 1 VTXLOW -0.12 0.12 0.017 0.00028 0.0937 2 0 1.5708 3e-006 3e-006 1
170
171 }
172
173 set Bz 2.0
174}
175
176
177##############
178# Track merger
179##############
180
181module Merger TrackMerger {
182# add InputArray InputArray
183 add InputArray TrackSmearing/tracks
184 set OutputArray tracks
185}
186
187
188#############
189# Calorimeter
190#############
191module DualReadoutCalorimeter Calorimeter {
192 set ParticleInputArray ParticlePropagator/stableParticles
193 set TrackInputArray TrackMerger/tracks
194
195 set TowerOutputArray towers
196 set PhotonOutputArray photons
197
198 set EFlowTrackOutputArray eflowTracks
199 set EFlowPhotonOutputArray eflowPhotons
200 set EFlowNeutralHadronOutputArray eflowNeutralHadrons
201
202 set ECalEnergyMin 0.5
203 set HCalEnergyMin 0.5
204 set EnergyMin 0.5
205 set ECalEnergySignificanceMin 1.0
206 set HCalEnergySignificanceMin 1.0
207 set EnergySignificanceMin 1.0
208
209 set SmearTowerCenter true
210 set pi [expr {acos(-1)}]
211
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 # Barrel: deta=0.02 towers up to |eta| <= 0.88 ( up to 45°)
216 # Endcaps: deta=0.02 towers up to |eta| <= 3.0 (8.6° = 100 mrad)
217 # Cell size: about 6 cm x 6 cm
218
219 #barrel:
220 set PhiBins {}
221 for {set i -120} {$i <= 120} {incr i} {
222 add PhiBins [expr {$i * $pi/120}]
223 }
224 #deta=0.02 units for |eta| <= 0.88
225 for {set i -44} {$i < 45} {incr i} {
226 set eta [expr {$i * 0.02}]
227 add EtaPhiBins $eta $PhiBins
228 }
229
230 #endcaps:
231 set PhiBins {}
232 for {set i -120} {$i <= 120} {incr i} {
233 add PhiBins [expr {$i* $pi/120}]
234 }
235 #deta=0.02 units for 0.88 < |eta| <= 3.0
236 #first, from -3.0 to -0.88
237 for {set i 1} {$i <=106} {incr i} {
238 set eta [expr {-3.00 + $i * 0.02}]
239 add EtaPhiBins $eta $PhiBins
240 }
241 #same for 0.88 to 3.0
242 for {set i 1} {$i <=106} {incr i} {
243 set eta [expr {0.88 + $i * 0.02}]
244 add EtaPhiBins $eta $PhiBins
245 }
246
247 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
248 add EnergyFraction {0} {0.0 1.0}
249 # energy fractions for e, gamma and pi0
250 add EnergyFraction {11} {1.0 0.0}
251 add EnergyFraction {22} {1.0 0.0}
252 add EnergyFraction {111} {1.0 0.0}
253 # energy fractions for muon, neutrinos and neutralinos
254 add EnergyFraction {12} {0.0 0.0}
255 add EnergyFraction {13} {0.0 0.0}
256 add EnergyFraction {14} {0.0 0.0}
257 add EnergyFraction {16} {0.0 0.0}
258 add EnergyFraction {1000022} {0.0 0.0}
259 add EnergyFraction {1000023} {0.0 0.0}
260 add EnergyFraction {1000025} {0.0 0.0}
261 add EnergyFraction {1000035} {0.0 0.0}
262 add EnergyFraction {1000045} {0.0 0.0}
263 # energy fractions for K0short and Lambda
264 add EnergyFraction {310} {0.3 0.7}
265 add EnergyFraction {3122} {0.3 0.7}
266
267
268 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
269 set ECalResolutionFormula {
270 (abs(eta) <= 0.88 ) * sqrt(energy^2*0.01^2 + energy*0.11^2)+
271 (abs(eta) > 0.88 && abs(eta) <= 3.0) * sqrt(energy^2*0.01^2 + energy*0.11^2)
272 }
273
274 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
275 set HCalResolutionFormula {
276 (abs(eta) <= 0.88 ) * sqrt(energy^2*0.01^2 + energy*0.30^2)+
277 (abs(eta) > 0.88 && abs(eta) <= 3.0) * sqrt(energy^2*0.01^2 + energy*0.30^2)
278 }
279}
280
281####################
282# Energy flow merger
283####################
284
285module Merger EFlowMerger {
286# add InputArray InputArray
287 add InputArray Calorimeter/eflowTracks
288 add InputArray Calorimeter/eflowPhotons
289 add InputArray Calorimeter/eflowNeutralHadrons
290 set OutputArray eflow
291}
292
293###################
294# Photon efficiency
295###################
296
297module Efficiency PhotonEfficiency {
298 set InputArray Calorimeter/eflowPhotons
299 set OutputArray photons
300
301 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
302 # efficiency formula for photons
303 set EfficiencyFormula {
304 (energy < 2.0) * (0.000)+
305 (energy >= 2.0) * (abs(eta) <= 0.88) * (0.99) +
306 (energy >= 2.0) * (abs(eta) >0.88 && abs(eta) <= 3.0) * (0.99) +
307 (abs(eta) > 3.0) * (0.000)
308 }
309}
310
311##################
312# Photon isolation
313##################
314
315module Isolation PhotonIsolation {
316 set CandidateInputArray PhotonEfficiency/photons
317 set IsolationInputArray EFlowMerger/eflow
318
319 set OutputArray photons
320
321 set DeltaRMax 0.5
322
323 set PTMin 0.5
324
325 set PTRatioMax 999.
326}
327
328#################
329# Electron filter
330#################
331
332module PdgCodeFilter ElectronFilter {
333 set InputArray Calorimeter/eflowTracks
334 set OutputArray electrons
335 set Invert true
336 add PdgCode {11}
337 add PdgCode {-11}
338}
339
340#################
341# Muon filter
342#################
343
344module PdgCodeFilter MuonFilter {
345 set InputArray Calorimeter/eflowTracks
346 set OutputArray muons
347 set Invert true
348 add PdgCode {13}
349 add PdgCode {-13}
350}
351
352
353#####################
354# Electron efficiency
355#####################
356
357module Efficiency ElectronEfficiency {
358 set InputArray ElectronFilter/electrons
359 set OutputArray electrons
360
361 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
362
363 # efficiency formula for electrons
364 set EfficiencyFormula {
365 (energy < 2.0) * (0.000)+
366 (energy >= 2.0) * (abs(eta) <= 0.88) * (0.99) +
367 (energy >= 2.0) * (abs(eta) >0.88 && abs(eta) <= 3.0) * (0.99) +
368 (abs(eta) > 3.0) * (0.000)
369 }
370}
371
372####################
373# Electron isolation
374####################
375
376module Isolation ElectronIsolation {
377 set CandidateInputArray ElectronEfficiency/electrons
378 set IsolationInputArray EFlowMerger/eflow
379
380 set OutputArray electrons
381
382 set DeltaRMax 0.5
383
384 set PTMin 0.5
385
386 set PTRatioMax 0.12
387}
388
389#################
390# Muon efficiency
391#################
392
393module Efficiency MuonEfficiency {
394 set InputArray MuonFilter/muons
395 set OutputArray muons
396
397 # set EfficiencyFormula {efficiency as a function of eta and pt}
398
399 # efficiency formula for muons
400 set EfficiencyFormula {
401 (energy < 2.0) * (0.000)+
402 (energy >= 2.0) * (abs(eta) <= 0.88) * (0.99) +
403 (energy >= 2.0) * (abs(eta) >0.88 && abs(eta) <= 3.0) * (0.99) +
404 (abs(eta) > 3.0) * (0.000)
405 }
406}
407
408################
409# Muon isolation
410################
411
412module Isolation MuonIsolation {
413 set CandidateInputArray MuonEfficiency/muons
414 set IsolationInputArray EFlowMerger/eflow
415
416 set OutputArray muons
417
418 set DeltaRMax 0.5
419
420 set PTMin 0.5
421
422 set PTRatioMax 0.25
423}
424
425###################
426# Missing ET merger
427###################
428
429module Merger MissingET {
430# add InputArray InputArray
431 add InputArray EFlowMerger/eflow
432 set MomentumOutputArray momentum
433}
434
435##################
436# Scalar HT merger
437##################
438
439module Merger ScalarHT {
440# add InputArray InputArray
441 add InputArray UniqueObjectFinder/jets
442 add InputArray UniqueObjectFinder/electrons
443 add InputArray UniqueObjectFinder/photons
444 add InputArray UniqueObjectFinder/muons
445 set EnergyOutputArray energy
446}
447
448#####################
449# Neutrino Filter
450#####################
451
452module PdgCodeFilter NeutrinoFilter {
453
454 set InputArray Delphes/stableParticles
455 set OutputArray filteredParticles
456
457 set PTMin 0.0
458
459 add PdgCode {12}
460 add PdgCode {14}
461 add PdgCode {16}
462 add PdgCode {-12}
463 add PdgCode {-14}
464 add PdgCode {-16}
465}
466
467
468#####################
469# MC truth jet finder
470#####################
471
472module FastJetFinder GenJetFinder {
473 set InputArray NeutrinoFilter/filteredParticles
474
475 set OutputArray jets
476
477 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
478 set JetAlgorithm 6
479 set ParameterR 0.4
480 set JetPTMin 1.0
481}
482
483
484#########################
485# Gen Missing ET merger
486########################
487
488module Merger GenMissingET {
489# add InputArray InputArray
490 add InputArray NeutrinoFilter/filteredParticles
491 set MomentumOutputArray momentum
492}
493
494############
495# Jet finder
496############
497
498module FastJetFinder FastJetFinder {
499# set InputArray Calorimeter/towers
500 set InputArray EFlowMerger/eflow
501
502 set OutputArray jets
503
504 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
505 set JetAlgorithm 6
506 set ParameterR 0.4
507 set JetPTMin 1.0
508}
509
510##################
511# Jet Energy Scale
512##################
513
514module EnergyScale JetEnergyScale {
515 set InputArray FastJetFinder/jets
516 set OutputArray jets
517
518 # scale formula for jets
519 set ScaleFormula {1.08}
520}
521
522########################
523# Jet Flavor Association
524########################
525
526module JetFlavorAssociation JetFlavorAssociation {
527
528 set PartonInputArray Delphes/partons
529 set ParticleInputArray Delphes/allParticles
530 set ParticleLHEFInputArray Delphes/allParticlesLHEF
531 set JetInputArray JetEnergyScale/jets
532
533 set DeltaR 0.5
534 set PartonPTMin 1.0
535 set PartonEtaMax 3.0
536}
537
538###########
539# b-tagging
540###########
541
542module BTagging BTagging {
543 set JetInputArray JetEnergyScale/jets
544
545 set BitNumber 0
546
547 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
548
549 # default efficiency formula (misidentification rate)
550 add EfficiencyFormula {0} {0.01}
551
552 # efficiency formula for c-jets (misidentification rate)
553 add EfficiencyFormula {4} {0.10}
554
555 # efficiency formula for b-jets
556 add EfficiencyFormula {5} {0.80}
557}
558
559#############
560# tau-tagging
561#############
562
563module TauTagging TauTagging {
564 set ParticleInputArray Delphes/allParticles
565 set PartonInputArray Delphes/partons
566 set JetInputArray JetEnergyScale/jets
567
568 set DeltaR 0.5
569 set TauPTMin 1.0
570 set TauEtaMax 3.0
571
572 # default efficiency formula (misidentification rate)
573 add EfficiencyFormula {0} {0.001}
574 # efficiency formula for tau-jets
575 add EfficiencyFormula {15} {0.6}
576}
577
578
579#####################################################
580# Find uniquely identified photons/electrons/tau/jets
581#####################################################
582
583module UniqueObjectFinder UniqueObjectFinder {
584# earlier arrays take precedence over later ones
585# add InputArray InputArray OutputArray
586 add InputArray PhotonIsolation/photons photons
587 add InputArray ElectronIsolation/electrons electrons
588 add InputArray MuonIsolation/muons muons
589 add InputArray JetEnergyScale/jets jets
590}
591
592
593
594##################
595# ROOT tree writer
596##################
597
598# Tracks, towers and eflow objects are not stored by default in the output.
599# If needed (for jet constituent or other studies), uncomment the relevant
600# "add Branch ..." lines.
601
602module TreeWriter TreeWriter {
603 # add Branch InputArray BranchName BranchClass
604
605 add Branch Delphes/allParticles Particle GenParticle
606
607 add Branch TrackMerger/tracks Track Track
608 add Branch Calorimeter/towers Tower Tower
609
610 add Branch Calorimeter/eflowTracks EFlowTrack Track
611 add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
612 add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
613
614 add Branch Calorimeter/photons CaloPhoton Photon
615 add Branch PhotonEfficiency/photons PhotonEff Photon
616 add Branch PhotonIsolation/photons PhotonIso Photon
617
618 add Branch GenJetFinder/jets GenJet Jet
619 add Branch GenMissingET/momentum GenMissingET MissingET
620
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
626 add Branch JetEnergyScale/jets AntiKtJet Jet
627
628 add Branch MissingET/momentum MissingET MissingET
629 add Branch ScalarHT/energy ScalarHT ScalarHT
630}
Note: See TracBrowser for help on using the repository browser.