Fork me on GitHub

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

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

New changes according to last meeting

  • Property mode set to 100644
File size: 27.4 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 PileUpSubtractor4D
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 set TimeResolution {sqrt(20^2 + 150^2)/energy^2}
571}
572
573########################################
574# Time Smearing Neutral NeutralHadrons
575########################################
576#
577module TimeSmearing TimeSmearingNH {
578 set InputArray HCal/eflowNeutralHadrons
579 set OutputArray timeSmearingNH
580
581 # assume 30 ps resolution for now
582 set TimeResolution {sqrt(20^2 + 150^2)/energy^2}
583}
584
585
586##################################
587# Primary vertex reconstruction
588##################################
589
590
591module VertexFinderDA4D VertexFinderDA4D {
592 set InputArray TimeSmearing/tracks
593
594 set OutputArray tracks
595 set VertexOutputArray vertices
596
597 set Verbose 0
598 set MinPT 1.0
599
600 # in mm
601 set VertexSpaceSize 0.5
602
603 # in s
604 set VertexTimeSize 10E-12
605
606 set UseTc 1
607 set BetaMax 0.1
608 set BetaStop 1.0
609 set CoolingFactor 0.8
610 set MaxIterations 100
611
612 # in mm
613 set DzCutOff 40
614 set D0CutOff 30
615
616}
617
618##########################
619# Track pile-up subtractor
620##########################
621
622module PileUpSubtractor4D PileUpSubtractor4D {
623# add InputArray InputArray OutputArray
624
625 add InputArray TimeSmearing/tracks
626 add InputArray TimeSmearingPhotons/timeSmearingPhotons
627 add InputArray TimeSmearingNH/timeSmearingNH
628
629 set VertexInputArray VertexFinderDA4D/vertices
630
631 set fChargedMinSignificance {3}
632 set fNeutralMinSignificance {3}
633}
634
635######################################
636# Heavy(slow) particles vertex recover
637######################################
638
639module HighMassVertexRecover HighMassVertexRecover {
640 set TrackInputArray VertexFinderDA4D/tracks
641 set VertexInputArray VertexFinderDA4D/vertices
642
643 set TrackOutputArray tracks
644 set VertexOutputArray vertices
645
646 set Verbose 0
647
648}
649
650###################
651# Missing ET merger
652###################
653
654module Merger MissingET {
655# add InputArray InputArray
656 add InputArray EFlowMerger/eflow
657 set MomentumOutputArray momentum
658}
659
660
661
662##################
663# Scalar HT merger
664##################
665
666module Merger ScalarHT {
667# add InputArray InputArray
668 add InputArray EFlowMerger/eflow
669 set EnergyOutputArray energy
670}
671
672#################
673# Neutrino Filter
674#################
675
676module PdgCodeFilter NeutrinoFilter {
677
678 set InputArray Delphes/stableParticles
679 set OutputArray filteredParticles
680
681 set PTMin 0.0
682
683 add PdgCode {12}
684 add PdgCode {14}
685 add PdgCode {16}
686 add PdgCode {-12}
687 add PdgCode {-14}
688 add PdgCode {-16}
689
690}
691
692
693#########################
694# Gen Missing ET merger
695########################
696
697module Merger GenMissingET {
698
699# add InputArray InputArray
700 add InputArray NeutrinoFilter/filteredParticles
701 set MomentumOutputArray momentum
702}
703
704
705#####################
706# MC truth jet finder
707#####################
708
709# TBC: is jet radius fine?
710
711module FastJetFinder GenJetFinder04 {
712 set InputArray NeutrinoFilter/filteredParticles
713
714 set OutputArray jets
715
716 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
717 set JetAlgorithm 6
718 set ParameterR 0.4
719
720 set ComputeNsubjettiness 1
721 set Beta 1.0
722 set AxisMode 4
723
724 set ComputeSoftDrop 1
725 set BetaSoftDrop 0.0
726 set SymmetryCutSoftDrop 0.1
727 set R0SoftDrop 0.4
728
729 set JetPTMin 25.0
730}
731
732
733
734##################
735# Fast Jet finder
736##################
737
738module FastJetFinder FastJetFinder04 {
739 set InputArray EFlowMerger/eflow
740
741 set OutputArray jets
742
743 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
744 set JetAlgorithm 6
745 set ParameterR 0.4
746
747 set ComputeNsubjettiness 1
748 set Beta 1.0
749 set AxisMode 4
750
751 set ComputeSoftDrop 1
752 set BetaSoftDrop 0.0
753 set SymmetryCutSoftDrop 0.1
754 set R0SoftDrop 0.4
755
756 set JetPTMin 25.0
757}
758
759
760##################
761# Fast Jet finder
762##################
763
764module FastJetFinder CaloJetFinder04 {
765 set InputArray Calorimeter/towers
766
767 set OutputArray jets
768
769 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
770 set JetAlgorithm 6
771 set ParameterR 0.4
772
773 set ComputeNsubjettiness 1
774 set Beta 1.0
775 set AxisMode 4
776
777 set ComputeSoftDrop 1
778 set BetaSoftDrop 0.0
779 set SymmetryCutSoftDrop 0.1
780 set R0SoftDrop 0.4
781
782 set JetPTMin 25.0
783}
784
785##################
786# Fast Jet finder
787##################
788
789module FastJetFinder TrackJetFinder04 {
790 set InputArray TrackMerger/tracks
791
792 set OutputArray jets
793
794 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
795 set JetAlgorithm 6
796 set ParameterR 0.4
797
798 set ComputeNsubjettiness 1
799 set Beta 1.0
800 set AxisMode 4
801
802 set ComputeSoftDrop 1
803 set BetaSoftDrop 0.0
804 set SymmetryCutSoftDrop 0.1
805 set R0SoftDrop 0.4
806
807 set JetPTMin 25.0
808}
809
810
811##################
812# Jet Energy Scale
813##################
814
815module EnergyScale JetEnergyScale {
816 set InputArray FastJetFinder04/jets
817 set OutputArray jets
818
819 # scale formula for jets
820 set ScaleFormula {1.00}
821}
822
823
824########################
825# Jet Flavor Association
826########################
827
828module JetFlavorAssociation JetFlavorAssociation {
829
830 set PartonInputArray Delphes/partons
831 set ParticleInputArray Delphes/allParticles
832 set ParticleLHEFInputArray Delphes/allParticlesLHEF
833 set JetInputArray JetEnergyScale/jets
834
835 set DeltaR 0.5
836 set PartonPTMin 5.0
837 set PartonEtaMax 6.0
838
839}
840
841###################
842# Photon efficiency
843###################
844
845module Efficiency PhotonEfficiency {
846 set InputArray ECal/eflowPhotons
847 set OutputArray photons
848
849 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
850
851 set EfficiencyFormula {
852 (pt <= 1.0) * (0.00) + \
853 (abs(eta) <= 2.5) * (pt > 1.0 && pt < 5.0) * (0.70) +
854 (abs(eta) <= 2.5) * (pt > 5.0 && pt < 10.0) * (0.85) +
855 (abs(eta) <= 2.5) * (pt > 10.0) * (0.95) +
856
857 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt < 5.0) * (0.60) +
858 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 5.0 && pt < 10.0) * (0.80) +
859 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 10.0) * (0.90) +
860
861 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 1.0 && pt < 5.0) * (0.50) + \
862 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 5.0 && pt < 10.0) * (0.70) + \
863 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 10.0) * (0.80) + \
864 (abs(eta) > 6.0) * (0.00)}
865
866}
867
868##################
869# Photon isolation
870##################
871
872# TBC: check values for iso cuts
873
874module Isolation PhotonIsolation {
875 set CandidateInputArray PhotonEfficiency/photons
876 set IsolationInputArray EFlowFilter/eflow
877
878 set OutputArray photons
879
880 set DeltaRMax 0.3
881
882 set PTMin 0.5
883
884 set PTRatioMax 0.1
885}
886
887
888####################
889# Electron isolation
890####################
891
892# TBC: check values for iso cuts
893
894module Isolation ElectronIsolation {
895 set CandidateInputArray ElectronFilter/electrons
896 set IsolationInputArray EFlowFilter/eflow
897
898 set OutputArray electrons
899
900 set DeltaRMax 0.3
901
902 set PTMin 0.5
903
904 set PTRatioMax 0.1
905}
906
907
908################
909# Muon isolation
910################
911
912# TBC: check values for iso cuts
913
914module Isolation MuonIsolation {
915 set CandidateInputArray MuonMomentumSmearing/muons
916 set IsolationInputArray EFlowFilter/eflow
917
918 set OutputArray muons
919
920 set DeltaRMax 0.3
921
922 set PTMin 0.5
923
924 set PTRatioMax 0.2
925}
926
927
928
929###########
930# b-tagging
931###########
932
933module BTagging BTagging {
934 set JetInputArray JetEnergyScale/jets
935
936 set BitNumber 0
937
938 add EfficiencyFormula {0} {
939
940 (pt <= 10.0) * (0.00) +
941 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.01) + \
942 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.01)*(1.0 - pt/15000.) + \
943 (abs(eta) < 2.5) * (pt > 15000.0) * (0.00) + \
944 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.0075) + \
945 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.0075)*(1.0 - pt/15000.) + \
946 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \
947 (abs(eta) > 4.0) * (0.00)}
948
949 add EfficiencyFormula {4} {
950
951 (pt <= 10.0) * (0.00) +
952 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.05) + \
953 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.05)*(1.0 - pt/15000.) + \
954 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) + \
955 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.03) + \
956 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.03)*(1.0 - pt/15000.) + \
957 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \
958 (abs(eta) > 4.0) * (0.00)}
959
960 add EfficiencyFormula {5} {
961
962 (pt <= 10.0) * (0.00) +
963 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.85) +
964 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.85)*(1.0 - pt/15000.) +
965 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) +
966 (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.64) +
967 (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.64)*(1.0 - pt/15000.) +
968 (abs(eta) <= 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) +
969 (abs(eta) >= 4.0) * (0.00)}
970
971}
972
973###########
974# c-tagging
975###########
976
977module BTagging CTagging {
978 set JetInputArray JetEnergyScale/jets
979
980 set BitNumber 1
981
982 add EfficiencyFormula {0} {
983
984 (pt <= 10.0) * (0.00) +
985 (abs(eta) < 4.0) * (pt > 10.0) * (0.01) + \
986 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
987
988 add EfficiencyFormula {4} {
989
990 (pt <= 10.0) * (0.00) +
991 (abs(eta) < 4.0) * (pt > 10.0) * (0.25) + \
992 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
993
994 add EfficiencyFormula {5} {
995
996 (pt <= 10.0) * (0.00) +
997 (abs(eta) < 4.0) * (pt > 10.0) * (0.03) + \
998 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
999
1000}
1001
1002
1003#############
1004# tau-tagging
1005#############
1006
1007
1008module TauTagging TauTagging {
1009 set ParticleInputArray Delphes/allParticles
1010 set PartonInputArray Delphes/partons
1011 set JetInputArray JetEnergyScale/jets
1012
1013 set DeltaR 0.5
1014
1015 set TauPTMin 1.0
1016
1017 set TauEtaMax 4.0
1018
1019 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
1020 add EfficiencyFormula {0} {
1021
1022 (pt <= 10.0) * (0.00) +
1023 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.01) + \
1024 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.01) *(8./9. - pt/30000.) + \
1025 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1026 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.0075) + \
1027 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.0075)*(8./9. - pt/30000.) + \
1028 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1029 (abs(eta) > 4.0) * (0.00)}
1030
1031 add EfficiencyFormula {11} {
1032
1033 (pt <= 10.0) * (0.00) +
1034 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.005) + \
1035 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.005) *(8./9. - pt/30000.) + \
1036 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1037 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.00375) + \
1038 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.00375)*(8./9. - pt/30000.) + \
1039 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1040 (abs(eta) > 4.0) * (0.00)}
1041
1042 add EfficiencyFormula {15} {
1043
1044 (pt <= 10.0) * (0.00) +
1045 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.8) + \
1046 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.8) *(8./9. - pt/30000.) + \
1047 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1048 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.65) + \
1049 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.65)*(8./9. - pt/30000.) + \
1050 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1051 (abs(eta) > 4.0) * (0.00)}
1052
1053}
1054
1055#####################################################
1056# Find uniquely identified photons/electrons/tau/jets
1057#####################################################
1058
1059module UniqueObjectFinder UniqueObjectFinder {
1060# earlier arrays take precedence over later ones
1061# add InputArray InputArray OutputArray
1062 add InputArray PhotonIsolation/photons photons
1063 add InputArray ElectronIsolation/electrons electrons
1064 add InputArray MuonIsolation/muons muons
1065 add InputArray JetEnergyScale/jets jets
1066
1067}
1068
1069
1070##################
1071# ROOT tree writer
1072##################
1073
1074module TreeWriter TreeWriter {
1075# add Branch InputArray BranchName BranchClass
1076 add Branch Delphes/allParticles Particle GenParticle
1077
1078 add Branch GenMissingET/momentum GenMissingET MissingET
1079
1080 add Branch TimeSmearing/tracks Track Track
1081 add Branch Calorimeter/towers Tower Tower
1082
1083 add Branch HCal/eflowTracks EFlowTrack Track
1084 add Branch ECal/eflowPhotons EFlowPhoton Tower
1085 add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
1086
1087 add Branch UniqueObjectFinder/photons Photon Photon
1088 add Branch UniqueObjectFinder/electrons Electron Electron
1089 add Branch UniqueObjectFinder/muons Muon Muon
1090 add Branch UniqueObjectFinder/jets Jet Jet
1091
1092 add Branch GenJetFinder04/jets GenJet04 Jet
1093 add Branch FastJetFinder04/jets ParticleFlowJet04 Jet
1094 add Branch CaloJetFinder04/jets CaloJet04 Jet
1095 add Branch TrackJetFinder04/jets TrackJet04 Jet
1096
1097 add Branch MissingET/momentum MissingET MissingET
1098 add Branch ScalarHT/energy ScalarHT ScalarHT
1099 add Branch VertexFinderDA4D/vertices Vertex4D Vertex
1100
1101 add Branch HighMassVertexRecover/tracks Track Track
1102}
1103
Note: See TracBrowser for help on using the repository browser.