Fork me on GitHub

source: git/cards/FCC/FCChh_PileUpVtx.tcl@ 9117aaa4

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

FCC-hh card with 4DVertex Algorithm

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