Fork me on GitHub

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

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

truncated mean implementation of dedx

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