Fork me on GitHub

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

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

added energy loss module

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