Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ CMakeLists.txt	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -6,4 +6,24 @@
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
 
+# Set the runtime path of the libraries by default but allow to switch it off:
+option(SET_RPATH "Set runtime path of the ${project} libraries?" ON)
+IF(SET_RPATH)
+  # Set up the RPATH so executables find the libraries even when installed in non-default location
+  SET(CMAKE_MACOSX_RPATH 1)
+  SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
+  SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) 
+  SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+
+  # Add the automatically determined parts of the RPATH which point to directories outside
+  # the build tree to the install RPATH
+  SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+  # the RPATH to be used when installing, but only if it's not a system directory
+  LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
+  IF(${isSystemDir} EQUAL -1)
+    SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+  ENDIF(${isSystemDir} EQUAL -1)
+ENDIF(SET_RPATH)
+    
 # Declare ROOT dependency
 find_package(ROOT COMPONENTS EG Eve Geom Gui GuiHtml GenVector Hist Physics Matrix Graf RIO Tree Gpad RGL MathCore)
@@ -36,5 +56,4 @@
 add_library(Delphes SHARED
   $<TARGET_OBJECTS:classes> 
-  $<TARGET_OBJECTS:display>
   $<TARGET_OBJECTS:modules> 
   $<TARGET_OBJECTS:ExRootAnalysis>
@@ -45,5 +64,17 @@
 )
 
+add_library(DelphesDisplay SHARED
+  $<TARGET_OBJECTS:classes>
+  $<TARGET_OBJECTS:display>
+  $<TARGET_OBJECTS:modules>
+  $<TARGET_OBJECTS:ExRootAnalysis>
+  $<TARGET_OBJECTS:fastjet>
+  $<TARGET_OBJECTS:tcl>
+  $<TARGET_OBJECTS:Hector>
+  $<TARGET_OBJECTS:PUPPI>
+)
+
 target_link_Libraries(Delphes ${ROOT_LIBRARIES} ${ROOT_COMPONENT_LIBRARIES})
+target_link_Libraries(DelphesDisplay ${ROOT_LIBRARIES} ${ROOT_COMPONENT_LIBRARIES})
 
-install(TARGETS Delphes DESTINATION lib)
+install(TARGETS Delphes DelphesDisplay DESTINATION lib)
Index: Makefile
===================================================================
--- Makefile	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ Makefile	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -17,5 +17,5 @@
 CXXFLAGS += $(ROOTCFLAGS) -Wno-write-strings -D_FILE_OFFSET_BITS=64 -DDROP_CGAL -I. -Iexternal -Iexternal/tcl
 DELPHES_LIBS = $(shell $(RC) --libs) -lEG $(SYSLIBS)
-DISPLAY_LIBS = $(shell $(RC) --evelibs) -lGuiHtml  $(SYSLIBS)
+DISPLAY_LIBS = $(shell $(RC) --evelibs) -lGuiHtml $(SYSLIBS)
 
 ifneq ($(CMSSW_FWLITE_INCLUDE_PATH),)
@@ -42,5 +42,5 @@
 CXXFLAGS += -I$(PYTHIA8)/include
 CXXFLAGS += -I$(PYTHIA8)/include/Pythia8
-OPT_LIBS += -L$(PYTHIA8)/lib -lpythia8 -ldl
+OPT_LIBS += -L$(PYTHIA8)/lib -lpythia8 -ldl -lz
 endif
 endif
Index: cards/CMS_PhaseII/CMS_PhaseII_Substructure_PIX4022_0PU.tcl
===================================================================
--- cards/CMS_PhaseII/CMS_PhaseII_Substructure_PIX4022_0PU.tcl	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ cards/CMS_PhaseII/CMS_PhaseII_Substructure_PIX4022_0PU.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -47,13 +47,16 @@
   LeptonFilterLep
   RunPUPPIBase
+  RunPUPPIMerger
   RunPUPPI
 
   PhotonFilter
-
+  
+  PhotonCloner
   PhotonIsolation
   PhotonIsolationCHS
   PhotonEfficiency
   PhotonEfficiencyCHS
-
+  
+  ElectronCloner
   ElectronIsolation
   ElectronIsolationCHS
@@ -62,4 +65,5 @@
   ElectronEfficiencyCHS
 
+  MuonCloner
   MuonIsolation
   MuonIsolationCHS
@@ -153,6 +157,6 @@
 
 module ParticlePropagator ParticlePropagator {
-  #set InputArray PileUpMerger/stableParticles
-  set InputArray Delphes/stableParticles
+  set InputArray PileUpMerger/stableParticles
+  #set InputArray Delphes/stableParticles
 
   set OutputArray stableParticles
@@ -537,5 +541,5 @@
   # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
   # Z vertex resolution in m
-  set ZVertexResolution 0.0001
+  set ZVertexResolution {0.0001}
 }
 
@@ -649,7 +653,13 @@
 }
 
-module Merger RunPUPPI {
+module Merger RunPUPPIMerger {
   add InputArray RunPUPPIBase/PuppiParticles
   add InputArray LeptonFilterLep/eflowTracksLeptons
+  set OutputArray PuppiParticles
+}
+
+# need this because of leptons that were added back
+module RecoPuFilter RunPUPPI {
+  set InputArray RunPUPPIMerger/PuppiParticles
   set OutputArray PuppiParticles
 }
@@ -955,4 +965,32 @@
 
 
+##################
+# Muon cloner    #
+##################
+
+module Cloner MuonCloner {
+  set InputArray MuonMomentumSmearing/muons
+  set OutputArray muons
+}
+
+####################
+# Electron cloner  #
+####################
+
+module Cloner ElectronCloner {
+  set InputArray ElectronFilter/electrons
+  set OutputArray electrons
+}
+
+##################
+# Photon cloner  #
+##################
+
+module Cloner PhotonCloner {
+  set InputArray PhotonFilter/photons
+  set OutputArray photons
+}
+
+
 ####################
 # Photon isolation #
@@ -993,5 +1031,5 @@
 
   # particle for which calculate the isolation
-  set CandidateInputArray PhotonFilter/photons
+  set CandidateInputArray PhotonCloner/photons
 
   # isolation collection
@@ -1079,5 +1117,5 @@
 module Isolation ElectronIsolationCHS {
 
-  set CandidateInputArray ElectronFilter/electrons
+  set CandidateInputArray ElectronCloner/electrons
 
   # isolation collection
@@ -1085,4 +1123,8 @@
 
   set OutputArray electrons
+
+  # veto isolation cand. based on proximity to input cand.
+  set DeltaRMin 0.01
+  set UseMiniCone true
 
   set DeltaRMax 0.3
@@ -1182,4 +1224,5 @@
 
 
+
 ##################
 # Muon isolation #
@@ -1205,5 +1248,5 @@
 
 module Isolation MuonIsolationCHS {
-  set CandidateInputArray MuonMomentumSmearing/muons
+  set CandidateInputArray MuonCloner/muons
 
   # isolation collection
@@ -1211,4 +1254,9 @@
 
   set OutputArray muons
+
+
+  # veto isolation cand. based on proximity to input cand.
+  set DeltaRMin 0.01
+  set UseMiniCone true
 
   set DeltaRMax 0.3
Index: cards/CMS_PhaseII/CMS_PhaseII_Substructure_PIX4022_200PU.tcl
===================================================================
--- cards/CMS_PhaseII/CMS_PhaseII_Substructure_PIX4022_200PU.tcl	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ cards/CMS_PhaseII/CMS_PhaseII_Substructure_PIX4022_200PU.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -47,13 +47,16 @@
   LeptonFilterLep
   RunPUPPIBase
+  RunPUPPIMerger
   RunPUPPI
 
   PhotonFilter
-
+  
+  PhotonCloner
   PhotonIsolation
   PhotonIsolationCHS
   PhotonEfficiency
   PhotonEfficiencyCHS
-
+  
+  ElectronCloner
   ElectronIsolation
   ElectronIsolationCHS
@@ -62,4 +65,5 @@
   ElectronEfficiencyCHS
 
+  MuonCloner
   MuonIsolation
   MuonIsolationCHS
@@ -537,5 +541,5 @@
   # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
   # Z vertex resolution in m
-  set ZVertexResolution 0.0001
+  set ZVertexResolution {0.0001}
 }
 
@@ -649,7 +653,13 @@
 }
 
-module Merger RunPUPPI {
+module Merger RunPUPPIMerger {
   add InputArray RunPUPPIBase/PuppiParticles
   add InputArray LeptonFilterLep/eflowTracksLeptons
+  set OutputArray PuppiParticles
+}
+
+# need this because of leptons that were added back
+module RecoPuFilter RunPUPPI {
+  set InputArray RunPUPPIMerger/PuppiParticles
   set OutputArray PuppiParticles
 }
@@ -955,4 +965,32 @@
 
 
+##################
+# Muon cloner    #
+##################
+
+module Cloner MuonCloner {
+  set InputArray MuonMomentumSmearing/muons
+  set OutputArray muons
+}
+
+####################
+# Electron cloner  #
+####################
+
+module Cloner ElectronCloner {
+  set InputArray ElectronFilter/electrons
+  set OutputArray electrons
+}
+
+##################
+# Photon cloner  #
+##################
+
+module Cloner PhotonCloner {
+  set InputArray PhotonFilter/photons
+  set OutputArray photons
+}
+
+
 ####################
 # Photon isolation #
@@ -993,5 +1031,5 @@
 
   # particle for which calculate the isolation
-  set CandidateInputArray PhotonFilter/photons
+  set CandidateInputArray PhotonCloner/photons
 
   # isolation collection
@@ -1079,5 +1117,5 @@
 module Isolation ElectronIsolationCHS {
 
-  set CandidateInputArray ElectronFilter/electrons
+  set CandidateInputArray ElectronCloner/electrons
 
   # isolation collection
@@ -1085,4 +1123,8 @@
 
   set OutputArray electrons
+
+  # veto isolation cand. based on proximity to input cand.
+  set DeltaRMin 0.01
+  set UseMiniCone true
 
   set DeltaRMax 0.3
@@ -1182,4 +1224,5 @@
 
 
+
 ##################
 # Muon isolation #
@@ -1205,5 +1248,5 @@
 
 module Isolation MuonIsolationCHS {
-  set CandidateInputArray MuonMomentumSmearing/muons
+  set CandidateInputArray MuonCloner/muons
 
   # isolation collection
@@ -1211,4 +1254,9 @@
 
   set OutputArray muons
+
+
+  # veto isolation cand. based on proximity to input cand.
+  set DeltaRMin 0.01
+  set UseMiniCone true
 
   set DeltaRMax 0.3
Index: cards/FCC/FCChh.tcl
===================================================================
--- cards/FCC/FCChh.tcl	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ cards/FCC/FCChh.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -6,7 +6,7 @@
 #                Michele Selvaggi (CERN)
 #
-#  Released on: Oct 02th, 2016
+#  Released on: Nov 14th, 2016
 #
-#  Configuration: FCC-hh generic detector without dipole in the forward region, no pile-up
+#  Configuration: FCC-hh baseline detector 
 #
 #######################################
@@ -64,6 +64,4 @@
 
   UniqueObjectFinder
-  
-  GenParticleFilter
 
   TreeWriter
@@ -783,15 +781,4 @@
 }
 
-######################
-# GenParticleFilter 
-######################
-
-# store only interesting particles
-module StatusPidFilter GenParticleFilter {
-  set InputArray Delphes/allParticles
-  set OutputArray filteredParticles
-  set PTMin 0.0
-
-}
 
 ##################
@@ -802,5 +789,4 @@
 # add Branch InputArray BranchName BranchClass
   add Branch Delphes/allParticles Particle GenParticle
-  add Branch GenParticleFilter/filteredParticles FilteredParticle GenParticle
 
   add Branch GenJetFinder/jets GenJet Jet
Index: cards/FCC/FCChh_PileUp.tcl
===================================================================
--- cards/FCC/FCChh_PileUp.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
+++ cards/FCC/FCChh_PileUp.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -0,0 +1,1011 @@
+#
+# Official Delphes card prepared by FCC-hh collaboration
+#
+#  Main authors: Heather Gray (CERN)
+#                Filip Moortgat (CERN)
+#                Michele Selvaggi (CERN)
+#
+#  Released on: Nov 14th, 2016
+#
+#  Configuration: FCC-hh baseline detector 
+#
+#######################################
+# Order of execution of various modules
+#######################################
+
+set ExecutionPath {
+
+  PileUpMerger
+  ParticlePropagator
+
+  ChargedHadronTrackingEfficiency
+  ElectronTrackingEfficiency
+  MuonTrackingEfficiency
+
+  ChargedHadronMomentumSmearing
+  ElectronMomentumSmearing
+  MuonMomentumSmearing
+
+  TrackMerger
+
+  ECal
+  HCal
+  
+  ElectronFilter
+  TrackPileUpSubtractor
+
+  Calorimeter
+  NeutralEFlowMerger
+  EFlowMerger
+  
+  LeptonFilterNoLep
+  LeptonFilterLep
+  RunPUPPIBase
+  RunPUPPIMerger
+  RunPUPPI
+  
+  EFlowFilter
+  
+  PhotonEfficiency
+  PhotonFilter
+  PhotonIsolation
+
+  ElectronIsolation
+
+  ChargedHadronFilter
+
+  MuonIsolation
+
+  NeutrinoFilter
+
+  MissingET
+  PuppiMissingET
+  GenMissingET
+  GenPileUpMissingET
+
+  GenJetFinder
+  FastJetFinder
+
+  JetEnergyScale
+
+  JetFlavorAssociation
+
+  BTagging
+  CTagging
+  TauTagging
+
+  ScalarHT
+
+  UniqueObjectFinder
+
+  GenParticleFilter
+
+  TreeWriter
+}
+
+###############
+# PileUp Merger
+###############
+
+# using HL-LHC parameters for now
+module PileUpMerger PileUpMerger {
+  set InputArray Delphes/stableParticles
+
+  set ParticleOutputArray stableParticles
+  set VertexOutputArray vertices
+
+  # pre-generated minbias input file
+  set PileUpFile MinBias.pileup
+  
+  # average expected pile up
+  set MeanPileUp 200
+
+  # maximum spread in the beam direction in m
+  set ZVertexSpread 0.25
+
+  # maximum spread in time in s
+  set TVertexSpread 800E-12
+
+  # vertex smearing formula f(z,t) (z,t need to be respectively given in m,s) - {exp(-(t^2/160e-12^2/2))*exp(-(z^2/0.053^2/2))}
+  set VertexDistributionFormula {exp(-(t^2/160e-12^2/2))*exp(-(z^2/0.053^2/2))}
+
+}
+
+#################################
+# Propagate particles in cylinder
+#################################
+
+module ParticlePropagator ParticlePropagator {
+  set InputArray PileUpMerger/stableParticles
+
+  set OutputArray stableParticles
+  set ChargedHadronOutputArray chargedHadrons
+  set ElectronOutputArray electrons
+  set MuonOutputArray muons
+
+  # radius of the magnetic field coverage, in m
+  set Radius 1.5
+  # half-length of the magnetic field coverage, in m
+  set HalfLength 5
+
+  # magnetic field
+  set Bz 4.0
+}
+
+####################################
+# Charged hadron tracking efficiency
+####################################
+
+module Efficiency ChargedHadronTrackingEfficiency {
+  set InputArray ParticlePropagator/chargedHadrons
+  set OutputArray chargedHadrons
+
+ # TBC (which eta_max ? which pT min?)
+
+ # tracking efficiency formula for charged hadrons
+
+  set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
+(abs(eta) <= 2.5) * (pt > 0.5 && pt <= 1) * (0.90) + \
+(abs(eta) <= 2.5) * (pt > 1) * (0.95) + \
+(abs(eta) > 2.5 && abs(eta) <= 4) * (pt > 0.5 && pt <= 1) * (0.85) + \
+(abs(eta) > 2.5 && abs(eta) <= 4) * (pt > 1) * (0.90) + \
+(abs(eta) > 4 && abs(eta) <= 6) * (pt > 0.5 && pt <= 1) * (0.80) + \
+(abs(eta) > 4 && abs(eta) <= 6) * (pt > 1.0) * (0.85) + \
+(abs(eta) > 6.0) * (0.00)}
+
+}
+
+##############################
+# Electron tracking efficiency
+##############################
+
+module Efficiency ElectronTrackingEfficiency {
+  set InputArray ParticlePropagator/electrons
+  set OutputArray electrons
+
+# TBC (which eta_max ?)
+# putting same as charged hadrons for now...
+
+  set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
+  (abs(eta) <= 2.5) * (pt > 0.5 && pt <= 1) * (0.90) + \
+  (abs(eta) <= 2.5) * (pt > 1) * (0.95) + \
+  (abs(eta) > 2.5 && abs(eta) <= 4) * (pt > 0.5 && pt <= 1) * (0.85) + \
+  (abs(eta) > 2.5 && abs(eta) <= 4) * (pt > 1) * (0.90) + \
+  (abs(eta) > 4 && abs(eta) <= 6) * (pt > 0.5 && pt <= 1) * (0.80) + \
+  (abs(eta) > 4 && abs(eta) <= 6) * (pt > 1.0) * (0.85) + \
+  (abs(eta) > 6.0) * (0.00)}
+
+}
+##########################
+# Muon tracking efficiency
+##########################
+
+module Efficiency MuonTrackingEfficiency {
+  set InputArray ParticlePropagator/muons
+  set OutputArray muons
+
+# TBC (which eta_max ? why eff = 0 for 4 < eta < 6 ? for now put the same as central)
+# what about high pT ?
+ # tracking efficiency formula for muons
+  set EfficiencyFormula { (pt <= 0.5) * (0.00) + \
+  (abs(eta) <= 6.0) * (pt > 0.5 && pt <= 1) * (0.90) + \
+  (abs(eta) <= 6.0) * (pt > 1) * (0.99) + \
+  (abs(eta) > 6.0) * (0.00)}
+
+}
+
+########################################
+# Momentum resolution for charged tracks
+########################################
+
+module MomentumSmearing ChargedHadronMomentumSmearing {
+  set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
+  set OutputArray chargedHadrons
+
+  source momentumResolutionVsP.tcl 
+}
+
+
+###################################
+# Momentum resolution for electrons
+###################################
+
+module MomentumSmearing ElectronMomentumSmearing {
+  set InputArray ElectronTrackingEfficiency/electrons
+  set OutputArray electrons
+
+  source momentumResolutionVsP.tcl 
+}
+
+
+###############################
+# Momentum resolution for muons
+###############################
+
+module MomentumSmearing MuonMomentumSmearing {
+  set InputArray MuonTrackingEfficiency/muons
+  set OutputArray muons
+
+  # TBC for just putting tracker resolution/ need to add improvement at high pT
+
+  source muonMomentumResolutionVsP.tcl 
+}
+
+##############
+# Track merger
+##############
+
+module Merger TrackMerger {
+# add InputArray InputArray
+  add InputArray ChargedHadronMomentumSmearing/chargedHadrons
+  add InputArray ElectronMomentumSmearing/electrons
+  add InputArray MuonMomentumSmearing/muons
+  set OutputArray tracks
+}
+
+#############
+#   ECAL
+#############
+
+# TBC : calos seems ok, check eta max value though.
+
+module SimpleCalorimeter ECal {
+  set ParticleInputArray ParticlePropagator/stableParticles
+  set TrackInputArray TrackMerger/tracks
+
+  set TowerOutputArray ecalTowers
+  set EFlowTrackOutputArray eflowTracks
+  set EFlowTowerOutputArray eflowPhotons
+
+  set IsEcal true
+
+  set EnergyMin 0.5
+  set EnergySignificanceMin 2.0
+
+  set SmearTowerCenter true
+
+  set pi [expr {acos(-1)}]
+
+  # lists of the edges of each tower in eta and phi
+  # each list starts with the lower edge of the first tower
+  # the list ends with the higher edged of the last tower
+
+  # 0.5 degree towers (5x5 mm^2)
+   set PhiBins {}
+  for {set i -256} {$i <= 256} {incr i} {
+    add PhiBins [expr {$i * $pi/256.0}]
+  } 
+ 
+  # TBC 
+  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} {
+    add EtaPhiBins $eta $PhiBins
+  }
+  # 0.025 eta  x 0.025 for eta between 2.5 and 4.0
+  set PhiBins {}
+  for {set i -128} {$i <= 128} {incr i} {
+    add PhiBins [expr {$i * $pi/128.0}]
+  }
+  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} {
+    add EtaPhiBins $eta $PhiBins
+  }
+
+  # 0.05 x 0.05 for eta between 4.0 and 6.0
+  set PhiBins {}
+  for {set i -64} {$i <= 64} {incr i} {
+    add PhiBins [expr {$i * $pi/64.0}]
+  }
+  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} {
+    add EtaPhiBins $eta $PhiBins
+  }
+  # default energy fractions {abs(PDG code)} {fraction of energy deposited in ECAL}
+
+  add EnergyFraction {0} {0.0}
+  # energy fractions for e, gamma and pi0
+  add EnergyFraction {11} {1.0}
+  add EnergyFraction {22} {1.0}
+  add EnergyFraction {111} {1.0}
+  # energy fractions for muon, neutrinos and neutralinos
+  add EnergyFraction {12} {0.0}
+  add EnergyFraction {13} {0.0}
+  add EnergyFraction {14} {0.0}
+  add EnergyFraction {16} {0.0}
+  add EnergyFraction {1000022} {0.0}
+  add EnergyFraction {1000023} {0.0}
+  add EnergyFraction {1000025} {0.0}
+  add EnergyFraction {1000035} {0.0}
+  add EnergyFraction {1000045} {0.0}
+  # energy fractions for K0short and Lambda
+  # add EnergyFraction {310} {0.3}
+  # add EnergyFraction {3122} {0.3}
+
+  # set ECalResolutionFormula {resolution formula as a function of eta and energy}
+  set ResolutionFormula {                     (abs(eta) <= 4.0) * sqrt(energy^2*0.01^2 + energy*0.10^2) + \
+                            (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.01^2  + energy*0.10^2)}
+
+
+}
+
+#############
+#   HCAL
+#############
+
+module SimpleCalorimeter HCal {
+  set ParticleInputArray ParticlePropagator/stableParticles
+  set TrackInputArray ECal/eflowTracks
+
+  set TowerOutputArray hcalTowers
+  set EFlowTrackOutputArray eflowTracks
+  set EFlowTowerOutputArray eflowNeutralHadrons
+
+  set IsEcal false
+
+  set EnergyMin 1.0
+  set EnergySignificanceMin 2.0
+
+  set SmearTowerCenter true
+
+  set pi [expr {acos(-1)}]
+
+  # lists of the edges of each tower in eta and phi
+  # each list starts with the lower edge of the first tower
+  # the list ends with the higher edged of the last tower
+
+  # 6 degree towers
+  set PhiBins {}
+  for {set i -64} {$i <= 64} {incr i} {
+    add PhiBins [expr {$i * $pi/64.0}]
+  }
+
+  # TBC 
+  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} {
+    add EtaPhiBins $eta $PhiBins
+  }
+
+  # 0.1 x 0.1 between eta 2.5 and 4.0
+  set PhiBins {}
+  for {set i -32} {$i <= 32} {incr i} {
+    add PhiBins [expr {$i * $pi/32.0}]
+  }
+  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} {
+    add EtaPhiBins $eta $PhiBins
+  }
+
+  # 0.2 x 0.2 between eta 4.0 and 6.0
+  set PhiBins {}
+  for {set i -16} {$i <= 16} {incr i} {
+    add PhiBins [expr {$i * $pi/16.0}]
+  }
+  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} {
+    add EtaPhiBins $eta $PhiBins
+  }
+
+  # default energy fractions {abs(PDG code)} {Fecal Fhcal}
+  add EnergyFraction {0} {1.0}
+  # energy fractions for e, gamma and pi0
+  add EnergyFraction {11} {0.0}
+  add EnergyFraction {22} {0.0}
+  add EnergyFraction {111} {0.0}
+  # energy fractions for muon, neutrinos and neutralinos
+  add EnergyFraction {12} {0.0}
+  add EnergyFraction {13} {0.0}
+  add EnergyFraction {14} {0.0}
+  add EnergyFraction {16} {0.0}
+  add EnergyFraction {1000022} {0.0}
+  add EnergyFraction {1000023} {0.0}
+  add EnergyFraction {1000025} {0.0}
+  add EnergyFraction {1000035} {0.0}
+  add EnergyFraction {1000045} {0.0}
+  # energy fractions for K0short and Lambda
+  # add EnergyFraction {310} {0.7}
+  # add EnergyFraction {3122} {0.7}
+
+   # set HCalResolutionFormula {resolution formula as a function of eta and energy}
+  set ResolutionFormula {                     (abs(eta) <= 4.0) * sqrt(energy^2*0.03^2 + energy*0.50^2) + \
+                            (abs(eta) > 4.0 && abs(eta) <= 6.0) * sqrt(energy^2*0.05^2 + energy*1.00^2)}
+}
+
+#################
+# Electron filter
+#################
+
+module PdgCodeFilter ElectronFilter {
+  set InputArray HCal/eflowTracks
+  set OutputArray electrons
+  set Invert true
+  add PdgCode {11}
+  add PdgCode {-11}
+}
+
+
+######################
+# ChargedHadronFilter
+######################
+
+module PdgCodeFilter ChargedHadronFilter {
+  set InputArray HCal/eflowTracks
+  set OutputArray chargedHadrons
+  
+  add PdgCode {11}
+  add PdgCode {-11}
+  add PdgCode {13}
+  add PdgCode {-13}
+}
+
+
+##########################
+# Track pile-up subtractor
+##########################
+
+module TrackPileUpSubtractor TrackPileUpSubtractor {
+# add InputArray InputArray OutputArray
+  add InputArray HCal/eflowTracks eflowTracks
+  add InputArray ElectronFilter/electrons electrons
+  add InputArray MuonMomentumSmearing/muons muons
+
+  set VertexInputArray PileUpMerger/vertices
+  # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
+  # Z vertex resolution in m
+
+  source dzResolutionVsP.tcl
+}
+
+
+###################################################
+# Tower Merger (in case not using e-flow algorithm)
+###################################################
+
+module Merger Calorimeter {
+# add InputArray InputArray
+  add InputArray ECal/ecalTowers
+  add InputArray HCal/hcalTowers
+  set OutputArray towers
+}
+
+####################
+# Neutral eflow erger
+####################
+
+module Merger NeutralEFlowMerger {
+# add InputArray InputArray
+  add InputArray ECal/eflowPhotons
+  add InputArray HCal/eflowNeutralHadrons
+  set OutputArray eflowTowers
+}
+
+
+####################
+# Energy flow merger
+####################
+
+module Merger EFlowMerger {
+# add InputArray InputArray
+  add InputArray HCal/eflowTracks
+  add InputArray ECal/eflowPhotons
+  add InputArray HCal/eflowNeutralHadrons
+  set OutputArray eflow
+}
+
+#########################################
+### Run the puppi code (to be tuned) ###
+#########################################
+
+module PdgCodeFilter LeptonFilterNoLep {
+  set InputArray HCal/eflowTracks
+  set OutputArray eflowTracksNoLeptons
+  set Invert false
+  add PdgCode {13}
+  add PdgCode {-13}
+  add PdgCode {11}
+  add PdgCode {-11}
+}
+
+module PdgCodeFilter LeptonFilterLep {
+  set InputArray HCal/eflowTracks
+  set OutputArray eflowTracksLeptons
+  set Invert true
+  add PdgCode {11}
+  add PdgCode {-11}
+  add PdgCode {13}
+  add PdgCode {-13}
+}
+
+module RunPUPPI RunPUPPIBase {
+  ## input information
+  set TrackInputArray   LeptonFilterNoLep/eflowTracksNoLeptons
+  set NeutralInputArray NeutralEFlowMerger/eflowTowers
+  set PVInputArray      PileUpMerger/vertices
+  set MinPuppiWeight    0.05
+  set UseExp            false
+  set UseNoLep          false
+
+  ## define puppi algorithm parameters (more than one for the same eta region is possible)
+  add EtaMinBin           0.0   4.0   
+  add EtaMaxBin           4.0   10.0   
+  add PtMinBin            0.0   0.0   
+  add ConeSizeBin         0.2   0.2   
+  add RMSPtMinBin         0.1   0.5   
+  add RMSScaleFactorBin   1.0   1.0   
+  add NeutralMinEBin      0.2   0.2   
+  add NeutralPtSlope      0.006 0.013
+  add ApplyCHS            true  true  
+  add UseCharged          true  true  
+  add ApplyLowPUCorr      true  true  
+  add MetricId            5     5     
+  add CombId              0     0    
+
+  ## output name
+  set OutputArray         PuppiParticles
+  set OutputArrayTracks   puppiTracks
+  set OutputArrayNeutrals puppiNeutrals
+}
+
+module Merger RunPUPPIMerger {
+  add InputArray RunPUPPIBase/PuppiParticles
+  add InputArray LeptonFilterLep/eflowTracksLeptons
+  set OutputArray PuppiParticles
+}
+
+# need this because of leptons that were added back
+module RecoPuFilter RunPUPPI {
+  set InputArray RunPUPPIMerger/PuppiParticles
+  set OutputArray PuppiParticles
+}
+
+
+######################
+# EFlowFilter
+######################
+
+module PdgCodeFilter EFlowFilter {
+  set InputArray RunPUPPI/PuppiParticles
+  set OutputArray eflow
+  
+  add PdgCode {11}
+  add PdgCode {-11}
+  add PdgCode {13}
+  add PdgCode {-13}
+}
+
+
+###################
+# Missing ET merger
+###################
+
+module Merger MissingET {
+# add InputArray InputArray
+  add InputArray EFlowMerger/eflow
+  set MomentumOutputArray momentum
+}
+
+###################
+# Puppi Missing ET merger
+###################
+
+module Merger PuppiMissingET {
+  #add InputArray InputArray
+  add InputArray RunPUPPI/PuppiParticles
+  #add InputArray EFlowMerger/eflow
+  set MomentumOutputArray momentum
+}
+
+
+###################
+# Ger PileUp Missing ET
+###################
+
+module Merger GenPileUpMissingET {
+# add InputArray InputArray
+#  add InputArray RunPUPPI/PuppiParticles
+  add InputArray ParticlePropagator/stableParticles
+  set MomentumOutputArray momentum
+}
+
+
+##################
+# Scalar HT merger
+##################
+
+module Merger ScalarHT {
+# add InputArray InputArray
+  add InputArray RunPUPPI/PuppiParticles
+  set EnergyOutputArray energy
+}
+
+#################
+# Neutrino Filter
+#################
+
+module PdgCodeFilter NeutrinoFilter {
+
+  set InputArray Delphes/stableParticles
+  set OutputArray filteredParticles
+
+  set PTMin 0.0
+
+  add PdgCode {12}
+  add PdgCode {14}
+  add PdgCode {16}
+  add PdgCode {-12}
+  add PdgCode {-14}
+  add PdgCode {-16}
+
+}
+
+
+#####################
+# MC truth jet finder
+#####################
+
+# TBC: is jet radius fine?
+
+module FastJetFinder GenJetFinder {
+#  set InputArray NeutrinoFilter/filteredParticles
+  set InputArray Delphes/stableParticles
+
+  set OutputArray jets
+
+  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
+  set JetAlgorithm 6
+  set ParameterR 0.4
+
+  set JetPTMin 5.0
+}
+
+#########################
+# Gen Missing ET merger
+########################
+
+module Merger GenMissingET {
+
+# add InputArray InputArray
+  add InputArray NeutrinoFilter/filteredParticles
+  set MomentumOutputArray momentum
+}
+
+############
+# Jet finder
+############
+
+# TBC need to include jet substructure variables
+# TBC is jet radius fine?
+
+module FastJetFinder FastJetFinder {
+#  set InputArray Calorimeter/towers
+  set InputArray RunPUPPI/PuppiParticles
+
+  set OutputArray jets
+
+  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
+  # 7: anti-kt with winner-take-all axis (for N-subjettiness), 8 N-jettiness
+
+  set JetAlgorithm 6
+  set ParameterR 0.4
+
+  set JetPTMin 30.0
+}
+
+
+
+##################
+# Jet Energy Scale
+##################
+
+module EnergyScale JetEnergyScale {
+  set InputArray FastJetFinder/jets
+  set OutputArray jets
+
+ # scale formula for jets
+  set ScaleFormula {1.00}
+}
+
+
+########################
+# Jet Flavor Association
+########################
+
+module JetFlavorAssociation JetFlavorAssociation {
+
+  set PartonInputArray Delphes/partons
+  set ParticleInputArray Delphes/allParticles
+  set ParticleLHEFInputArray Delphes/allParticlesLHEF
+  set JetInputArray JetEnergyScale/jets
+
+  set DeltaR 0.5
+  set PartonPTMin 5.0
+  set PartonEtaMax 6.0
+
+}
+
+###################
+# Photon efficiency
+###################
+
+module Efficiency PhotonEfficiency {
+  set InputArray ECal/eflowPhotons
+  set OutputArray photons
+
+  # set EfficiencyFormula {efficiency formula as a function of eta and pt}
+
+  set EfficiencyFormula {
+  (pt <= 1.0) * (0.00) + \
+  (abs(eta) <= 2.5) * (pt > 1.0 && pt < 5.0)  * (0.70) +
+  (abs(eta) <= 2.5) * (pt > 5.0 && pt < 10.0) * (0.85) +
+  (abs(eta) <= 2.5) * (pt > 10.0)             * (0.95) +
+    
+  (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt < 5.0)  * (0.60) + 
+  (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 5.0 && pt < 10.0) * (0.80) + 
+  (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 10.0)		* (0.90) +   
+  
+  (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 1.0 && pt < 5.0)  * (0.50) + \
+  (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 5.0 && pt < 10.0) * (0.70) + \
+  (abs(eta) > 4.0 && abs(eta) <= 6.0) * (pt > 10.0)             * (0.80) + \
+  (abs(eta) > 6.0) * (0.00)}
+
+}
+
+#################
+# Photon filter
+#################
+
+module PdgCodeFilter PhotonFilter {
+  set InputArray PhotonEfficiency/photons
+  set OutputArray photons
+  set Invert true
+  set PTMin 5.0
+  add PdgCode {22}
+}
+
+
+####################
+# Photon isolation #
+####################
+
+module Isolation PhotonIsolation {
+
+  # particle for which calculate the isolation
+  set CandidateInputArray PhotonFilter/photons
+
+  # isolation collection
+  set IsolationInputArray RunPUPPI/PuppiParticles
+
+  # output array
+  set OutputArray photons
+
+  # veto isolation cand. based on proximity to input cand.
+  set DeltaRMin 0.01
+  set UseMiniCone true
+
+  # isolation cone
+  set DeltaRMax 0.3
+
+  # minimum pT
+  set PTMin     0.5
+
+  # iso ratio to cut
+  set PTRatioMax 0.1
+
+}
+
+####################
+# Electron isolation
+####################
+
+# TBC: check values for iso cuts
+
+module Isolation ElectronIsolation {
+  set CandidateInputArray ElectronFilter/electrons
+  set IsolationInputArray RunPUPPI/PuppiParticles
+
+  set OutputArray electrons
+
+  # veto isolation cand. based on proximity to input cand.
+  set DeltaRMin 0.01
+  set UseMiniCone true
+
+  set DeltaRMax 0.3
+
+  set PTMin 0.5
+
+  set PTRatioMax 0.1
+}
+
+
+################
+# Muon isolation
+################
+
+# TBC: check values for iso cuts
+
+module Isolation MuonIsolation {
+  set CandidateInputArray MuonMomentumSmearing/muons
+  set IsolationInputArray RunPUPPI/PuppiParticles
+
+  set OutputArray muons
+
+  # veto isolation cand. based on proximity to input cand.
+  set DeltaRMin 0.01
+  set UseMiniCone true
+
+  set DeltaRMax 0.3
+
+  set PTMin 0.5
+
+  set PTRatioMax 0.2
+}
+
+
+###########
+# b-tagging
+###########
+
+module BTagging BTagging {
+  set JetInputArray JetEnergyScale/jets
+
+  set BitNumber 0
+
+  add EfficiencyFormula {0} {
+
+  (pt <= 10.0)                       * (0.00) +
+  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 500)      * (0.001) + \
+  (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 20000.0) * (0.001)*(1.0 - pt/20000.) + \
+  (abs(eta) < 2.5)                   * (pt > 20000.0)               * (0.000) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.00075) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 20000.0) * (0.00075)*(1.0 - pt/20000.) + \
+  (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 20000.0)               * (0.000) + \
+  (abs(eta) > 4.0) * (0.00)}
+
+  add EfficiencyFormula {4} {
+
+  (pt <= 10.0)                       * (0.00) +
+  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 500)      * (0.04) + \
+  (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 20000.0) * (0.04)*(1.0 - pt/20000.) + \
+  (abs(eta) < 2.5)                   * (pt > 20000.0)               * (0.000) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.03) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 20000.0) * (0.03)*(1.0 - pt/20000.) + \
+  (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 20000.0)               * (0.000) + \
+  (abs(eta) > 4.0) * (0.00)}
+
+  add EfficiencyFormula {5} {
+
+  (pt <= 10.0)                                                       * (0.00) +
+  (abs(eta) < 2.5)                    * (pt > 10.0 && pt < 500)      * (0.85) + 
+  (abs(eta) < 2.5)                    * (pt > 500.0 && pt < 20000.0) * (0.85)*(1.0 - pt/20000.) + 
+  (abs(eta) < 2.5)                    * (pt > 20000.0)               * (0.000) + 
+  (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.64) + 
+  (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 20000.0) * (0.64)*(1.0 - pt/20000.) + 
+  (abs(eta) <= 2.5 && abs(eta) < 4.0) * (pt > 20000.0)               * (0.000) + 
+  (abs(eta) >= 4.0) * (0.00)}
+
+}
+
+###########
+# c-tagging
+###########
+
+module BTagging CTagging {
+  set JetInputArray JetEnergyScale/jets
+
+  set BitNumber 1
+
+  add EfficiencyFormula {0} {
+
+  (pt <= 10.0)     * (0.00) +
+  (abs(eta) < 4.0) * (pt > 10.0) * (0.01) + \
+  (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
+
+  add EfficiencyFormula {4} {
+
+  (pt <= 10.0)     * (0.00) +
+  (abs(eta) < 4.0) * (pt > 10.0) * (0.10) + \
+  (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
+
+  add EfficiencyFormula {5} {
+
+  (pt <= 10.0)     * (0.00) +
+  (abs(eta) < 4.0) * (pt > 10.0) * (0.25) + \
+  (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
+
+}
+
+
+#############
+# tau-tagging
+#############
+
+
+module TauTagging TauTagging {
+  set ParticleInputArray Delphes/allParticles
+  set PartonInputArray Delphes/partons
+  set JetInputArray JetEnergyScale/jets
+
+  set DeltaR 0.5
+
+  set TauPTMin 1.0
+
+  set TauEtaMax 4.0
+
+  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
+  add EfficiencyFormula {0} {
+
+  (pt <= 10.0)                                                       * (0.00) +
+  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 5000.0)    * (0.01) + \
+  (abs(eta) < 2.5)                   * (pt > 5000.0 && pt < 34000.0) * (0.01)  *(8./9. - pt/30000.) + \
+  (abs(eta) < 2.5)                   * (pt > 34000.0)                * (0.000) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0)    * (0.0075) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.0075)*(8./9. - pt/30000.) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0)                * (0.00) + \
+  (abs(eta) > 4.0)                   * (0.00)}
+
+  add EfficiencyFormula {11} {
+
+  (pt <= 10.0)                                                       * (0.00) +
+  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 5000.0)    * (0.005) + \
+  (abs(eta) < 2.5)                   * (pt > 5000.0 && pt < 34000.0) * (0.005)  *(8./9. - pt/30000.) + \
+  (abs(eta) < 2.5)                   * (pt > 34000.0)                * (0.000) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0)    * (0.00375) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.00375)*(8./9. - pt/30000.) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0)                * (0.00) + \
+  (abs(eta) > 4.0)                   * (0.00)}
+
+  add EfficiencyFormula {15} {
+
+  (pt <= 10.0)                                                       * (0.00) +
+  (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0)                      * (0.6)                      + \
+  (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0)                   * (0.6) *(8./9. - pt/30000.) + \
+  (abs(eta) < 2.5)                   * (pt > 34000.0)                * (0.000) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0)    * (0.45) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.45)*(8./9. - pt/30000.) + \
+  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0)                * (0.00) + \
+  (abs(eta) > 4.0)                                                   * (0.00)}
+
+}
+
+#####################################################
+# Find uniquely identified photons/electrons/tau/jets
+#####################################################
+
+module UniqueObjectFinder UniqueObjectFinder {
+# earlier arrays take precedence over later ones
+# add InputArray InputArray OutputArray
+  add InputArray PhotonIsolation/photons photons
+  add InputArray ElectronIsolation/electrons electrons
+  add InputArray MuonIsolation/muons muons
+  add InputArray JetEnergyScale/jets jets
+
+}
+
+###############################################################################################################
+# StatusPidFilter: this module removes all generated particles except electrons, muons, taus, and status == 3 #
+###############################################################################################################
+
+module StatusPidFilter GenParticleFilter {
+
+    set InputArray Delphes/allParticles
+    set OutputArray filteredParticles
+    set PTMin 5.0
+
+}
+
+##################
+# ROOT tree writer
+##################
+
+module TreeWriter TreeWriter {
+# add Branch InputArray BranchName BranchClass
+  add Branch GenParticleFilter/filteredParticles Particle GenParticle
+  add Branch PileUpMerger/vertices Vertex Vertex
+
+  add Branch GenJetFinder/jets GenJet Jet
+  add Branch GenMissingET/momentum GenMissingET MissingET
+  add Branch GenPileUpMissingET/momentum GenPileUpMissingET MissingET
+
+  add Branch UniqueObjectFinder/photons Photon Photon
+  add Branch UniqueObjectFinder/electrons Electron Electron
+  add Branch UniqueObjectFinder/muons Muon Muon
+  add Branch UniqueObjectFinder/jets Jet Jet
+
+  add Branch MissingET/momentum MissingET MissingET
+  add Branch PuppiMissingET/momentum PuppiMissingET MissingET
+  add Branch ScalarHT/energy ScalarHT ScalarHT
+}
+
Index: cards/FCC/dzResolutionVsP.tcl
===================================================================
--- cards/FCC/dzResolutionVsP.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
+++ cards/FCC/dzResolutionVsP.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -0,0 +1,426 @@
+#
+# Automatically generated tracker z0 resolution formula in [um] for layout: FCChh_Oenergytion3.v01
+#
+#  By Z.Drasal(CERN) on: 2017-01-20.17:37:21
+#
+set ZVertexResolution {    1.e-6*((abs(eta) >= 0.0000 && abs(eta) < 0.1000) * (energy >= 0.0000 && energy < 1.0000) * (33.74912654) + \
+   (abs(eta) >= 0.0000 && abs(eta) < 0.1000) * (energy >= 1.0000 && energy < 5.0000) * (33.749127 + (energy-1.000000)* -4.671244) + \
+   (abs(eta) >= 0.0000 && abs(eta) < 0.1000) * (energy >= 5.0000 && energy < 10.0000) * (15.064150 + (energy-5.000000)* -0.467972) + \
+   (abs(eta) >= 0.0000 && abs(eta) < 0.1000) * (energy >= 10.0000 && energy < 100.0000) * (12.724289 + (energy-10.000000)* -0.028880) + \
+   (abs(eta) >= 0.0000 && abs(eta) < 0.1000) * (energy >= 100.0000 && energy < 1000.0000) * (10.125070 + (energy-100.000000)* -0.000193) + \
+   (abs(eta) >= 0.0000 && abs(eta) < 0.1000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.951253 + (energy-1000.000000)* -0.000000) + \
+   (abs(eta) >= 0.0000 && abs(eta) < 0.1000) * (energy >= 10000.0000) * (9.949330) + \
+   (abs(eta) >= 0.1000 && abs(eta) < 0.2000) * (energy >= 0.0000 && energy < 1.0000) * (34.34345665) + \
+   (abs(eta) >= 0.1000 && abs(eta) < 0.2000) * (energy >= 1.0000 && energy < 5.0000) * (34.343457 + (energy-1.000000)* -4.835408) + \
+   (abs(eta) >= 0.1000 && abs(eta) < 0.2000) * (energy >= 5.0000 && energy < 10.0000) * (15.001826 + (energy-5.000000)* -0.486744) + \
+   (abs(eta) >= 0.1000 && abs(eta) < 0.2000) * (energy >= 10.0000 && energy < 100.0000) * (12.568107 + (energy-10.000000)* -0.029317) + \
+   (abs(eta) >= 0.1000 && abs(eta) < 0.2000) * (energy >= 100.0000 && energy < 1000.0000) * (9.929601 + (energy-100.000000)* -0.000207) + \
+   (abs(eta) >= 0.1000 && abs(eta) < 0.2000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.743666 + (energy-1000.000000)* -0.000000) + \
+   (abs(eta) >= 0.1000 && abs(eta) < 0.2000) * (energy >= 10000.0000) * (9.741588) + \
+   (abs(eta) >= 0.2000 && abs(eta) < 0.3000) * (energy >= 0.0000 && energy < 1.0000) * (35.66493338) + \
+   (abs(eta) >= 0.2000 && abs(eta) < 0.3000) * (energy >= 1.0000 && energy < 5.0000) * (35.664933 + (energy-1.000000)* -5.066628) + \
+   (abs(eta) >= 0.2000 && abs(eta) < 0.3000) * (energy >= 5.0000 && energy < 10.0000) * (15.398421 + (energy-5.000000)* -0.512965) + \
+   (abs(eta) >= 0.2000 && abs(eta) < 0.3000) * (energy >= 10.0000 && energy < 100.0000) * (12.833594 + (energy-10.000000)* -0.030968) + \
+   (abs(eta) >= 0.2000 && abs(eta) < 0.3000) * (energy >= 100.0000 && energy < 1000.0000) * (10.046480 + (energy-100.000000)* -0.000222) + \
+   (abs(eta) >= 0.2000 && abs(eta) < 0.3000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.847117 + (energy-1000.000000)* -0.000000) + \
+   (abs(eta) >= 0.2000 && abs(eta) < 0.3000) * (energy >= 10000.0000) * (9.844877) + \
+   (abs(eta) >= 0.3000 && abs(eta) < 0.4000) * (energy >= 0.0000 && energy < 1.0000) * (37.44321588) + \
+   (abs(eta) >= 0.3000 && abs(eta) < 0.4000) * (energy >= 1.0000 && energy < 5.0000) * (37.443216 + (energy-1.000000)* -5.406983) + \
+   (abs(eta) >= 0.3000 && abs(eta) < 0.4000) * (energy >= 5.0000 && energy < 10.0000) * (15.815286 + (energy-5.000000)* -0.555749) + \
+   (abs(eta) >= 0.3000 && abs(eta) < 0.4000) * (energy >= 10.0000 && energy < 100.0000) * (13.036540 + (energy-10.000000)* -0.033387) + \
+   (abs(eta) >= 0.3000 && abs(eta) < 0.4000) * (energy >= 100.0000 && energy < 1000.0000) * (10.031714 + (energy-100.000000)* -0.000246) + \
+   (abs(eta) >= 0.3000 && abs(eta) < 0.4000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.810446 + (energy-1000.000000)* -0.000000) + \
+   (abs(eta) >= 0.3000 && abs(eta) < 0.4000) * (energy >= 10000.0000) * (9.807932) + \
+   (abs(eta) >= 0.4000 && abs(eta) < 0.5000) * (energy >= 0.0000 && energy < 1.0000) * (39.99679761) + \
+   (abs(eta) >= 0.4000 && abs(eta) < 0.5000) * (energy >= 1.0000 && energy < 5.0000) * (39.996798 + (energy-1.000000)* -5.903356) + \
+   (abs(eta) >= 0.4000 && abs(eta) < 0.5000) * (energy >= 5.0000 && energy < 10.0000) * (16.383374 + (energy-5.000000)* -0.618125) + \
+   (abs(eta) >= 0.4000 && abs(eta) < 0.5000) * (energy >= 10.0000 && energy < 100.0000) * (13.292747 + (energy-10.000000)* -0.036018) + \
+   (abs(eta) >= 0.4000 && abs(eta) < 0.5000) * (energy >= 100.0000 && energy < 1000.0000) * (10.051143 + (energy-100.000000)* -0.000294) + \
+   (abs(eta) >= 0.4000 && abs(eta) < 0.5000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.786402 + (energy-1000.000000)* -0.000000) + \
+   (abs(eta) >= 0.4000 && abs(eta) < 0.5000) * (energy >= 10000.0000) * (9.783312) + \
+   (abs(eta) >= 0.5000 && abs(eta) < 0.6000) * (energy >= 0.0000 && energy < 1.0000) * (43.05309779) + \
+   (abs(eta) >= 0.5000 && abs(eta) < 0.6000) * (energy >= 1.0000 && energy < 5.0000) * (43.053098 + (energy-1.000000)* -6.483858) + \
+   (abs(eta) >= 0.5000 && abs(eta) < 0.6000) * (energy >= 5.0000 && energy < 10.0000) * (17.117665 + (energy-5.000000)* -0.678231) + \
+   (abs(eta) >= 0.5000 && abs(eta) < 0.6000) * (energy >= 10.0000 && energy < 100.0000) * (13.726510 + (energy-10.000000)* -0.039423) + \
+   (abs(eta) >= 0.5000 && abs(eta) < 0.6000) * (energy >= 100.0000 && energy < 1000.0000) * (10.178469 + (energy-100.000000)* -0.000382) + \
+   (abs(eta) >= 0.5000 && abs(eta) < 0.6000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.834292 + (energy-1000.000000)* -0.000000) + \
+   (abs(eta) >= 0.5000 && abs(eta) < 0.6000) * (energy >= 10000.0000) * (9.830048) + \
+   (abs(eta) >= 0.6000 && abs(eta) < 0.7000) * (energy >= 0.0000 && energy < 1.0000) * (47.68724079) + \
+   (abs(eta) >= 0.6000 && abs(eta) < 0.7000) * (energy >= 1.0000 && energy < 5.0000) * (47.687241 + (energy-1.000000)* -7.383384) + \
+   (abs(eta) >= 0.6000 && abs(eta) < 0.7000) * (energy >= 5.0000 && energy < 10.0000) * (18.153704 + (energy-5.000000)* -0.781401) + \
+   (abs(eta) >= 0.6000 && abs(eta) < 0.7000) * (energy >= 10.0000 && energy < 100.0000) * (14.246698 + (energy-10.000000)* -0.043783) + \
+   (abs(eta) >= 0.6000 && abs(eta) < 0.7000) * (energy >= 100.0000 && energy < 1000.0000) * (10.306267 + (energy-100.000000)* -0.000468) + \
+   (abs(eta) >= 0.6000 && abs(eta) < 0.7000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.885454 + (energy-1000.000000)* -0.000001) + \
+   (abs(eta) >= 0.6000 && abs(eta) < 0.7000) * (energy >= 10000.0000) * (9.879982) + \
+   (abs(eta) >= 0.7000 && abs(eta) < 0.8000) * (energy >= 0.0000 && energy < 1.0000) * (54.72277717) + \
+   (abs(eta) >= 0.7000 && abs(eta) < 0.8000) * (energy >= 1.0000 && energy < 5.0000) * (54.722777 + (energy-1.000000)* -8.773746) + \
+   (abs(eta) >= 0.7000 && abs(eta) < 0.8000) * (energy >= 5.0000 && energy < 10.0000) * (19.627794 + (energy-5.000000)* -0.941385) + \
+   (abs(eta) >= 0.7000 && abs(eta) < 0.8000) * (energy >= 10.0000 && energy < 100.0000) * (14.920868 + (energy-10.000000)* -0.051472) + \
+   (abs(eta) >= 0.7000 && abs(eta) < 0.8000) * (energy >= 100.0000 && energy < 1000.0000) * (10.288398 + (energy-100.000000)* -0.000566) + \
+   (abs(eta) >= 0.7000 && abs(eta) < 0.8000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.779162 + (energy-1000.000000)* -0.000001) + \
+   (abs(eta) >= 0.7000 && abs(eta) < 0.8000) * (energy >= 10000.0000) * (9.772189) + \
+   (abs(eta) >= 0.8000 && abs(eta) < 0.9000) * (energy >= 0.0000 && energy < 1.0000) * (61.52447069) + \
+   (abs(eta) >= 0.8000 && abs(eta) < 0.9000) * (energy >= 1.0000 && energy < 5.0000) * (61.524471 + (energy-1.000000)* -10.094376) + \
+   (abs(eta) >= 0.8000 && abs(eta) < 0.9000) * (energy >= 5.0000 && energy < 10.0000) * (21.146967 + (energy-5.000000)* -1.072609) + \
+   (abs(eta) >= 0.8000 && abs(eta) < 0.9000) * (energy >= 10.0000 && energy < 100.0000) * (15.783923 + (energy-10.000000)* -0.057973) + \
+   (abs(eta) >= 0.8000 && abs(eta) < 0.9000) * (energy >= 100.0000 && energy < 1000.0000) * (10.566316 + (energy-100.000000)* -0.000791) + \
+   (abs(eta) >= 0.8000 && abs(eta) < 0.9000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.854193 + (energy-1000.000000)* -0.000001) + \
+   (abs(eta) >= 0.8000 && abs(eta) < 0.9000) * (energy >= 10000.0000) * (9.842876) + \
+   (abs(eta) >= 0.9000 && abs(eta) < 1.0000) * (energy >= 0.0000 && energy < 1.0000) * (74.30500673) + \
+   (abs(eta) >= 0.9000 && abs(eta) < 1.0000) * (energy >= 1.0000 && energy < 5.0000) * (74.305007 + (energy-1.000000)* -12.685418) + \
+   (abs(eta) >= 0.9000 && abs(eta) < 1.0000) * (energy >= 5.0000 && energy < 10.0000) * (23.563336 + (energy-5.000000)* -1.371569) + \
+   (abs(eta) >= 0.9000 && abs(eta) < 1.0000) * (energy >= 10.0000 && energy < 100.0000) * (16.705489 + (energy-10.000000)* -0.071569) + \
+   (abs(eta) >= 0.9000 && abs(eta) < 1.0000) * (energy >= 100.0000 && energy < 1000.0000) * (10.264246 + (energy-100.000000)* -0.000925) + \
+   (abs(eta) >= 0.9000 && abs(eta) < 1.0000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.431611 + (energy-1000.000000)* -0.000002) + \
+   (abs(eta) >= 0.9000 && abs(eta) < 1.0000) * (energy >= 10000.0000) * (9.417084) + \
+   (abs(eta) >= 1.0000 && abs(eta) < 1.1000) * (energy >= 0.0000 && energy < 1.0000) * (85.57969120) + \
+   (abs(eta) >= 1.0000 && abs(eta) < 1.1000) * (energy >= 1.0000 && energy < 5.0000) * (85.579691 + (energy-1.000000)* -14.820911) + \
+   (abs(eta) >= 1.0000 && abs(eta) < 1.1000) * (energy >= 5.0000 && energy < 10.0000) * (26.296045 + (energy-5.000000)* -1.613475) + \
+   (abs(eta) >= 1.0000 && abs(eta) < 1.1000) * (energy >= 10.0000 && energy < 100.0000) * (18.228671 + (energy-10.000000)* -0.082043) + \
+   (abs(eta) >= 1.0000 && abs(eta) < 1.1000) * (energy >= 100.0000 && energy < 1000.0000) * (10.844757 + (energy-100.000000)* -0.001190) + \
+   (abs(eta) >= 1.0000 && abs(eta) < 1.1000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.773556 + (energy-1000.000000)* -0.000003) + \
+   (abs(eta) >= 1.0000 && abs(eta) < 1.1000) * (energy >= 10000.0000) * (9.750415) + \
+   (abs(eta) >= 1.1000 && abs(eta) < 1.2000) * (energy >= 0.0000 && energy < 1.0000) * (101.05655645) + \
+   (abs(eta) >= 1.1000 && abs(eta) < 1.2000) * (energy >= 1.0000 && energy < 5.0000) * (101.056556 + (energy-1.000000)* -17.874709) + \
+   (abs(eta) >= 1.1000 && abs(eta) < 1.2000) * (energy >= 5.0000 && energy < 10.0000) * (29.557719 + (energy-5.000000)* -1.923146) + \
+   (abs(eta) >= 1.1000 && abs(eta) < 1.2000) * (energy >= 10.0000 && energy < 100.0000) * (19.941988 + (energy-10.000000)* -0.097388) + \
+   (abs(eta) >= 1.1000 && abs(eta) < 1.2000) * (energy >= 100.0000 && energy < 1000.0000) * (11.177082 + (energy-100.000000)* -0.001359) + \
+   (abs(eta) >= 1.1000 && abs(eta) < 1.2000) * (energy >= 1000.0000 && energy < 10000.0000) * (9.954269 + (energy-1000.000000)* -0.000003) + \
+   (abs(eta) >= 1.1000 && abs(eta) < 1.2000) * (energy >= 10000.0000) * (9.924042) + \
+   (abs(eta) >= 1.2000 && abs(eta) < 1.3000) * (energy >= 0.0000 && energy < 1.0000) * (119.97620260) + \
+   (abs(eta) >= 1.2000 && abs(eta) < 1.3000) * (energy >= 1.0000 && energy < 5.0000) * (119.976203 + (energy-1.000000)* -21.573963) + \
+   (abs(eta) >= 1.2000 && abs(eta) < 1.3000) * (energy >= 5.0000 && energy < 10.0000) * (33.680350 + (energy-5.000000)* -2.299376) + \
+   (abs(eta) >= 1.2000 && abs(eta) < 1.3000) * (energy >= 10.0000 && energy < 100.0000) * (22.183469 + (energy-10.000000)* -0.117920) + \
+   (abs(eta) >= 1.2000 && abs(eta) < 1.3000) * (energy >= 100.0000 && energy < 1000.0000) * (11.570707 + (energy-100.000000)* -0.001419) + \
+   (abs(eta) >= 1.2000 && abs(eta) < 1.3000) * (energy >= 1000.0000 && energy < 10000.0000) * (10.293573 + (energy-1000.000000)* -0.000003) + \
+   (abs(eta) >= 1.2000 && abs(eta) < 1.3000) * (energy >= 10000.0000) * (10.263037) + \
+   (abs(eta) >= 1.3000 && abs(eta) < 1.4000) * (energy >= 0.0000 && energy < 1.0000) * (150.17584366) + \
+   (abs(eta) >= 1.3000 && abs(eta) < 1.4000) * (energy >= 1.0000 && energy < 5.0000) * (150.175844 + (energy-1.000000)* -27.645005) + \
+   (abs(eta) >= 1.3000 && abs(eta) < 1.4000) * (energy >= 5.0000 && energy < 10.0000) * (39.595822 + (energy-5.000000)* -2.846903) + \
+   (abs(eta) >= 1.3000 && abs(eta) < 1.4000) * (energy >= 10.0000 && energy < 100.0000) * (25.361309 + (energy-10.000000)* -0.150565) + \
+   (abs(eta) >= 1.3000 && abs(eta) < 1.4000) * (energy >= 100.0000 && energy < 1000.0000) * (11.810452 + (energy-100.000000)* -0.001729) + \
+   (abs(eta) >= 1.3000 && abs(eta) < 1.4000) * (energy >= 1000.0000 && energy < 10000.0000) * (10.254165 + (energy-1000.000000)* -0.000005) + \
+   (abs(eta) >= 1.3000 && abs(eta) < 1.4000) * (energy >= 10000.0000) * (10.213344) + \
+   (abs(eta) >= 1.4000 && abs(eta) < 1.5000) * (energy >= 0.0000 && energy < 1.0000) * (185.90466166) + \
+   (abs(eta) >= 1.4000 && abs(eta) < 1.5000) * (energy >= 1.0000 && energy < 5.0000) * (185.904662 + (energy-1.000000)* -34.892288) + \
+   (abs(eta) >= 1.4000 && abs(eta) < 1.5000) * (energy >= 5.0000 && energy < 10.0000) * (46.335510 + (energy-5.000000)* -3.487254) + \
+   (abs(eta) >= 1.4000 && abs(eta) < 1.5000) * (energy >= 10.0000 && energy < 100.0000) * (28.899237 + (energy-10.000000)* -0.186505) + \
+   (abs(eta) >= 1.4000 && abs(eta) < 1.5000) * (energy >= 100.0000 && energy < 1000.0000) * (12.113827 + (energy-100.000000)* -0.002009) + \
+   (abs(eta) >= 1.4000 && abs(eta) < 1.5000) * (energy >= 1000.0000 && energy < 10000.0000) * (10.306091 + (energy-1000.000000)* -0.000005) + \
+   (abs(eta) >= 1.4000 && abs(eta) < 1.5000) * (energy >= 10000.0000) * (10.261353) + \
+   (abs(eta) >= 1.5000 && abs(eta) < 1.6000) * (energy >= 0.0000 && energy < 1.0000) * (230.83131853) + \
+   (abs(eta) >= 1.5000 && abs(eta) < 1.6000) * (energy >= 1.0000 && energy < 5.0000) * (230.831319 + (energy-1.000000)* -43.995168) + \
+   (abs(eta) >= 1.5000 && abs(eta) < 1.6000) * (energy >= 5.0000 && energy < 10.0000) * (54.850645 + (energy-5.000000)* -4.268074) + \
+   (abs(eta) >= 1.5000 && abs(eta) < 1.6000) * (energy >= 10.0000 && energy < 100.0000) * (33.510273 + (energy-10.000000)* -0.229050) + \
+   (abs(eta) >= 1.5000 && abs(eta) < 1.6000) * (energy >= 100.0000 && energy < 1000.0000) * (12.895783 + (energy-100.000000)* -0.002599) + \
+   (abs(eta) >= 1.5000 && abs(eta) < 1.6000) * (energy >= 1000.0000 && energy < 10000.0000) * (10.556848 + (energy-1000.000000)* -0.000008) + \
+   (abs(eta) >= 1.5000 && abs(eta) < 1.6000) * (energy >= 10000.0000) * (10.486855) + \
+   (abs(eta) >= 1.6000 && abs(eta) < 1.7000) * (energy >= 0.0000 && energy < 1.0000) * (293.89246875) + \
+   (abs(eta) >= 1.6000 && abs(eta) < 1.7000) * (energy >= 1.0000 && energy < 5.0000) * (293.892469 + (energy-1.000000)* -56.702670) + \
+   (abs(eta) >= 1.6000 && abs(eta) < 1.7000) * (energy >= 5.0000 && energy < 10.0000) * (67.081790 + (energy-5.000000)* -5.501565) + \
+   (abs(eta) >= 1.6000 && abs(eta) < 1.7000) * (energy >= 10.0000 && energy < 100.0000) * (39.573967 + (energy-10.000000)* -0.292544) + \
+   (abs(eta) >= 1.6000 && abs(eta) < 1.7000) * (energy >= 100.0000 && energy < 1000.0000) * (13.244980 + (energy-100.000000)* -0.003017) + \
+   (abs(eta) >= 1.6000 && abs(eta) < 1.7000) * (energy >= 1000.0000 && energy < 10000.0000) * (10.529920 + (energy-1000.000000)* -0.000008) + \
+   (abs(eta) >= 1.6000 && abs(eta) < 1.7000) * (energy >= 10000.0000) * (10.453799) + \
+   (abs(eta) >= 1.7000 && abs(eta) < 1.8000) * (energy >= 0.0000 && energy < 1.0000) * (368.74767473) + \
+   (abs(eta) >= 1.7000 && abs(eta) < 1.8000) * (energy >= 1.0000 && energy < 5.0000) * (368.747675 + (energy-1.000000)* -71.813250) + \
+   (abs(eta) >= 1.7000 && abs(eta) < 1.8000) * (energy >= 5.0000 && energy < 10.0000) * (81.494676 + (energy-5.000000)* -6.922557) + \
+   (abs(eta) >= 1.7000 && abs(eta) < 1.8000) * (energy >= 10.0000 && energy < 100.0000) * (46.881893 + (energy-10.000000)* -0.363939) + \
+   (abs(eta) >= 1.7000 && abs(eta) < 1.8000) * (energy >= 100.0000 && energy < 1000.0000) * (14.127362 + (energy-100.000000)* -0.003616) + \
+   (abs(eta) >= 1.7000 && abs(eta) < 1.8000) * (energy >= 1000.0000 && energy < 10000.0000) * (10.872798 + (energy-1000.000000)* -0.000011) + \
+   (abs(eta) >= 1.7000 && abs(eta) < 1.8000) * (energy >= 10000.0000) * (10.769368) + \
+   (abs(eta) >= 1.8000 && abs(eta) < 1.9000) * (energy >= 0.0000 && energy < 1.0000) * (467.01752796) + \
+   (abs(eta) >= 1.8000 && abs(eta) < 1.9000) * (energy >= 1.0000 && energy < 5.0000) * (467.017528 + (energy-1.000000)* -91.396929) + \
+   (abs(eta) >= 1.8000 && abs(eta) < 1.9000) * (energy >= 5.0000 && energy < 10.0000) * (101.429813 + (energy-5.000000)* -8.986428) + \
+   (abs(eta) >= 1.8000 && abs(eta) < 1.9000) * (energy >= 10.0000 && energy < 100.0000) * (56.497672 + (energy-10.000000)* -0.459102) + \
+   (abs(eta) >= 1.8000 && abs(eta) < 1.9000) * (energy >= 100.0000 && energy < 1000.0000) * (15.178518 + (energy-100.000000)* -0.004742) + \
+   (abs(eta) >= 1.8000 && abs(eta) < 1.9000) * (energy >= 1000.0000 && energy < 10000.0000) * (10.910566 + (energy-1000.000000)* -0.000016) + \
+   (abs(eta) >= 1.8000 && abs(eta) < 1.9000) * (energy >= 10000.0000) * (10.770572) + \
+   (abs(eta) >= 1.9000 && abs(eta) < 2.0000) * (energy >= 0.0000 && energy < 1.0000) * (592.13230815) + \
+   (abs(eta) >= 1.9000 && abs(eta) < 2.0000) * (energy >= 1.0000 && energy < 5.0000) * (592.132308 + (energy-1.000000)* -116.477030) + \
+   (abs(eta) >= 1.9000 && abs(eta) < 2.0000) * (energy >= 5.0000 && energy < 10.0000) * (126.224189 + (energy-5.000000)* -11.515806) + \
+   (abs(eta) >= 1.9000 && abs(eta) < 2.0000) * (energy >= 10.0000 && energy < 100.0000) * (68.645158 + (energy-10.000000)* -0.576224) + \
+   (abs(eta) >= 1.9000 && abs(eta) < 2.0000) * (energy >= 100.0000 && energy < 1000.0000) * (16.784993 + (energy-100.000000)* -0.006310) + \
+   (abs(eta) >= 1.9000 && abs(eta) < 2.0000) * (energy >= 1000.0000 && energy < 10000.0000) * (11.106021 + (energy-1000.000000)* -0.000021) + \
+   (abs(eta) >= 1.9000 && abs(eta) < 2.0000) * (energy >= 10000.0000) * (10.921301) + \
+   (abs(eta) >= 2.0000 && abs(eta) < 2.1000) * (energy >= 0.0000 && energy < 1.0000) * (751.16353081) + \
+   (abs(eta) >= 2.0000 && abs(eta) < 2.1000) * (energy >= 1.0000 && energy < 5.0000) * (751.163531 + (energy-1.000000)* -148.789870) + \
+   (abs(eta) >= 2.0000 && abs(eta) < 2.1000) * (energy >= 5.0000 && energy < 10.0000) * (156.004052 + (energy-5.000000)* -14.609109) + \
+   (abs(eta) >= 2.0000 && abs(eta) < 2.1000) * (energy >= 10.0000 && energy < 100.0000) * (82.958508 + (energy-10.000000)* -0.716130) + \
+   (abs(eta) >= 2.0000 && abs(eta) < 2.1000) * (energy >= 100.0000 && energy < 1000.0000) * (18.506844 + (energy-100.000000)* -0.007282) + \
+   (abs(eta) >= 2.0000 && abs(eta) < 2.1000) * (energy >= 1000.0000 && energy < 10000.0000) * (11.952907 + (energy-1000.000000)* -0.000024) + \
+   (abs(eta) >= 2.0000 && abs(eta) < 2.1000) * (energy >= 10000.0000) * (11.740508) + \
+   (abs(eta) >= 2.1000 && abs(eta) < 2.2000) * (energy >= 0.0000 && energy < 1.0000) * (958.33726580) + \
+   (abs(eta) >= 2.1000 && abs(eta) < 2.2000) * (energy >= 1.0000 && energy < 5.0000) * (958.337266 + (energy-1.000000)* -189.169269) + \
+   (abs(eta) >= 2.1000 && abs(eta) < 2.2000) * (energy >= 5.0000 && energy < 10.0000) * (201.660190 + (energy-5.000000)* -19.253995) + \
+   (abs(eta) >= 2.1000 && abs(eta) < 2.2000) * (energy >= 10.0000 && energy < 100.0000) * (105.390216 + (energy-10.000000)* -0.941490) + \
+   (abs(eta) >= 2.1000 && abs(eta) < 2.2000) * (energy >= 100.0000 && energy < 1000.0000) * (20.656104 + (energy-100.000000)* -0.009666) + \
+   (abs(eta) >= 2.1000 && abs(eta) < 2.2000) * (energy >= 1000.0000 && energy < 10000.0000) * (11.956941 + (energy-1000.000000)* -0.000032) + \
+   (abs(eta) >= 2.1000 && abs(eta) < 2.2000) * (energy >= 10000.0000) * (11.670543) + \
+   (abs(eta) >= 2.2000 && abs(eta) < 2.3000) * (energy >= 0.0000 && energy < 1.0000) * (1230.41992560) + \
+   (abs(eta) >= 2.2000 && abs(eta) < 2.3000) * (energy >= 1.0000 && energy < 5.0000) * (1230.419926 + (energy-1.000000)* -244.422412) + \
+   (abs(eta) >= 2.2000 && abs(eta) < 2.3000) * (energy >= 5.0000 && energy < 10.0000) * (252.730278 + (energy-5.000000)* -24.502778) + \
+   (abs(eta) >= 2.2000 && abs(eta) < 2.3000) * (energy >= 10.0000 && energy < 100.0000) * (130.216387 + (energy-10.000000)* -1.187759) + \
+   (abs(eta) >= 2.2000 && abs(eta) < 2.3000) * (energy >= 100.0000 && energy < 1000.0000) * (23.318071 + (energy-100.000000)* -0.011847) + \
+   (abs(eta) >= 2.2000 && abs(eta) < 2.3000) * (energy >= 1000.0000 && energy < 10000.0000) * (12.656004 + (energy-1000.000000)* -0.000044) + \
+   (abs(eta) >= 2.2000 && abs(eta) < 2.3000) * (energy >= 10000.0000) * (12.257986) + \
+   (abs(eta) >= 2.3000 && abs(eta) < 2.4000) * (energy >= 0.0000 && energy < 1.0000) * (1575.52473671) + \
+   (abs(eta) >= 2.3000 && abs(eta) < 2.4000) * (energy >= 1.0000 && energy < 5.0000) * (1575.524737 + (energy-1.000000)* -312.452830) + \
+   (abs(eta) >= 2.3000 && abs(eta) < 2.4000) * (energy >= 5.0000 && energy < 10.0000) * (325.713417 + (energy-5.000000)* -31.572672) + \
+   (abs(eta) >= 2.3000 && abs(eta) < 2.4000) * (energy >= 10.0000 && energy < 100.0000) * (167.850057 + (energy-10.000000)* -1.563520) + \
+   (abs(eta) >= 2.3000 && abs(eta) < 2.4000) * (energy >= 100.0000 && energy < 1000.0000) * (27.133242 + (energy-100.000000)* -0.016152) + \
+   (abs(eta) >= 2.3000 && abs(eta) < 2.4000) * (energy >= 1000.0000 && energy < 10000.0000) * (12.596156 + (energy-1000.000000)* -0.000063) + \
+   (abs(eta) >= 2.3000 && abs(eta) < 2.4000) * (energy >= 10000.0000) * (12.033565) + \
+   (abs(eta) >= 2.4000 && abs(eta) < 2.5000) * (energy >= 0.0000 && energy < 1.0000) * (2013.69756164) + \
+   (abs(eta) >= 2.4000 && abs(eta) < 2.5000) * (energy >= 1.0000 && energy < 5.0000) * (2013.697562 + (energy-1.000000)* -399.979632) + \
+   (abs(eta) >= 2.4000 && abs(eta) < 2.5000) * (energy >= 5.0000 && energy < 10.0000) * (413.779033 + (energy-5.000000)* -40.253921) + \
+   (abs(eta) >= 2.4000 && abs(eta) < 2.5000) * (energy >= 10.0000 && energy < 100.0000) * (212.509426 + (energy-10.000000)* -2.005587) + \
+   (abs(eta) >= 2.4000 && abs(eta) < 2.5000) * (energy >= 100.0000 && energy < 1000.0000) * (32.006621 + (energy-100.000000)* -0.021209) + \
+   (abs(eta) >= 2.4000 && abs(eta) < 2.5000) * (energy >= 1000.0000 && energy < 10000.0000) * (12.918453 + (energy-1000.000000)* -0.000072) + \
+   (abs(eta) >= 2.4000 && abs(eta) < 2.5000) * (energy >= 10000.0000) * (12.271435) + \
+   (abs(eta) >= 2.5000 && abs(eta) < 2.6000) * (energy >= 0.0000 && energy < 1.0000) * (2591.36480095) + \
+   (abs(eta) >= 2.5000 && abs(eta) < 2.6000) * (energy >= 1.0000 && energy < 5.0000) * (2591.364801 + (energy-1.000000)* -517.174936) + \
+   (abs(eta) >= 2.5000 && abs(eta) < 2.6000) * (energy >= 5.0000 && energy < 10.0000) * (522.665057 + (energy-5.000000)* -51.574668) + \
+   (abs(eta) >= 2.5000 && abs(eta) < 2.6000) * (energy >= 10.0000 && energy < 100.0000) * (264.791716 + (energy-10.000000)* -2.523528) + \
+   (abs(eta) >= 2.5000 && abs(eta) < 2.6000) * (energy >= 100.0000 && energy < 1000.0000) * (37.674153 + (energy-100.000000)* -0.026757) + \
+   (abs(eta) >= 2.5000 && abs(eta) < 2.6000) * (energy >= 1000.0000 && energy < 10000.0000) * (13.593113 + (energy-1000.000000)* -0.000114) + \
+   (abs(eta) >= 2.5000 && abs(eta) < 2.6000) * (energy >= 10000.0000) * (12.565959) + \
+   (abs(eta) >= 2.6000 && abs(eta) < 2.7000) * (energy >= 0.0000 && energy < 1.0000) * (3329.34825251) + \
+   (abs(eta) >= 2.6000 && abs(eta) < 2.7000) * (energy >= 1.0000 && energy < 5.0000) * (3329.348253 + (energy-1.000000)* -663.566499) + \
+   (abs(eta) >= 2.6000 && abs(eta) < 2.7000) * (energy >= 5.0000 && energy < 10.0000) * (675.082258 + (energy-5.000000)* -66.053622) + \
+   (abs(eta) >= 2.6000 && abs(eta) < 2.7000) * (energy >= 10.0000 && energy < 100.0000) * (344.814150 + (energy-10.000000)* -3.328372) + \
+   (abs(eta) >= 2.6000 && abs(eta) < 2.7000) * (energy >= 100.0000 && energy < 1000.0000) * (45.260704 + (energy-100.000000)* -0.034509) + \
+   (abs(eta) >= 2.6000 && abs(eta) < 2.7000) * (energy >= 1000.0000 && energy < 10000.0000) * (14.202628 + (energy-1000.000000)* -0.000190) + \
+   (abs(eta) >= 2.6000 && abs(eta) < 2.7000) * (energy >= 10000.0000) * (12.494069) + \
+   (abs(eta) >= 2.7000 && abs(eta) < 2.8000) * (energy >= 0.0000 && energy < 1.0000) * (4281.94718943) + \
+   (abs(eta) >= 2.7000 && abs(eta) < 2.8000) * (energy >= 1.0000 && energy < 5.0000) * (4281.947189 + (energy-1.000000)* -855.242393) + \
+   (abs(eta) >= 2.7000 && abs(eta) < 2.8000) * (energy >= 5.0000 && energy < 10.0000) * (860.977618 + (energy-5.000000)* -85.209034) + \
+   (abs(eta) >= 2.7000 && abs(eta) < 2.8000) * (energy >= 10.0000 && energy < 100.0000) * (434.932448 + (energy-10.000000)* -4.237707) + \
+   (abs(eta) >= 2.7000 && abs(eta) < 2.8000) * (energy >= 100.0000 && energy < 1000.0000) * (53.538816 + (energy-100.000000)* -0.042339) + \
+   (abs(eta) >= 2.7000 && abs(eta) < 2.8000) * (energy >= 1000.0000 && energy < 10000.0000) * (15.433329 + (energy-1000.000000)* -0.000284) + \
+   (abs(eta) >= 2.7000 && abs(eta) < 2.8000) * (energy >= 10000.0000) * (12.875603) + \
+   (abs(eta) >= 2.8000 && abs(eta) < 2.9000) * (energy >= 0.0000 && energy < 1.0000) * (5462.32575552) + \
+   (abs(eta) >= 2.8000 && abs(eta) < 2.9000) * (energy >= 1.0000 && energy < 5.0000) * (5462.325756 + (energy-1.000000)* -1091.541968) + \
+   (abs(eta) >= 2.8000 && abs(eta) < 2.9000) * (energy >= 5.0000 && energy < 10.0000) * (1096.157884 + (energy-5.000000)* -108.782785) + \
+   (abs(eta) >= 2.8000 && abs(eta) < 2.9000) * (energy >= 10.0000 && energy < 100.0000) * (552.243960 + (energy-10.000000)* -5.420978) + \
+   (abs(eta) >= 2.8000 && abs(eta) < 2.9000) * (energy >= 100.0000 && energy < 1000.0000) * (64.355964 + (energy-100.000000)* -0.052710) + \
+   (abs(eta) >= 2.8000 && abs(eta) < 2.9000) * (energy >= 1000.0000 && energy < 10000.0000) * (16.917192 + (energy-1000.000000)* -0.000440) + \
+   (abs(eta) >= 2.8000 && abs(eta) < 2.9000) * (energy >= 10000.0000) * (12.955635) + \
+   (abs(eta) >= 2.9000 && abs(eta) < 3.0000) * (energy >= 0.0000 && energy < 1.0000) * (7108.94716507) + \
+   (abs(eta) >= 2.9000 && abs(eta) < 3.0000) * (energy >= 1.0000 && energy < 5.0000) * (7108.947165 + (energy-1.000000)* -1421.072777) + \
+   (abs(eta) >= 2.9000 && abs(eta) < 3.0000) * (energy >= 5.0000 && energy < 10.0000) * (1424.656056 + (energy-5.000000)* -141.706376) + \
+   (abs(eta) >= 2.9000 && abs(eta) < 3.0000) * (energy >= 10.0000 && energy < 100.0000) * (716.124175 + (energy-10.000000)* -7.062406) + \
+   (abs(eta) >= 2.9000 && abs(eta) < 3.0000) * (energy >= 100.0000 && energy < 1000.0000) * (80.507664 + (energy-100.000000)* -0.068259) + \
+   (abs(eta) >= 2.9000 && abs(eta) < 3.0000) * (energy >= 1000.0000 && energy < 10000.0000) * (19.074264 + (energy-1000.000000)* -0.000591) + \
+   (abs(eta) >= 2.9000 && abs(eta) < 3.0000) * (energy >= 10000.0000) * (13.758308) + \
+   (abs(eta) >= 3.0000 && abs(eta) < 3.1000) * (energy >= 0.0000 && energy < 1.0000) * (9169.31059571) + \
+   (abs(eta) >= 3.0000 && abs(eta) < 3.1000) * (energy >= 1.0000 && energy < 5.0000) * (9169.310596 + (energy-1.000000)* -1833.127834) + \
+   (abs(eta) >= 3.0000 && abs(eta) < 3.1000) * (energy >= 5.0000 && energy < 10.0000) * (1836.799261 + (energy-5.000000)* -182.864922) + \
+   (abs(eta) >= 3.0000 && abs(eta) < 3.1000) * (energy >= 10.0000 && energy < 100.0000) * (922.474653 + (energy-10.000000)* -9.127112) + \
+   (abs(eta) >= 3.0000 && abs(eta) < 3.1000) * (energy >= 100.0000 && energy < 1000.0000) * (101.034597 + (energy-100.000000)* -0.088050) + \
+   (abs(eta) >= 3.0000 && abs(eta) < 3.1000) * (energy >= 1000.0000 && energy < 10000.0000) * (21.789549 + (energy-1000.000000)* -0.000812) + \
+   (abs(eta) >= 3.0000 && abs(eta) < 3.1000) * (energy >= 10000.0000) * (14.483662) + \
+   (abs(eta) >= 3.1000 && abs(eta) < 3.2000) * (energy >= 0.0000 && energy < 1.0000) * (11828.07936478) + \
+   (abs(eta) >= 3.1000 && abs(eta) < 3.2000) * (energy >= 1.0000 && energy < 5.0000) * (11828.079365 + (energy-1.000000)* -2365.079507) + \
+   (abs(eta) >= 3.1000 && abs(eta) < 3.2000) * (energy >= 5.0000 && energy < 10.0000) * (2367.761338 + (energy-5.000000)* -236.158468) + \
+   (abs(eta) >= 3.1000 && abs(eta) < 3.2000) * (energy >= 10.0000 && energy < 100.0000) * (1186.968999 + (energy-10.000000)* -11.779778) + \
+   (abs(eta) >= 3.1000 && abs(eta) < 3.2000) * (energy >= 100.0000 && energy < 1000.0000) * (126.788934 + (energy-100.000000)* -0.112934) + \
+   (abs(eta) >= 3.1000 && abs(eta) < 3.2000) * (energy >= 1000.0000 && energy < 10000.0000) * (25.148633 + (energy-1000.000000)* -0.001043) + \
+   (abs(eta) >= 3.1000 && abs(eta) < 3.2000) * (energy >= 10000.0000) * (15.757228) + \
+   (abs(eta) >= 3.2000 && abs(eta) < 3.3000) * (energy >= 0.0000 && energy < 1.0000) * (15305.64841511) + \
+   (abs(eta) >= 3.2000 && abs(eta) < 3.3000) * (energy >= 1.0000 && energy < 5.0000) * (15305.648415 + (energy-1.000000)* -3060.575718) + \
+   (abs(eta) >= 3.2000 && abs(eta) < 3.3000) * (energy >= 5.0000 && energy < 10.0000) * (3063.345542 + (energy-5.000000)* -305.678237) + \
+   (abs(eta) >= 3.2000 && abs(eta) < 3.3000) * (energy >= 10.0000 && energy < 100.0000) * (1534.954357 + (energy-10.000000)* -15.245960) + \
+   (abs(eta) >= 3.2000 && abs(eta) < 3.3000) * (energy >= 100.0000 && energy < 1000.0000) * (162.817965 + (energy-100.000000)* -0.148618) + \
+   (abs(eta) >= 3.2000 && abs(eta) < 3.3000) * (energy >= 1000.0000 && energy < 10000.0000) * (29.061630 + (energy-1000.000000)* -0.001299) + \
+   (abs(eta) >= 3.2000 && abs(eta) < 3.3000) * (energy >= 10000.0000) * (17.370281) + \
+   (abs(eta) >= 3.3000 && abs(eta) < 3.4000) * (energy >= 0.0000 && energy < 1.0000) * (19620.92805924) + \
+   (abs(eta) >= 3.3000 && abs(eta) < 3.4000) * (energy >= 1.0000 && energy < 5.0000) * (19620.928059 + (energy-1.000000)* -3923.948129) + \
+   (abs(eta) >= 3.3000 && abs(eta) < 3.4000) * (energy >= 5.0000 && energy < 10.0000) * (3925.135544 + (energy-5.000000)* -392.224293) + \
+   (abs(eta) >= 3.3000 && abs(eta) < 3.4000) * (energy >= 10.0000 && energy < 100.0000) * (1964.014078 + (energy-10.000000)* -19.563355) + \
+   (abs(eta) >= 3.3000 && abs(eta) < 3.4000) * (energy >= 100.0000 && energy < 1000.0000) * (203.312131 + (energy-100.000000)* -0.188780) + \
+   (abs(eta) >= 3.3000 && abs(eta) < 3.4000) * (energy >= 1000.0000 && energy < 10000.0000) * (33.409819 + (energy-1000.000000)* -0.001617) + \
+   (abs(eta) >= 3.3000 && abs(eta) < 3.4000) * (energy >= 10000.0000) * (18.857362) + \
+   (abs(eta) >= 3.4000 && abs(eta) < 3.5000) * (energy >= 0.0000 && energy < 1.0000) * (25270.24781291) + \
+   (abs(eta) >= 3.4000 && abs(eta) < 3.5000) * (energy >= 1.0000 && energy < 5.0000) * (25270.247813 + (energy-1.000000)* -5053.761411) + \
+   (abs(eta) >= 3.4000 && abs(eta) < 3.5000) * (energy >= 5.0000 && energy < 10.0000) * (5055.202168 + (energy-5.000000)* -505.166302) + \
+   (abs(eta) >= 3.4000 && abs(eta) < 3.5000) * (energy >= 10.0000 && energy < 100.0000) * (2529.370658 + (energy-10.000000)* -25.188477) + \
+   (abs(eta) >= 3.4000 && abs(eta) < 3.5000) * (energy >= 100.0000 && energy < 1000.0000) * (262.407692 + (energy-100.000000)* -0.248474) + \
+   (abs(eta) >= 3.4000 && abs(eta) < 3.5000) * (energy >= 1000.0000 && energy < 10000.0000) * (38.781524 + (energy-1000.000000)* -0.002145) + \
+   (abs(eta) >= 3.4000 && abs(eta) < 3.5000) * (energy >= 10000.0000) * (19.477576) + \
+   (abs(eta) >= 3.5000 && abs(eta) < 3.6000) * (energy >= 0.0000 && energy < 1.0000) * (32542.34236101) + \
+   (abs(eta) >= 3.5000 && abs(eta) < 3.6000) * (energy >= 1.0000 && energy < 5.0000) * (32542.342361 + (energy-1.000000)* -6507.812847) + \
+   (abs(eta) >= 3.5000 && abs(eta) < 3.6000) * (energy >= 5.0000 && energy < 10.0000) * (6511.090973 + (energy-5.000000)* -650.415698) + \
+   (abs(eta) >= 3.5000 && abs(eta) < 3.6000) * (energy >= 10.0000 && energy < 100.0000) * (3259.012482 + (energy-10.000000)* -32.411089) + \
+   (abs(eta) >= 3.5000 && abs(eta) < 3.6000) * (energy >= 100.0000 && energy < 1000.0000) * (342.014488 + (energy-100.000000)* -0.329268) + \
+   (abs(eta) >= 3.5000 && abs(eta) < 3.6000) * (energy >= 1000.0000 && energy < 10000.0000) * (45.672927 + (energy-1000.000000)* -0.002822) + \
+   (abs(eta) >= 3.5000 && abs(eta) < 3.6000) * (energy >= 10000.0000) * (20.276929) + \
+   (abs(eta) >= 3.6000 && abs(eta) < 3.7000) * (energy >= 0.0000 && energy < 1.0000) * (41763.04413413) + \
+   (abs(eta) >= 3.6000 && abs(eta) < 3.7000) * (energy >= 1.0000 && energy < 5.0000) * (41763.044134 + (energy-1.000000)* -8351.645863) + \
+   (abs(eta) >= 3.6000 && abs(eta) < 3.7000) * (energy >= 5.0000 && energy < 10.0000) * (8356.460681 + (energy-5.000000)* -834.703377) + \
+   (abs(eta) >= 3.6000 && abs(eta) < 3.7000) * (energy >= 10.0000 && energy < 100.0000) * (4182.943799 + (energy-10.000000)* -41.606991) + \
+   (abs(eta) >= 3.6000 && abs(eta) < 3.7000) * (energy >= 100.0000 && energy < 1000.0000) * (438.314606 + (energy-100.000000)* -0.425214) + \
+   (abs(eta) >= 3.6000 && abs(eta) < 3.7000) * (energy >= 1000.0000 && energy < 10000.0000) * (55.622453 + (energy-1000.000000)* -0.003819) + \
+   (abs(eta) >= 3.6000 && abs(eta) < 3.7000) * (energy >= 10000.0000) * (21.255679) + \
+   (abs(eta) >= 3.7000 && abs(eta) < 3.8000) * (energy >= 0.0000 && energy < 1.0000) * (54099.15548350) + \
+   (abs(eta) >= 3.7000 && abs(eta) < 3.8000) * (energy >= 1.0000 && energy < 5.0000) * (54099.155484 + (energy-1.000000)* -10818.538529) + \
+   (abs(eta) >= 3.7000 && abs(eta) < 3.8000) * (energy >= 5.0000 && energy < 10.0000) * (10825.001366 + (energy-5.000000)* -1081.289517) + \
+   (abs(eta) >= 3.7000 && abs(eta) < 3.8000) * (energy >= 10.0000 && energy < 100.0000) * (5418.553782 + (energy-10.000000)* -53.934164) + \
+   (abs(eta) >= 3.7000 && abs(eta) < 3.8000) * (energy >= 100.0000 && energy < 1000.0000) * (564.479050 + (energy-100.000000)* -0.549776) + \
+   (abs(eta) >= 3.7000 && abs(eta) < 3.8000) * (energy >= 1000.0000 && energy < 10000.0000) * (69.680377 + (energy-1000.000000)* -0.005249) + \
+   (abs(eta) >= 3.7000 && abs(eta) < 3.8000) * (energy >= 10000.0000) * (22.440044) + \
+   (abs(eta) >= 3.8000 && abs(eta) < 3.9000) * (energy >= 0.0000 && energy < 1.0000) * (69208.65222474) + \
+   (abs(eta) >= 3.8000 && abs(eta) < 3.9000) * (energy >= 1.0000 && energy < 5.0000) * (69208.652225 + (energy-1.000000)* -13839.999900) + \
+   (abs(eta) >= 3.8000 && abs(eta) < 3.9000) * (energy >= 5.0000 && energy < 10.0000) * (13848.652624 + (energy-5.000000)* -1383.292877) + \
+   (abs(eta) >= 3.8000 && abs(eta) < 3.9000) * (energy >= 10.0000 && energy < 100.0000) * (6932.188240 + (energy-10.000000)* -69.029489) + \
+   (abs(eta) >= 3.8000 && abs(eta) < 3.9000) * (energy >= 100.0000 && energy < 1000.0000) * (719.534202 + (energy-100.000000)* -0.702439) + \
+   (abs(eta) >= 3.8000 && abs(eta) < 3.9000) * (energy >= 1000.0000 && energy < 10000.0000) * (87.339543 + (energy-1000.000000)* -0.007046) + \
+   (abs(eta) >= 3.8000 && abs(eta) < 3.9000) * (energy >= 10000.0000) * (23.929431) + \
+   (abs(eta) >= 3.9000 && abs(eta) < 4.0000) * (energy >= 0.0000 && energy < 1.0000) * (81557.01044338) + \
+   (abs(eta) >= 3.9000 && abs(eta) < 4.0000) * (energy >= 1.0000 && energy < 5.0000) * (81557.010443 + (energy-1.000000)* -16296.035791) + \
+   (abs(eta) >= 3.9000 && abs(eta) < 4.0000) * (energy >= 5.0000 && energy < 10.0000) * (16372.867279 + (energy-5.000000)* -1624.202321) + \
+   (abs(eta) >= 3.9000 && abs(eta) < 4.0000) * (energy >= 10.0000 && energy < 100.0000) * (8251.855674 + (energy-10.000000)* -81.499287) + \
+   (abs(eta) >= 3.9000 && abs(eta) < 4.0000) * (energy >= 100.0000 && energy < 1000.0000) * (916.919866 + (energy-100.000000)* -0.856202) + \
+   (abs(eta) >= 3.9000 && abs(eta) < 4.0000) * (energy >= 1000.0000 && energy < 10000.0000) * (146.337624 + (energy-1000.000000)* -0.008345) + \
+   (abs(eta) >= 3.9000 && abs(eta) < 4.0000) * (energy >= 10000.0000) * (71.232675) + \
+   (abs(eta) >= 4.0000 && abs(eta) < 4.1000) * (energy >= 0.0000 && energy < 1.0000) * (77102.52146038) + \
+   (abs(eta) >= 4.0000 && abs(eta) < 4.1000) * (energy >= 1.0000 && energy < 5.0000) * (77102.521460 + (energy-1.000000)* -15367.141178) + \
+   (abs(eta) >= 4.0000 && abs(eta) < 4.1000) * (energy >= 5.0000 && energy < 10.0000) * (15633.956747 + (energy-5.000000)* -1517.955626) + \
+   (abs(eta) >= 4.0000 && abs(eta) < 4.1000) * (energy >= 10.0000 && energy < 100.0000) * (8044.178619 + (energy-10.000000)* -77.308967) + \
+   (abs(eta) >= 4.0000 && abs(eta) < 4.1000) * (energy >= 100.0000 && energy < 1000.0000) * (1086.371546 + (energy-100.000000)* -0.883295) + \
+   (abs(eta) >= 4.0000 && abs(eta) < 4.1000) * (energy >= 1000.0000 && energy < 10000.0000) * (291.406272 + (energy-1000.000000)* -0.007656) + \
+   (abs(eta) >= 4.0000 && abs(eta) < 4.1000) * (energy >= 10000.0000) * (222.502737) + \
+   (abs(eta) >= 4.1000 && abs(eta) < 4.2000) * (energy >= 0.0000 && energy < 1.0000) * (88585.25429475) + \
+   (abs(eta) >= 4.1000 && abs(eta) < 4.2000) * (energy >= 1.0000 && energy < 5.0000) * (88585.254295 + (energy-1.000000)* -17655.739619) + \
+   (abs(eta) >= 4.1000 && abs(eta) < 4.2000) * (energy >= 5.0000 && energy < 10.0000) * (17962.295819 + (energy-5.000000)* -1743.776713) + \
+   (abs(eta) >= 4.1000 && abs(eta) < 4.2000) * (energy >= 10.0000 && energy < 100.0000) * (9243.412255 + (energy-10.000000)* -88.730723) + \
+   (abs(eta) >= 4.1000 && abs(eta) < 4.2000) * (energy >= 100.0000 && energy < 1000.0000) * (1257.647154 + (energy-100.000000)* -1.004977) + \
+   (abs(eta) >= 4.1000 && abs(eta) < 4.2000) * (energy >= 1000.0000 && energy < 10000.0000) * (353.167650 + (energy-1000.000000)* -0.007822) + \
+   (abs(eta) >= 4.1000 && abs(eta) < 4.2000) * (energy >= 10000.0000) * (282.773738) + \
+   (abs(eta) >= 4.2000 && abs(eta) < 4.3000) * (energy >= 0.0000 && energy < 1.0000) * (110613.63484641) + \
+   (abs(eta) >= 4.2000 && abs(eta) < 4.3000) * (energy >= 1.0000 && energy < 5.0000) * (110613.634846 + (energy-1.000000)* -22062.605228) + \
+   (abs(eta) >= 4.2000 && abs(eta) < 4.3000) * (energy >= 5.0000 && energy < 10.0000) * (22363.213934 + (energy-5.000000)* -2184.662312) + \
+   (abs(eta) >= 4.2000 && abs(eta) < 4.3000) * (energy >= 10.0000 && energy < 100.0000) * (11439.902375 + (energy-10.000000)* -110.639848) + \
+   (abs(eta) >= 4.2000 && abs(eta) < 4.3000) * (energy >= 100.0000 && energy < 1000.0000) * (1482.316074 + (energy-100.000000)* -1.208888) + \
+   (abs(eta) >= 4.2000 && abs(eta) < 4.3000) * (energy >= 1000.0000 && energy < 10000.0000) * (394.316485 + (energy-1000.000000)* -0.009108) + \
+   (abs(eta) >= 4.2000 && abs(eta) < 4.3000) * (energy >= 10000.0000) * (312.343003) + \
+   (abs(eta) >= 4.3000 && abs(eta) < 4.4000) * (energy >= 0.0000 && energy < 1.0000) * (138071.04819295) + \
+   (abs(eta) >= 4.3000 && abs(eta) < 4.4000) * (energy >= 1.0000 && energy < 5.0000) * (138071.048193 + (energy-1.000000)* -27504.646647) + \
+   (abs(eta) >= 4.3000 && abs(eta) < 4.4000) * (energy >= 5.0000 && energy < 10.0000) * (28052.461605 + (energy-5.000000)* -2754.035598) + \
+   (abs(eta) >= 4.3000 && abs(eta) < 4.4000) * (energy >= 10.0000 && energy < 100.0000) * (14282.283618 + (energy-10.000000)* -138.992799) + \
+   (abs(eta) >= 4.3000 && abs(eta) < 4.4000) * (energy >= 100.0000 && energy < 1000.0000) * (1772.931666 + (energy-100.000000)* -1.476141) + \
+   (abs(eta) >= 4.3000 && abs(eta) < 4.4000) * (energy >= 1000.0000 && energy < 10000.0000) * (444.405072 + (energy-1000.000000)* -0.010666) + \
+   (abs(eta) >= 4.3000 && abs(eta) < 4.4000) * (energy >= 10000.0000) * (348.406628) + \
+   (abs(eta) >= 4.4000 && abs(eta) < 4.5000) * (energy >= 0.0000 && energy < 1.0000) * (157874.04211488) + \
+   (abs(eta) >= 4.4000 && abs(eta) < 4.5000) * (energy >= 1.0000 && energy < 5.0000) * (157874.042115 + (energy-1.000000)* -30402.070219) + \
+   (abs(eta) >= 4.4000 && abs(eta) < 4.5000) * (energy >= 5.0000 && energy < 10.0000) * (36265.761238 + (energy-5.000000)* -3566.507545) + \
+   (abs(eta) >= 4.4000 && abs(eta) < 4.5000) * (energy >= 10.0000 && energy < 100.0000) * (18433.223512 + (energy-10.000000)* -179.754099) + \
+   (abs(eta) >= 4.4000 && abs(eta) < 4.5000) * (energy >= 100.0000 && energy < 1000.0000) * (2255.354586 + (energy-100.000000)* -1.880609) + \
+   (abs(eta) >= 4.4000 && abs(eta) < 4.5000) * (energy >= 1000.0000 && energy < 10000.0000) * (562.806368 + (energy-1000.000000)* -0.013580) + \
+   (abs(eta) >= 4.4000 && abs(eta) < 4.5000) * (energy >= 10000.0000) * (440.588780) + \
+   (abs(eta) >= 4.5000 && abs(eta) < 4.6000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 4.5000 && abs(eta) < 4.6000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 11489.330529) + \
+   (abs(eta) >= 4.5000 && abs(eta) < 4.6000) * (energy >= 5.0000 && energy < 10.0000) * (45957.322116 + (energy-5.000000)* -4534.106926) + \
+   (abs(eta) >= 4.5000 && abs(eta) < 4.6000) * (energy >= 10.0000 && energy < 100.0000) * (23286.787483 + (energy-10.000000)* -228.066823) + \
+   (abs(eta) >= 4.5000 && abs(eta) < 4.6000) * (energy >= 100.0000 && energy < 1000.0000) * (2760.773407 + (energy-100.000000)* -2.348202) + \
+   (abs(eta) >= 4.5000 && abs(eta) < 4.6000) * (energy >= 1000.0000 && energy < 10000.0000) * (647.391987 + (energy-1000.000000)* -0.016283) + \
+   (abs(eta) >= 4.5000 && abs(eta) < 4.6000) * (energy >= 10000.0000) * (500.842353) + \
+   (abs(eta) >= 4.6000 && abs(eta) < 4.7000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 4.6000 && abs(eta) < 4.7000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 14875.778326) + \
+   (abs(eta) >= 4.6000 && abs(eta) < 4.7000) * (energy >= 5.0000 && energy < 10.0000) * (59503.113305 + (energy-5.000000)* -5839.507106) + \
+   (abs(eta) >= 4.6000 && abs(eta) < 4.7000) * (energy >= 10.0000 && energy < 100.0000) * (30305.577772 + (energy-10.000000)* -294.291438) + \
+   (abs(eta) >= 4.6000 && abs(eta) < 4.7000) * (energy >= 100.0000 && energy < 1000.0000) * (3819.348393 + (energy-100.000000)* -3.273830) + \
+   (abs(eta) >= 4.6000 && abs(eta) < 4.7000) * (energy >= 1000.0000 && energy < 10000.0000) * (872.901089 + (energy-1000.000000)* -0.021826) + \
+   (abs(eta) >= 4.6000 && abs(eta) < 4.7000) * (energy >= 10000.0000) * (676.465005) + \
+   (abs(eta) >= 4.7000 && abs(eta) < 4.8000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 4.7000 && abs(eta) < 4.8000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 18849.673538) + \
+   (abs(eta) >= 4.7000 && abs(eta) < 4.8000) * (energy >= 5.0000 && energy < 10.0000) * (75398.694151 + (energy-5.000000)* -7423.341832) + \
+   (abs(eta) >= 4.7000 && abs(eta) < 4.8000) * (energy >= 10.0000 && energy < 100.0000) * (38281.984990 + (energy-10.000000)* -373.251156) + \
+   (abs(eta) >= 4.7000 && abs(eta) < 4.8000) * (energy >= 100.0000 && energy < 1000.0000) * (4689.380957 + (energy-100.000000)* -4.088013) + \
+   (abs(eta) >= 4.7000 && abs(eta) < 4.8000) * (energy >= 1000.0000 && energy < 10000.0000) * (1010.169469 + (energy-1000.000000)* -0.027253) + \
+   (abs(eta) >= 4.7000 && abs(eta) < 4.8000) * (energy >= 10000.0000) * (764.891831) + \
+   (abs(eta) >= 4.8000 && abs(eta) < 4.9000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 4.8000 && abs(eta) < 4.9000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 24319.309815) + \
+   (abs(eta) >= 4.8000 && abs(eta) < 4.9000) * (energy >= 5.0000 && energy < 10.0000) * (97277.239261 + (energy-5.000000)* -9600.171458) + \
+   (abs(eta) >= 4.8000 && abs(eta) < 4.9000) * (energy >= 10.0000 && energy < 100.0000) * (49276.381973 + (energy-10.000000)* -481.281696) + \
+   (abs(eta) >= 4.8000 && abs(eta) < 4.9000) * (energy >= 100.0000 && energy < 1000.0000) * (5961.029299 + (energy-100.000000)* -5.291478) + \
+   (abs(eta) >= 4.8000 && abs(eta) < 4.9000) * (energy >= 1000.0000 && energy < 10000.0000) * (1198.698978 + (energy-1000.000000)* -0.031788) + \
+   (abs(eta) >= 4.8000 && abs(eta) < 4.9000) * (energy >= 10000.0000) * (912.603080) + \
+   (abs(eta) >= 4.9000 && abs(eta) < 5.0000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 4.9000 && abs(eta) < 5.0000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 30906.956990) + \
+   (abs(eta) >= 4.9000 && abs(eta) < 5.0000) * (energy >= 5.0000 && energy < 10.0000) * (123627.827961 + (energy-5.000000)* -12236.256191) + \
+   (abs(eta) >= 4.9000 && abs(eta) < 5.0000) * (energy >= 10.0000 && energy < 100.0000) * (62446.547005 + (energy-10.000000)* -612.561268) + \
+   (abs(eta) >= 4.9000 && abs(eta) < 5.0000) * (energy >= 100.0000 && energy < 1000.0000) * (7316.032930 + (energy-100.000000)* -6.602503) + \
+   (abs(eta) >= 4.9000 && abs(eta) < 5.0000) * (energy >= 1000.0000 && energy < 10000.0000) * (1373.779843 + (energy-1000.000000)* -0.039727) + \
+   (abs(eta) >= 4.9000 && abs(eta) < 5.0000) * (energy >= 10000.0000) * (1016.237503) + \
+   (abs(eta) >= 5.0000 && abs(eta) < 5.1000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.0000 && abs(eta) < 5.1000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 39895.276953) + \
+   (abs(eta) >= 5.0000 && abs(eta) < 5.1000) * (energy >= 5.0000 && energy < 10.0000) * (159581.107813 + (energy-5.000000)* -15781.828109) + \
+   (abs(eta) >= 5.0000 && abs(eta) < 5.1000) * (energy >= 10.0000 && energy < 100.0000) * (80671.967266 + (energy-10.000000)* -792.236354) + \
+   (abs(eta) >= 5.0000 && abs(eta) < 5.1000) * (energy >= 100.0000 && energy < 1000.0000) * (9370.695434 + (energy-100.000000)* -8.586316) + \
+   (abs(eta) >= 5.0000 && abs(eta) < 5.1000) * (energy >= 1000.0000 && energy < 10000.0000) * (1643.011266 + (energy-1000.000000)* -0.050811) + \
+   (abs(eta) >= 5.0000 && abs(eta) < 5.1000) * (energy >= 10000.0000) * (1185.716236) + \
+   (abs(eta) >= 5.1000 && abs(eta) < 5.2000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.1000 && abs(eta) < 5.2000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 50986.024056) + \
+   (abs(eta) >= 5.1000 && abs(eta) < 5.2000) * (energy >= 5.0000 && energy < 10.0000) * (203944.096225 + (energy-5.000000)* -20214.962341) + \
+   (abs(eta) >= 5.1000 && abs(eta) < 5.2000) * (energy >= 10.0000 && energy < 100.0000) * (102869.284520 + (energy-10.000000)* -1014.142475) + \
+   (abs(eta) >= 5.1000 && abs(eta) < 5.2000) * (energy >= 100.0000 && energy < 1000.0000) * (11596.461797 + (energy-100.000000)* -10.767307) + \
+   (abs(eta) >= 5.1000 && abs(eta) < 5.2000) * (energy >= 1000.0000 && energy < 10000.0000) * (1905.885865 + (energy-1000.000000)* -0.061881) + \
+   (abs(eta) >= 5.1000 && abs(eta) < 5.2000) * (energy >= 10000.0000) * (1348.957332) + \
+   (abs(eta) >= 5.2000 && abs(eta) < 5.3000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.2000 && abs(eta) < 5.3000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 65554.055396) + \
+   (abs(eta) >= 5.2000 && abs(eta) < 5.3000) * (energy >= 5.0000 && energy < 10.0000) * (262216.221584 + (energy-5.000000)* -26009.674402) + \
+   (abs(eta) >= 5.2000 && abs(eta) < 5.3000) * (energy >= 10.0000 && energy < 100.0000) * (132167.849576 + (energy-10.000000)* -1305.776280) + \
+   (abs(eta) >= 5.2000 && abs(eta) < 5.3000) * (energy >= 100.0000 && energy < 1000.0000) * (14647.984339 + (energy-100.000000)* -13.729803) + \
+   (abs(eta) >= 5.2000 && abs(eta) < 5.3000) * (energy >= 1000.0000 && energy < 10000.0000) * (2291.161477 + (energy-1000.000000)* -0.075986) + \
+   (abs(eta) >= 5.2000 && abs(eta) < 5.3000) * (energy >= 10000.0000) * (1607.288925) + \
+   (abs(eta) >= 5.3000 && abs(eta) < 5.4000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.3000 && abs(eta) < 5.4000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 84301.355957) + \
+   (abs(eta) >= 5.3000 && abs(eta) < 5.4000) * (energy >= 5.0000 && energy < 10.0000) * (337205.423829 + (energy-5.000000)* -33491.651714) + \
+   (abs(eta) >= 5.3000 && abs(eta) < 5.4000) * (energy >= 10.0000 && energy < 100.0000) * (169747.165257 + (energy-10.000000)* -1679.823844) + \
+   (abs(eta) >= 5.3000 && abs(eta) < 5.4000) * (energy >= 100.0000 && energy < 1000.0000) * (18563.019315 + (energy-100.000000)* -17.533558) + \
+   (abs(eta) >= 5.3000 && abs(eta) < 5.4000) * (energy >= 1000.0000 && energy < 10000.0000) * (2782.817463 + (energy-1000.000000)* -0.096057) + \
+   (abs(eta) >= 5.3000 && abs(eta) < 5.4000) * (energy >= 10000.0000) * (1918.301420) + \
+   (abs(eta) >= 5.4000 && abs(eta) < 5.5000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.4000 && abs(eta) < 5.5000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 108365.277205) + \
+   (abs(eta) >= 5.4000 && abs(eta) < 5.5000) * (energy >= 5.0000 && energy < 10.0000) * (433461.108820 + (energy-5.000000)* -43109.369643) + \
+   (abs(eta) >= 5.4000 && abs(eta) < 5.5000) * (energy >= 10.0000 && energy < 100.0000) * (217914.260603 + (energy-10.000000)* -2160.488336) + \
+   (abs(eta) >= 5.4000 && abs(eta) < 5.5000) * (energy >= 100.0000 && energy < 1000.0000) * (23470.310361 + (energy-100.000000)* -22.290945) + \
+   (abs(eta) >= 5.4000 && abs(eta) < 5.5000) * (energy >= 1000.0000 && energy < 10000.0000) * (3408.460075 + (energy-1000.000000)* -0.118695) + \
+   (abs(eta) >= 5.4000 && abs(eta) < 5.5000) * (energy >= 10000.0000) * (2340.200752) + \
+   (abs(eta) >= 5.5000 && abs(eta) < 5.6000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.5000 && abs(eta) < 5.6000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 138832.507281) + \
+   (abs(eta) >= 5.5000 && abs(eta) < 5.6000) * (energy >= 5.0000 && energy < 10.0000) * (555330.029122 + (energy-5.000000)* -55291.196642) + \
+   (abs(eta) >= 5.5000 && abs(eta) < 5.6000) * (energy >= 10.0000 && energy < 100.0000) * (278874.045915 + (energy-10.000000)* -2769.903999) + \
+   (abs(eta) >= 5.5000 && abs(eta) < 5.6000) * (energy >= 100.0000 && energy < 1000.0000) * (29582.686015 + (energy-100.000000)* -28.231446) + \
+   (abs(eta) >= 5.5000 && abs(eta) < 5.6000) * (energy >= 1000.0000 && energy < 10000.0000) * (4174.384846 + (energy-1000.000000)* -0.149756) + \
+   (abs(eta) >= 5.5000 && abs(eta) < 5.6000) * (energy >= 10000.0000) * (2826.582028) + \
+   (abs(eta) >= 5.6000 && abs(eta) < 5.7000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.6000 && abs(eta) < 5.7000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 178352.575876) + \
+   (abs(eta) >= 5.6000 && abs(eta) < 5.7000) * (energy >= 5.0000 && energy < 10.0000) * (713410.303504 + (energy-5.000000)* -71094.533887) + \
+   (abs(eta) >= 5.6000 && abs(eta) < 5.7000) * (energy >= 10.0000 && energy < 100.0000) * (357937.634071 + (energy-10.000000)* -3561.406007) + \
+   (abs(eta) >= 5.6000 && abs(eta) < 5.7000) * (energy >= 100.0000 && energy < 1000.0000) * (37411.093452 + (energy-100.000000)* -35.750970) + \
+   (abs(eta) >= 5.6000 && abs(eta) < 5.7000) * (energy >= 1000.0000 && energy < 10000.0000) * (5235.220031 + (energy-1000.000000)* -0.184979) + \
+   (abs(eta) >= 5.6000 && abs(eta) < 5.7000) * (energy >= 10000.0000) * (3570.408799) + \
+   (abs(eta) >= 5.7000 && abs(eta) < 5.8000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.7000 && abs(eta) < 5.8000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 215383.390193) + \
+   (abs(eta) >= 5.7000 && abs(eta) < 5.8000) * (energy >= 5.0000 && energy < 10.0000) * (861533.560774 + (energy-5.000000)* -80048.732146) + \
+   (abs(eta) >= 5.7000 && abs(eta) < 5.8000) * (energy >= 10.0000 && energy < 100.0000) * (461289.900045 + (energy-10.000000)* -4598.582165) + \
+   (abs(eta) >= 5.7000 && abs(eta) < 5.8000) * (energy >= 100.0000 && energy < 1000.0000) * (47417.505222 + (energy-100.000000)* -45.286012) + \
+   (abs(eta) >= 5.7000 && abs(eta) < 5.8000) * (energy >= 1000.0000 && energy < 10000.0000) * (6660.094065 + (energy-1000.000000)* -0.224233) + \
+   (abs(eta) >= 5.7000 && abs(eta) < 5.8000) * (energy >= 10000.0000) * (4641.995913) + \
+   (abs(eta) >= 5.8000 && abs(eta) < 5.9000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.8000 && abs(eta) < 5.9000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 0.000000) + \
+   (abs(eta) >= 5.8000 && abs(eta) < 5.9000) * (energy >= 5.0000 && energy < 10.0000) * (0.000000 + (energy-5.000000)* 118140.359963) + \
+   (abs(eta) >= 5.8000 && abs(eta) < 5.9000) * (energy >= 10.0000 && energy < 100.0000) * (590701.799815 + (energy-10.000000)* -5897.674753) + \
+   (abs(eta) >= 5.8000 && abs(eta) < 5.9000) * (energy >= 100.0000 && energy < 1000.0000) * (59911.072056 + (energy-100.000000)* -56.595448) + \
+   (abs(eta) >= 5.8000 && abs(eta) < 5.9000) * (energy >= 1000.0000 && energy < 10000.0000) * (8975.168576 + (energy-1000.000000)* -0.255121) + \
+   (abs(eta) >= 5.8000 && abs(eta) < 5.9000) * (energy >= 10000.0000) * (6679.080517) + \
+   (abs(eta) >= 5.9000 && abs(eta) < 6.0000) * (energy >= 0.0000 && energy < 1.0000) * (0.00000000) + \
+   (abs(eta) >= 5.9000 && abs(eta) < 6.0000) * (energy >= 1.0000 && energy < 5.0000) * (0.000000 + (energy-1.000000)* 0.000000) + \
+   (abs(eta) >= 5.9000 && abs(eta) < 6.0000) * (energy >= 5.0000 && energy < 10.0000) * (0.000000 + (energy-5.000000)* 154116.579830) + \
+   (abs(eta) >= 5.9000 && abs(eta) < 6.0000) * (energy >= 10.0000 && energy < 100.0000) * (770582.899149 + (energy-10.000000)* -7680.437305) + \
+   (abs(eta) >= 5.9000 && abs(eta) < 6.0000) * (energy >= 100.0000 && energy < 1000.0000) * (79343.541683 + (energy-100.000000)* -69.232398) + \
+   (abs(eta) >= 5.9000 && abs(eta) < 6.0000) * (energy >= 1000.0000 && energy < 10000.0000) * (17034.383167 + (energy-1000.000000)* -0.263351) + \
+   (abs(eta) >= 5.9000 && abs(eta) < 6.0000) * (energy >= 10000.0000) * (14664.221985))
+}
Index: cards/delphes_card_ATLAS_PileUp.tcl
===================================================================
--- cards/delphes_card_ATLAS_PileUp.tcl	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ cards/delphes_card_ATLAS_PileUp.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -334,5 +334,5 @@
   # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
   # Z vertex resolution in m
-  set ZVertexResolution 0.0001
+  set ZVertexResolution {0.0001}
 }
 
Index: cards/delphes_card_CMS_PileUp.tcl
===================================================================
--- cards/delphes_card_CMS_PileUp.tcl	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ cards/delphes_card_CMS_PileUp.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -464,5 +464,5 @@
   # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution
   # Z vertex resolution in m
-  set ZVertexResolution 0.0001
+  set ZVertexResolution {0.0001}
 }
 
Index: classes/DelphesClasses.cc
===================================================================
--- classes/DelphesClasses.cc	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ classes/DelphesClasses.cc	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -254,4 +254,5 @@
   object.Mass = Mass;
   object.IsPU = IsPU;
+  object.IsRecoPU = IsRecoPU;
   object.IsConstituent = IsConstituent;
   object.IsFromConversion = IsFromConversion;
@@ -380,4 +381,5 @@
   Mass = 0.0;
   IsPU = 0;
+  IsRecoPU = 0;
   IsConstituent = 0;
   IsFromConversion = 0;
Index: display/CMakeLists.txt
===================================================================
--- display/CMakeLists.txt	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ display/CMakeLists.txt	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -13,4 +13,7 @@
 add_library(display OBJECT ${sources} DisplayDict.cxx)
 
+# install headers
+install(FILES ${headers} DESTINATION include/display)
+
 # install pcms if they are created
 if (NOT ${ROOT_VERSION} VERSION_LESS "6.0.0")
Index: display/DelphesBranchElement.cc
===================================================================
--- display/DelphesBranchElement.cc	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ display/DelphesBranchElement.cc	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -87,18 +87,29 @@
     }
   } else if(TString(GetType())=="MissingET") {
-    TIter itMet(branch_);
+    // MissingET as invisible track (like a photon)
     MissingET *MET;
-    TEveArrow *eveMet;
-    // Missing Et
-    while((MET = (MissingET*) itMet.Next())) {
-      eveMet = new TEveArrow((tkRadius_ * MET->MET/maxPt_)*cos(MET->Phi), (tkRadius_ * MET->MET/maxPt_)*sin(MET->Phi), 0., 0., 0., 0.);
-      eveMet->SetMainColor(GetColor());
-      eveMet->SetTubeR(0.04);
-      eveMet->SetConeR(0.08);
-      eveMet->SetConeL(0.10);
-      eveMet->SetPickable(kTRUE);
+    TEveTrack *eveMet;
+    TEveTrackPropagator *trkProp = new TEveTrackPropagator();
+    trkProp->SetMagField(0., 0., -tk_Bz_);
+    trkProp->SetMaxR(tkRadius_);
+    trkProp->SetMaxZ(tkHalfLength_);
+    if(branch_->GetEntriesFast() > 0) {
+      MET = (MissingET*) branch_->At(0);
+      TParticle pb(13, 1, 0, 0, 0, 0,
+                   (tkRadius_ * MET->MET/maxPt_)*cos(MET->Phi),
+                   (tkRadius_ * MET->MET/maxPt_)*sin(MET->Phi),
+                   0., MET->MET, 0.0, 0.0, 0.0, 0.0);
+      eveMet = new TEveTrack(&pb, 0, trkProp);
       eveMet->SetName("Missing Et");
-      eveMet->SetTitle(Form("Missing Et (%.1f GeV)",MET->MET));
+      eveMet->SetStdTitle();
+      eveMet->SetRnrPoints(0);
+      eveMet->SetMarkerColor(kMagenta);
+      eveMet->SetMarkerStyle(4);
+      eveMet->SetMarkerSize(2.);
+      eveMet->SetLineWidth(2.);
+      eveMet->SetLineStyle(7);
       data_->AddElement(eveMet);
+      eveMet->SetLineColor(GetColor());
+      eveMet->MakeTrack();
     }
   }
Index: display/DelphesBranchElement.h
===================================================================
--- display/DelphesBranchElement.h	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ display/DelphesBranchElement.h	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -34,5 +34,5 @@
 {
   public:
-    DelphesBranchBase(const char* name="", TClonesArray* branch=NULL, const enum EColor color=kBlack, Float_t maxPt=50.):name_(name),branch_(branch),color_(color) {}
+    DelphesBranchBase(const char* name="", TClonesArray* branch=NULL, const enum EColor color=kBlack, Float_t maxPt=50.):name_(name),maxPt_(maxPt),branch_(branch),color_(color) {}
     virtual ~DelphesBranchBase() {}
     const char* GetName() const { return (const char*)name_; }
Index: doc/delphes_diagram.svg
===================================================================
--- doc/delphes_diagram.svg	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ doc/delphes_diagram.svg	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -10,11 +10,11 @@
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="800"
-   height="970"
+   width="820"
+   height="1000"
    id="svg2"
    version="1.1"
-   inkscape:version="0.48.2 r9819"
-   sodipodi:docname="delphes_diagram.svg"
-   inkscape:export-filename="Z:\ModularDelphes\new\doc\delphes_diagram.png"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="delphes_diagram.pdf"
+   inkscape:export-filename="Z:\Delphes\delphes-master\doc\delphes_diagram.png"
    inkscape:export-xdpi="300"
    inkscape:export-ydpi="300">
@@ -1108,4 +1108,116 @@
       <path
          id="path3929-92"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend-174094"
+       style="overflow:visible">
+      <path
+         id="path3929-88"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend-27"
+       style="overflow:visible">
+      <path
+         id="path3929-95"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4786"
+       style="overflow:visible">
+      <path
+         id="path4788"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4790"
+       style="overflow:visible">
+      <path
+         id="path4792"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend-319"
+       style="overflow:visible">
+      <path
+         id="path3929-865"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend-16"
+       style="overflow:visible">
+      <path
+         id="path3929-57"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend-41"
+       style="overflow:visible">
+      <path
+         id="path3929-20"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend-146"
+       style="overflow:visible">
+      <path
+         id="path3929-07"
          d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
          style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
@@ -1122,12 +1234,12 @@
      inkscape:pageshadow="2"
      inkscape:zoom="0.6"
-     inkscape:cx="460.16032"
-     inkscape:cy="490.77986"
+     inkscape:cx="904.26757"
+     inkscape:cy="595.09763"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:snap-global="true"
-     inkscape:window-width="1291"
-     inkscape:window-height="746"
+     inkscape:window-width="1845"
+     inkscape:window-height="1058"
      inkscape:window-x="-8"
      inkscape:window-y="-8"
@@ -1153,5 +1265,5 @@
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
+        <dc:title></dc:title>
       </cc:Work>
     </rdf:RDF>
@@ -1161,16 +1273,16 @@
      inkscape:groupmode="layer"
      id="layer1"
-     transform="translate(0,-82.36217)">
+     transform="translate(0,-52.36217)">
     <rect
        style="opacity:0.75;fill:#c5e0dc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
        id="rect3903"
        width="620"
-       height="570"
+       height="600"
        x="160"
-       y="212.36217"
-       ry="52.534546" />
+       y="182.36217"
+       ry="55.299522" />
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
-       d="m 470,182.36213 1.5e-4,26.78318"
+       d="m 470,152.36213 1.5e-4,26.78318"
        id="path3915"
        inkscape:connector-curvature="0"
@@ -1178,5 +1290,5 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       d="m 400,152.36217 0,30"
+       d="m 470,122.36221 0,30"
        id="path4731"
        inkscape:connector-curvature="0"
@@ -1184,5 +1296,5 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       d="m 540,152.36217 0,30"
+       d="m 610,122.36221 0,30"
        id="path4733"
        inkscape:connector-curvature="0"
@@ -1190,14 +1302,13 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
-       d="m 120,387.36218 37.00007,2e-5"
+       d="m 120,357.36218 37.00007,2e-5"
        id="path4735"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cc" />
     <g
-       id="g5462"
-       transform="translate(10,-49.999997)">
-      <path
-         transform="matrix(1.25,0,0,1.5000001,278.75,178.81885)"
-         d="m 185,72.362183 c 0,5.522847 -17.90861,10 -40,10 -22.09139,0 -40,-4.477153 -40,-10 0,-5.522848 17.90861,-10 40,-10 22.09139,0 40,4.477152 40,10 z"
+       id="g5099">
+      <path
+         transform="matrix(1.25,0,0,1.5000001,288.75,98.81885)"
+         d="m 185,72.362183 a 40,10 0 1 1 -80,0 40,10 0 1 1 80,0 z"
          sodipodi:ry="10"
          sodipodi:rx="40"
@@ -1210,20 +1321,20 @@
          sodipodi:linespacing="125%"
          id="text5342"
-         y="292.16681"
-         x="459.76563"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="292.16681"
-           x="459.76563"
+         y="212.36217"
+         x="470"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="212.36217"
+           x="470"
            id="tspan5344"
            sodipodi:role="line">reader</tspan></text>
     </g>
     <g
-       id="g4712">
+       id="g5239">
       <rect
          ry="14.999993"
-         y="422.36218"
-         x="300"
+         y="442.5575"
+         x="300.00977"
          height="29.999987"
          width="100"
@@ -1233,20 +1344,19 @@
          sodipodi:linespacing="125%"
          id="text5342-2"
-         y="442.16687"
-         x="349.99023"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="442.16687"
-           x="349.99023"
+         y="462.36218"
+         x="350"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="462.36218"
+           x="350"
            id="tspan5344-2"
            sodipodi:role="line">electrons</tspan></text>
     </g>
     <g
-       id="g4630"
-       transform="translate(0,-19.999998)">
+       id="g5075">
       <rect
          ry="14.999993"
-         y="392.36218"
+         y="342.36218"
          x="180"
          height="29.999987"
@@ -1257,19 +1367,19 @@
          sodipodi:linespacing="125%"
          id="text5342-2-89"
-         y="412.16687"
-         x="470.1416"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="412.16687"
-           x="470.1416"
+         y="362.36218"
+         x="470"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="362.36218"
+           x="470"
            id="tspan5344-2-2"
            sodipodi:role="line">propagated stable particles</tspan></text>
     </g>
     <g
-       id="g4720">
+       id="g5231">
       <rect
          ry="14.999993"
-         y="422.36218"
+         y="442.36218"
          x="180"
          height="29.999987"
@@ -1280,6 +1390,6 @@
          sodipodi:linespacing="125%"
          id="text5342-2-4"
-         y="442.16687"
-         x="230.09277"
+         y="462.36218"
+         x="230"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
@@ -1287,38 +1397,13 @@
            id="tspan5449"
            style="font-size:20px;text-align:center;text-anchor:middle"
-           x="230.09277"
-           y="442.16687">muons</tspan></text>
-    </g>
-    <g
-       id="g5613"
-       transform="translate(0,2.5416016e-6)">
+           x="230"
+           y="462.36218">muons</tspan></text>
+    </g>
+    <g
+       id="g5255">
       <rect
          ry="0"
-         y="472.36218"
+         y="492.36218"
          x="210"
-         height="29.999987"
-         width="40"
-         id="rect8357"
-         style="opacity:0.75;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:3.79999995;stroke-opacity:1;stroke-dasharray:none" />
-      <text
-         sodipodi:linespacing="125%"
-         id="text8359"
-         y="492.78503"
-         x="229.70703"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="492.78503"
-           x="229.70703"
-           id="tspan8365"
-           sodipodi:role="line">Îµ, Ï</tspan></text>
-    </g>
-    <g
-       id="g5325"
-       transform="translate(10,4.5416016e-6)">
-      <rect
-         ry="0"
-         y="472.36218"
-         x="320"
          height="29.999987"
          width="40"
@@ -1328,17 +1413,17 @@
          sodipodi:linespacing="125%"
          id="text8359-6"
-         y="492.78503"
-         x="339.73633"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="492.78503"
-           x="339.73633"
+         y="512.36218"
+         x="230"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="512.36218"
+           x="230"
            id="tspan8365-5"
-           sodipodi:role="line">Îµ, Ï</tspan></text>
+           sodipodi:role="line">Îµ</tspan></text>
     </g>
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 230,452.36217 -7e-5,16.99998"
+       d="m 230,522.36217 -7e-5,16.99998"
        id="path8425"
        inkscape:connector-curvature="0"
@@ -1346,37 +1431,8 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 350,452.36217 0,17"
+       d="m 350,522.36217 0,17"
        id="path8433"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cc" />
-    <g
-       id="g4563"
-       transform="translate(0.3515625,-29.804698)">
-      <rect
-         ry="0"
-         y="452.36218"
-         x="450"
-         height="49.999989"
-         width="280"
-         id="rect5351-2"
-         style="opacity:0.75;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-      <text
-         sodipodi:linespacing="100%"
-         id="text5342-2-86"
-         y="472.16687"
-         x="589.64844"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="472.16687"
-           x="589.64844"
-           id="tspan5344-2-0"
-           sodipodi:role="line">calorimeter</tspan><tspan
-           id="tspan3282"
-           style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="492.16687"
-           x="589.64844"
-           sodipodi:role="line">and energy flow</tspan></text>
-    </g>
     <path
        style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
@@ -1386,10 +1442,9 @@
        sodipodi:nodetypes="cc" />
     <g
-       id="g5446"
-       transform="translate(10,2.6416014e-6)">
+       id="g5367">
       <rect
          ry="0"
          y="742.36218"
-         x="200"
+         x="210"
          height="29.999987"
          width="400"
@@ -1399,16 +1454,16 @@
          sodipodi:linespacing="125%"
          id="text5342-2-86-3-3"
-         y="762.21082"
-         x="399.81445"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="762.21082"
-           x="399.81445"
+         y="762.36218"
+         x="410"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="762.36218"
+           x="410"
            id="tspan5344-2-0-8-5"
            sodipodi:role="line">unique object finder</tspan></text>
     </g>
     <g
-       id="g4560">
+       id="g5413">
       <rect
          ry="14.999993"
@@ -1422,16 +1477,16 @@
          sodipodi:linespacing="125%"
          id="text5342-2-1"
-         y="852.16687"
-         x="349.99023"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="852.16687"
-           x="349.99023"
+         y="852.36218"
+         x="350"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="852.36218"
+           x="350"
            id="tspan5344-2-8"
            sodipodi:role="line">electrons</tspan></text>
     </g>
     <g
-       id="g4555">
+       id="g5421">
       <rect
          ry="14.999993"
@@ -1445,16 +1500,16 @@
          sodipodi:linespacing="125%"
          id="text5342-2-1-3"
-         y="822.24988"
-         x="470.1416"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="822.24988"
-           x="470.1416"
+         y="822.36218"
+         x="470"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="822.36218"
+           x="470"
            id="tspan5344-2-8-8"
            sodipodi:role="line">photons</tspan></text>
     </g>
     <g
-       id="g4550">
+       id="g5429">
       <rect
          ry="14.999993"
@@ -1468,16 +1523,16 @@
          sodipodi:linespacing="125%"
          id="text5342-2-1-3-2"
-         y="852.16687"
-         x="590.47363"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="852.16687"
-           x="590.47363"
+         y="852.36218"
+         x="590"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="852.36218"
+           x="590"
            id="tspan5344-2-8-8-5"
            sodipodi:role="line">jets</tspan></text>
     </g>
     <g
-       id="g4565">
+       id="g5408">
       <rect
          ry="14.999993"
@@ -1491,16 +1546,16 @@
          sodipodi:linespacing="125%"
          id="text5342-2-1-3-2-4"
-         y="822.16687"
-         x="230.09277"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="822.16687"
-           x="230.09277"
+         y="822.36218"
+         x="230"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="822.36218"
+           x="230"
            id="tspan5344-2-8-8-5-7"
            sodipodi:role="line">muons</tspan></text>
     </g>
     <g
-       id="g4600">
+       id="g5447">
       <rect
          ry="14.999993"
@@ -1515,10 +1570,10 @@
          id="text5342-2-1-3-2-5-1"
          y="824.02722"
-         x="709.76074"
+         x="710"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            style="font-size:20px;text-align:center;text-anchor:middle"
            y="824.02722"
-           x="709.76074"
+           x="710"
            id="tspan5344-2-8-8-5-1-6"
            sodipodi:role="line">MET</tspan></text>
@@ -1567,10 +1622,9 @@
        sodipodi:nodetypes="cc" />
     <g
-       id="g5486"
-       transform="translate(10,-49.999997)">
+       id="g5120">
       <rect
          ry="16.666658"
-         y="152.36217"
-         x="620"
+         y="72.362206"
+         x="700"
          height="49.999996"
          width="100"
@@ -1580,21 +1634,20 @@
          sodipodi:linespacing="125%"
          id="text3776-4-5"
-         y="181.84459"
-         x="669.73633"
+         y="102.36217"
+         x="750"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            id="tspan3780-9-1"
            style="font-size:20px;text-align:center;text-anchor:middle"
-           y="181.84459"
-           x="669.73633"
+           y="102.36217"
+           x="750"
            sodipodi:role="line">LHEF</tspan></text>
     </g>
     <g
-       id="g5470"
-       transform="translate(10,-49.999997)">
+       id="g5104">
       <rect
          ry="16.666658"
-         y="152.36218"
-         x="340"
+         y="72.362221"
+         x="420"
          height="49.999996"
          width="100"
@@ -1604,21 +1657,20 @@
          sodipodi:linespacing="125%"
          id="text3776-8"
-         y="182.00574"
-         x="389.94629"
+         y="102.36217"
+         x="470"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            id="tspan3780-4"
            style="font-size:20px;text-align:center;text-anchor:middle"
-           y="182.00574"
-           x="389.94629"
-           sodipodi:role="line">HepMC</tspan></text>
-    </g>
-    <g
-       id="g5478"
-       transform="translate(10,-49.999997)">
+           y="102.36217"
+           x="470"
+           sodipodi:role="line">Pythia8</tspan></text>
+    </g>
+    <g
+       id="g5112">
       <rect
          ry="16.666637"
-         y="152.36217"
-         x="480"
+         y="72.362206"
+         x="560"
          height="49.999935"
          width="100"
@@ -1628,21 +1680,20 @@
          sodipodi:linespacing="125%"
          id="text3776-4"
-         y="181.92268"
-         x="529.94629"
+         y="102.36217"
+         x="610"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            id="tspan3780-9"
            style="font-size:20px;text-align:center;text-anchor:middle"
-           y="181.92268"
-           x="529.94629"
+           y="102.36217"
+           x="610"
            sodipodi:role="line">ProMC</tspan></text>
     </g>
     <g
-       id="g5430"
-       transform="translate(10,2.6416014e-6)">
+       id="g5319">
       <rect
          ry="0"
          y="592.36218"
-         x="540"
+         x="550"
          height="29.999987"
          width="80"
@@ -1652,34 +1703,34 @@
          sodipodi:linespacing="125%"
          id="text5342-2-86-3-5"
-         y="612.11316"
-         x="579.34082"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="612.11316"
-           x="579.34082"
+         y="612.36218"
+         x="590"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="612.36218"
+           x="590"
            id="tspan5344-2-0-8-2"
            sodipodi:role="line">FastJet</tspan></text>
     </g>
     <g
-       id="g4613">
+       id="g5083">
       <rect
          ry="0"
-         y="322.36218"
+         y="292.36218"
          x="380"
          height="29.999987"
          width="180"
          id="rect5351-2-16"
-         style="opacity:0.75000000000000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+         style="opacity:0.75;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
       <text
          sodipodi:linespacing="125%"
          id="text5342-2-86-8"
-         y="342.16687"
-         x="469.81445"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="342.16687"
-           x="469.81445"
+         y="312.36218"
+         x="470"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="312.36218"
+           x="470"
            id="tspan5344-2-0-5"
            sodipodi:role="line">particle propagator</tspan></text>
@@ -1687,34 +1738,28 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 350,402.36217 0,17"
-       id="path8427-41"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 470,302.36213 0,17"
+       d="m 470,272.36213 0,17"
        id="path8427-3-4"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cc" />
     <g
-       id="g4608">
+       id="g5091">
       <rect
          ry="0"
-         y="272.36215"
+         y="242.36215"
          x="380"
          height="30.000027"
          width="180"
          id="rect5351-2-16-7"
-         style="opacity:0.75000000000000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+         style="opacity:0.75;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
       <text
          sodipodi:linespacing="125%"
          id="text5342-2-86-8-9"
-         y="292.16684"
-         x="469.81445"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="292.16684"
-           x="469.81445"
+         y="262.36218"
+         x="470"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="262.36218"
+           x="470"
            id="tspan5344-2-0-5-3"
            sodipodi:role="line">pile-up merger</tspan></text>
@@ -1722,5 +1767,5 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 470,252.36213 0,17"
+       d="m 470,222.36213 0,17"
        id="path8427-3-4-5"
        inkscape:connector-curvature="0"
@@ -1728,15 +1773,14 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
-       d="m 120,287.36217 37.00014,7e-5"
+       d="m 120,257.36217 37.00014,7e-5"
        id="path4735-8"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cc" />
     <g
-       id="g5377"
-       transform="translate(-17.03125,-48.603599)">
+       id="g5212">
       <rect
          ry="16.666664"
-         y="310.96576"
-         x="37.03125"
+         y="232.36215"
+         x="20"
          height="50.000011"
          width="100"
@@ -1746,21 +1790,21 @@
          sodipodi:linespacing="100%"
          id="text3776-4-1-2"
-         y="330.77045"
-         x="86.953125"
+         y="252.36217"
+         x="70"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            id="tspan5371"
            style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="330.77045"
-           x="86.953125"
+           y="252.36217"
+           x="70"
            sodipodi:role="line">Pile-up</tspan><tspan
            id="tspan5375"
            style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="350.77045"
-           x="86.953125"
+           y="272.36218"
+           x="70"
            sodipodi:role="line">file</tspan></text>
     </g>
     <g
-       id="g5575">
+       id="g5452">
       <rect
          ry="16.666672"
@@ -1775,5 +1819,5 @@
          id="text3776-4-1-6"
          y="934.02716"
-         x="469.74121"
+         x="470"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
@@ -1781,9 +1825,9 @@
            style="font-size:20px;text-align:center;text-anchor:middle"
            y="934.02716"
-           x="469.74121"
+           x="470"
            sodipodi:role="line">ROOT</tspan></text>
     </g>
     <g
-       id="g5584">
+       id="g5461">
       <rect
          ry="16.666672"
@@ -1797,21 +1841,21 @@
          sodipodi:linespacing="100%"
          id="text3776-4-1-6-0"
-         y="1002.1668"
-         x="330.46875"
+         y="1002.3622"
+         x="330"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            id="tspan3895-4-9"
            style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="1002.1668"
-           x="330.46875"
+           y="1002.3622"
+           x="330"
            sodipodi:role="line">Analysis</tspan><tspan
            style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="1022.1668"
-           x="330.46875"
+           y="1022.3622"
+           x="330"
            sodipodi:role="line"
            id="tspan3344">macros</tspan></text>
     </g>
     <g
-       id="g5603">
+       id="g5480">
       <g
          style="stroke:#000000;stroke-width:1.09544563;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
@@ -1830,21 +1874,21 @@
          sodipodi:linespacing="100%"
          id="text3776-4-1-6-0-8"
-         y="1002.1669"
-         x="609.47754"
+         y="1002.3622"
+         x="610"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            id="tspan3895-4-9-2"
            style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="1002.1669"
-           x="609.47754"
+           y="1002.3622"
+           x="610"
            sodipodi:role="line">Event</tspan><tspan
            style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="1022.1669"
-           x="609.47754"
+           y="1022.3622"
+           x="610"
            sodipodi:role="line"
            id="tspan3326">display</tspan></text>
     </g>
     <g
-       id="g5593">
+       id="g5470">
       <rect
          ry="16.666672"
@@ -1893,10 +1937,9 @@
        sodipodi:nodetypes="cc" />
     <g
-       id="g5438"
-       transform="translate(10,2.6416014e-6)">
+       id="g5327">
       <rect
          ry="0"
          y="592.36218"
-         x="660"
+         x="670"
          height="29.999987"
          width="80"
@@ -1906,11 +1949,11 @@
          sodipodi:linespacing="125%"
          id="text5342-2-86-3-5-4"
-         y="612.16687"
-         x="699.76563"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="612.16687"
-           x="699.76563"
+         y="612.36218"
+         x="710"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="612.36218"
+           x="710"
            id="tspan5344-2-0-8-2-8"
            sodipodi:role="line">merger</tspan></text>
@@ -1923,5 +1966,5 @@
        sodipodi:nodetypes="cc" />
     <g
-       transform="matrix(0.04006914,0,0,0.04006914,686.71468,266.79929)"
+       transform="matrix(0.04006914,0,0,0.04006914,686.71468,236.79929)"
        id="g3941">
       <g
@@ -2136,10 +2179,9 @@
     </g>
     <g
-       id="g5309"
-       transform="translate(10,2.6416014e-6)">
+       id="g5303">
       <rect
          ry="0"
          y="542.3623"
-         x="200"
+         x="210"
          height="29.999865"
          width="400"
@@ -2149,11 +2191,11 @@
          sodipodi:linespacing="125%"
          id="text5342-2-86-8-0"
-         y="562.24994"
-         x="400.1416"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="562.24994"
-           x="400.1416"
+         y="562.36218"
+         x="410"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="562.36218"
+           x="410"
            id="tspan5344-2-0-5-9"
            sodipodi:role="line">pile-up subtractors</tspan></text>
@@ -2161,15 +2203,14 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
-       d="m 590,522.36217 -7e-5,16.99998"
+       d="m 590,472.36217 -7e-5,66.99998"
        id="path8427-0-7-2-4"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cc" />
     <g
-       id="g5502"
-       transform="translate(10,2.6416014e-6)">
+       id="g5351">
       <rect
          ry="0"
          y="692.36218"
-         x="520"
+         x="530"
          height="29.999987"
          width="120"
@@ -2179,21 +2220,20 @@
          sodipodi:linespacing="125%"
          id="text5342-2-86-3-5-6"
-         y="712.16687"
-         x="527.25586"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px"
-           y="712.16687"
-           x="527.25586"
+         y="712.36218"
+         x="590"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="712.36218"
+           x="590"
            id="tspan4565"
            sodipodi:role="line">b-, Ï-tagging</tspan></text>
     </g>
     <g
-       id="g5494"
-       transform="translate(10,2.6416014e-6)">
+       id="g5346">
       <rect
          ry="0"
          y="642.36218"
-         x="520"
+         x="530"
          height="29.999987"
          width="120"
@@ -2203,11 +2243,11 @@
          sodipodi:linespacing="125%"
          id="text5342-2-86-3-5-6-3"
-         y="662.16687"
-         x="579.90234"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="662.16687"
-           x="579.90234"
+         y="662.36218"
+         x="590"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="662.36218"
+           x="590"
            id="tspan5344-2-0-8-2-1-1"
            sodipodi:role="line">energy scale</tspan></text>
@@ -2215,5 +2255,5 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 230,402.36217 0,17"
+       d="m 230,372.36217 0,17"
        id="path8427-41-1"
        inkscape:connector-curvature="0"
@@ -2227,9 +2267,9 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-       d="m 260,152.36213 0,30 420,0 0,-30"
+       d="m 190,122.36217 0,30 560,0 0,-30"
        id="path4506"
        inkscape:connector-curvature="0" />
     <g
-       id="g5567">
+       id="g5359">
       <rect
          ry="0"
@@ -2244,44 +2284,12 @@
          id="text5342-2-86-8-0-4"
          y="612.36218"
-         x="349.95117"
+         x="350"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            style="font-size:20px;text-align:center;text-anchor:middle"
            y="612.36218"
-           x="349.95117"
+           x="350"
            id="tspan5344-2-0-5-9-0"
            sodipodi:role="line">isolation</tspan></text>
-    </g>
-    <g
-       id="g5158"
-       transform="translate(40,-69.999913)">
-      <g
-         id="g5359">
-        <rect
-           style="opacity:0.75;fill:#f1d4af;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="rect3763-1-74"
-           width="100"
-           height="49.99992"
-           x="170"
-           y="172.36217"
-           ry="16.666634" />
-        <text
-           xml:space="preserve"
-           style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:110.00000238%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-           x="219.86328"
-           y="192.2254"
-           id="text3776-8-0"
-           sodipodi:linespacing="110%"><tspan
-             sodipodi:role="line"
-             x="219.86328"
-             y="192.2254"
-             style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-             id="tspan3780-4-9">StdHEP</tspan><tspan
-             sodipodi:role="line"
-             x="219.86328"
-             y="212.2254"
-             style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-             id="tspan4613">(XDR)</tspan></text>
-      </g>
     </g>
     <path
@@ -2347,14 +2355,13 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
-       d="m 710,522.36217 -7e-5,66.99998"
+       d="m 710,472.36217 -7e-5,116.99998"
        id="path8427-0-7-2-4-8"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cc" />
     <g
-       id="g5421"
-       transform="translate(0,-49.999994)">
+       id="g5222">
       <rect
          ry="16.666664"
-         y="412.36215"
+         y="332.36215"
          x="20"
          height="50.000011"
@@ -2365,34 +2372,22 @@
          sodipodi:linespacing="100%"
          id="text3776-4-1-2-0"
-         y="432.16684"
-         x="69.506836"
+         y="352.36218"
+         x="70"
          style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
          xml:space="preserve"><tspan
            id="tspan5371-2"
            style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="432.16684"
-           x="69.506836"
+           y="352.36218"
+           x="70"
            sodipodi:role="line">Config</tspan><tspan
            id="tspan5375-8"
            style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
-           y="452.16684"
-           x="69.506836"
+           y="372.36218"
+           x="70"
            sodipodi:role="line">file</tspan></text>
     </g>
     <path
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
-       d="m 230,502.36217 -7e-5,36.99998"
-       id="path8425-8"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
-       d="m 350,502.36217 0,37"
-       id="path8433-8"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 470,352.36217 0,17"
+       d="m 470,322.36217 0,17"
        id="path8427-3-4-1"
        inkscape:connector-curvature="0"
@@ -2400,13 +2395,13 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 590,402.36217 0,17"
+       d="m 590,372.36217 0,17"
        id="path8427-41-8"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cc" />
     <g
-       id="g4704">
+       id="g5043">
       <rect
          ry="14.999993"
-         y="493.14392"
+         y="443.14392"
          x="420.00879"
          height="29.999987"
@@ -2417,19 +2412,19 @@
          sodipodi:linespacing="125%"
          id="text5342-2-5"
-         y="512.94861"
-         x="470.15039"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="512.94861"
-           x="470.15039"
+         y="462.36218"
+         x="470"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="462.36218"
+           x="470"
            id="tspan5344-2-5"
            sodipodi:role="line">photons</tspan></text>
     </g>
     <g
-       id="g4650">
+       id="g5051">
       <rect
          ry="14.999993"
-         y="493.14392"
+         y="443.14392"
          x="540.00879"
          height="29.999987"
@@ -2440,11 +2435,11 @@
          sodipodi:linespacing="125%"
          id="text5342-2-5-1"
-         y="512.94861"
-         x="650.32178"
-         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
-         xml:space="preserve"><tspan
-           style="font-size:20px;text-align:center;text-anchor:middle"
-           y="512.94861"
-           x="650.32178"
+         y="462.36218"
+         x="650"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="462.36218"
+           x="650"
            id="tspan5344-2-5-1"
            sodipodi:role="line">towers and tracks</tspan></text>
@@ -2452,5 +2447,5 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 470,472.36217 0,17"
+       d="m 470,422.36217 0,17"
        id="path8427-41-8-2"
        inkscape:connector-curvature="0"
@@ -2458,5 +2453,5 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 590,472.36217 0,17"
+       d="m 590,422.36217 0,17"
        id="path8427-41-8-7"
        inkscape:connector-curvature="0"
@@ -2464,8 +2459,207 @@
     <path
        style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
-       d="m 710,472.36217 0,17"
+       d="m 710,422.36217 0,17"
        id="path8427-41-8-79"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 350,422.36217 0,17"
+       id="path8427-41-8-2-2"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 230,472.36217 -7e-5,16.99998"
+       id="path8425-43"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 350,472.36217 0,17"
+       id="path8433-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+       d="m 470,472.36217 -7e-5,16.99998"
+       id="path8427-2-2"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g5067">
+      <rect
+         ry="0"
+         y="392.3623"
+         x="330"
+         height="29.999865"
+         width="400"
+         id="rect5351-2-16-74-8"
+         style="opacity:0.75;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text5342-2-86"
+         y="412.36218"
+         x="530"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           id="tspan3282"
+           style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
+           y="412.36218"
+           x="530"
+           sodipodi:role="line">calorimeter and energy flow</tspan></text>
+    </g>
+    <g
+       id="g5247">
+      <rect
+         ry="0"
+         y="392.36218"
+         x="210"
+         height="29.999987"
+         width="40"
+         id="rect8357-7"
+         style="opacity:0.75;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:3.79999995;stroke-opacity:1;stroke-dasharray:none" />
+      <text
+         sodipodi:linespacing="125%"
+         id="text8359-7"
+         y="412.36218"
+         x="230"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="412.36218"
+           x="230"
+           id="tspan8365-9"
+           sodipodi:role="line">Ï</tspan></text>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 230,422.36217 0,17"
+       id="path8427-41-8-2-2-0"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g5152">
+      <rect
+         ry="16.666658"
+         y="72.362213"
+         x="280"
+         height="49.999996"
+         width="100"
+         id="rect3763-1-8"
+         style="opacity:0.75;fill:#f1d4af;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <text
+         sodipodi:linespacing="125%"
+         id="text3776-8-6"
+         y="102.36217"
+         x="330"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           id="tspan3780-4-0"
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="102.36217"
+           x="330"
+           sodipodi:role="line">HepMC</tspan></text>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 330,122.36221 0,30"
+       id="path4731-2"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 350,372.36217 0,17"
+       id="path8427-41-8-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 470,372.36217 0,17"
+       id="path8427-41-8-0"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 710,372.36217 0,17"
+       id="path8427-41-8-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g5198">
+      <rect
+         ry="16.666658"
+         y="72.362175"
+         x="140"
+         height="49.999996"
+         width="100"
+         id="rect3763-1-8-7"
+         style="opacity:0.75;fill:#f1d4af;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3776-8-6-7"
+         y="92.362167"
+         x="190"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           id="tspan3780-4-0-7"
+           style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
+           y="92.362167"
+           x="190"
+           sodipodi:role="line">StdHEP</tspan><tspan
+           id="tspan5196"
+           style="font-size:20px;text-align:center;line-height:100%;text-anchor:middle"
+           y="112.36217"
+           x="190"
+           sodipodi:role="line">(XDR)</tspan></text>
+    </g>
+    <g
+       transform="translate(120,7.3425304e-7)"
+       id="g5255-3">
+      <rect
+         ry="0"
+         y="492.36218"
+         x="210"
+         height="29.999987"
+         width="40"
+         id="rect8357-8-3"
+         style="opacity:0.75;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:3.79999995;stroke-opacity:1;stroke-dasharray:none" />
+      <text
+         sodipodi:linespacing="125%"
+         id="text8359-6-5"
+         y="512.36218"
+         x="230"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="512.36218"
+           x="230"
+           id="tspan8365-5-9"
+           sodipodi:role="line">Îµ</tspan></text>
+    </g>
+    <g
+       transform="translate(240,7.3425304e-7)"
+       id="g5255-9">
+      <rect
+         ry="0"
+         y="492.36218"
+         x="210"
+         height="29.999987"
+         width="40"
+         id="rect8357-8-8"
+         style="opacity:0.75;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:3.79999995;stroke-opacity:1;stroke-dasharray:none" />
+      <text
+         sodipodi:linespacing="125%"
+         id="text8359-6-1"
+         y="512.36218"
+         x="230"
+         style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Cambria;-inkscape-font-specification:Cambria"
+         xml:space="preserve"><tspan
+           style="font-size:20px;text-align:center;text-anchor:middle"
+           y="512.36218"
+           x="230"
+           id="tspan8365-5-8"
+           sodipodi:role="line">Îµ</tspan></text>
+    </g>
   </g>
 </svg>
Index: doc/genMakefile.tcl
===================================================================
--- doc/genMakefile.tcl	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ doc/genMakefile.tcl	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -210,5 +210,5 @@
 CXXFLAGS += $(ROOTCFLAGS) -Wno-write-strings -D_FILE_OFFSET_BITS=64 -DDROP_CGAL -I. -Iexternal -Iexternal/tcl
 DELPHES_LIBS = $(shell $(RC) --libs) -lEG $(SYSLIBS)
-DISPLAY_LIBS = $(shell $(RC) --evelibs) -lGuiHtml  $(SYSLIBS)
+DISPLAY_LIBS = $(shell $(RC) --evelibs) -lGuiHtml $(SYSLIBS)
 
 ifneq ($(CMSSW_FWLITE_INCLUDE_PATH),)
@@ -235,5 +235,5 @@
 CXXFLAGS += -I$(PYTHIA8)/include
 CXXFLAGS += -I$(PYTHIA8)/include/Pythia8
-OPT_LIBS += -L$(PYTHIA8)/lib -lpythia8 -ldl
+OPT_LIBS += -L$(PYTHIA8)/lib -lpythia8 -ldl -lz
 endif
 endif
Index: examples/CaloGrid.cpp
===================================================================
--- examples/CaloGrid.cpp	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ examples/CaloGrid.cpp	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -11,5 +11,5 @@
 #include "display/Delphes3DGeometry.h"
 #include "classes/DelphesClasses.h"
-#include "external/ExRootAnalysis/ExRootConfReader.h"
+#include "ExRootAnalysis/ExRootConfReader.h"
 
 #include "TCanvas.h"
Index: examples/EventDisplay.C
===================================================================
--- examples/EventDisplay.C	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ examples/EventDisplay.C	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -16,5 +16,5 @@
                   const char *TrackingEfficiency = "ChargedHadronTrackingEfficiency",
                   const char *MuonEfficiency = "MuonEfficiency",
-                  const char *Calorimeters = "Calorimeter",
+                  const char *Calorimeters = "HCal",
                   bool displayGeometryOnly = false)
 {
Index: examples/Validation.cpp
===================================================================
--- examples/Validation.cpp	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ examples/Validation.cpp	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -1456,9 +1456,12 @@
   TLegend *leg_trkpi_eff_eta = (TLegend*)leg_trkpi_res_eta->Clone();
 
-
-  TGraphErrors gr_trkpi_res_pt[n_etabins], gr_trkpi_eff_pt[n_etabins], gr_trkpi_res_eta[n_ptbins], gr_trkpi_eff_eta[n_ptbins];
+  TGraphErrors *gr_trkpi_res_pt  = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_trkpi_eff_pt  = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_trkpi_res_eta = new TGraphErrors[n_ptbins];
+  TGraphErrors *gr_trkpi_eff_eta = new TGraphErrors[n_ptbins];
   TH1D* h_trkpi_eff_pt, *h_trkpi_eff_eta;
 
-  std::vector<resolPlot> plots_trkpi_res_pt[n_etabins], plots_trkpi_res_eta[n_ptbins];
+  std::vector<resolPlot> *plots_trkpi_res_pt   = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_trkpi_res_eta  = new std::vector<resolPlot>[n_ptbins];
 
   // loop over eta bins
@@ -1559,8 +1562,13 @@
   TLegend *leg_trkele_eff_eta = (TLegend*)leg_trkele_res_eta->Clone();
 
-  TGraphErrors gr_trkele_res_pt[n_etabins], gr_trkele_eff_pt[n_etabins], gr_trkele_res_eta[n_ptbins], gr_trkele_eff_eta[n_ptbins];
+  TGraphErrors *gr_trkele_res_pt  = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_trkele_eff_pt  = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_trkele_res_eta = new TGraphErrors[n_ptbins];
+  TGraphErrors *gr_trkele_eff_eta = new TGraphErrors[n_ptbins];
+
   TH1D* h_trkele_eff_pt, *h_trkele_eff_eta;
 
-  std::vector<resolPlot> plots_trkele_res_pt[n_etabins], plots_trkele_res_eta[n_ptbins];
+  std::vector<resolPlot> *plots_trkele_res_pt   = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_trkele_res_eta  = new std::vector<resolPlot>[n_ptbins];
 
   // loop over eta bins
@@ -1663,8 +1671,13 @@
 
 
-  TGraphErrors gr_trkmu_res_pt[n_etabins], gr_trkmu_eff_pt[n_etabins], gr_trkmu_res_eta[n_ptbins], gr_trkmu_eff_eta[n_ptbins];
+  TGraphErrors *gr_trkmu_res_pt  = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_trkmu_eff_pt  = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_trkmu_res_eta = new TGraphErrors[n_ptbins];
+  TGraphErrors *gr_trkmu_eff_eta = new TGraphErrors[n_ptbins];
+
   TH1D* h_trkmu_eff_pt, *h_trkmu_eff_eta;
 
-  std::vector<resolPlot> plots_trkmu_res_pt[n_etabins], plots_trkmu_res_eta[n_ptbins];
+  std::vector<resolPlot> *plots_trkmu_res_pt   = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_trkmu_res_eta  = new std::vector<resolPlot>[n_ptbins];
 
   // loop over eta bins
@@ -1764,7 +1777,9 @@
   TLegend *leg_ecal_res_eta = new TLegend(0.60,0.59,0.95,0.90);
 
-  TGraphErrors gr_ecal_res_e[n_etabins], gr_ecal_res_eta[n_ptbins];
-
-  std::vector<resolPlot> plots_ecal_res_e[n_etabins], plots_ecal_res_eta[n_ptbins];
+  TGraphErrors *gr_ecal_res_e    = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_ecal_res_eta  = new TGraphErrors[n_ptbins];
+
+  std::vector<resolPlot> *plots_ecal_res_e   = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_ecal_res_eta = new std::vector<resolPlot>[n_ptbins];
 
   // loop over eta bins
@@ -1833,7 +1848,9 @@
   TLegend *leg_hcal_res_eta = new TLegend(0.60,0.59,0.95,0.90);
 
-  TGraphErrors gr_hcal_res_e[n_etabins], gr_hcal_res_eta[n_ptbins];
-
-  std::vector<resolPlot> plots_hcal_res_e[n_etabins], plots_hcal_res_eta[n_ptbins];
+  TGraphErrors *gr_hcal_res_e   = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_hcal_res_eta = new TGraphErrors[n_ptbins];
+
+  std::vector<resolPlot> *plots_hcal_res_e   = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_hcal_res_eta = new std::vector<resolPlot>[n_ptbins];
 
   // loop over eta bins
@@ -1903,12 +1920,13 @@
   TLegend *leg_pfele_res_eta[n_ptbins];
 
-  TGraphErrors gr_pfele_res_e[n_etabins];
-  TGraphErrors gr_pfele_res_eta[n_ptbins];
-
-  TGraphErrors gr_trkele_res_e[n_etabins];
-  TGraphErrors gr_trkele_res_eeta[n_ptbins];
-
-  std::vector<resolPlot> plots_pfele_res_e[n_etabins], plots_pfele_res_eta[n_ptbins];
-  std::vector<resolPlot> plots_trkele_res_e[n_etabins], plots_trkele_res_eeta[n_ptbins];
+  TGraphErrors *gr_pfele_res_e = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_pfele_res_eta = new TGraphErrors[n_ptbins];
+  TGraphErrors *gr_trkele_res_e = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_trkele_res_eeta = new TGraphErrors[n_ptbins];
+
+  std::vector<resolPlot> *plots_pfele_res_e     = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_pfele_res_eta   = new std::vector<resolPlot>[n_ptbins];
+  std::vector<resolPlot> *plots_trkele_res_e    = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_trkele_res_eeta = new std::vector<resolPlot>[n_ptbins];
 
   TCanvas *c_pfele_res_e[n_etabins];
@@ -2010,12 +2028,14 @@
   TLegend *leg_pfpi_res_eta[n_ptbins];
 
-  TGraphErrors gr_pfpi_res_e[n_etabins];
-  TGraphErrors gr_pfpi_res_eta[n_ptbins];
-
-  TGraphErrors gr_trkpi_res_e[n_etabins];
-  TGraphErrors gr_trkpi_res_eeta[n_ptbins];
-
-  std::vector<resolPlot> plots_pfpi_res_e[n_etabins], plots_pfpi_res_eta[n_ptbins];
-  std::vector<resolPlot> plots_trkpi_res_e[n_etabins], plots_trkpi_res_eeta[n_ptbins];
+  TGraphErrors *gr_pfpi_res_e     = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_pfpi_res_eta   = new TGraphErrors[n_ptbins];
+
+  TGraphErrors *gr_trkpi_res_e    = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_trkpi_res_eeta = new TGraphErrors[n_ptbins];
+
+  std::vector<resolPlot> *plots_pfpi_res_e     = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_pfpi_res_eta   = new std::vector<resolPlot>[n_ptbins];
+  std::vector<resolPlot> *plots_trkpi_res_e    = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_trkpi_res_eeta = new std::vector<resolPlot>[n_ptbins];
 
   TCanvas *c_pfpi_res_e[n_etabins];
@@ -2119,12 +2139,14 @@
   TLegend *leg_pfjet_res_eta[n_ptbins];
 
-  TGraphErrors gr_pfjet_res_e[n_etabins];
-  TGraphErrors gr_pfjet_res_eta[n_ptbins];
-
-  TGraphErrors gr_cajet_res_e[n_etabins];
-  TGraphErrors gr_cajet_res_eta[n_ptbins];
-
-  std::vector<resolPlot> plots_pfjet_res_e[n_etabins], plots_pfjet_res_eta[n_ptbins];
-  std::vector<resolPlot> plots_cajet_res_e[n_etabins], plots_cajet_res_eta[n_ptbins];
+  TGraphErrors *gr_pfjet_res_e   = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_pfjet_res_eta = new TGraphErrors[n_ptbins];
+
+  TGraphErrors *gr_cajet_res_e   = new TGraphErrors[n_etabins];
+  TGraphErrors *gr_cajet_res_eta = new TGraphErrors[n_ptbins];
+
+  std::vector<resolPlot> *plots_pfjet_res_e   = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_pfjet_res_eta = new std::vector<resolPlot>[n_ptbins];
+  std::vector<resolPlot> *plots_cajet_res_e   = new std::vector<resolPlot>[n_etabins];
+  std::vector<resolPlot> *plots_cajet_res_eta = new std::vector<resolPlot>[n_ptbins];
 
   TCanvas *c_pfjet_res_e[n_etabins];
@@ -2260,5 +2282,6 @@
     TLegend *leg_recele_eff_eta = new TLegend(0.55,0.22,0.90,0.48);
 
-    TGraphErrors gr_recele_eff_pt[n_etabins], gr_recele_eff_eta[n_ptbins];
+    TGraphErrors *gr_recele_eff_pt  = new TGraphErrors[n_etabins];
+    TGraphErrors *gr_recele_eff_eta = new TGraphErrors[n_ptbins];
     TH1D* h_recele_eff_pt, *h_recele_eff_eta;
 
@@ -2325,5 +2348,6 @@
     TLegend *leg_recmu_eff_eta = new TLegend(0.55,0.22,0.90,0.48);
 
-    TGraphErrors gr_recmu_eff_pt[n_etabins], gr_recmu_eff_eta[n_ptbins];
+    TGraphErrors *gr_recmu_eff_pt  = new TGraphErrors[n_etabins];
+    TGraphErrors *gr_recmu_eff_eta = new TGraphErrors[n_ptbins];
     TH1D* h_recmu_eff_pt, *h_recmu_eff_eta;
 
@@ -2390,5 +2414,6 @@
     TLegend *leg_recpho_eff_eta = new TLegend(0.55,0.22,0.90,0.48);
 
-    TGraphErrors gr_recpho_eff_pt[n_etabins], gr_recpho_eff_eta[n_ptbins];
+    TGraphErrors *gr_recpho_eff_pt  = new TGraphErrors[n_etabins];
+    TGraphErrors *gr_recpho_eff_eta = new TGraphErrors[n_ptbins];
     TH1D* h_recpho_eff_pt, *h_recpho_eff_eta;
 
@@ -2455,5 +2480,6 @@
     TLegend *leg_recbjet_eff_eta = new TLegend(0.50,0.22,0.90,0.48);
 
-    TGraphErrors gr_recbjet_eff_pt[n_etabins], gr_recbjet_eff_eta[n_ptbins];
+    TGraphErrors *gr_recbjet_eff_pt  = new TGraphErrors[n_etabins];
+    TGraphErrors *gr_recbjet_eff_eta = new TGraphErrors[n_ptbins];
     TH1D* h_recbjet_eff_pt, *h_recbjet_eff_eta;
 
@@ -2517,5 +2543,6 @@
     TLegend *leg_recbjet_cmis_eta = new TLegend(0.50,0.64,0.90,0.90);
 
-    TGraphErrors gr_recbjet_cmis_pt[n_etabins], gr_recbjet_cmis_eta[n_ptbins];
+    TGraphErrors *gr_recbjet_cmis_pt  = new TGraphErrors[n_etabins];
+    TGraphErrors *gr_recbjet_cmis_eta = new TGraphErrors[n_ptbins];
     TH1D* h_recbjet_cmis_pt, *h_recbjet_cmis_eta;
 
@@ -2579,5 +2606,6 @@
     TLegend *leg_recbjet_lmis_eta = new TLegend(0.50,0.64,0.90,0.90);
 
-    TGraphErrors gr_recbjet_lmis_pt[n_etabins], gr_recbjet_lmis_eta[n_ptbins];
+    TGraphErrors *gr_recbjet_lmis_pt  = new TGraphErrors[n_etabins];
+    TGraphErrors *gr_recbjet_lmis_eta = new TGraphErrors[n_ptbins];
     TH1D* h_recbjet_lmis_pt, *h_recbjet_lmis_eta;
 
@@ -2644,5 +2672,6 @@
     TLegend *leg_rectaujet_eff_eta = new TLegend(0.50,0.22,0.90,0.48);
 
-    TGraphErrors gr_rectaujet_eff_pt[n_etabins], gr_rectaujet_eff_eta[n_ptbins];
+    TGraphErrors *gr_rectaujet_eff_pt  = new TGraphErrors[n_etabins];
+    TGraphErrors *gr_rectaujet_eff_eta = new TGraphErrors[n_ptbins];
     TH1D* h_rectaujet_eff_pt, *h_rectaujet_eff_eta;
 
@@ -2708,5 +2737,6 @@
     TLegend *leg_rectaujet_mis_eta = new TLegend(0.50,0.64,0.90,0.90);
 
-    TGraphErrors gr_rectaujet_mis_pt[n_etabins], gr_rectaujet_mis_eta[n_ptbins];
+    TGraphErrors *gr_rectaujet_mis_pt  = new TGraphErrors[n_etabins];
+    TGraphErrors *gr_rectaujet_mis_eta = new TGraphErrors[n_ptbins];
     TH1D* h_rectaujet_mis_pt, *h_rectaujet_mis_eta;
 
Index: external/ExRootAnalysis/CMakeLists.txt
===================================================================
--- external/ExRootAnalysis/CMakeLists.txt	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ external/ExRootAnalysis/CMakeLists.txt	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -12,10 +12,6 @@
 add_library(ExRootAnalysis OBJECT ${sources} ExRootAnalysisDict.cxx)
 
-# install headers needed by public Delphes headers to include/
-install(FILES ExRootTask.h ExRootConfReader.h ExRootTreeWriter.h ExRootTreeBranch.h
-        DESTINATION include/ExRootAnalysis)
-
-# install all LinkDef files into the same folder to ease user environment
-install(FILES ExRootAnalysisLinkDef.h DESTINATION include)
+# install headers
+install(FILES ${headers} DESTINATION include/ExRootAnalysis)
 
 # install pcms if they are created
Index: modules/CMakeLists.txt
===================================================================
--- modules/CMakeLists.txt	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ modules/CMakeLists.txt	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -19,8 +19,6 @@
 add_library(modules OBJECT ${sources} FastJetDict.cxx ModulesDict.cxx)
 
-# install public headers
-install(FILES Delphes.h
-        DESTINATION include/modules
-)
+# install headers
+install(FILES ${headers} DESTINATION include/modules)
 
 # install pcms if they are created
Index: modules/RunPUPPI.cc
===================================================================
--- modules/RunPUPPI.cc	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ modules/RunPUPPI.cc	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -166,5 +166,4 @@
   Candidate *pv = static_cast<Candidate*>(fPVItInputArray->Next());
   if (pv) PVZ = pv->Position.Z();
-
   // Fill input particles for puppi
   std::vector<RecoObj> puppiInputVector;
@@ -179,6 +178,5 @@
       curRecoObj.phi = momentum.Phi();
       curRecoObj.m   = momentum.M();  
-      particle = static_cast<Candidate*>(candidate->GetCandidates()->Last());
-      //if(fApplyNoLep && TMath::Abs(candidate->PID) == 11) continue; //Dumb cut to minimize the nolepton on electron
+      particle = static_cast<Candidate*>(candidate->GetCandidates()->At(0));//if(fApplyNoLep && TMath::Abs(candidate->PID) == 11) continue; //Dumb cut to minimize the nolepton on electron
       //if(fApplyNoLep && TMath::Abs(candidate->PID) == 13) continue;
       if (candidate->IsRecoPU and candidate->Charge !=0) { // if it comes fromPU vertexes after the resolution smearing and the dZ matching within resolution
@@ -192,5 +190,5 @@
         curRecoObj.dZ = particle->Position.Z()-PVZ;
       } 
-      else if(!candidate->IsRecoPU and candidate->Charge !=0) {
+      else if(!candidate->IsRecoPU && candidate->Charge !=0) {
 	curRecoObj.id    = 1;  // charge from LV
         curRecoObj.vtxId = 1; // from PV
@@ -219,6 +217,5 @@
       curRecoObj.m   = momentum.M();
       curRecoObj.charge = 0;
-      particle = static_cast<Candidate*>(candidate->GetCandidates()->Last());
-
+      particle = static_cast<Candidate*>(candidate->GetCandidates()->At(0));
       if(candidate->Charge == 0){
 	curRecoObj.id    = 0; // neutrals have id==0
Index: modules/TrackPileUpSubtractor.cc
===================================================================
--- modules/TrackPileUpSubtractor.cc	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ modules/TrackPileUpSubtractor.cc	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -53,6 +53,8 @@
 //------------------------------------------------------------------------------
 
-TrackPileUpSubtractor::TrackPileUpSubtractor()
+TrackPileUpSubtractor::TrackPileUpSubtractor() :
+fFormula(0) 
 {
+  fFormula = new DelphesFormula;
 }
 
@@ -61,4 +63,5 @@
 TrackPileUpSubtractor::~TrackPileUpSubtractor()
 {
+  if(fFormula) delete fFormula;
 }
 
@@ -72,5 +75,6 @@
   fItVertexInputArray = fVertexInputArray->MakeIterator();
 
-  fZVertexResolution  = GetDouble("ZVertexResolution", 0.005)*1.0E3;
+  // read resolution formula in m
+  fFormula->Compile(GetString("ZVertexResolution", "0.001"));
 
   fPTMin = GetDouble("PTMin", 0.);
@@ -119,4 +123,5 @@
   TObjArray *array;
   Double_t z, zvtx=0;
+  Double_t pt, eta, phi, e;
 
 
@@ -144,4 +149,11 @@
     {
       particle = static_cast<Candidate*>(candidate->GetCandidates()->At(0));
+      const TLorentzVector &candidateMomentum = particle->Momentum;
+
+      eta = candidateMomentum.Eta();
+      pt = candidateMomentum.Pt();
+      phi = candidateMomentum.Phi();
+      e = candidateMomentum.E();
+      
       z = particle->Position.Z();
 
@@ -149,5 +161,5 @@
       // assume perfect pile-up subtraction for tracks outside fZVertexResolution
 
-      if(candidate->IsPU && TMath::Abs(z-zvtx) > fZVertexResolution)
+      if(candidate->Charge !=0 && TMath::Abs(z-zvtx) > fFormula->Eval(pt, eta, phi, e)* 1.0e3)
       {
         candidate->IsRecoPU = 1;
@@ -161,4 +173,2 @@
   }
 }
-
-//------------------------------------------------------------------------------
Index: modules/TrackPileUpSubtractor.h
===================================================================
--- modules/TrackPileUpSubtractor.h	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ modules/TrackPileUpSubtractor.h	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -34,4 +34,5 @@
 class TIterator;
 class TObjArray;
+class DelphesFormula;
 
 class TrackPileUpSubtractor: public DelphesModule
@@ -48,5 +49,5 @@
 private:
 
-  Double_t fZVertexResolution;
+  DelphesFormula *fFormula; //!
 
   Double_t fPTMin;
Index: readers/DelphesLHEF.cpp
===================================================================
--- readers/DelphesLHEF.cpp	(revision 82cf9c4144a2086e48447137eed678e636a00f35)
+++ readers/DelphesLHEF.cpp	(revision f0fd18a3edd611423e3c194102dc411219d37c70)
@@ -103,5 +103,5 @@
 
     branchEvent = treeWriter->NewBranch("Event", LHEFEvent::Class());
-    branchWeight = treeWriter->NewBranch("Weight", Weight::Class());
+    branchWeight = treeWriter->NewBranch("Weight", LHEFWeight::Class());
 
     confReader = new ExRootConfReader;
