Fork me on GitHub

source: git/cards/FCC/FCChh_PileUpVtx.tcl@ e70228d

Timing
Last change on this file since e70228d was e70228d, checked in by Kaan Yüksel Oyulmaz <kaanyukseloyulmaz@…>, 5 years ago

fixing merge conflicts

  • Property mode set to 100644
File size: 27.3 KB
Line 
1#
2# Official Delphes card prepared by FCC-hh collaboration
3#
4# Main authors: Michele Selvaggi (CERN)
5#
6# Released on: Dec. 1st, 2017
7#
8# Configuration: FCC-hh baseline detector
9#
10#######################################
11# Order of execution of various modules
12#######################################
13
14set MaxEvents 1000
15set RandomSeed 123
16
17set ExecutionPath {
18
19 PileUpMerger
20 ParticlePropagator
21
22 ChargedHadronTrackingEfficiency
23 ElectronTrackingEfficiency
24 MuonTrackingEfficiency
25
26 ChargedHadronMomentumSmearing
27 ElectronMomentumSmearing
28 MuonMomentumSmearing
29
30 EnergyLoss
31
32 TrackMerger
33
34
35 TrackSmearing
36 TimeSmearing
37
38 ECal
39 HCal
40
41 Calorimeter
42 EFlowMerger
43 EFlowFilter
44
45 TimeSmearingMIP
46 TimeSmearingPhotons
47 TimeSmearingNH
48
49 VertexFinderDA4D
50 TrackTimingPileUpSubtractor
51
52 HighMassVertexRecover
53
54 PhotonEfficiency
55 PhotonIsolation
56
57 ElectronFilter
58 ElectronIsolation
59
60 ChargedHadronFilter
61
62 MuonIsolation
63
64 NeutrinoFilter
65
66 MissingET
67 GenMissingET
68
69 GenJetFinder04
70 FastJetFinder04
71 CaloJetFinder04
72 TrackJetFinder04
73
74 JetEnergyScale
75
76 JetFlavorAssociation
77
78 BTagging
79 CTagging
80 TauTagging
81
82 ScalarHT
83
84 UniqueObjectFinder
85
86 TreeWriter
87}
88
89###############
90# PileUp Merger
91###############
92
93module PileUpMerger PileUpMerger {
94 set InputArray Delphes/stableParticles
95
96 set ParticleOutputArray stableParticles
97 set VertexOutputArray vertices
98
99 # pre-generated minbias input file
100 set PileUpFile MinBias.pileup
101
102 # average expected pile up
103 set MeanPileUp 10
104
105 # 0-poisson, 1-uniform, 2-delta
106 set PileUpDistribution 2
107
108 # maximum spread in the beam direction in m
109 set ZVertexSpread 0.25
110
111 # maximum spread in time in s
112 set TVertexSpread 800E-12
113
114 # vertex smearing formula f(z,t) (z,t need to be respectively given in m,s)
115
116 #set VertexDistributionFormula {exp(-(t^2/(2*(0.063/2.99792458E8*exp(-(z^2/(2*(0.063)^2))))^2)))}
117 set VertexDistributionFormula {exp(-(t^2/160e-12^2/2))*exp(-(z^2/0.053^2/2))}
118
119 # taking 5.3 cm x 160 ps
120
121 #set VertexDistributionFormula { (abs(t) <= 160e-12) * (abs(z) <= 0.053) * (1.00) +
122 # (abs(t) > 160e-12) * (abs(z) <= 0.053) * (0.00) +
123 # (abs(t) <= 160e-12) * (abs(z) > 0.053) * (0.00) +
124 # (abs(t) > 160e-12) * (abs(z) > 0.053) * (0.00)}
125
126}
127
128#################################
129# Propagate particles in cylinder
130#################################
131
132module ParticlePropagator ParticlePropagator {
133 set InputArray PileUpMerger/stableParticles
134 set OutputArray stableParticles
135 set ChargedHadronOutputArray chargedHadrons
136 set ElectronOutputArray electrons
137 set MuonOutputArray muons
138
139 # radius of the magnetic field coverage, in m
140 set Radius 1.5
141 # half-length of the magnetic field coverage, in m
142 set HalfLength 5
143
144 # magnetic field
145 set Bz 4.0
146}
147
148
149####################################
150# Charged hadron tracking efficiency
151####################################
152
153module Efficiency ChargedHadronTrackingEfficiency {
154 set InputArray ParticlePropagator/chargedHadrons
155 set OutputArray chargedHadrons
156
157 # TBC (which eta_max ? which pT min?)
158
159 # tracking efficiency formula for charged hadrons
160
161 set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
162(abs(eta) <= 2.5) * (pt > 0.5 && pt <= 1) * (0.90) + \
163(abs(eta) <= 2.5) * (pt > 1) * (0.95) + \
164(abs(eta) > 2.5 && abs(eta) <= 4) * (pt > 0.5 && pt <= 1) * (0.85) + \
165(abs(eta) > 2.5 && abs(eta) <= 4) * (pt > 1) * (0.90) + \
166(abs(eta) > 4 && abs(eta) <= 6) * (pt > 0.5 && pt <= 1) * (0.80) + \
167(abs(eta) > 4 && abs(eta) <= 6) * (pt > 1.0) * (0.85) + \
168(abs(eta) > 6.0) * (0.00)}
169
170}
171
172##############################
173# Electron tracking efficiency
174##############################
175
176module Efficiency ElectronTrackingEfficiency {
177 set InputArray ParticlePropagator/electrons
178 set OutputArray electrons
179
180# TBC (which eta_max ?)
181# putting same as charged hadrons for now...
182
183 set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
184 (abs(eta) <= 2.5) * (pt > 0.5 && pt <= 1) * (0.90) + \
185 (abs(eta) <= 2.5) * (pt > 1) * (0.95) + \
186 (abs(eta) > 2.5 && abs(eta) <= 4) * (pt > 0.5 && pt <= 1) * (0.85) + \
187 (abs(eta) > 2.5 && abs(eta) <= 4) * (pt > 1) * (0.90) + \
188 (abs(eta) > 4 && abs(eta) <= 6) * (pt > 0.5 && pt <= 1) * (0.80) + \
189 (abs(eta) > 4 && abs(eta) <= 6) * (pt > 1.0) * (0.85) + \
190 (abs(eta) > 6.0) * (0.00)}
191
192}
193
194##########################
195# Muon tracking efficiency
196##########################
197
198module Efficiency MuonTrackingEfficiency {
199 set InputArray ParticlePropagator/muons
200 set OutputArray muons
201
202# TBC (which eta_max ? why eff = 0 for 4 < eta < 6 ? for now put the same as central)
203# what about high pT ?
204 # tracking efficiency formula for muons
205 set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
206 (abs(eta) <= 6.0) * (pt > 0.5 && pt <= 1) * (0.90) + \
207 (abs(eta) <= 6.0) * (pt > 1) * (0.99) + \
208 (abs(eta) > 6.0) * (0.00)}
209
210}
211
212########################################
213# Momentum resolution for charged tracks
214########################################
215
216module MomentumSmearing ChargedHadronMomentumSmearing {
217 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
218 set OutputArray chargedHadrons
219
220 source momentumResolutionVsP.tcl
221}
222
223
224###################################
225# Momentum resolution for electrons
226###################################
227
228module MomentumSmearing ElectronMomentumSmearing {
229 set InputArray ElectronTrackingEfficiency/electrons
230 set OutputArray electrons
231
232 source momentumResolutionVsP.tcl
233}
234
235
236###############################
237# Momentum resolution for muons
238###############################
239
240module MomentumSmearing MuonMomentumSmearing {
241 set InputArray MuonTrackingEfficiency/muons
242 set OutputArray muons
243
244 # TBC for just putting tracker resolution/ need to add improvement at high pT
245
246 source muonMomentumResolutionVsP.tcl
247}
248
249#################################
250# Charged Energy Loss (dE/dx)
251#################################
252
253module EnergyLoss EnergyLoss {
254 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
255 add InputArray ElectronMomentumSmearing/electrons
256 add InputArray MuonMomentumSmearing/muons
257
258 set ActiveFraction 0.013
259 set ChargeCollectionEfficiency 0.75
260
261 # fixme: this number should probably be charge/energy dependent, or absolute number in MeV/cm?
262 set Resolution 0.15
263
264 # active material properties (cf. http://pdg.lbl.gov/2014/AtomicNuclearProperties/properties8.dat)
265 set Z 14.
266 set A 28.0855
267 set rho 2.329
268
269 # material polarisation correction parameters
270 set a 0.1492
271 set m 3.2546
272 set x0 0.2015
273 set x1 2.8716
274 set I 173.0
275 set c0 4.4355
276
277}
278
279##############
280# Track merger
281##############
282
283module Merger TrackMerger {
284# add InputArray InputArray
285 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
286 add InputArray ElectronMomentumSmearing/electrons
287 add InputArray MuonMomentumSmearing/muons
288 set OutputArray tracks
289}
290
291
292
293########################################
294# Smear tracks
295########################################
296
297module TrackSmearing TrackSmearing {
298 set InputArray TrackMerger/tracks
299 set OutputArray tracks
300 set ApplyToPileUp true
301
302 # from http://mersi.web.cern.ch/mersi/layouts/.private/Baseline_tilted_200_Pixel_1_1_1/index.html
303 source trackResolutionCMS.tcl
304 # FIXME !!!! we need to add track resolution of FCC-hh baseline detector !!!!!
305}
306
307########################################
308# Time Smearing
309########################################
310
311module TimeSmearing TimeSmearing {
312 set InputArray TrackSmearing/tracks
313 set OutputArray tracks
314
315 # assume 20 ps resolution for now
316 set TimeResolution {20E-12}
317}
318
319
320#############
321# ECAL
322#############
323
324# TBC : calos seems ok, check eta max value though.
325
326module SimpleCalorimeter ECal {
327 set ParticleInputArray ParticlePropagator/stableParticles
328 set TrackInputArray TimeSmearing/tracks
329
330 set TowerOutputArray ecalTowers
331 set EFlowTrackOutputArray eflowTracks
332 set EFlowTowerOutputArray eflowPhotons
333
334 set IsEcal true
335
336 set EnergyMin 0.5
337 set EnergySignificanceMin 2.0
338
339 set SmearTowerCenter true
340
341 set pi [expr {acos(-1)}]
342
343 # lists of the edges of each tower in eta and phi
344 # each list starts with the lower edge of the first tower
345 # the list ends with the higher edged of the last tower
346
347 # 0.012 rad towers up to eta = 2.5 (barrel)
348 set PhiBins {}
349 for {set i -256} {$i <= 256} {incr i} {
350 add PhiBins [expr {$i * $pi/256.0}]
351 }
352
353 # 0.01 unit in eta up to eta = 2.5 (barrel)
354 for {set i -249} {$i <= 250} {incr i} {
355 set eta [expr {$i * 0.01}]
356 add EtaPhiBins $eta $PhiBins
357 }
358
359 # 0.025 rad between 2.5 and 6.0
360 set PhiBins {}
361 for {set i -128} {$i <= 128} {incr i} {
362 add PhiBins [expr {$i * $pi/128.0}]
363 }
364
365 # 0.025 unit in eta between 2.5 and 6.0
366 for {set i 0} {$i <= 140} {incr i} {
367 set eta [expr { -6.00 + $i * 0.025}]
368 add EtaPhiBins $eta $PhiBins
369 }
370
371 for {set i 0} {$i <= 139} {incr i} {
372 set eta [expr { 2.525 + $i * 0.025}]
373 add EtaPhiBins $eta $PhiBins
374 }
375
376 # default energy fractions {abs(PDG code)} {fraction of energy deposited in ECAL}
377
378 add EnergyFraction {0} {0.0}
379 # energy fractions for e, gamma and pi0
380 add EnergyFraction {11} {1.0}
381 add EnergyFraction {22} {1.0}
382 add EnergyFraction {111} {1.0}
383 # energy fractions for muon, neutrinos and neutralinos
384 add EnergyFraction {12} {0.0}
385 add EnergyFraction {13} {0.0}
386 add EnergyFraction {14} {0.0}
387 add EnergyFraction {16} {0.0}
388 add EnergyFraction {1000022} {0.0}
389 add EnergyFraction {1000023} {0.0}
390 add EnergyFraction {1000025} {0.0}
391 add EnergyFraction {1000035} {0.0}
392 add EnergyFraction {1000045} {0.0}
393 # energy fractions for K0short and Lambda
394 # add EnergyFraction {310} {0.3}
395 # add EnergyFraction {3122} {0.3}
396
397 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
398 set ResolutionFormula { (abs(eta) <= 4.0) * sqrt(energy^2*0.007^2 + energy*0.10^2) + \
399 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.035^2 + energy*0.30^2)}
400
401
402}
403
404#############
405# HCAL
406#############
407
408module SimpleCalorimeter HCal {
409 set ParticleInputArray ParticlePropagator/stableParticles
410 set TrackInputArray ECal/eflowTracks
411
412 set TowerOutputArray hcalTowers
413 set EFlowTrackOutputArray eflowTracks
414 set EFlowTowerOutputArray eflowNeutralHadrons
415
416 set IsEcal false
417
418 set EnergyMin 1.0
419 set EnergySignificanceMin 2.0
420
421 set SmearTowerCenter true
422
423 set pi [expr {acos(-1)}]
424
425 # lists of the edges of each tower in eta and phi
426 # each list starts with the lower edge of the first tower
427 # the list ends with the higher edged of the last tower
428
429 # 0.025 rad towers up to eta = 2.5 (barrel)
430 set PhiBins {}
431 for {set i -128} {$i <= 128} {incr i} {
432 add PhiBins [expr {$i * $pi/128.0}]
433 }
434
435 # 0.025 unit in eta up to eta = 2.5 (barrel)
436 for {set i -99} {$i <= 100} {incr i} {
437 set eta [expr {$i * 0.025}]
438 add EtaPhiBins $eta $PhiBins
439 }
440
441 # 0.05 rad between 2.5 and 6.0
442 set PhiBins {}
443 for {set i -64} {$i <= 64} {incr i} {
444 add PhiBins [expr {$i * $pi/64.0}]
445 }
446
447 # 0.05 unit in eta between 2.5 and 6.0
448 for {set i 0} {$i <= 70} {incr i} {
449 set eta [expr { -6.00 + $i * 0.05}]
450 add EtaPhiBins $eta $PhiBins
451 }
452
453 for {set i 0} {$i <= 69} {incr i} {
454 set eta [expr { 2.55 + $i * 0.05}]
455 add EtaPhiBins $eta $PhiBins
456 }
457
458
459 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
460 add EnergyFraction {0} {1.0}
461 # energy fractions for e, gamma and pi0
462 add EnergyFraction {11} {0.0}
463 add EnergyFraction {22} {0.0}
464 add EnergyFraction {111} {0.0}
465 # energy fractions for muon, neutrinos and neutralinos
466 add EnergyFraction {12} {0.0}
467 add EnergyFraction {13} {0.0}
468 add EnergyFraction {14} {0.0}
469 add EnergyFraction {16} {0.0}
470 add EnergyFraction {1000022} {0.0}
471 add EnergyFraction {1000023} {0.0}
472 add EnergyFraction {1000025} {0.0}
473 add EnergyFraction {1000035} {0.0}
474 add EnergyFraction {1000045} {0.0}
475 # energy fractions for K0short and Lambda
476 # add EnergyFraction {310} {0.7}
477 # add EnergyFraction {3122} {0.7}
478
479 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
480 set ResolutionFormula { (abs(eta) <= 1.7) * sqrt(energy^2*0.03^2 + energy*0.50^2) + \
481 (abs(eta) > 1.7 && abs(eta) <= 4.0) * sqrt(energy^2*0.03^2 + energy*0.60^2) + \
482 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.10^2 + energy*1.00^2)}
483}
484
485#################
486# Electron filter
487#################
488
489module PdgCodeFilter ElectronFilter {
490 set InputArray HCal/eflowTracks
491 set OutputArray electrons
492 set Invert true
493 add PdgCode {11}
494 add PdgCode {-11}
495}
496
497
498######################
499# ChargedHadronFilter
500######################
501
502module PdgCodeFilter ChargedHadronFilter {
503 set InputArray HCal/eflowTracks
504 set OutputArray chargedHadrons
505
506 add PdgCode {11}
507 add PdgCode {-11}
508 add PdgCode {13}
509 add PdgCode {-13}
510}
511
512
513###################################################
514# Tower Merger (in case not using e-flow algorithm)
515###################################################
516
517module Merger Calorimeter {
518# add InputArray InputArray
519 add InputArray ECal/ecalTowers
520 add InputArray HCal/hcalTowers
521 add InputArray MuonMomentumSmearing/muons
522 set OutputArray towers
523}
524
525####################
526# Energy flow merger
527####################
528
529module Merger EFlowMerger {
530# add InputArray InputArray
531 add InputArray HCal/eflowTracks
532 add InputArray ECal/eflowPhotons
533 add InputArray HCal/eflowNeutralHadrons
534 set OutputArray eflow
535}
536
537######################
538# EFlowFilter
539######################
540
541module PdgCodeFilter EFlowFilter {
542 set InputArray EFlowMerger/eflow
543 set OutputArray eflow
544
545 add PdgCode {11}
546 add PdgCode {-11}
547 add PdgCode {13}
548 add PdgCode {-13}
549}
550
551########################################
552# Time Smearing Neutral MIP
553########################################
554
555module TimeSmearing TimeSmearingMIP {
556 set InputArray HCal/eflowTracks
557 set OutputArray timeSmearingMIP
558
559 # assume 30 ps resolution for now
560 set TimeResolution {30E-12}
561}
562
563########################################
564# Time Smearing Neutral Photons
565########################################
566
567module TimeSmearing TimeSmearingPhotons {
568 set InputArray ECal/eflowPhotons
569 set OutputArray timeSmearingPhotons
570}
571
572########################################
573# Time Smearing Neutral NeutralHadrons
574########################################
575#
576module TimeSmearing TimeSmearingNH {
577 set InputArray HCal/eflowNeutralHadrons
578 set OutputArray timeSmearingNH
579
580 # assume 30 ps resolution for now
581 set TimeResolution {30E-12}
582}
583
584
585##################################
586# Primary vertex reconstruction
587##################################
588
589
590module VertexFinderDA4D VertexFinderDA4D {
591 set InputArray TimeSmearing/tracks
592
593 set OutputArray tracks
594 set VertexOutputArray vertices
595
596 set Verbose 0
597 set MinPT 1.0
598
599 # in mm
600 set VertexSpaceSize 0.5
601
602 # in s
603 set VertexTimeSize 10E-12
604
605 set UseTc 1
606 set BetaMax 0.1
607 set BetaStop 1.0
608 set CoolingFactor 0.8
609 set MaxIterations 100
610
611 # in mm
612 set DzCutOff 40
613 set D0CutOff 30
614
615}
616
617##########################
618# Track pile-up subtractor
619##########################
620
621module TrackTimingPileUpSubtractor TrackTimingPileUpSubtractor {
622# add InputArray InputArray OutputArray
623
624 add InputArray TimeSmearing/tracks
625 add InputArray TimeSmearingPhotons/timeSmearingPhotons
626 add InputArray TimeSmearingNH/timeSmearingNH
627
628 set VertexInputArray VertexFinderDA4D/vertices
629
630 set fChargedMinSignificance {3}
631 set fNeutralMinSignificance {3}
632}
633
634######################################
635# Heavy(slow) particles vertex recover
636######################################
637
638module HighMassVertexRecover HighMassVertexRecover {
639 set TrackInputArray VertexFinderDA4D/tracks
640 set VertexInputArray VertexFinderDA4D/vertices
641
642 set TrackOutputArray tracks
643 set VertexOutputArray vertices
644
645 set Verbose 0
646
647}
648
649###################
650# Missing ET merger
651###################
652
653module Merger MissingET {
654# add InputArray InputArray
655 add InputArray EFlowMerger/eflow
656 set MomentumOutputArray momentum
657}
658
659
660
661##################
662# Scalar HT merger
663##################
664
665module Merger ScalarHT {
666# add InputArray InputArray
667 add InputArray EFlowMerger/eflow
668 set EnergyOutputArray energy
669}
670
671#################
672# Neutrino Filter
673#################
674
675module PdgCodeFilter NeutrinoFilter {
676
677 set InputArray Delphes/stableParticles
678 set OutputArray filteredParticles
679
680 set PTMin 0.0
681
682 add PdgCode {12}
683 add PdgCode {14}
684 add PdgCode {16}
685 add PdgCode {-12}
686 add PdgCode {-14}
687 add PdgCode {-16}
688
689}
690
691
692#########################
693# Gen Missing ET merger
694########################
695
696module Merger GenMissingET {
697
698# add InputArray InputArray
699 add InputArray NeutrinoFilter/filteredParticles
700 set MomentumOutputArray momentum
701}
702
703
704#####################
705# MC truth jet finder
706#####################
707
708# TBC: is jet radius fine?
709
710module FastJetFinder GenJetFinder04 {
711 set InputArray NeutrinoFilter/filteredParticles
712
713 set OutputArray jets
714
715 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
716 set JetAlgorithm 6
717 set ParameterR 0.4
718
719 set ComputeNsubjettiness 1
720 set Beta 1.0
721 set AxisMode 4
722
723 set ComputeSoftDrop 1
724 set BetaSoftDrop 0.0
725 set SymmetryCutSoftDrop 0.1
726 set R0SoftDrop 0.4
727
728 set JetPTMin 25.0
729}
730
731
732
733##################
734# Fast Jet finder
735##################
736
737module FastJetFinder FastJetFinder04 {
738 set InputArray EFlowMerger/eflow
739
740 set OutputArray jets
741
742 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
743 set JetAlgorithm 6
744 set ParameterR 0.4
745
746 set ComputeNsubjettiness 1
747 set Beta 1.0
748 set AxisMode 4
749
750 set ComputeSoftDrop 1
751 set BetaSoftDrop 0.0
752 set SymmetryCutSoftDrop 0.1
753 set R0SoftDrop 0.4
754
755 set JetPTMin 25.0
756}
757
758
759##################
760# Fast Jet finder
761##################
762
763module FastJetFinder CaloJetFinder04 {
764 set InputArray Calorimeter/towers
765
766 set OutputArray jets
767
768 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
769 set JetAlgorithm 6
770 set ParameterR 0.4
771
772 set ComputeNsubjettiness 1
773 set Beta 1.0
774 set AxisMode 4
775
776 set ComputeSoftDrop 1
777 set BetaSoftDrop 0.0
778 set SymmetryCutSoftDrop 0.1
779 set R0SoftDrop 0.4
780
781 set JetPTMin 25.0
782}
783
784##################
785# Fast Jet finder
786##################
787
788module FastJetFinder TrackJetFinder04 {
789 set InputArray TrackMerger/tracks
790
791 set OutputArray jets
792
793 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
794 set JetAlgorithm 6
795 set ParameterR 0.4
796
797 set ComputeNsubjettiness 1
798 set Beta 1.0
799 set AxisMode 4
800
801 set ComputeSoftDrop 1
802 set BetaSoftDrop 0.0
803 set SymmetryCutSoftDrop 0.1
804 set R0SoftDrop 0.4
805
806 set JetPTMin 25.0
807}
808
809
810##################
811# Jet Energy Scale
812##################
813
814module EnergyScale JetEnergyScale {
815 set InputArray FastJetFinder04/jets
816 set OutputArray jets
817
818 # scale formula for jets
819 set ScaleFormula {1.00}
820}
821
822
823########################
824# Jet Flavor Association
825########################
826
827module JetFlavorAssociation JetFlavorAssociation {
828
829 set PartonInputArray Delphes/partons
830 set ParticleInputArray Delphes/allParticles
831 set ParticleLHEFInputArray Delphes/allParticlesLHEF
832 set JetInputArray JetEnergyScale/jets
833
834 set DeltaR 0.5
835 set PartonPTMin 5.0
836 set PartonEtaMax 6.0
837
838}
839
840###################
841# Photon efficiency
842###################
843
844module Efficiency PhotonEfficiency {
845 set InputArray ECal/eflowPhotons
846 set OutputArray photons
847
848 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
849
850 set EfficiencyFormula {
851 (pt <= 1.0) * (0.00) + \
852 (abs(eta) <= 2.5) * (pt > 1.0 && pt < 5.0) * (0.70) +
853 (abs(eta) <= 2.5) * (pt > 5.0 && pt < 10.0) * (0.85) +
854 (abs(eta) <= 2.5) * (pt > 10.0) * (0.95) +
855
856 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt < 5.0) * (0.60) +
857 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 5.0 && pt < 10.0) * (0.80) +
858 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 10.0) * (0.90) +
859
860 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 1.0 && pt < 5.0) * (0.50) + \
861 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 5.0 && pt < 10.0) * (0.70) + \
862 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 10.0) * (0.80) + \
863 (abs(eta) > 6.0) * (0.00)}
864
865}
866
867##################
868# Photon isolation
869##################
870
871# TBC: check values for iso cuts
872
873module Isolation PhotonIsolation {
874 set CandidateInputArray PhotonEfficiency/photons
875 set IsolationInputArray EFlowFilter/eflow
876
877 set OutputArray photons
878
879 set DeltaRMax 0.3
880
881 set PTMin 0.5
882
883 set PTRatioMax 0.1
884}
885
886
887####################
888# Electron isolation
889####################
890
891# TBC: check values for iso cuts
892
893module Isolation ElectronIsolation {
894 set CandidateInputArray ElectronFilter/electrons
895 set IsolationInputArray EFlowFilter/eflow
896
897 set OutputArray electrons
898
899 set DeltaRMax 0.3
900
901 set PTMin 0.5
902
903 set PTRatioMax 0.1
904}
905
906
907################
908# Muon isolation
909################
910
911# TBC: check values for iso cuts
912
913module Isolation MuonIsolation {
914 set CandidateInputArray MuonMomentumSmearing/muons
915 set IsolationInputArray EFlowFilter/eflow
916
917 set OutputArray muons
918
919 set DeltaRMax 0.3
920
921 set PTMin 0.5
922
923 set PTRatioMax 0.2
924}
925
926
927
928###########
929# b-tagging
930###########
931
932module BTagging BTagging {
933 set JetInputArray JetEnergyScale/jets
934
935 set BitNumber 0
936
937 add EfficiencyFormula {0} {
938
939 (pt <= 10.0) * (0.00) +
940 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.01) + \
941 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.01)*(1.0 - pt/15000.) + \
942 (abs(eta) < 2.5) * (pt > 15000.0) * (0.00) + \
943 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.0075) + \
944 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.0075)*(1.0 - pt/15000.) + \
945 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \
946 (abs(eta) > 4.0) * (0.00)}
947
948 add EfficiencyFormula {4} {
949
950 (pt <= 10.0) * (0.00) +
951 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.05) + \
952 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.05)*(1.0 - pt/15000.) + \
953 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) + \
954 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.03) + \
955 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.03)*(1.0 - pt/15000.) + \
956 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \
957 (abs(eta) > 4.0) * (0.00)}
958
959 add EfficiencyFormula {5} {
960
961 (pt <= 10.0) * (0.00) +
962 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.85) +
963 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.85)*(1.0 - pt/15000.) +
964 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) +
965 (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.64) +
966 (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.64)*(1.0 - pt/15000.) +
967 (abs(eta) <= 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) +
968 (abs(eta) >= 4.0) * (0.00)}
969
970}
971
972###########
973# c-tagging
974###########
975
976module BTagging CTagging {
977 set JetInputArray JetEnergyScale/jets
978
979 set BitNumber 1
980
981 add EfficiencyFormula {0} {
982
983 (pt <= 10.0) * (0.00) +
984 (abs(eta) < 4.0) * (pt > 10.0) * (0.01) + \
985 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
986
987 add EfficiencyFormula {4} {
988
989 (pt <= 10.0) * (0.00) +
990 (abs(eta) < 4.0) * (pt > 10.0) * (0.25) + \
991 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
992
993 add EfficiencyFormula {5} {
994
995 (pt <= 10.0) * (0.00) +
996 (abs(eta) < 4.0) * (pt > 10.0) * (0.03) + \
997 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
998
999}
1000
1001
1002#############
1003# tau-tagging
1004#############
1005
1006
1007module TauTagging TauTagging {
1008 set ParticleInputArray Delphes/allParticles
1009 set PartonInputArray Delphes/partons
1010 set JetInputArray JetEnergyScale/jets
1011
1012 set DeltaR 0.5
1013
1014 set TauPTMin 1.0
1015
1016 set TauEtaMax 4.0
1017
1018 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
1019 add EfficiencyFormula {0} {
1020
1021 (pt <= 10.0) * (0.00) +
1022 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.01) + \
1023 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.01) *(8./9. - pt/30000.) + \
1024 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1025 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.0075) + \
1026 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.0075)*(8./9. - pt/30000.) + \
1027 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1028 (abs(eta) > 4.0) * (0.00)}
1029
1030 add EfficiencyFormula {11} {
1031
1032 (pt <= 10.0) * (0.00) +
1033 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.005) + \
1034 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.005) *(8./9. - pt/30000.) + \
1035 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1036 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.00375) + \
1037 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.00375)*(8./9. - pt/30000.) + \
1038 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1039 (abs(eta) > 4.0) * (0.00)}
1040
1041 add EfficiencyFormula {15} {
1042
1043 (pt <= 10.0) * (0.00) +
1044 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.8) + \
1045 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.8) *(8./9. - pt/30000.) + \
1046 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1047 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.65) + \
1048 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.65)*(8./9. - pt/30000.) + \
1049 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1050 (abs(eta) > 4.0) * (0.00)}
1051
1052}
1053
1054#####################################################
1055# Find uniquely identified photons/electrons/tau/jets
1056#####################################################
1057
1058module UniqueObjectFinder UniqueObjectFinder {
1059# earlier arrays take precedence over later ones
1060# add InputArray InputArray OutputArray
1061 add InputArray PhotonIsolation/photons photons
1062 add InputArray ElectronIsolation/electrons electrons
1063 add InputArray MuonIsolation/muons muons
1064 add InputArray JetEnergyScale/jets jets
1065
1066}
1067
1068
1069##################
1070# ROOT tree writer
1071##################
1072
1073module TreeWriter TreeWriter {
1074# add Branch InputArray BranchName BranchClass
1075 add Branch Delphes/allParticles Particle GenParticle
1076
1077 add Branch GenMissingET/momentum GenMissingET MissingET
1078
1079 add Branch TimeSmearing/tracks Track Track
1080 add Branch Calorimeter/towers Tower Tower
1081
1082 add Branch HCal/eflowTracks EFlowTrack Track
1083 add Branch ECal/eflowPhotons EFlowPhoton Tower
1084 add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
1085
1086 add Branch UniqueObjectFinder/photons Photon Photon
1087 add Branch UniqueObjectFinder/electrons Electron Electron
1088 add Branch UniqueObjectFinder/muons Muon Muon
1089 add Branch UniqueObjectFinder/jets Jet Jet
1090
1091 add Branch GenJetFinder04/jets GenJet04 Jet
1092 add Branch FastJetFinder04/jets ParticleFlowJet04 Jet
1093 add Branch CaloJetFinder04/jets CaloJet04 Jet
1094 add Branch TrackJetFinder04/jets TrackJet04 Jet
1095
1096 add Branch MissingET/momentum MissingET MissingET
1097 add Branch ScalarHT/energy ScalarHT ScalarHT
1098 add Branch VertexFinderDA4D/vertices Vertex4D Vertex
1099
1100 add Branch HighMassVertexRecover/tracks Track Track
1101}
1102
Note: See TracBrowser for help on using the repository browser.