[5348ed9] | 1 | #
|
---|
| 2 | # Official Delphes card prepared by FCC-hh collaboration
|
---|
| 3 | #
|
---|
| 4 | # Main authors: Heather Gray (CERN)
|
---|
| 5 | # Filip Moortgat (CERN)
|
---|
| 6 | # Michele Selvaggi (CERN)
|
---|
| 7 | #
|
---|
| 8 | # Released on: Oct 02th, 2016
|
---|
| 9 | #
|
---|
| 10 | # Configuration: FCC-hh generic detector without dipole in the forward region, no pile-up
|
---|
| 11 | #
|
---|
| 12 | #######################################
|
---|
| 13 | # Order of execution of various modules
|
---|
| 14 | #######################################
|
---|
| 15 |
|
---|
| 16 | set ExecutionPath {
|
---|
| 17 | ParticlePropagator
|
---|
| 18 |
|
---|
| 19 | ChargedHadronTrackingEfficiency
|
---|
| 20 | ElectronTrackingEfficiency
|
---|
| 21 | MuonTrackingEfficiency
|
---|
| 22 |
|
---|
| 23 | ChargedHadronMomentumSmearing
|
---|
| 24 | ElectronMomentumSmearing
|
---|
| 25 | MuonMomentumSmearing
|
---|
| 26 |
|
---|
| 27 | TrackMerger
|
---|
| 28 |
|
---|
| 29 | ECal
|
---|
| 30 | HCal
|
---|
| 31 |
|
---|
| 32 | Calorimeter
|
---|
| 33 | EFlowMerger
|
---|
| 34 |
|
---|
| 35 | PhotonEfficiency
|
---|
| 36 | PhotonIsolation
|
---|
| 37 |
|
---|
| 38 | ElectronFilter
|
---|
| 39 | ElectronIsolation
|
---|
| 40 |
|
---|
[bdcf74c] | 41 | ChargedHadronFilter
|
---|
| 42 |
|
---|
[5348ed9] | 43 | MuonIsolation
|
---|
| 44 |
|
---|
| 45 | NeutrinoFilter
|
---|
| 46 |
|
---|
| 47 | MissingET
|
---|
| 48 | GenMissingET
|
---|
| 49 |
|
---|
| 50 | GenJetFinder
|
---|
| 51 | FastJetFinder
|
---|
| 52 |
|
---|
| 53 | JetEnergyScale
|
---|
| 54 |
|
---|
| 55 | JetFlavorAssociation
|
---|
| 56 |
|
---|
| 57 | BTagging
|
---|
| 58 | CTagging
|
---|
| 59 | TauTagging
|
---|
| 60 |
|
---|
| 61 | ScalarHT
|
---|
| 62 |
|
---|
| 63 | UniqueObjectFinder
|
---|
| 64 |
|
---|
| 65 | TreeWriter
|
---|
| 66 | }
|
---|
| 67 |
|
---|
| 68 | #################################
|
---|
| 69 | # Propagate particles in cylinder
|
---|
| 70 | #################################
|
---|
| 71 |
|
---|
| 72 | module ParticlePropagator ParticlePropagator {
|
---|
| 73 | set InputArray Delphes/stableParticles
|
---|
| 74 |
|
---|
| 75 | set OutputArray stableParticles
|
---|
| 76 | set ChargedHadronOutputArray chargedHadrons
|
---|
| 77 | set ElectronOutputArray electrons
|
---|
| 78 | set MuonOutputArray muons
|
---|
| 79 |
|
---|
| 80 | # radius of the magnetic field coverage, in m
|
---|
| 81 | set Radius 1.5
|
---|
| 82 | # half-length of the magnetic field coverage, in m
|
---|
| 83 | set HalfLength 5
|
---|
| 84 |
|
---|
| 85 | # magnetic field
|
---|
| 86 | set Bz 4.0
|
---|
| 87 | }
|
---|
| 88 |
|
---|
| 89 | ####################################
|
---|
| 90 | # Charged hadron tracking efficiency
|
---|
| 91 | ####################################
|
---|
| 92 |
|
---|
| 93 | module Efficiency ChargedHadronTrackingEfficiency {
|
---|
| 94 | set InputArray ParticlePropagator/chargedHadrons
|
---|
| 95 | set OutputArray chargedHadrons
|
---|
| 96 |
|
---|
| 97 | # TBC (which eta_max ? which pT min?)
|
---|
| 98 |
|
---|
| 99 | # tracking efficiency formula for charged hadrons
|
---|
| 100 |
|
---|
| 101 | set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
|
---|
| 102 | (abs(eta) <= 1.5) * (pt > 0.5 && pt <= 1) * (0.90) + \
|
---|
| 103 | (abs(eta) <= 1.5) * (pt > 1) * (0.95) + \
|
---|
| 104 | (abs(eta) > 1.5 && abs(eta) <= 4) * (pt > 0.5 && pt <= 1) * (0.85) + \
|
---|
| 105 | (abs(eta) > 1.5 && abs(eta) <= 4) * (pt > 1) * (0.90) + \
|
---|
| 106 | (abs(eta) > 4 && abs(eta) <= 6) * (pt > 0.5 && pt <= 1) * (0.80) + \
|
---|
| 107 | (abs(eta) > 4 && abs(eta) <= 6) * (pt > 1.0) * (0.85) + \
|
---|
| 108 | (abs(eta) > 6.0) * (0.00)}
|
---|
| 109 |
|
---|
| 110 | }
|
---|
| 111 |
|
---|
| 112 | ##############################
|
---|
| 113 | # Electron tracking efficiency
|
---|
| 114 | ##############################
|
---|
| 115 |
|
---|
| 116 | module Efficiency ElectronTrackingEfficiency {
|
---|
| 117 | set InputArray ParticlePropagator/electrons
|
---|
| 118 | set OutputArray electrons
|
---|
| 119 |
|
---|
| 120 | # TBC (which eta_max ?)
|
---|
| 121 | # putting same as charged hadrons for now...
|
---|
| 122 |
|
---|
| 123 | set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
|
---|
| 124 | (abs(eta) <= 1.5) * (pt > 0.5 && pt <= 1) * (0.90) + \
|
---|
| 125 | (abs(eta) <= 1.5) * (pt > 1) * (0.95) + \
|
---|
| 126 | (abs(eta) > 1.5 && abs(eta) <= 4) * (pt > 0.5 && pt <= 1) * (0.85) + \
|
---|
| 127 | (abs(eta) > 1.5 && abs(eta) <= 4) * (pt > 1) * (0.90) + \
|
---|
| 128 | (abs(eta) > 4 && abs(eta) <= 6) * (pt > 0.5 && pt <= 1) * (0.80) + \
|
---|
| 129 | (abs(eta) > 4 && abs(eta) <= 6) * (pt > 1.0) * (0.85) + \
|
---|
| 130 | (abs(eta) > 6.0) * (0.00)}
|
---|
| 131 |
|
---|
| 132 | }
|
---|
| 133 | ##########################
|
---|
| 134 | # Muon tracking efficiency
|
---|
| 135 | ##########################
|
---|
| 136 |
|
---|
| 137 | module Efficiency MuonTrackingEfficiency {
|
---|
| 138 | set InputArray ParticlePropagator/muons
|
---|
| 139 | set OutputArray muons
|
---|
| 140 |
|
---|
| 141 | # TBC (which eta_max ? why eff = 0 for 4 < eta < 6 ? for now put the same as central)
|
---|
| 142 | # what about high pT ?
|
---|
| 143 | # tracking efficiency formula for muons
|
---|
| 144 | set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
|
---|
| 145 | (abs(eta) <= 6.0) * (pt > 0.5 && pt <= 1) * (0.90) + \
|
---|
| 146 | (abs(eta) <= 6.0) * (pt > 1) * (0.99) + \
|
---|
| 147 | (abs(eta) > 6.0) * (0.00)}
|
---|
| 148 |
|
---|
| 149 | }
|
---|
| 150 |
|
---|
| 151 | ########################################
|
---|
| 152 | # Momentum resolution for charged tracks
|
---|
| 153 | ########################################
|
---|
| 154 |
|
---|
| 155 | module MomentumSmearing ChargedHadronMomentumSmearing {
|
---|
| 156 | set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
|
---|
| 157 | set OutputArray chargedHadrons
|
---|
| 158 |
|
---|
| 159 | source momentumResolutionVsP.tcl
|
---|
| 160 | }
|
---|
| 161 |
|
---|
| 162 |
|
---|
| 163 | ###################################
|
---|
| 164 | # Momentum resolution for electrons
|
---|
| 165 | ###################################
|
---|
| 166 |
|
---|
| 167 | module MomentumSmearing ElectronMomentumSmearing {
|
---|
| 168 | set InputArray ElectronTrackingEfficiency/electrons
|
---|
| 169 | set OutputArray electrons
|
---|
| 170 |
|
---|
| 171 | source momentumResolutionVsP.tcl
|
---|
| 172 | }
|
---|
| 173 |
|
---|
| 174 |
|
---|
| 175 | ###############################
|
---|
| 176 | # Momentum resolution for muons
|
---|
| 177 | ###############################
|
---|
| 178 |
|
---|
| 179 | module MomentumSmearing MuonMomentumSmearing {
|
---|
| 180 | set InputArray MuonTrackingEfficiency/muons
|
---|
| 181 | set OutputArray muons
|
---|
| 182 |
|
---|
| 183 | # TBC for just putting tracker resolution/ need to add improvement at high pT
|
---|
| 184 |
|
---|
| 185 | source muonMomentumResolutionVsP.tcl
|
---|
| 186 | }
|
---|
| 187 |
|
---|
| 188 | ##############
|
---|
| 189 | # Track merger
|
---|
| 190 | ##############
|
---|
| 191 |
|
---|
| 192 | module Merger TrackMerger {
|
---|
| 193 | # add InputArray InputArray
|
---|
| 194 | add InputArray ChargedHadronMomentumSmearing/chargedHadrons
|
---|
| 195 | add InputArray ElectronMomentumSmearing/electrons
|
---|
| 196 | add InputArray MuonMomentumSmearing/muons
|
---|
| 197 | set OutputArray tracks
|
---|
| 198 | }
|
---|
| 199 |
|
---|
| 200 | #############
|
---|
| 201 | # ECAL
|
---|
| 202 | #############
|
---|
| 203 |
|
---|
| 204 | # TBC : calos seems ok, check eta max value though.
|
---|
| 205 |
|
---|
| 206 | module SimpleCalorimeter ECal {
|
---|
| 207 | set ParticleInputArray ParticlePropagator/stableParticles
|
---|
| 208 | set TrackInputArray TrackMerger/tracks
|
---|
| 209 |
|
---|
| 210 | set TowerOutputArray ecalTowers
|
---|
| 211 | set EFlowTrackOutputArray eflowTracks
|
---|
| 212 | set EFlowTowerOutputArray eflowPhotons
|
---|
| 213 |
|
---|
| 214 | set IsEcal true
|
---|
| 215 |
|
---|
| 216 | set EnergyMin 0.5
|
---|
| 217 | set EnergySignificanceMin 2.0
|
---|
| 218 |
|
---|
| 219 | set SmearTowerCenter true
|
---|
| 220 |
|
---|
| 221 | set pi [expr {acos(-1)}]
|
---|
| 222 |
|
---|
| 223 | # lists of the edges of each tower in eta and phi
|
---|
| 224 | # each list starts with the lower edge of the first tower
|
---|
| 225 | # the list ends with the higher edged of the last tower
|
---|
| 226 |
|
---|
| 227 | # 0.5 degree towers (5x5 mm^2)
|
---|
| 228 | set PhiBins {}
|
---|
| 229 | for {set i -256} {$i <= 256} {incr i} {
|
---|
| 230 | add PhiBins [expr {$i * $pi/256.0}]
|
---|
| 231 | }
|
---|
| 232 |
|
---|
| 233 | # TBC
|
---|
| 234 | foreach eta {-2.4875 -2.475 -2.4625 -2.45 -2.4375 -2.425 -2.4125 -2.4 -2.3875 -2.375 -2.3625 -2.35 -2.3375 -2.325 -2.3125 -2.3 -2.2875 -2.275 -2.2625 -2.25 -2.2375 -2.225 -2.2125 -2.2 -2.1875 -2.175 -2.1625 -2.15 -2.1375 -2.125 -2.1125 -2.1 -2.0875 -2.075 -2.0625 -2.05 -2.0375 -2.025 -2.0125 -2 -1.9875 -1.975 -1.9625 -1.95 -1.9375 -1.925 -1.9125 -1.9 -1.8875 -1.875 -1.8625 -1.85 -1.8375 -1.825 -1.8125 -1.8 -1.7875 -1.775 -1.7625 -1.75 -1.7375 -1.725 -1.7125 -1.7 -1.6875 -1.675 -1.6625 -1.65 -1.6375 -1.625 -1.6125 -1.6 -1.5875 -1.575 -1.5625 -1.55 -1.5375 -1.525 -1.5125 -1.5 -1.4875 -1.475 -1.4625 -1.45 -1.4375 -1.425 -1.4125 -1.4 -1.3875 -1.375 -1.3625 -1.35 -1.3375 -1.325 -1.3125 -1.3 -1.2875 -1.275 -1.2625 -1.25 -1.2375 -1.225 -1.2125 -1.2 -1.1875 -1.175 -1.1625 -1.15 -1.1375 -1.125 -1.1125 -1.1 -1.0875 -1.075 -1.0625 -1.05 -1.0375 -1.025 -1.0125 -1.0 -0.9875 -0.975 -0.9625 -0.95 -0.9375 -0.925 -0.9125 -0.9 -0.8875 -0.875 -0.8625 -0.85 -0.8375 -0.825 -0.8125 -0.8 -0.7875 -0.775 -0.7625 -0.75 -0.7375 -0.725 -0.7125 -0.7 -0.6875 -0.675 -0.6625 -0.65 -0.6375 -0.625 -0.6125 -0.6 -0.5875 -0.575 -0.5625 -0.55 -0.5375 -0.525 -0.5125 -0.5 -0.4875 -0.475 -0.4625 -0.45 -0.4375 -0.425 -0.4125 -0.4 -0.3875 -0.375 -0.3625 -0.35 -0.3375 -0.325 -0.3125 -0.3 -0.2875 -0.275 -0.2625 -0.25 -0.2375 -0.225 -0.2125 -0.2 -0.1875 -0.175 -0.1625 -0.15 -0.1375 -0.125 -0.1125 -0.1 -0.0875 -0.075 -0.0625 -0.05 -0.0375 -0.025 -0.0125 0 0.0125 0.025 0.0375 0.05 0.0625 0.075 0.0875 0.1 0.1125 0.125 0.1375 0.15 0.1625 0.175 0.1875 0.2 0.2125 0.225 0.2375 0.25 0.2625 0.275 0.2875 0.3 0.3125 0.325 0.3375 0.35 0.3625 0.375 0.3875 0.4 0.4125 0.425 0.4375 0.45 0.4625 0.475 0.4875 0.5 0.5125 0.525 0.5375 0.55 0.5625 0.575 0.5875 0.6 0.6125 0.625 0.6375 0.65 0.6625 0.675 0.6875 0.7 0.7125 0.725 0.7375 0.75 0.7625 0.775 0.7875 0.8 0.8125 0.825 0.8375 0.85 0.8625 0.875 0.8875 0.9 0.9125 0.925 0.9375 0.95 0.9625 0.975 0.9875 1.0 1.0125 1.025 1.0375 1.05 1.0625 1.075 1.0875 1.1 1.1125 1.125 1.1375 1.15 1.1625 1.175 1.1875 1.2 1.2125 1.225 1.2375 1.25 1.2625 1.275 1.2875 1.3 1.3125 1.325 1.3375 1.35 1.3625 1.375 1.3875 1.4 1.4125 1.425 1.4375 1.45 1.4625 1.475 1.4875 1.5 1.5125 1.525 1.5375 1.55 1.5625 1.575 1.5875 1.6 1.6125 1.625 1.6375 1.65 1.6625 1.675 1.6875 1.7 1.7125 1.725 1.7375 1.75 1.7625 1.775 1.7875 1.8 1.8125 1.825 1.8375 1.85 1.8625 1.875 1.8875 1.9 1.9125 1.925 1.9375 1.95 1.9625 1.975 1.9875 2 2.0125 2.025 2.0375 2.05 2.0625 2.075 2.0875 2.1 2.1125 2.125 2.1375 2.15 2.1625 2.175 2.1875 2.2 2.2125 2.225 2.2375 2.25 2.2625 2.275 2.2875 2.3 2.3125 2.325 2.3375 2.35 2.3625 2.375 2.3875 2.4 2.4125 2.425 2.4375 2.45 2.4625 2.475 2.4875 2.5} {
|
---|
| 235 | add EtaPhiBins $eta $PhiBins
|
---|
| 236 | }
|
---|
| 237 | # 0.025 eta x 0.025 for eta between 2.5 and 4.0
|
---|
| 238 | set PhiBins {}
|
---|
| 239 | for {set i -128} {$i <= 128} {incr i} {
|
---|
| 240 | add PhiBins [expr {$i * $pi/128.0}]
|
---|
| 241 | }
|
---|
| 242 | foreach eta {-3.975 -3.95 -3.925 -3.9 -3.875 -3.85 -3.825 -3.8 -3.775 -3.75 -3.725 -3.7 -3.675 -3.65 -3.625 -3.6 -3.575 -3.55 -3.525 -3.5 -3.475 -3.45 -3.425 -3.4 -3.375 -3.35 -3.325 -3.3 -3.275 -3.25 -3.225 -3.2 -3.175 -3.15 -3.125 -3.1 -3.075 -3.05 -3.025 -3.0 -2.975 -2.95 -2.925 -2.9 -2.875 -2.85 -2.825 -2.8 -2.775 -2.75 -2.725 -2.7 -2.675 -2.65 -2.625 -2.6 -2.575 -2.55 -2.525 -2.5 2.525 2.55 2.575 2.6 2.625 2.65 2.675 2.7 2.725 2.75 2.775 2.8 2.825 2.85 2.875 2.9 2.925 2.95 2.975 3.0 3.025 3.05 3.075 3.1 3.125 3.15 3.175 3.2 3.225 3.25 3.275 3.3 3.325 3.35 3.375 3.4 3.425 3.45 3.475 3.5 3.525 3.55 3.575 3.6 3.625 3.65 3.675 3.7 3.725 3.75 3.775 3.8 3.825 3.85 3.875 3.9 3.925 3.95 3.975 4.0} {
|
---|
| 243 | add EtaPhiBins $eta $PhiBins
|
---|
| 244 | }
|
---|
| 245 |
|
---|
| 246 | # 0.05 x 0.05 for eta between 4.0 and 6.0
|
---|
| 247 | set PhiBins {}
|
---|
| 248 | for {set i -64} {$i <= 64} {incr i} {
|
---|
| 249 | add PhiBins [expr {$i * $pi/64.0}]
|
---|
| 250 | }
|
---|
| 251 | foreach eta {-6.0 -5.95 -5.9 -5.85 -5.8 -5.75 -5.7 -5.65 -5.6 -5.55 -5.5 -5.45 -5.4 -5.35 -5.3 -5.25 -5.2 -5.15 -5.1 -5.05 -5.0 -4.95 -4.9 -4.85 -4.8 -4.75 -4.7 -4.65 -4.6 -4.55 -4.5 -4.45 -4.4 -4.35 -4.3 -4.25 -4.2 -4.15 -4.1 -4.05 -4 4.05 4.1 4.15 4.2 4.25 4.3 4.35 4.4 4.45 4.5 4.55 4.6 4.65 4.7 4.75 4.8 4.85 4.9 4.95 5.0 5.05 5.1 5.15 5.2 5.25 5.3 5.35 5.4 5.45 5.5 5.55 5.6 5.65 5.7 5.75 5.8 5.85 5.9 5.95 6.0} {
|
---|
| 252 | add EtaPhiBins $eta $PhiBins
|
---|
| 253 | }
|
---|
| 254 | # default energy fractions {abs(PDG code)} {fraction of energy deposited in ECAL}
|
---|
| 255 |
|
---|
| 256 | add EnergyFraction {0} {0.0}
|
---|
| 257 | # energy fractions for e, gamma and pi0
|
---|
| 258 | add EnergyFraction {11} {1.0}
|
---|
| 259 | add EnergyFraction {22} {1.0}
|
---|
| 260 | add EnergyFraction {111} {1.0}
|
---|
| 261 | # energy fractions for muon, neutrinos and neutralinos
|
---|
| 262 | add EnergyFraction {12} {0.0}
|
---|
| 263 | add EnergyFraction {13} {0.0}
|
---|
| 264 | add EnergyFraction {14} {0.0}
|
---|
| 265 | add EnergyFraction {16} {0.0}
|
---|
| 266 | add EnergyFraction {1000022} {0.0}
|
---|
| 267 | add EnergyFraction {1000023} {0.0}
|
---|
| 268 | add EnergyFraction {1000025} {0.0}
|
---|
| 269 | add EnergyFraction {1000035} {0.0}
|
---|
| 270 | add EnergyFraction {1000045} {0.0}
|
---|
| 271 | # energy fractions for K0short and Lambda
|
---|
| 272 | # add EnergyFraction {310} {0.3}
|
---|
| 273 | # add EnergyFraction {3122} {0.3}
|
---|
| 274 |
|
---|
| 275 | # set ECalResolutionFormula {resolution formula as a function of eta and energy}
|
---|
| 276 | set ResolutionFormula { (abs(eta) <= 4.0) * sqrt(energy^2*0.01^2 + energy*0.10^2) + \
|
---|
| 277 | (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.01^2 + energy*0.10^2)}
|
---|
| 278 |
|
---|
| 279 |
|
---|
| 280 | }
|
---|
| 281 |
|
---|
| 282 | #############
|
---|
| 283 | # HCAL
|
---|
| 284 | #############
|
---|
| 285 |
|
---|
| 286 | module SimpleCalorimeter HCal {
|
---|
| 287 | set ParticleInputArray ParticlePropagator/stableParticles
|
---|
| 288 | set TrackInputArray ECal/eflowTracks
|
---|
| 289 |
|
---|
| 290 | set TowerOutputArray hcalTowers
|
---|
| 291 | set EFlowTrackOutputArray eflowTracks
|
---|
| 292 | set EFlowTowerOutputArray eflowNeutralHadrons
|
---|
| 293 |
|
---|
| 294 | set IsEcal false
|
---|
| 295 |
|
---|
| 296 | set EnergyMin 1.0
|
---|
| 297 | set EnergySignificanceMin 2.0
|
---|
| 298 |
|
---|
| 299 | set SmearTowerCenter true
|
---|
| 300 |
|
---|
| 301 | set pi [expr {acos(-1)}]
|
---|
| 302 |
|
---|
| 303 | # lists of the edges of each tower in eta and phi
|
---|
| 304 | # each list starts with the lower edge of the first tower
|
---|
| 305 | # the list ends with the higher edged of the last tower
|
---|
| 306 |
|
---|
| 307 | # 6 degree towers
|
---|
| 308 | set PhiBins {}
|
---|
| 309 | for {set i -64} {$i <= 64} {incr i} {
|
---|
| 310 | add PhiBins [expr {$i * $pi/64.0}]
|
---|
| 311 | }
|
---|
| 312 |
|
---|
| 313 | # TBC
|
---|
| 314 | foreach eta {-2.45 -2.4 -2.35 -2.3 -2.25 -2.2 -2.15 -2.1 -2.05 -2.0 -1.95 -1.9 -1.85 -1.8 -1.75 -1.7 -1.65 -1.6 -1.55 -1.5 -1.45 -1.4 -1.35 -1.3 -1.25 -1.2 -1.15 -1.1 -1.05 -1.0 -0.95 -0.9 -0.85 -0.8 -0.75 -0.7 -0.65 -0.6 -0.55 -0.5 -0.45 -0.4 -0.35 -0.3 -0.25 -0.2 -0.15 -0.1 -0.05 0.0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.4 1.45 1.5 1.55 1.6 1.65 1.7 1.75 1.8 1.85 1.9 1.95 2.0 2.05 2.1 2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5} {
|
---|
| 315 | add EtaPhiBins $eta $PhiBins
|
---|
| 316 | }
|
---|
| 317 |
|
---|
| 318 | # 0.1 x 0.1 between eta 2.5 and 4.0
|
---|
| 319 | set PhiBins {}
|
---|
| 320 | for {set i -32} {$i <= 32} {incr i} {
|
---|
| 321 | add PhiBins [expr {$i * $pi/32.0}]
|
---|
| 322 | }
|
---|
| 323 | foreach eta {-3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3.0 -2.9 -2.8 -2.7 -2.6 -2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0} {
|
---|
| 324 | add EtaPhiBins $eta $PhiBins
|
---|
| 325 | }
|
---|
| 326 |
|
---|
| 327 | # 0.2 x 0.2 between eta 4.0 and 6.0
|
---|
| 328 | set PhiBins {}
|
---|
| 329 | for {set i -16} {$i <= 16} {incr i} {
|
---|
| 330 | add PhiBins [expr {$i * $pi/16.0}]
|
---|
| 331 | }
|
---|
| 332 | foreach eta {-6.0 -5.8 -5.6 -5.4 -5.2 -5.0 -4.8 -4.6 -4.4 -4.2 -4.0 4.2 4.4 4.6 4.8 5.0 5.2 5.4 5.6 5.8 6.0} {
|
---|
| 333 | add EtaPhiBins $eta $PhiBins
|
---|
| 334 | }
|
---|
| 335 |
|
---|
| 336 | # default energy fractions {abs(PDG code)} {Fecal Fhcal}
|
---|
| 337 | add EnergyFraction {0} {1.0}
|
---|
| 338 | # energy fractions for e, gamma and pi0
|
---|
| 339 | add EnergyFraction {11} {0.0}
|
---|
| 340 | add EnergyFraction {22} {0.0}
|
---|
| 341 | add EnergyFraction {111} {0.0}
|
---|
| 342 | # energy fractions for muon, neutrinos and neutralinos
|
---|
| 343 | add EnergyFraction {12} {0.0}
|
---|
| 344 | add EnergyFraction {13} {0.0}
|
---|
| 345 | add EnergyFraction {14} {0.0}
|
---|
| 346 | add EnergyFraction {16} {0.0}
|
---|
| 347 | add EnergyFraction {1000022} {0.0}
|
---|
| 348 | add EnergyFraction {1000023} {0.0}
|
---|
| 349 | add EnergyFraction {1000025} {0.0}
|
---|
| 350 | add EnergyFraction {1000035} {0.0}
|
---|
| 351 | add EnergyFraction {1000045} {0.0}
|
---|
| 352 | # energy fractions for K0short and Lambda
|
---|
| 353 | # add EnergyFraction {310} {0.7}
|
---|
| 354 | # add EnergyFraction {3122} {0.7}
|
---|
| 355 |
|
---|
| 356 | # set HCalResolutionFormula {resolution formula as a function of eta and energy}
|
---|
| 357 | set ResolutionFormula { (abs(eta) <= 4.0) * sqrt(energy^2*0.03^2 + energy*0.50^2) + \
|
---|
| 358 | (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.05^2 + energy*1.00^2)}
|
---|
| 359 | }
|
---|
| 360 |
|
---|
| 361 | #################
|
---|
| 362 | # Electron filter
|
---|
| 363 | #################
|
---|
| 364 |
|
---|
| 365 | module PdgCodeFilter ElectronFilter {
|
---|
| 366 | set InputArray HCal/eflowTracks
|
---|
| 367 | set OutputArray electrons
|
---|
| 368 | set Invert true
|
---|
| 369 | add PdgCode {11}
|
---|
| 370 | add PdgCode {-11}
|
---|
| 371 | }
|
---|
| 372 |
|
---|
[bdcf74c] | 373 |
|
---|
| 374 | ######################
|
---|
| 375 | # ChargedHadronFilter
|
---|
| 376 | ######################
|
---|
| 377 |
|
---|
| 378 | module PdgCodeFilter ChargedHadronFilter {
|
---|
| 379 | set InputArray HCal/eflowTracks
|
---|
| 380 | set OutputArray chargedHadrons
|
---|
| 381 |
|
---|
| 382 | add PdgCode {11}
|
---|
| 383 | add PdgCode {-11}
|
---|
| 384 | add PdgCode {13}
|
---|
| 385 | add PdgCode {-13}
|
---|
| 386 | }
|
---|
| 387 |
|
---|
| 388 |
|
---|
[5348ed9] | 389 | ###################################################
|
---|
| 390 | # Tower Merger (in case not using e-flow algorithm)
|
---|
| 391 | ###################################################
|
---|
| 392 |
|
---|
| 393 | module Merger Calorimeter {
|
---|
| 394 | # add InputArray InputArray
|
---|
| 395 | add InputArray ECal/ecalTowers
|
---|
| 396 | add InputArray HCal/hcalTowers
|
---|
| 397 | set OutputArray towers
|
---|
| 398 | }
|
---|
| 399 |
|
---|
| 400 | ####################
|
---|
| 401 | # Energy flow merger
|
---|
| 402 | ####################
|
---|
| 403 |
|
---|
| 404 | module Merger EFlowMerger {
|
---|
| 405 | # add InputArray InputArray
|
---|
| 406 | add InputArray HCal/eflowTracks
|
---|
| 407 | add InputArray ECal/eflowPhotons
|
---|
| 408 | add InputArray HCal/eflowNeutralHadrons
|
---|
| 409 | set OutputArray eflow
|
---|
| 410 | }
|
---|
| 411 |
|
---|
| 412 |
|
---|
| 413 | ###################
|
---|
| 414 | # Missing ET merger
|
---|
| 415 | ###################
|
---|
| 416 |
|
---|
| 417 | module Merger MissingET {
|
---|
| 418 | # add InputArray InputArray
|
---|
| 419 | add InputArray EFlowMerger/eflow
|
---|
| 420 | set MomentumOutputArray momentum
|
---|
| 421 | }
|
---|
| 422 |
|
---|
| 423 |
|
---|
| 424 |
|
---|
| 425 | ##################
|
---|
| 426 | # Scalar HT merger
|
---|
| 427 | ##################
|
---|
| 428 |
|
---|
| 429 | module Merger ScalarHT {
|
---|
| 430 | # add InputArray InputArray
|
---|
| 431 | add InputArray EFlowMerger/eflow
|
---|
| 432 | set EnergyOutputArray energy
|
---|
| 433 | }
|
---|
| 434 |
|
---|
| 435 | #################
|
---|
| 436 | # Neutrino Filter
|
---|
| 437 | #################
|
---|
| 438 |
|
---|
| 439 | module PdgCodeFilter NeutrinoFilter {
|
---|
| 440 |
|
---|
| 441 | set InputArray Delphes/stableParticles
|
---|
| 442 | set OutputArray filteredParticles
|
---|
| 443 |
|
---|
| 444 | set PTMin 0.0
|
---|
| 445 |
|
---|
| 446 | add PdgCode {12}
|
---|
| 447 | add PdgCode {14}
|
---|
| 448 | add PdgCode {16}
|
---|
| 449 | add PdgCode {-12}
|
---|
| 450 | add PdgCode {-14}
|
---|
| 451 | add PdgCode {-16}
|
---|
| 452 |
|
---|
| 453 | }
|
---|
| 454 |
|
---|
| 455 |
|
---|
| 456 | #####################
|
---|
| 457 | # MC truth jet finder
|
---|
| 458 | #####################
|
---|
| 459 |
|
---|
| 460 | # TBC: is jet radius fine?
|
---|
| 461 |
|
---|
| 462 | module FastJetFinder GenJetFinder {
|
---|
| 463 | # set InputArray NeutrinoFilter/filteredParticles
|
---|
| 464 | set InputArray Delphes/stableParticles
|
---|
| 465 |
|
---|
| 466 | set OutputArray jets
|
---|
| 467 |
|
---|
| 468 | # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
|
---|
| 469 | set JetAlgorithm 6
|
---|
| 470 | set ParameterR 0.4
|
---|
| 471 |
|
---|
| 472 | set JetPTMin 5.0
|
---|
| 473 | }
|
---|
| 474 |
|
---|
| 475 | #########################
|
---|
| 476 | # Gen Missing ET merger
|
---|
| 477 | ########################
|
---|
| 478 |
|
---|
| 479 | module Merger GenMissingET {
|
---|
| 480 |
|
---|
| 481 | # add InputArray InputArray
|
---|
| 482 | add InputArray NeutrinoFilter/filteredParticles
|
---|
| 483 | set MomentumOutputArray momentum
|
---|
| 484 | }
|
---|
| 485 |
|
---|
| 486 |
|
---|
| 487 |
|
---|
| 488 | ############
|
---|
| 489 | # Jet finder
|
---|
| 490 | ############
|
---|
| 491 |
|
---|
| 492 | # TBC need to include jet substructure variables
|
---|
| 493 | # TBC is jet radius fine?
|
---|
| 494 |
|
---|
| 495 | module FastJetFinder FastJetFinder {
|
---|
| 496 | # set InputArray Calorimeter/towers
|
---|
| 497 | set InputArray EFlowMerger/eflow
|
---|
| 498 |
|
---|
| 499 | set OutputArray jets
|
---|
| 500 |
|
---|
| 501 | # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
|
---|
| 502 | # 7: anti-kt with winner-take-all axis (for N-subjettiness), 8 N-jettiness
|
---|
| 503 |
|
---|
| 504 | set JetAlgorithm 6
|
---|
| 505 | set ParameterR 0.4
|
---|
| 506 |
|
---|
| 507 | set JetPTMin 30.0
|
---|
| 508 | }
|
---|
| 509 |
|
---|
| 510 | ##################
|
---|
| 511 | # Jet Energy Scale
|
---|
| 512 | ##################
|
---|
| 513 |
|
---|
| 514 | module EnergyScale JetEnergyScale {
|
---|
| 515 | set InputArray FastJetFinder/jets
|
---|
| 516 | set OutputArray jets
|
---|
| 517 |
|
---|
| 518 | # scale formula for jets
|
---|
| 519 | set ScaleFormula {1.00}
|
---|
| 520 | }
|
---|
| 521 |
|
---|
| 522 |
|
---|
| 523 | ########################
|
---|
| 524 | # Jet Flavor Association
|
---|
| 525 | ########################
|
---|
| 526 |
|
---|
| 527 | module JetFlavorAssociation JetFlavorAssociation {
|
---|
| 528 |
|
---|
| 529 | set PartonInputArray Delphes/partons
|
---|
| 530 | set ParticleInputArray Delphes/allParticles
|
---|
| 531 | set ParticleLHEFInputArray Delphes/allParticlesLHEF
|
---|
| 532 | set JetInputArray JetEnergyScale/jets
|
---|
| 533 |
|
---|
| 534 | set DeltaR 0.5
|
---|
| 535 | set PartonPTMin 5.0
|
---|
| 536 | set PartonEtaMax 6.0
|
---|
| 537 |
|
---|
| 538 | }
|
---|
| 539 |
|
---|
| 540 | ###################
|
---|
| 541 | # Photon efficiency
|
---|
| 542 | ###################
|
---|
| 543 |
|
---|
| 544 | module Efficiency PhotonEfficiency {
|
---|
| 545 | set InputArray ECal/eflowPhotons
|
---|
| 546 | set OutputArray photons
|
---|
| 547 |
|
---|
| 548 | # set EfficiencyFormula {efficiency formula as a function of eta and pt}
|
---|
| 549 |
|
---|
| 550 | set EfficiencyFormula {
|
---|
| 551 | (pt <= 10.0) * (0.00) + \
|
---|
| 552 | (abs(eta) <= 1.5) * (pt > 10.0) * (0.95) + \
|
---|
| 553 | (abs(eta) > 1.5 && abs(eta) <= 4.0) * (pt > 10.0) * (0.90) + \
|
---|
| 554 | (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 10.0) * (0.80) + \
|
---|
| 555 | (abs(eta) > 6.0) * (0.00)}
|
---|
| 556 |
|
---|
| 557 | }
|
---|
| 558 |
|
---|
| 559 | ##################
|
---|
| 560 | # Photon isolation
|
---|
| 561 | ##################
|
---|
| 562 |
|
---|
| 563 | # TBC: check values for iso cuts
|
---|
| 564 |
|
---|
| 565 | module Isolation PhotonIsolation {
|
---|
| 566 | set CandidateInputArray PhotonEfficiency/photons
|
---|
| 567 | set IsolationInputArray EFlowMerger/eflow
|
---|
| 568 |
|
---|
| 569 | set OutputArray photons
|
---|
| 570 |
|
---|
| 571 | set DeltaRMax 0.3
|
---|
| 572 |
|
---|
| 573 | set PTMin 0.5
|
---|
| 574 |
|
---|
| 575 | set PTRatioMax 0.1
|
---|
| 576 | }
|
---|
| 577 |
|
---|
| 578 |
|
---|
| 579 | ####################
|
---|
| 580 | # Electron isolation
|
---|
| 581 | ####################
|
---|
| 582 |
|
---|
| 583 | # TBC: check values for iso cuts
|
---|
| 584 |
|
---|
| 585 | module Isolation ElectronIsolation {
|
---|
| 586 | set CandidateInputArray ElectronFilter/electrons
|
---|
| 587 | set IsolationInputArray EFlowMerger/eflow
|
---|
| 588 |
|
---|
| 589 | set OutputArray electrons
|
---|
| 590 |
|
---|
| 591 | set DeltaRMax 0.3
|
---|
| 592 |
|
---|
| 593 | set PTMin 0.5
|
---|
| 594 |
|
---|
| 595 | set PTRatioMax 0.1
|
---|
| 596 | }
|
---|
| 597 |
|
---|
| 598 |
|
---|
| 599 | ################
|
---|
| 600 | # Muon isolation
|
---|
| 601 | ################
|
---|
| 602 |
|
---|
| 603 | # TBC: check values for iso cuts
|
---|
| 604 |
|
---|
| 605 | module Isolation MuonIsolation {
|
---|
| 606 | set CandidateInputArray MuonMomentumSmearing/muons
|
---|
| 607 | set IsolationInputArray EFlowMerger/eflow
|
---|
| 608 |
|
---|
| 609 | set OutputArray muons
|
---|
| 610 |
|
---|
| 611 | set DeltaRMax 0.3
|
---|
| 612 |
|
---|
| 613 | set PTMin 0.5
|
---|
| 614 |
|
---|
| 615 | set PTRatioMax 0.2
|
---|
| 616 | }
|
---|
| 617 |
|
---|
| 618 |
|
---|
| 619 | ###########
|
---|
| 620 | # b-tagging
|
---|
| 621 | ###########
|
---|
| 622 |
|
---|
| 623 | module BTagging BTagging {
|
---|
| 624 | set JetInputArray JetEnergyScale/jets
|
---|
| 625 |
|
---|
| 626 | set BitNumber 0
|
---|
| 627 |
|
---|
| 628 | add EfficiencyFormula {0} {
|
---|
| 629 |
|
---|
| 630 | (pt <= 10.0) * (0.00) +
|
---|
| 631 | (abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.001) + \
|
---|
| 632 | (abs(eta) < 4.0) * (pt > 500.0) * (0.001*exp(0.5 - pt*0.001)) + \
|
---|
| 633 | (abs(eta) > 4.0) * (0.00)}
|
---|
| 634 |
|
---|
| 635 | add EfficiencyFormula {4} {
|
---|
| 636 |
|
---|
| 637 | (pt <= 10.0) * (0.00) +
|
---|
| 638 | (abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.04) + \
|
---|
| 639 | (abs(eta) < 4.0) * (pt > 500.0) * (0.04*exp(0.5 - pt*0.001)) + \
|
---|
| 640 | (abs(eta) > 4.0) * (0.00)}
|
---|
| 641 |
|
---|
| 642 | add EfficiencyFormula {5} {
|
---|
| 643 |
|
---|
| 644 | (pt <= 10.0) * (0.00) +
|
---|
| 645 | (abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.80) + \
|
---|
| 646 | (abs(eta) < 4.0) * (pt > 500.0) * (0.85*exp(0.5 - pt*0.001)) + \
|
---|
| 647 | (abs(eta) > 4.0) * (0.00)}
|
---|
| 648 |
|
---|
| 649 | }
|
---|
| 650 |
|
---|
| 651 | ###########
|
---|
| 652 | # c-tagging
|
---|
| 653 | ###########
|
---|
| 654 |
|
---|
| 655 | module BTagging CTagging {
|
---|
| 656 | set JetInputArray JetEnergyScale/jets
|
---|
| 657 |
|
---|
| 658 | set BitNumber 1
|
---|
| 659 |
|
---|
| 660 | add EfficiencyFormula {0} {
|
---|
| 661 |
|
---|
| 662 | (pt <= 10.0) * (0.00) +
|
---|
| 663 | (abs(eta) < 4.0) * (pt > 10.0) * (0.01) + \
|
---|
| 664 | (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
|
---|
| 665 |
|
---|
| 666 | add EfficiencyFormula {4} {
|
---|
| 667 |
|
---|
| 668 | (pt <= 10.0) * (0.00) +
|
---|
| 669 | (abs(eta) < 4.0) * (pt > 10.0) * (0.10) + \
|
---|
| 670 | (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
|
---|
| 671 |
|
---|
| 672 | add EfficiencyFormula {5} {
|
---|
| 673 |
|
---|
| 674 | (pt <= 10.0) * (0.00) +
|
---|
| 675 | (abs(eta) < 4.0) * (pt > 10.0) * (0.25) + \
|
---|
| 676 | (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
|
---|
| 677 |
|
---|
| 678 | }
|
---|
| 679 |
|
---|
| 680 |
|
---|
| 681 | #############
|
---|
| 682 | # tau-tagging
|
---|
| 683 | #############
|
---|
| 684 |
|
---|
| 685 |
|
---|
| 686 | module TauTagging TauTagging {
|
---|
| 687 | set ParticleInputArray Delphes/allParticles
|
---|
| 688 | set PartonInputArray Delphes/partons
|
---|
| 689 | set JetInputArray JetEnergyScale/jets
|
---|
| 690 |
|
---|
| 691 | set DeltaR 0.5
|
---|
| 692 |
|
---|
| 693 | set TauPTMin 1.0
|
---|
| 694 |
|
---|
| 695 | set TauEtaMax 4.0
|
---|
| 696 |
|
---|
| 697 | # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
|
---|
| 698 | add EfficiencyFormula {0} {
|
---|
| 699 |
|
---|
| 700 | (pt <= 10.0) * (0.00) +
|
---|
| 701 | (abs(eta) < 4.0) * (pt > 10.0) * (0.01) + \
|
---|
| 702 | (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
|
---|
| 703 |
|
---|
| 704 | add EfficiencyFormula {11} {
|
---|
| 705 |
|
---|
| 706 | (pt <= 10.0) * (0.00) +
|
---|
| 707 | (abs(eta) < 4.0) * (pt > 10.0) * (0.005) + \
|
---|
| 708 | (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
|
---|
| 709 |
|
---|
| 710 | add EfficiencyFormula {15} {
|
---|
| 711 |
|
---|
| 712 | (pt <= 10.0) * (0.00) +
|
---|
| 713 | (abs(eta) < 4.0) * (pt > 10.0) * (0.6) + \
|
---|
| 714 | (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
|
---|
| 715 |
|
---|
| 716 | }
|
---|
| 717 |
|
---|
| 718 | #####################################################
|
---|
| 719 | # Find uniquely identified photons/electrons/tau/jets
|
---|
| 720 | #####################################################
|
---|
| 721 |
|
---|
| 722 | module UniqueObjectFinder UniqueObjectFinder {
|
---|
| 723 | # earlier arrays take precedence over later ones
|
---|
| 724 | # add InputArray InputArray OutputArray
|
---|
| 725 | add InputArray PhotonIsolation/photons photons
|
---|
| 726 | add InputArray ElectronIsolation/electrons electrons
|
---|
| 727 | add InputArray MuonIsolation/muons muons
|
---|
| 728 | add InputArray JetEnergyScale/jets jets
|
---|
| 729 |
|
---|
| 730 | }
|
---|
| 731 |
|
---|
| 732 |
|
---|
| 733 | ##################
|
---|
| 734 | # ROOT tree writer
|
---|
| 735 | ##################
|
---|
| 736 |
|
---|
| 737 | module TreeWriter TreeWriter {
|
---|
| 738 | # add Branch InputArray BranchName BranchClass
|
---|
| 739 | add Branch Delphes/allParticles Particle GenParticle
|
---|
| 740 |
|
---|
| 741 | add Branch GenJetFinder/jets GenJet Jet
|
---|
| 742 | add Branch GenMissingET/momentum GenMissingET MissingET
|
---|
| 743 |
|
---|
| 744 | add Branch TrackMerger/tracks Track Track
|
---|
| 745 | add Branch Calorimeter/towers Tower Tower
|
---|
| 746 |
|
---|
| 747 | add Branch HCal/eflowTracks EFlowTrack Track
|
---|
| 748 | add Branch ECal/eflowPhotons EFlowPhoton Tower
|
---|
| 749 | add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
|
---|
| 750 |
|
---|
| 751 | add Branch UniqueObjectFinder/photons Photon Photon
|
---|
| 752 | add Branch UniqueObjectFinder/electrons Electron Electron
|
---|
| 753 | add Branch UniqueObjectFinder/muons Muon Muon
|
---|
| 754 | add Branch UniqueObjectFinder/jets Jet Jet
|
---|
| 755 |
|
---|
| 756 | add Branch MissingET/momentum MissingET MissingET
|
---|
| 757 | add Branch ScalarHT/energy ScalarHT ScalarHT
|
---|
| 758 | }
|
---|
| 759 |
|
---|