Fork me on GitHub

source: git/cards/FCC/FCChh_PileUpVtx.tcl@ 77249aa

Timing
Last change on this file since 77249aa was 77249aa, checked in by michele <michele.selvaggi@…>, 5 years ago

first version of card using timing information

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