Fork me on GitHub

source: git/cards/FCC/FCChh_PileUpVtx.tcl@ 93bf9c6

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

Merge remote-tracking branch 'upstream/Timing'

  • Property mode set to 100644
File size: 26.8 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 100
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
259##############
260# Track merger
261##############
262
263module Merger TrackMerger {
264# add InputArray InputArray
265 add InputArray ChargedHadronMomentumSmearing/chargedHadrons
266 add InputArray ElectronMomentumSmearing/electrons
267 add InputArray MuonMomentumSmearing/muons
268 set OutputArray tracks
269}
270
271
272
273########################################
274# Smear tracks
275########################################
276
277module TrackSmearing TrackSmearing {
278 set InputArray TrackMerger/tracks
279 set OutputArray tracks
280 set ApplyToPileUp true
281
282 # from http://mersi.web.cern.ch/mersi/layouts/.private/Baseline_tilted_200_Pixel_1_1_1/index.html
283 source trackResolutionCMS.tcl
284 # FIXME !!!! we need to add track resolution of FCC-hh baseline detector !!!!!
285}
286
287########################################
288# Time Smearing
289########################################
290
291module TimeSmearing TimeSmearing {
292 set InputArray TrackSmearing/tracks
293 set OutputArray tracks
294
295 # assume 20 ps resolution for now
296 set TimeResolution {20E-12}
297}
298
299
300#############
301# ECAL
302#############
303
304# TBC : calos seems ok, check eta max value though.
305
306module SimpleCalorimeter ECal {
307 set ParticleInputArray ParticlePropagator/stableParticles
308 set TrackInputArray TimeSmearing/tracks
309
310 set TowerOutputArray ecalTowers
311 set EFlowTrackOutputArray eflowTracks
312 set EFlowTowerOutputArray eflowPhotons
313
314 set IsEcal true
315
316 set EnergyMin 0.5
317 set EnergySignificanceMin 2.0
318
319 set SmearTowerCenter true
320
321 set pi [expr {acos(-1)}]
322
323 # lists of the edges of each tower in eta and phi
324 # each list starts with the lower edge of the first tower
325 # the list ends with the higher edged of the last tower
326
327 # 0.012 rad towers up to eta = 2.5 (barrel)
328 set PhiBins {}
329 for {set i -256} {$i <= 256} {incr i} {
330 add PhiBins [expr {$i * $pi/256.0}]
331 }
332
333 # 0.01 unit in eta up to eta = 2.5 (barrel)
334 for {set i -249} {$i <= 250} {incr i} {
335 set eta [expr {$i * 0.01}]
336 add EtaPhiBins $eta $PhiBins
337 }
338
339 # 0.025 rad between 2.5 and 6.0
340 set PhiBins {}
341 for {set i -128} {$i <= 128} {incr i} {
342 add PhiBins [expr {$i * $pi/128.0}]
343 }
344
345 # 0.025 unit in eta between 2.5 and 6.0
346 for {set i 0} {$i <= 140} {incr i} {
347 set eta [expr { -6.00 + $i * 0.025}]
348 add EtaPhiBins $eta $PhiBins
349 }
350
351 for {set i 0} {$i <= 139} {incr i} {
352 set eta [expr { 2.525 + $i * 0.025}]
353 add EtaPhiBins $eta $PhiBins
354 }
355
356 # default energy fractions {abs(PDG code)} {fraction of energy deposited in ECAL}
357
358 add EnergyFraction {0} {0.0}
359 # energy fractions for e, gamma and pi0
360 add EnergyFraction {11} {1.0}
361 add EnergyFraction {22} {1.0}
362 add EnergyFraction {111} {1.0}
363 # energy fractions for muon, neutrinos and neutralinos
364 add EnergyFraction {12} {0.0}
365 add EnergyFraction {13} {0.0}
366 add EnergyFraction {14} {0.0}
367 add EnergyFraction {16} {0.0}
368 add EnergyFraction {1000022} {0.0}
369 add EnergyFraction {1000023} {0.0}
370 add EnergyFraction {1000025} {0.0}
371 add EnergyFraction {1000035} {0.0}
372 add EnergyFraction {1000045} {0.0}
373 # energy fractions for K0short and Lambda
374 # add EnergyFraction {310} {0.3}
375 # add EnergyFraction {3122} {0.3}
376
377 # set ECalResolutionFormula {resolution formula as a function of eta and energy}
378 set ResolutionFormula { (abs(eta) <= 4.0) * sqrt(energy^2*0.007^2 + energy*0.10^2) + \
379 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.035^2 + energy*0.30^2)}
380
381
382}
383
384#############
385# HCAL
386#############
387
388module SimpleCalorimeter HCal {
389 set ParticleInputArray ParticlePropagator/stableParticles
390 set TrackInputArray ECal/eflowTracks
391
392 set TowerOutputArray hcalTowers
393 set EFlowTrackOutputArray eflowTracks
394 set EFlowTowerOutputArray eflowNeutralHadrons
395
396 set IsEcal false
397
398 set EnergyMin 1.0
399 set EnergySignificanceMin 2.0
400
401 set SmearTowerCenter true
402
403 set pi [expr {acos(-1)}]
404
405 # lists of the edges of each tower in eta and phi
406 # each list starts with the lower edge of the first tower
407 # the list ends with the higher edged of the last tower
408
409 # 0.025 rad towers up to eta = 2.5 (barrel)
410 set PhiBins {}
411 for {set i -128} {$i <= 128} {incr i} {
412 add PhiBins [expr {$i * $pi/128.0}]
413 }
414
415 # 0.025 unit in eta up to eta = 2.5 (barrel)
416 for {set i -99} {$i <= 100} {incr i} {
417 set eta [expr {$i * 0.025}]
418 add EtaPhiBins $eta $PhiBins
419 }
420
421 # 0.05 rad between 2.5 and 6.0
422 set PhiBins {}
423 for {set i -64} {$i <= 64} {incr i} {
424 add PhiBins [expr {$i * $pi/64.0}]
425 }
426
427 # 0.05 unit in eta between 2.5 and 6.0
428 for {set i 0} {$i <= 70} {incr i} {
429 set eta [expr { -6.00 + $i * 0.05}]
430 add EtaPhiBins $eta $PhiBins
431 }
432
433 for {set i 0} {$i <= 69} {incr i} {
434 set eta [expr { 2.55 + $i * 0.05}]
435 add EtaPhiBins $eta $PhiBins
436 }
437
438
439 # default energy fractions {abs(PDG code)} {Fecal Fhcal}
440 add EnergyFraction {0} {1.0}
441 # energy fractions for e, gamma and pi0
442 add EnergyFraction {11} {0.0}
443 add EnergyFraction {22} {0.0}
444 add EnergyFraction {111} {0.0}
445 # energy fractions for muon, neutrinos and neutralinos
446 add EnergyFraction {12} {0.0}
447 add EnergyFraction {13} {0.0}
448 add EnergyFraction {14} {0.0}
449 add EnergyFraction {16} {0.0}
450 add EnergyFraction {1000022} {0.0}
451 add EnergyFraction {1000023} {0.0}
452 add EnergyFraction {1000025} {0.0}
453 add EnergyFraction {1000035} {0.0}
454 add EnergyFraction {1000045} {0.0}
455 # energy fractions for K0short and Lambda
456 # add EnergyFraction {310} {0.7}
457 # add EnergyFraction {3122} {0.7}
458
459 # set HCalResolutionFormula {resolution formula as a function of eta and energy}
460 set ResolutionFormula { (abs(eta) <= 1.7) * sqrt(energy^2*0.03^2 + energy*0.50^2) + \
461 (abs(eta) > 1.7 && abs(eta) <= 4.0) * sqrt(energy^2*0.03^2 + energy*0.60^2) + \
462 (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.10^2 + energy*1.00^2)}
463}
464
465#################
466# Electron filter
467#################
468
469module PdgCodeFilter ElectronFilter {
470 set InputArray HCal/eflowTracks
471 set OutputArray electrons
472 set Invert true
473 add PdgCode {11}
474 add PdgCode {-11}
475}
476
477
478######################
479# ChargedHadronFilter
480######################
481
482module PdgCodeFilter ChargedHadronFilter {
483 set InputArray HCal/eflowTracks
484 set OutputArray chargedHadrons
485
486 add PdgCode {11}
487 add PdgCode {-11}
488 add PdgCode {13}
489 add PdgCode {-13}
490}
491
492
493###################################################
494# Tower Merger (in case not using e-flow algorithm)
495###################################################
496
497module Merger Calorimeter {
498# add InputArray InputArray
499 add InputArray ECal/ecalTowers
500 add InputArray HCal/hcalTowers
501 add InputArray MuonMomentumSmearing/muons
502 set OutputArray towers
503}
504
505####################
506# Energy flow merger
507####################
508
509module Merger EFlowMerger {
510# add InputArray InputArray
511 add InputArray HCal/eflowTracks
512 add InputArray ECal/eflowPhotons
513 add InputArray HCal/eflowNeutralHadrons
514 set OutputArray eflow
515}
516
517######################
518# EFlowFilter
519######################
520
521module PdgCodeFilter EFlowFilter {
522 set InputArray EFlowMerger/eflow
523 set OutputArray eflow
524
525 add PdgCode {11}
526 add PdgCode {-11}
527 add PdgCode {13}
528 add PdgCode {-13}
529}
530
531########################################
532# Time Smearing Neutral MIP
533########################################
534
535module TimeSmearing TimeSmearingMIP {
536 set InputArray HCal/eflowTracks
537 set OutputArray timeSmearingMIP
538
539 # assume 30 ps resolution for now
540 set TimeResolution {30E-12}
541}
542
543########################################
544# Time Smearing Neutral Photons
545########################################
546
547module TimeSmearing TimeSmearingPhotons {
548 set InputArray ECal/eflowPhotons
549 set OutputArray timeSmearingPhotons
550}
551
552########################################
553# Time Smearing Neutral NeutralHadrons
554########################################
555#
556module TimeSmearing TimeSmearingNH {
557 set InputArray HCal/eflowNeutralHadrons
558 set OutputArray timeSmearingNH
559
560 # assume 30 ps resolution for now
561 set TimeResolution {30E-12}
562}
563
564
565##################################
566# Primary vertex reconstruction
567##################################
568
569
570module VertexFinderDA4D VertexFinderDA4D {
571 set InputArray TimeSmearing/tracks
572
573 set OutputArray tracks
574 set VertexOutputArray vertices
575
576 set Verbose 0
577 set MinPT 1.0
578
579 # in mm
580 set VertexSpaceSize 0.5
581
582 # in s
583 set VertexTimeSize 10E-12
584
585 set UseTc 1
586 set BetaMax 0.1
587 set BetaStop 1.0
588 set CoolingFactor 0.8
589 set MaxIterations 100
590
591 # in mm
592 set DzCutOff 40
593 set D0CutOff 30
594
595}
596
597##########################
598# Track pile-up subtractor
599##########################
600
601module TrackTimingPileUpSubtractor TrackTimingPileUpSubtractor {
602# add InputArray InputArray OutputArray
603
604 add InputArray TimeSmearing/tracks
605 add InputArray TimeSmearingPhotons/timeSmearingPhotons
606 add InputArray TimeSmearingNH/timeSmearingNH
607
608 set VertexInputArray VertexFinderDA4D/vertices
609
610 set fChargedMinSignificance {3}
611 set fNeutralMinSignificance {3}
612}
613
614######################################
615# Heavy(slow) particles vertex recover
616######################################
617
618module HighMassVertexRecover HighMassVertexRecover {
619 set TrackInputArray VertexFinderDA4D/tracks
620 set VertexInputArray VertexFinderDA4D/vertices
621
622 set TrackOutputArray tracks
623 set VertexOutputArray vertices
624
625 set Verbose 0
626
627}
628
629###################
630# Missing ET merger
631###################
632
633module Merger MissingET {
634# add InputArray InputArray
635 add InputArray EFlowMerger/eflow
636 set MomentumOutputArray momentum
637}
638
639
640
641##################
642# Scalar HT merger
643##################
644
645module Merger ScalarHT {
646# add InputArray InputArray
647 add InputArray EFlowMerger/eflow
648 set EnergyOutputArray energy
649}
650
651#################
652# Neutrino Filter
653#################
654
655module PdgCodeFilter NeutrinoFilter {
656
657 set InputArray Delphes/stableParticles
658 set OutputArray filteredParticles
659
660 set PTMin 0.0
661
662 add PdgCode {12}
663 add PdgCode {14}
664 add PdgCode {16}
665 add PdgCode {-12}
666 add PdgCode {-14}
667 add PdgCode {-16}
668
669}
670
671
672#########################
673# Gen Missing ET merger
674########################
675
676module Merger GenMissingET {
677
678# add InputArray InputArray
679 add InputArray NeutrinoFilter/filteredParticles
680 set MomentumOutputArray momentum
681}
682
683
684#####################
685# MC truth jet finder
686#####################
687
688# TBC: is jet radius fine?
689
690module FastJetFinder GenJetFinder04 {
691 set InputArray NeutrinoFilter/filteredParticles
692
693 set OutputArray jets
694
695 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
696 set JetAlgorithm 6
697 set ParameterR 0.4
698
699 set ComputeNsubjettiness 1
700 set Beta 1.0
701 set AxisMode 4
702
703 set ComputeSoftDrop 1
704 set BetaSoftDrop 0.0
705 set SymmetryCutSoftDrop 0.1
706 set R0SoftDrop 0.4
707
708 set JetPTMin 25.0
709}
710
711
712
713##################
714# Fast Jet finder
715##################
716
717module FastJetFinder FastJetFinder04 {
718 set InputArray EFlowMerger/eflow
719
720 set OutputArray jets
721
722 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
723 set JetAlgorithm 6
724 set ParameterR 0.4
725
726 set ComputeNsubjettiness 1
727 set Beta 1.0
728 set AxisMode 4
729
730 set ComputeSoftDrop 1
731 set BetaSoftDrop 0.0
732 set SymmetryCutSoftDrop 0.1
733 set R0SoftDrop 0.4
734
735 set JetPTMin 25.0
736}
737
738
739##################
740# Fast Jet finder
741##################
742
743module FastJetFinder CaloJetFinder04 {
744 set InputArray Calorimeter/towers
745
746 set OutputArray jets
747
748 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
749 set JetAlgorithm 6
750 set ParameterR 0.4
751
752 set ComputeNsubjettiness 1
753 set Beta 1.0
754 set AxisMode 4
755
756 set ComputeSoftDrop 1
757 set BetaSoftDrop 0.0
758 set SymmetryCutSoftDrop 0.1
759 set R0SoftDrop 0.4
760
761 set JetPTMin 25.0
762}
763
764##################
765# Fast Jet finder
766##################
767
768module FastJetFinder TrackJetFinder04 {
769 set InputArray TrackMerger/tracks
770
771 set OutputArray jets
772
773 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
774 set JetAlgorithm 6
775 set ParameterR 0.4
776
777 set ComputeNsubjettiness 1
778 set Beta 1.0
779 set AxisMode 4
780
781 set ComputeSoftDrop 1
782 set BetaSoftDrop 0.0
783 set SymmetryCutSoftDrop 0.1
784 set R0SoftDrop 0.4
785
786 set JetPTMin 25.0
787}
788
789
790##################
791# Jet Energy Scale
792##################
793
794module EnergyScale JetEnergyScale {
795 set InputArray FastJetFinder04/jets
796 set OutputArray jets
797
798 # scale formula for jets
799 set ScaleFormula {1.00}
800}
801
802
803########################
804# Jet Flavor Association
805########################
806
807module JetFlavorAssociation JetFlavorAssociation {
808
809 set PartonInputArray Delphes/partons
810 set ParticleInputArray Delphes/allParticles
811 set ParticleLHEFInputArray Delphes/allParticlesLHEF
812 set JetInputArray JetEnergyScale/jets
813
814 set DeltaR 0.5
815 set PartonPTMin 5.0
816 set PartonEtaMax 6.0
817
818}
819
820###################
821# Photon efficiency
822###################
823
824module Efficiency PhotonEfficiency {
825 set InputArray ECal/eflowPhotons
826 set OutputArray photons
827
828 # set EfficiencyFormula {efficiency formula as a function of eta and pt}
829
830 set EfficiencyFormula {
831 (pt <= 1.0) * (0.00) + \
832 (abs(eta) <= 2.5) * (pt > 1.0 && pt < 5.0) * (0.70) +
833 (abs(eta) <= 2.5) * (pt > 5.0 && pt < 10.0) * (0.85) +
834 (abs(eta) <= 2.5) * (pt > 10.0) * (0.95) +
835
836 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt < 5.0) * (0.60) +
837 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 5.0 && pt < 10.0) * (0.80) +
838 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 10.0) * (0.90) +
839
840 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 1.0 && pt < 5.0) * (0.50) + \
841 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 5.0 && pt < 10.0) * (0.70) + \
842 (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 10.0) * (0.80) + \
843 (abs(eta) > 6.0) * (0.00)}
844
845}
846
847##################
848# Photon isolation
849##################
850
851# TBC: check values for iso cuts
852
853module Isolation PhotonIsolation {
854 set CandidateInputArray PhotonEfficiency/photons
855 set IsolationInputArray EFlowFilter/eflow
856
857 set OutputArray photons
858
859 set DeltaRMax 0.3
860
861 set PTMin 0.5
862
863 set PTRatioMax 0.1
864}
865
866
867####################
868# Electron isolation
869####################
870
871# TBC: check values for iso cuts
872
873module Isolation ElectronIsolation {
874 set CandidateInputArray ElectronFilter/electrons
875 set IsolationInputArray EFlowFilter/eflow
876
877 set OutputArray electrons
878
879 set DeltaRMax 0.3
880
881 set PTMin 0.5
882
883 set PTRatioMax 0.1
884}
885
886
887################
888# Muon isolation
889################
890
891# TBC: check values for iso cuts
892
893module Isolation MuonIsolation {
894 set CandidateInputArray MuonMomentumSmearing/muons
895 set IsolationInputArray EFlowFilter/eflow
896
897 set OutputArray muons
898
899 set DeltaRMax 0.3
900
901 set PTMin 0.5
902
903 set PTRatioMax 0.2
904}
905
906
907
908###########
909# b-tagging
910###########
911
912module BTagging BTagging {
913 set JetInputArray JetEnergyScale/jets
914
915 set BitNumber 0
916
917 add EfficiencyFormula {0} {
918
919 (pt <= 10.0) * (0.00) +
920 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.01) + \
921 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.01)*(1.0 - pt/15000.) + \
922 (abs(eta) < 2.5) * (pt > 15000.0) * (0.00) + \
923 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.0075) + \
924 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.0075)*(1.0 - pt/15000.) + \
925 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \
926 (abs(eta) > 4.0) * (0.00)}
927
928 add EfficiencyFormula {4} {
929
930 (pt <= 10.0) * (0.00) +
931 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.05) + \
932 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.05)*(1.0 - pt/15000.) + \
933 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) + \
934 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.03) + \
935 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.03)*(1.0 - pt/15000.) + \
936 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \
937 (abs(eta) > 4.0) * (0.00)}
938
939 add EfficiencyFormula {5} {
940
941 (pt <= 10.0) * (0.00) +
942 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.85) +
943 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.85)*(1.0 - pt/15000.) +
944 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) +
945 (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.64) +
946 (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.64)*(1.0 - pt/15000.) +
947 (abs(eta) <= 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) +
948 (abs(eta) >= 4.0) * (0.00)}
949
950}
951
952###########
953# c-tagging
954###########
955
956module BTagging CTagging {
957 set JetInputArray JetEnergyScale/jets
958
959 set BitNumber 1
960
961 add EfficiencyFormula {0} {
962
963 (pt <= 10.0) * (0.00) +
964 (abs(eta) < 4.0) * (pt > 10.0) * (0.01) + \
965 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
966
967 add EfficiencyFormula {4} {
968
969 (pt <= 10.0) * (0.00) +
970 (abs(eta) < 4.0) * (pt > 10.0) * (0.25) + \
971 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
972
973 add EfficiencyFormula {5} {
974
975 (pt <= 10.0) * (0.00) +
976 (abs(eta) < 4.0) * (pt > 10.0) * (0.03) + \
977 (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
978
979}
980
981
982#############
983# tau-tagging
984#############
985
986
987module TauTagging TauTagging {
988 set ParticleInputArray Delphes/allParticles
989 set PartonInputArray Delphes/partons
990 set JetInputArray JetEnergyScale/jets
991
992 set DeltaR 0.5
993
994 set TauPTMin 1.0
995
996 set TauEtaMax 4.0
997
998 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
999 add EfficiencyFormula {0} {
1000
1001 (pt <= 10.0) * (0.00) +
1002 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.01) + \
1003 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.01) *(8./9. - pt/30000.) + \
1004 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1005 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.0075) + \
1006 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.0075)*(8./9. - pt/30000.) + \
1007 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1008 (abs(eta) > 4.0) * (0.00)}
1009
1010 add EfficiencyFormula {11} {
1011
1012 (pt <= 10.0) * (0.00) +
1013 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.005) + \
1014 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.005) *(8./9. - pt/30000.) + \
1015 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1016 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.00375) + \
1017 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.00375)*(8./9. - pt/30000.) + \
1018 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1019 (abs(eta) > 4.0) * (0.00)}
1020
1021 add EfficiencyFormula {15} {
1022
1023 (pt <= 10.0) * (0.00) +
1024 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.8) + \
1025 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.8) *(8./9. - pt/30000.) + \
1026 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \
1027 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.65) + \
1028 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.65)*(8./9. - pt/30000.) + \
1029 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \
1030 (abs(eta) > 4.0) * (0.00)}
1031
1032}
1033
1034#####################################################
1035# Find uniquely identified photons/electrons/tau/jets
1036#####################################################
1037
1038module UniqueObjectFinder UniqueObjectFinder {
1039# earlier arrays take precedence over later ones
1040# add InputArray InputArray OutputArray
1041 add InputArray PhotonIsolation/photons photons
1042 add InputArray ElectronIsolation/electrons electrons
1043 add InputArray MuonIsolation/muons muons
1044 add InputArray JetEnergyScale/jets jets
1045
1046}
1047
1048
1049##################
1050# ROOT tree writer
1051##################
1052
1053module TreeWriter TreeWriter {
1054# add Branch InputArray BranchName BranchClass
1055 add Branch Delphes/allParticles Particle GenParticle
1056
1057 add Branch GenMissingET/momentum GenMissingET MissingET
1058
1059 add Branch TimeSmearing/tracks Track Track
1060 add Branch Calorimeter/towers Tower Tower
1061
1062 add Branch HCal/eflowTracks EFlowTrack Track
1063 add Branch ECal/eflowPhotons EFlowPhoton Tower
1064 add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
1065
1066 add Branch UniqueObjectFinder/photons Photon Photon
1067 add Branch UniqueObjectFinder/electrons Electron Electron
1068 add Branch UniqueObjectFinder/muons Muon Muon
1069 add Branch UniqueObjectFinder/jets Jet Jet
1070
1071 add Branch GenJetFinder04/jets GenJet04 Jet
1072 add Branch FastJetFinder04/jets ParticleFlowJet04 Jet
1073 add Branch CaloJetFinder04/jets CaloJet04 Jet
1074 add Branch TrackJetFinder04/jets TrackJet04 Jet
1075
1076 add Branch MissingET/momentum MissingET MissingET
1077 add Branch ScalarHT/energy ScalarHT ScalarHT
1078 add Branch VertexFinderDA4D/vertices Vertex4D Vertex
1079
1080 add Branch HighMassVertexRecover/tracks Track Track
1081}
1082
Note: See TracBrowser for help on using the repository browser.