191
202
set OutputArray tracks
198
module Calorimeter Calorimeter {
211
module SimpleCalorimeter ECal {
199
212
set ParticleInputArray ParticlePropagator/stableParticles
200
213
set TrackInputArray TrackMerger/tracks
202
set TowerOutputArray towers
203
set PhotonOutputArray photons
205
set EFlowTrackOutputArray eflowTracks
206
set EFlowPhotonOutputArray eflowPhotons
207
set EFlowNeutralHadronOutputArray eflowNeutralHadrons
209
set ECalEnergyMin 0.5
210
set HCalEnergyMin 1.0
212
set ECalEnergySignificanceMin 1.0
213
set HCalEnergySignificanceMin 1.0
215
set TowerOutputArray ecalTowers
216
set EFlowTrackOutputArray eflowTracks
217
set EFlowTowerOutputArray eflowPhotons
222
set EnergySignificanceMin 2.0
224
set SmearTowerCenter true
226
set pi [expr {acos(-1)}]
228
# lists of the edges of each tower in eta and phi
229
# each list starts with the lower edge of the first tower
230
# the list ends with the higher edged of the last tower
232
# assume 0.02 x 0.02 resolution in eta,phi in the barrel |eta| < 1.5
235
for {set i -180} {$i <= 180} {incr i} {
236
add PhiBins [expr {$i * $pi/180.0}]
239
# 0.02 unit in eta up to eta = 1.5 (barrel)
240
for {set i -85} {$i <= 86} {incr i} {
241
set eta [expr {$i * 0.0174}]
242
add EtaPhiBins $eta $PhiBins
245
# assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- ECAL)
248
for {set i -180} {$i <= 180} {incr i} {
249
add PhiBins [expr {$i * $pi/180.0}]
252
# 0.02 unit in eta up to eta = 3
253
for {set i 1} {$i <= 84} {incr i} {
254
set eta [expr { -2.958 + $i * 0.0174}]
255
add EtaPhiBins $eta $PhiBins
258
for {set i 1} {$i <= 84} {incr i} {
259
set eta [expr { 1.4964 + $i * 0.0174}]
260
add EtaPhiBins $eta $PhiBins
263
# take present CMS granularity for HF
265
# 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
267
for {set i -18} {$i <= 18} {incr i} {
268
add PhiBins [expr {$i * $pi/18.0}]
271
foreach eta {-5 -4.7 -4.525 -4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.958 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525 4.7 5} {
272
add EtaPhiBins $eta $PhiBins
276
add EnergyFraction {0} {0.0}
277
# energy fractions for e, gamma and pi0
278
add EnergyFraction {11} {1.0}
279
add EnergyFraction {22} {1.0}
280
add EnergyFraction {111} {1.0}
281
# energy fractions for muon, neutrinos and neutralinos
282
add EnergyFraction {12} {0.0}
283
add EnergyFraction {13} {0.0}
284
add EnergyFraction {14} {0.0}
285
add EnergyFraction {16} {0.0}
286
add EnergyFraction {1000022} {0.0}
287
add EnergyFraction {1000023} {0.0}
288
add EnergyFraction {1000025} {0.0}
289
add EnergyFraction {1000035} {0.0}
290
add EnergyFraction {1000045} {0.0}
291
# energy fractions for K0short and Lambda
292
add EnergyFraction {310} {0.3}
293
add EnergyFraction {3122} {0.3}
295
# set ResolutionFormula {resolution formula as a function of eta and energy}
297
# for the ECAL barrel (|eta| < 1.5), see hep-ex/1306.2016 and 1502.02701
299
# set ECalResolutionFormula {resolution formula as a function of eta and energy}
300
# Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
301
set ResolutionFormula { (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
302
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (2.16 + 5.6*(abs(eta)-2)^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
303
(abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
312
module SimpleCalorimeter HCal {
313
set ParticleInputArray ParticlePropagator/stableParticles
314
set TrackInputArray ECal/eflowTracks
316
set TowerOutputArray hcalTowers
317
set EFlowTrackOutputArray eflowTracks
318
set EFlowTowerOutputArray eflowNeutralHadrons
323
set EnergySignificanceMin 1.0
215
325
set SmearTowerCenter true
250
360
# default energy fractions {abs(PDG code)} {Fecal Fhcal}
251
add EnergyFraction {0} {0.0 1.0}
361
add EnergyFraction {0} {1.0}
252
362
# energy fractions for e, gamma and pi0
253
add EnergyFraction {11} {1.0 0.0}
254
add EnergyFraction {22} {1.0 0.0}
255
add EnergyFraction {111} {1.0 0.0}
363
add EnergyFraction {11} {0.0}
364
add EnergyFraction {22} {0.0}
365
add EnergyFraction {111} {0.0}
256
366
# energy fractions for muon, neutrinos and neutralinos
257
add EnergyFraction {12} {0.0 0.0}
258
add EnergyFraction {13} {0.0 0.0}
259
add EnergyFraction {14} {0.0 0.0}
260
add EnergyFraction {16} {0.0 0.0}
261
add EnergyFraction {1000022} {0.0 0.0}
262
add EnergyFraction {1000023} {0.0 0.0}
263
add EnergyFraction {1000025} {0.0 0.0}
264
add EnergyFraction {1000035} {0.0 0.0}
265
add EnergyFraction {1000045} {0.0 0.0}
367
add EnergyFraction {12} {0.0}
368
add EnergyFraction {13} {0.0}
369
add EnergyFraction {14} {0.0}
370
add EnergyFraction {16} {0.0}
371
add EnergyFraction {1000022} {0.0}
372
add EnergyFraction {1000023} {0.0}
373
add EnergyFraction {1000025} {0.0}
374
add EnergyFraction {1000035} {0.0}
375
add EnergyFraction {1000045} {0.0}
266
376
# energy fractions for K0short and Lambda
267
add EnergyFraction {310} {0.3 0.7}
268
add EnergyFraction {3122} {0.3 0.7}
270
# set ECalResolutionFormula {resolution formula as a function of eta and energy}
271
# Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
272
set ECalResolutionFormula { (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
273
(abs(eta) > 1.5 && abs(eta) <= 2.5) * (2.16 + 5.6*(abs(eta)-2)^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
274
(abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
377
add EnergyFraction {310} {0.7}
378
add EnergyFraction {3122} {0.7}
276
380
# set HCalResolutionFormula {resolution formula as a function of eta and energy}
277
set HCalResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
381
set ResolutionFormula { (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
278
382
(abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
391
module PdgCodeFilter ElectronFilter {
392
set InputArray HCal/eflowTracks
393
set OutputArray electrons
399
######################
400
# ChargedHadronFilter
401
######################
403
module PdgCodeFilter ChargedHadronFilter {
404
set InputArray HCal/eflowTracks
405
set OutputArray chargedHadrons
414
###################################################
415
# Tower Merger (in case not using e-flow algorithm)
416
###################################################
418
module Merger Calorimeter {
419
# add InputArray InputArray
420
add InputArray ECal/ecalTowers
421
add InputArray HCal/hcalTowers
422
set OutputArray towers
281
427
####################
282
428
# Energy flow merger
285
431
module Merger EFlowMerger {
286
432
# add InputArray InputArray
287
add InputArray Calorimeter/eflowTracks
288
add InputArray Calorimeter/eflowPhotons
289
add InputArray Calorimeter/eflowNeutralHadrons
290
set OutputArray eflow
433
add InputArray HCal/eflowTracks
434
add InputArray ECal/eflowPhotons
435
add InputArray HCal/eflowNeutralHadrons
436
set OutputArray eflow
439
######################
441
######################
443
module PdgCodeFilter EFlowFilter {
444
set InputArray EFlowMerger/eflow
445
set OutputArray eflow
293
454
###################
294
455
# Photon efficiency
295
456
###################
297
458
module Efficiency PhotonEfficiency {
298
set InputArray Calorimeter/eflowPhotons
459
set InputArray ECal/eflowPhotons
299
460
set OutputArray photons
301
462
# set EfficiencyFormula {efficiency formula as a function of eta and pt}
601
786
add Branch TrackMerger/tracks Track Track
602
787
add Branch Calorimeter/towers Tower Tower
604
add Branch Calorimeter/eflowTracks EFlowTrack Track
605
add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
606
add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
789
add Branch HCal/eflowTracks EFlowTrack Track
790
add Branch ECal/eflowPhotons EFlowPhoton Tower
791
add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
608
793
add Branch GenJetFinder/jets GenJet Jet
609
794
add Branch GenMissingET/momentum GenMissingET MissingET
611
796
add Branch UniqueObjectFinder/jets Jet Jet
612
797
add Branch UniqueObjectFinder/electrons Electron Electron
613
798
add Branch UniqueObjectFinder/photons Photon Photon
614
799
add Branch UniqueObjectFinder/muons Muon Muon
801
add Branch FatJetFinder/jets FatJet Jet
615
803
add Branch MissingET/momentum MissingET MissingET
616
804
add Branch ScalarHT/energy ScalarHT ScalarHT