diff --git a/Tests/Makefile.am b/Tests/Makefile.am
--- a/Tests/Makefile.am
+++ b/Tests/Makefile.am
@@ -1,365 +1,365 @@
 AUTOMAKE_OPTIONS = -Wno-portability
 AM_LDFLAGS += -module -avoid-version -rpath /dummy/path/not/used
 
 EXTRA_DIST = Inputs python Rivet 
 
 dist-hook:
 	rm -rf $(distdir)/Inputs/.svn
 	rm -rf $(distdir)/python/.svn
 	rm -rf $(distdir)/Rivet/.svn
 
 EXTRA_LTLIBRARIES = LeptonTest.la GammaTest.la HadronTest.la DISTest.la
 
 if WANT_LIBFASTJET
 EXTRA_LTLIBRARIES += HadronJetTest.la LeptonJetTest.la
 HadronJetTest_la_SOURCES = \
 Hadron/VHTest.h Hadron/VHTest.cc\
 Hadron/VTest.h Hadron/VTest.cc\
 Hadron/HTest.h Hadron/HTest.cc
 HadronJetTest_la_CPPFLAGS = $(AM_CPPFLAGS) $(FASTJETINCLUDE) \
 -I$(FASTJETPATH)
 HadronJetTest_la_LIBADD = $(FASTJETLIBS) 
 LeptonJetTest_la_SOURCES = \
 Lepton/TopDecay.h Lepton/TopDecay.cc
 LeptonJetTest_la_CPPFLAGS = $(AM_CPPFLAGS) $(FASTJETINCLUDE) \
 -I$(FASTJETPATH)
 LeptonJetTest_la_LIBADD = $(FASTJETLIBS) 
 endif
 
 LeptonTest_la_SOURCES = \
 Lepton/VVTest.h Lepton/VVTest.cc \
 Lepton/VBFTest.h Lepton/VBFTest.cc \
 Lepton/VHTest.h Lepton/VHTest.cc \
 Lepton/FermionTest.h Lepton/FermionTest.cc
 
 GammaTest_la_SOURCES = \
 Gamma/GammaMETest.h  Gamma/GammaMETest.cc \
 Gamma/GammaPMETest.h Gamma/GammaPMETest.cc
 
 DISTest_la_SOURCES = \
 DIS/DISTest.h  DIS/DISTest.cc
 
 HadronTest_la_SOURCES = \
 Hadron/HadronVVTest.h  Hadron/HadronVVTest.cc\
 Hadron/HadronVBFTest.h  Hadron/HadronVBFTest.cc\
 Hadron/WHTest.h  Hadron/WHTest.cc\
 Hadron/ZHTest.h  Hadron/ZHTest.cc\
 Hadron/VGammaTest.h  Hadron/VGammaTest.cc\
 Hadron/ZJetTest.h  Hadron/ZJetTest.cc\
 Hadron/WJetTest.h  Hadron/WJetTest.cc\
 Hadron/QQHTest.h  Hadron/QQHTest.cc
 
 
 REPO = $(top_builddir)/src/HerwigDefaults.rpo
 HERWIG = $(top_builddir)/src/Herwig
 HWREAD = $(HERWIG) read --repo $(REPO) -L $(builddir)/.libs -i $(top_builddir)/src
 HWRUN = $(HERWIG) run
 
 tests : tests-LEP tests-DIS tests-LHC tests-Gamma
 
 if WANT_LIBFASTJET
 tests-LEP : test-LEP-VV test-LEP-VH test-LEP-VBF test-LEP-BB test-LEP-Quarks test-LEP-Leptons \
             test-LEP-default test-LEP-Powheg test-LEP-TopDecay
 else
 tests-LEP : test-LEP-VV test-LEP-VH test-LEP-VBF test-LEP-BB test-LEP-Quarks test-LEP-Leptons
 endif
 
 tests-DIS : test-DIS-Charged test-DIS-Neutral
 
 if WANT_LIBFASTJET
 tests-LHC : test-LHC-WW test-LHC-WZ test-LHC-ZZ test-LHC-ZGamma test-LHC-WGamma \
 	    test-LHC-ZH test-LHC-WH test-LHC-ZJet test-LHC-WJet test-LHC-Z test-LHC-W test-LHC-ZZVBF test-LHC-VBF \
 	    test-LHC-WWVBF test-LHC-bbH test-LHC-ttH test-LHC-GammaGamma test-LHC-GammaJet test-LHC-Higgs \
 	    test-LHC-HiggsJet test-LHC-QCDFast test-LHC-QCD test-LHC-Top test-LHC-Bottom \
             test-LHC-WHJet test-LHC-ZHJet test-LHC-HJet test-LHC-ZShower test-LHC-WShower\
             test-LHC-WHJet-Powheg test-LHC-ZHJet-Powheg test-LHC-HJet-Powheg \
             test-LHC-ZShower-Powheg test-LHC-WShower-Powheg
 else
 tests-LHC : test-LHC-WW test-LHC-WZ test-LHC-ZZ test-LHC-ZGamma test-LHC-WGamma \
 	    test-LHC-ZH test-LHC-WH test-LHC-ZJet test-LHC-WJet test-LHC-Z test-LHC-W test-LHC-ZZVBF test-LHC-VBF \
 	    test-LHC-WWVBF test-LHC-bbH test-LHC-ttH test-LHC-GammaGamma test-LHC-GammaJet test-LHC-Higgs \
 	    test-LHC-HiggsJet test-LHC-QCDFast test-LHC-QCD test-LHC-Top
 endif
 
 tests-Gamma : test-Gamma-FF test-Gamma-WW test-Gamma-P
 
 if WANT_LIBFASTJET 
 test-LEP-% : Inputs/LEP-%.in LeptonTest.la LeptonJetTest.la
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 else
 test-LEP-% : Inputs/LEP-%.in LeptonTest.la
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 endif
 
 Rivet-LHC-Matchbox-% : Rivet/LHC-Matchbox-%.in
 	if [ ! -d Rivet-$(notdir $(subst .in,,$<))  ]; then mkdir Rivet-$(notdir $(subst .in,,$<)); fi;
 	cd Rivet-$(notdir $(subst .in,,$<)); echo `pwd`; \
 	../$(HERWIG) read --repo ../$(REPO) -L ../$(top_builddir)/lib -i ../$(top_builddir)/src ../$<; \
 	../$(HERWIG) run $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}; \
 	mv $(notdir $(subst .in,.yoda,$<)) ..; \
 	cd ..
 
 Rivet-TVT-Matchbox-% : Rivet/TVT-Matchbox-%.in
 	if [ ! -d Rivet-$(notdir $(subst .in,,$<))  ]; then mkdir Rivet-$(notdir $(subst .in,,$<)); fi;
 	cd Rivet-$(notdir $(subst .in,,$<)); echo `pwd`; \
 	../$(HERWIG) read --repo ../$(REPO) -L ../$(top_builddir)/lib -i ../$(top_builddir)/src ../$<; \
 	../$(HERWIG) run $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}; \
 	mv $(notdir $(subst .in,.yoda,$<)) ..; \
 	cd ..
 
 Rivet-TVT-Dipole-% : Rivet/TVT-Dipole-%.in
 	if [ ! -d Rivet-$(notdir $(subst .in,,$<))  ]; then mkdir Rivet-$(notdir $(subst .in,,$<)); fi;
 	cd Rivet-$(notdir $(subst .in,,$<)); echo `pwd`; \
 	../$(HERWIG) read --repo ../$(REPO) -L ../$(top_builddir)/lib -i ../$(top_builddir)/src ../$<; \
 	../$(HERWIG) run $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}; \
 	mv $(notdir $(subst .in,.yoda,$<)) ..; \
 	cd ..
 
 Rivet-LHC-Dipole-% : Rivet/LHC-Dipole-%.in
 	if [ ! -d Rivet-$(notdir $(subst .in,,$<))  ]; then mkdir Rivet-$(notdir $(subst .in,,$<)); fi;
 	cd Rivet-$(notdir $(subst .in,,$<)); echo `pwd`; \
 	../$(HERWIG) read --repo ../$(REPO) -L ../$(top_builddir)/lib -i ../$(top_builddir)/src ../$<; \
 	../$(HERWIG) run $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}; \
 	mv $(notdir $(subst .in,.yoda,$<)) ..; \
 	cd ..
 
 Rivet/LEP-%.in :
 	python/make_input_files.py $(notdir $(subst .in,,$@))
 
 Rivet/DIS-%.in : 
 	python/make_input_files.py $(notdir $(subst .in,,$@))
 
 Rivet/BFactory-%.in:
 	python/make_input_files.py $(notdir $(subst .in,,$@))
 
 Rivet/TVT-%.in:
 	python/make_input_files.py $(notdir $(subst .in,,$@))
 
 Rivet/LHC-%.in:
 	python/make_input_files.py $(notdir $(subst .in,,$@))
 
 Rivet/Star-%.in:
 	python/make_input_files.py $(notdir $(subst .in,,$@))
 
 Rivet/SppS-%.in:
 	python/make_input_files.py $(notdir $(subst .in,,$@))
 
 Rivet/ISR-%.in:
 	python/make_input_files.py $(notdir $(subst .in,,$@))
 
 Rivet-LEP-Matchbox-% : Rivet/LEP-Matchbox-%.in
 	if [ ! -d Rivet-$(notdir $(subst .in,,$<))  ]; then mkdir Rivet-$(notdir $(subst .in,,$<)); fi;
 	cd Rivet-$(notdir $(subst .in,,$<)); echo `pwd`; \
 	../$(HERWIG) read --repo ../$(REPO) -L ../$(top_builddir)/lib -i ../$(top_builddir)/src ../$<; \
 	../$(HERWIG) run $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}; \
 	mv $(notdir $(subst .in,.yoda,$<)) ..; \
 	cd ..
 
 Rivet-LEP-Dipole-% : Rivet/LEP-Dipole-%.in
 	if [ ! -d Rivet-$(notdir $(subst .in,,$<))  ]; then mkdir Rivet-$(notdir $(subst .in,,$<)); fi;
 	cd Rivet-$(notdir $(subst .in,,$<)); echo `pwd`; \
 	../$(HERWIG) read --repo ../$(REPO) -L ../$(top_builddir)/lib -i ../$(top_builddir)/src ../$<; \
 	../$(HERWIG) run $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}; \
 	mv $(notdir $(subst .in,.yoda,$<)) ..; \
 	cd ..
 
 Rivet-BFactory-Matchbox-% : Rivet/BFactory-Matchbox-%.in
 	if [ ! -d Rivet-$(notdir $(subst .in,,$<))  ]; then mkdir Rivet-$(notdir $(subst .in,,$<)); fi;
 	cd Rivet-$(notdir $(subst .in,,$<)); echo `pwd`; \
 	../$(HERWIG) read --repo ../$(REPO) -L ../$(top_builddir)/lib -i ../$(top_builddir)/src ../$<; \
 	../$(HERWIG) run $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}; \
 	mv $(notdir $(subst .in,.yoda,$<)) ..; \
 	cd ..
 
 Rivet-LEP-% : Rivet/LEP-%.in
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 Rivet-BFactory-% : Rivet/BFactory-%.in
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 Rivet-TVT-% : Rivet/TVT-%.in
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 Rivet-DIS-% : Rivet/DIS-%.in
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 Rivet-LHC-% : Rivet/LHC-%.in
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 Rivet-Star-% : Rivet/Star-%.in
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 Rivet-SppS-% : Rivet/SppS-%.in
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 Rivet-ISR-% : Rivet/ISR-%.in
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 Rivet-inputfiles: $(shell echo Rivet/LEP{,-Powheg,-Matchbox,-Dipole,-Matchbox-Powheg}-{10,22,35,44,91,130,133,136,161,172,177,183,189,192,196,197,200,202,206,91-nopi}.in) \
                   $(shell echo Rivet/LEP{,-Powheg,-Matchbox-Powheg}-14.in) \
                   $(shell echo Rivet/BFactory{,-Powheg,-Matchbox,-Dipole,-Matchbox-Powheg}-{10.52,10.52-sym,10.54,10.45}.in) \
                   $(shell echo Rivet/BFactory-{Upsilon,Upsilon2,Upsilon4,Tau,10.58-res}.in) \
                   $(shell echo Rivet/DIS{,-NoME,-Powheg,-Matchbox,-Dipole,-Matchbox-Powheg}-{e--LowQ2,e+-LowQ2,e+-HighQ2}.in) \
                   $(shell echo Rivet/TVT{,-Powheg,-Matchbox,-Dipole,-Matchbox-Powheg}-{Run-I-Z,Run-I-W,Run-I-WZ,Run-II-Z-e,Run-II-Z-{,LowMass-,HighMass-}mu,Run-II-W}.in) \
 	          $(shell echo Rivet/TVT-Run-II-{DiPhoton-GammaGamma,DiPhoton-GammaJet,PromptPhoton}.in) \
 	          $(shell echo Rivet/TVT-Powheg-Run-II-{DiPhoton-GammaGamma,DiPhoton-GammaJet}.in) \
                   $(shell echo Rivet/TVT{,-Dipole,-Matchbox,-Matchbox-Powheg}-{Run-II-Jets-{0..11},Run-I-Jets-{1..8}}.in ) \
 	          $(shell echo Rivet/TVT{,-Dipole,-Matchbox,-Matchbox-Powheg}-{630-Jets-{1..3},300-Jets-1,900-Jets-1}.in ) \
                   $(shell echo Rivet/TVT-{Run-I,Run-II,300,630,900}-UE.in) \
                   $(shell echo Rivet/LHC{,-Dipole,-Matchbox,-Matchbox-Powheg}-7-Jets-{0..15}.in ) \
 	          $(shell echo Rivet/LHC-{900,2360,2760,7,8,13}-UE.in ) \
 	          $(shell echo Rivet/LHC-{900,7}-UE-Long.in ) \
 		  $(shell echo Rivet/LHC{,-Dipole,-Matchbox,-Matchbox-Powheg}-7-Charm-{1..5}.in) \
 		  $(shell echo Rivet/LHC{,-Dipole,-Matchbox,-Matchbox-Powheg}-7-Bottom-{0..8}.in) \
 		  $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg}-7-Top-{L,SL,All}.in) \
 		  $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg}-8-Top-All.in) \
                   $(shell echo Rivet/Star-{UE,Jets-{1..4}}.in ) \
 	          $(shell echo Rivet/SppS-{200,500,900,546}-UE.in ) \
-                  $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg,-Powheg,-Dipole}-{W-{e,mu},13-Z-{e,mu},Z-{e,mu,mu-SOPHTY},Z-LowMass-{e,mu},Z-MedMass-e,WZ,WW-{emu,ll},ZZ-{ll,lv},W-Z-{e,mu},8-Z-mu}.in) \
+                  $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg,-Powheg,-Dipole}-{W-{e,mu},13-Z-{e,mu},8-Z-Mass{1..4}-{e,mu},Z-{e,mu,mu-SOPHTY},Z-LowMass-{e,mu},Z-MedMass-e,WZ,WW-{emu,ll},ZZ-{ll,lv},W-Z-{e,mu}}.in) \
                   $(shell echo Rivet/LHC-7-{W,Z}Gamma-{e,mu}.in) \
 	          $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg,-Dipole}-{7-W-Jet-{1..3}-e,7-Z-Jet-{0..3}-e,7-Z-Jet-0-mu}.in) \
 	          $(shell echo Rivet/LHC{-Matchbox,-Matchbox-Powheg,-Dipole}-{Z-b,Z-bb,W-b,8-Z-jj}.in) \
                   $(shell echo Rivet/LHC-7-PromptPhoton-{1..4}.in) Rivet/LHC-GammaGamma-7.in \
 	          $(shell echo Rivet/LHC{,-Powheg}-7-{DiPhoton-GammaGamma,DiPhoton-GammaJet}.in) \
                   $(shell echo Rivet/LHC{,-Powheg,-Matchbox,-Matchbox-Powheg,-Dipole}-{ggH,VBF,WH,ZH}.in) \
                   $(shell echo Rivet/LHC{,-Powheg,-Matchbox,-Matchbox-Powheg,-Dipole}-8-{ggH,VBF,WH,ZH}{,-GammaGamma}.in) \
                   $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg,-Dipole}-ggHJet.in)
 #                  $(shell echo Rivet/ISR-{30,44,53,62}-UE.in ) $(shell echo Rivet/SppS-{53,63}-UE.in )
 
 Rivet-LEP: $(shell echo Rivet-LEP{,-Powheg,-Matchbox,-Dipole}-{10,14,22,35,44,91,130,133,136,161,172,177,183,189,192,196,197,200,202,206,91-nopi})
 	rm -rf Rivet-LEP
 	python/merge-LEP LEP
 	python/merge-LEP LEP-Powheg
 	python/merge-LEP LEP-Matchbox
 	python/merge-LEP LEP-Dipole
 	rivet-mkhtml -o Rivet-LEP LEP.yoda:Hw++ LEP-Powheg.yoda:Hw++-Powheg LEP-Matchbox.yoda:Hw++-Matchbox LEP-Dipole.yoda:Hw++-Dipole
 
 Rivet-BFactory: $(shell echo Rivet-BFactory{,-Powheg,-Matchbox,-Dipole}-{10.52,10.52-sym,10.54,10.45}) \
                 $(shell echo Rivet-BFactory-{Upsilon,Upsilon2,Upsilon4,Tau,10.58-res,10.58})
 	rm -rf Rivet-BFactory
 	python/merge-BFactory BFactory
 	python/merge-BFactory BFactory-Powheg
 	python/merge-BFactory BFactory-Matchbox
 	python/merge-BFactory BFactory-Dipole
 	rivet-mkhtml -o Rivet-BFactory BFactory.yoda:Hw++ BFactory-Powheg.yoda:Hw++-Powheg BFactory-Matchbox.yoda:Hw++-Matchbox BFactory-Dipole.yoda:Hw++-Dipole
 
 Rivet-DIS: $(shell echo Rivet-DIS{,-NoME,-Powheg,-Matchbox,-Dipole}-{e--LowQ2,e+-LowQ2,e+-HighQ2})
 	rm -rf Rivet-DIS
 	python/merge-DIS DIS 
 	python/merge-DIS DIS-Powheg
 	python/merge-DIS DIS-NoME
 	python/merge-DIS DIS-Matchbox
 	python/merge-DIS DIS-Dipole
 	rivet-mkhtml -o Rivet-DIS DIS.yoda:Hw++ DIS-Powheg.yoda:Hw++-Powheg DIS-NoME.yoda:Hw++-NoME DIS-Matchbox.yoda:Hw++-Matchbox DIS-Dipole.yoda:Hw++-Dipole
 
 Rivet-TVT-WZ:  $(shell echo Rivet-TVT{,-Powheg,-Matchbox,-Dipole}-{Run-I-Z,Run-I-W,Run-I-WZ,Run-II-Z-{e,{,LowMass-,HighMass-}mu},Run-II-W})
 	rm -rf Rivet-TVT-WZ
 	python/merge-TVT-EW TVT-Run-II-W.yoda TVT-Run-II-Z-{e,{,LowMass-,HighMass-}mu}.yoda\
                             TVT-Run-I-{W,Z,WZ}.yoda -o TVT-WZ.yoda
 	python/merge-TVT-EW TVT-Powheg-Run-II-W.yoda   TVT-Powheg-Run-II-Z-{e,{,LowMass-,HighMass-}mu}.yoda\
                             TVT-Powheg-Run-I-{W,Z,WZ}.yoda -o TVT-Powheg-WZ.yoda
 	python/merge-TVT-EW TVT-Matchbox-Run-II-W.yoda   TVT-Matchbox-Run-II-Z-{e,{,LowMass-,HighMass-}mu}.yoda\
                             TVT-Matchbox-Run-I-{W,Z,WZ}.yoda -o TVT-Matchbox-WZ.yoda
 	python/merge-TVT-EW TVT-Dipole-Run-II-W.yoda   TVT-Dipole-Run-II-Z-{e,{,LowMass-,HighMass-}mu}.yoda\
                             TVT-Dipole-Run-I-{W,Z,WZ}.yoda -o TVT-Dipole-WZ.yoda
 	rivet-mkhtml -o Rivet-TVT-WZ TVT-WZ.yoda:Hw++ TVT-Powheg-WZ.yoda:Hw++-Powheg TVT-Matchbox-WZ.yoda:Hw++-Matchbox TVT-Dipole-WZ.yoda:Hw++-Dipole
 
 Rivet-TVT-Photon: $(shell echo Rivet-TVT-Run-II-{DiPhoton-GammaGamma,DiPhoton-GammaJet,PromptPhoton}) \
                   $(shell echo Rivet-TVT-Powheg-Run-II-{DiPhoton-GammaGamma,DiPhoton-GammaJet})
 	rm -rf Rivet-TVT-Photon
 	python/merge-TVT-Photon TVT -o TVT-Photon.yoda
 	python/merge-TVT-Photon TVT-Powheg -o TVT-Powheg-Photon.yoda
 	rivet-mkhtml -o Rivet-TVT-Photon TVT-Photon.yoda:Hw TVT-Powheg-Photon.yoda:Hw-Powheg
 
 Rivet-TVT-Jets:  $(shell echo Rivet-TVT-{Run-II-Jets-{0..11},Run-I-Jets-{1..8}} ) \
 	         $(shell echo Rivet-TVT-{630-Jets-{1..3},300-Jets-1,900-Jets-1} ) \
                  $(shell echo Rivet-TVT-{Run-I,Run-II,300,630,900}-UE)
 	python/merge-TVT-Energy TVT
 	rivet-merge-CDF_2012_NOTE10874 TVT-300-Energy.yoda TVT-900-Energy.yoda TVT-1960-Energy.yoda
 	flat2yoda RatioPlots.dat -o TVT-RatioPlots.yoda
 	rm -rf Rivet-TVT-Jets
 	python/merge-TVT-Jets TVT
 	rivet-mkhtml -o Rivet-TVT-Jets TVT-Jets.yoda:Hw++
 
 Rivet-LHC-Jets: $(shell echo Rivet-LHC-7-Jets-{0..15} ) \
 	        $(shell echo Rivet-LHC-{900,2360,2760,7,8,13}-UE ) \
 	        $(shell echo Rivet-LHC-{900,7}-UE-Long ) \
 		$(shell echo Rivet-LHC-7-Charm-{1..5}) \
 		$(shell echo Rivet-LHC-7-Bottom-{0..8}) \
 		$(shell echo Rivet-LHC-7-Top-{L,SL,All})\
 		$(shell echo Rivet-LHC-8-Top-All)
 	rm -rf Rivet-LHC-Jets
 	python/merge-LHC-Jets LHC
 	rivet-mkhtml -o Rivet-LHC-Jets LHC-Jets.yoda:Hw++
 
 Rivet-Star: $(shell echo Rivet-Star-{UE,Jets-{1..4}} ) 
 	rm -rf Rivet-Star
 	python/merge-Star Star
 	rivet-mkhtml -o Rivet-Star Star.yoda
 
 Rivet-SppS: $(shell echo Rivet-ISR-{30,44,53,62}-UE ) \
 	    $(shell echo Rivet-SppS-{53,63,200,500,900,546}-UE )
 	rm -rf Rivet-SppS
 	python/merge-SppS SppS
 	rivet-mkhtml -o Rivet-SppS SppS.yoda
 
-Rivet-LHC-EW: $(shell echo Rivet-LHC{,-Matchbox,-Powheg,-Dipole}-{13-Z-{e,mu},W-{e,mu},Z-{e,mu,mu-SOPHTY},Z-LowMass-{e,mu},Z-MedMass-e,WZ,WW-{emu,ll},ZZ-{ll,lv},W-Z-{e,mu},8-Z-mu}) \
+Rivet-LHC-EW: $(shell echo Rivet-LHC{,-Matchbox,-Powheg,-Dipole}-{13-Z-{e,mu},8-Z-Mass{1..4}-{e,mu},W-{e,mu},Z-{e,mu,mu-SOPHTY},Z-LowMass-{e,mu},Z-MedMass-e,WZ,WW-{emu,ll},ZZ-{ll,lv},W-Z-{e,mu}}) \
 	      $(shell echo Rivet-LHC{,-Matchbox,-Dipole}-{7-W-Jet-{1..3}-e,7-Z-Jet-{0..3}-e,7-Z-Jet-0-mu}) \
 	      $(shell echo Rivet-LHC{-Matchbox,-Dipole}-{Z-b,Z-bb,W-b,8-Z-jj}) \
               $(shell echo Rivet-LHC-7-{W,Z}Gamma-{e,mu}) \
 	rm -rf Rivet-LHC-EW;
-	python/merge-LHC-EW LHC-{13-Z-{e,mu},W-{e,mu},Z-{e,mu},Z-LowMass-{e,mu},Z-MedMass-e,W-Z-{e,mu},WW-{emu,ll},WZ,ZZ-{ll,lv}}.yoda LHC-7-{W,Z}-Jet-{1,2,3}-e.yoda LHC-7-{W,Z}Gamma-{e,mu}.yoda -o LHC-EW.yoda;
-	python/merge-LHC-EW LHC-Matchbox-{13-Z-{e,mu},W-{e,mu},Z-{e,mu},Z-LowMass-{e,mu},Z-MedMass-e,W-Z-{e,mu},WW-{emu,ll},WZ,ZZ-{ll,lv}}.yoda LHC-Matchbox-7-{W,Z}-Jet-{1,2,3}-e.yoda -o LHC-Matchbox-EW.yoda;
-	python/merge-LHC-EW LHC-Dipole-{13-Z-{e,mu},W-{e,mu},Z-{e,mu},Z-LowMass-{e,mu},Z-MedMass-e,W-Z-{e,mu},WW-{emu,ll},WZ,ZZ-{ll,lv}}.yoda LHC-Dipole-7-{W,Z}-Jet-{1,2,3}-e.yoda -o LHC-Dipole-EW.yoda;
+	python/merge-LHC-EW LHC-{13-Z-{e,mu},8-Z-Mass{1..4}-{e,mu},W-{e,mu},Z-{e,mu},Z-LowMass-{e,mu},Z-MedMass-e,W-Z-{e,mu},WW-{emu,ll},WZ,ZZ-{ll,lv}}.yoda LHC-7-{W,Z}-Jet-{1,2,3}-e.yoda LHC-7-{W,Z}Gamma-{e,mu}.yoda -o LHC-EW.yoda;
+	python/merge-LHC-EW LHC-Matchbox-{13-Z-{e,mu},8-Z-Mass{1..4}-{e,mu},W-{e,mu},Z-{e,mu},Z-LowMass-{e,mu},Z-MedMass-e,W-Z-{e,mu},WW-{emu,ll},WZ,ZZ-{ll,lv}}.yoda LHC-Matchbox-7-{W,Z}-Jet-{1,2,3}-e.yoda -o LHC-Matchbox-EW.yoda;
+	python/merge-LHC-EW LHC-Dipole-{13-Z-{e,mu},8-Z-Mass{1..4}-{e,mu},W-{e,mu},Z-{e,mu},Z-LowMass-{e,mu},Z-MedMass-e,W-Z-{e,mu},WW-{emu,ll},WZ,ZZ-{ll,lv}}.yoda LHC-Dipole-7-{W,Z}-Jet-{1,2,3}-e.yoda -o LHC-Dipole-EW.yoda;
 	python/merge-LHC-EW LHC-Powheg-{W-{e,mu},Z-{e,mu},Z-LowMass-{e,mu},Z-MedMass-e,W-Z-{e,mu},WW-{emu,ll},WZ,ZZ-{ll,lv}}.yoda -o LHC-Powheg-EW.yoda;
 	rivet-mkhtml -o Rivet-LHC-EW LHC-EW.yoda:Hw++ LHC-Powheg-EW.yoda:Hw++-Powheg LHC-Matchbox-EW.yoda:Hw++-Matchbox LHC-Matchbox-Z-b.yoda:Hw++-Matchbox-Zb \
                                      LHC-Matchbox-Z-bb.yoda:Hw++-Matchbox-Zbb LHC-Matchbox-W-b.yoda:Hw++-Matchbox-W-bb LHC-Dipole-EW.yoda:Hw++-Dipole \
                                      LHC-Dipole-Z-b.yoda:Hw++-Dipole-Zb LHC-Dipole-Z-bb.yoda:Hw++-Dipole-Zbb LHC-Dipole-W-b.yoda:Hw++-Dipole-W-bb \
                                      LHC-Z-mu-SOPHTY.yoda:Hw++ LHC-Powheg-Z-mu-SOPHTY.yoda:Hw++-Powheg LHC-Matchbox-Z-mu-SOPHTY.yoda:Hw++-Matchbox
 Rivet-LHC-Photon: $(shell echo Rivet-LHC-7-PromptPhoton-{1..4}) Rivet-LHC-GammaGamma-7 \
 	          $(shell echo Rivet-LHC{,-Powheg}-7-{DiPhoton-GammaGamma,DiPhoton-GammaJet})
 	rm -rf Rivet-LHC-Photon
 	python/merge-LHC-Photon LHC -o LHC-Photon.yoda
 	python/merge-LHC-Photon LHC-Powheg -o LHC-Powheg-Photon.yoda
 	rivet-mkhtml -o Rivet-LHC-Photon LHC-Photon.yoda:Hw LHC-Powheg-Photon.yoda:Hw-Powheg
 
 Rivet-LHC-Higgs:  $(shell echo Rivet-LHC{,-Powheg}-{ggH,VBF,WH,ZH})\
                   $(shell echo Rivet-LHC{,-Powheg}-8-{ggH,VBF,WH,ZH}{,-GammaGamma}) Rivet-LHC-ggHJet
 	rm -rf Rivet-LHC-Higgs
 	rivet-mkhtml -o Rivet-LHC-Higgs LHC-Powheg-ggH.yoda:gg-Powheg LHC-ggH.yoda:gg LHC-ggHJet.yoda:HJet \
                         LHC-Powheg-VBF.yoda:VBF-Powheg LHC-VBF.yoda:VBF LHC-WH.yoda:WH LHC-ZH.yoda:ZH \
                         LHC-Powheg-WH.yoda:WH-Powheg LHC-Powheg-ZH.yoda:ZH-Powheg
 
 tests-Rivet : Rivet-LEP Rivet-BFactory Rivet-DIS Rivet-TVT-WZ Rivet-TVT-Photon Rivet-TVT-Jets Rivet-LHC-Jets Rivet-Star Rivet-SppS Rivet-LHC-EW Rivet-LHC-Photon
 
 
 test-Gamma-% : Inputs/Gamma-%.in GammaTest.la
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 test-DIS-% : Inputs/DIS-%.in DISTest.la
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 
 if WANT_LIBFASTJET 
 test-LHC-% : Inputs/LHC-%.in HadronTest.la GammaTest.la HadronJetTest.la
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 else
 test-LHC-% : Inputs/LHC-%.in HadronTest.la GammaTest.la
 	$(HWREAD) $<
 	$(HWRUN) $(notdir $(subst .in,.run,$<)) -N $${NUMEVENTS:-10000}
 endif
 
 clean-local:
 	rm -f *.out *.log *.tex *.top *.run *.dump *.mult *.Bmult *.yoda
diff --git a/Tests/Rivet/LHC/LHC-13-UE.in b/Tests/Rivet/LHC/LHC-13-UE.in
--- a/Tests/Rivet/LHC/LHC-13-UE.in
+++ b/Tests/Rivet/LHC/LHC-13-UE.in
@@ -1,5 +1,7 @@
 ##################################################
 # select the analyses
 ##################################################
 # CMS UE
-insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2015_I1384119
\ No newline at end of file
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2015_I1384119
+# ATLAS UE
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2016_I1419652
diff --git a/Tests/Rivet/LHC/LHC-7-Jets-4.in b/Tests/Rivet/LHC/LHC-7-Jets-4.in
--- a/Tests/Rivet/LHC/LHC-7-Jets-4.in
+++ b/Tests/Rivet/LHC/LHC-7-Jets-4.in
@@ -1,46 +1,48 @@
 ##################################################
 # select the analyses
 ##################################################
 # ATLAS jet shapes
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S8924791
 # ATLAS di-jet decorrelation
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S8971293
 # ATLAS jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2010_S8817804
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1082936
 # CMS event shapes
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S8957746
 # ATLAS multijet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S9128077
 # ATLAS dijet with veto
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S9126244
 # CMS dijet decorrelation
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S8950903
 # CMS jet cross section
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9086218
 # CMS 3/2 jet cross section ratio
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9088458
 # ATLAS track jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_I919017
 # CMS UE
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9120041
 # CMS central and forward jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2012_I1087342
 # ATLAS subjets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1094564
 # CMS 4-jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1273574 
 # CMS colour coherence
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1265659
 # ATLAS leading jet UE
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1298811 
 # ATLAS jet veto
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1307243
 # ATLAS inclusive jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1325553
 # CMS jet ratios
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2014_I1298810
 # flavour composition of jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1188891
 # CMS Jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1208923
+# CMS event shapes
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2014_I1305624
\ No newline at end of file
diff --git a/Tests/Rivet/LHC/LHC-7-Jets-5.in b/Tests/Rivet/LHC/LHC-7-Jets-5.in
--- a/Tests/Rivet/LHC/LHC-7-Jets-5.in
+++ b/Tests/Rivet/LHC/LHC-7-Jets-5.in
@@ -1,40 +1,42 @@
 ##################################################
 # select the analyses
 ##################################################
 # ATLAS jet shapes
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S8924791
 # ATLAS di-jet decorrelation
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S8971293
 # ATLAS jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2010_S8817804
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1082936
 # CMS event shapes
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S8957746
 # ATLAS dijet with veto
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S9126244
 # CMS dijet decorrelation
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S8950903
 # CMS jet cross section
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9086218
 # CMS 3/2 jet cross section ratio
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9088458
 # ATLAS track jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_I919017
 # ATLAS subjets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1094564
 # CMS jet structure
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1224539_DIJET
 # CMS 4-jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1273574 
 # ATLAS leading jet UE
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1298811
 # ATLAS jet veto
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1307243
 # ATLAS inclusive jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1325553
 # CMS jet ratios
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2014_I1298810
 # flavour composition of jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1188891
 # CMS Jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1208923
+# CMS event shapes
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2014_I1305624
diff --git a/Tests/Rivet/LHC/LHC-7-Jets-6.in b/Tests/Rivet/LHC/LHC-7-Jets-6.in
--- a/Tests/Rivet/LHC/LHC-7-Jets-6.in
+++ b/Tests/Rivet/LHC/LHC-7-Jets-6.in
@@ -1,44 +1,46 @@
 ##################################################
 # select the analyses
 ##################################################
 # ATLAS jet shapes
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S8924791
 # ATLAS di-jet decorrelation
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S8971293
 # ATLAS jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2010_S8817804
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1082936
 # ATLAS dijet with veto
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S9126244
 # CMS dijet decorrelation
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S8950903
 # CMS jet cross section
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9086218
 # CMS 3/2 jet cross section ratio
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9088458
 # ATLAS track jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_I919017
 # CMS central and forward jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2012_I1087342
 # ATLAS high pT jet shapes
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1119557
 # ATLAS subjets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1094564
 # CMS jet structure
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1224539_DIJET
 # CMS 4-jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1273574 
 # ATLAS leading jet UE
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1298811
 # ATLAS jet veto
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1307243
 # ATLAS inclusive jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1325553
 # CMS jet ratios
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2014_I1298810
 # flavour composition of jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1188891
 # ATLAS Jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1387176
 # CMS Jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1208923
+# CMS event shapes
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2014_I1305624
diff --git a/Tests/Rivet/LHC/LHC-7-Jets-7.in b/Tests/Rivet/LHC/LHC-7-Jets-7.in
--- a/Tests/Rivet/LHC/LHC-7-Jets-7.in
+++ b/Tests/Rivet/LHC/LHC-7-Jets-7.in
@@ -1,38 +1,40 @@
 ##################################################
 # select the analyses
 ##################################################
 # ATLAS jet shapes
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S8924791
 # ATLAS di-jet decorrelation
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S8971293
 # ATLAS jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2010_S8817804
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1082936
 # ATLAS dijet with veto
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S9126244
 # CMS jet cross section
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9086218
 # CMS 3/2 jet cross section ratio
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2011_S9088458
 # ATLAS track jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_I919017
 # CMS central and forward jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2012_I1087342
 # ATLAS subjets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1094564
 # CMS jet structure
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1224539_DIJET
 # CMS 4-jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1273574 
 # ATLAS leading jet UE
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1298811
 # ATLAS jet veto
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1307243
 # ATLAS inclusive jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1325553
 # CMS jet ratios
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2014_I1298810
 # flavour composition of jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1188891
 # CMS Jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1208923
+# CMS event shapes
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2014_I1305624
diff --git a/Tests/Rivet/LHC/LHC-8-Top-All.in b/Tests/Rivet/LHC/LHC-8-Top-All.in
--- a/Tests/Rivet/LHC/LHC-8-Top-All.in
+++ b/Tests/Rivet/LHC/LHC-8-Top-All.in
@@ -1,7 +1,11 @@
 ##################################################
 # select the analyses
 ##################################################
 # ATLAS pull in top events
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1376945
 # CMS top 
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2015_I1370682
+# ATLAS top + b jet
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1390114
+# ATLAS boosted t tbar
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1397637
\ No newline at end of file
diff --git a/Tests/Rivet/LHC/LHC-8-Z-mu.in b/Tests/Rivet/LHC/LHC-8-Z-Mass1-e.in
rename from Tests/Rivet/LHC/LHC-8-Z-mu.in
rename to Tests/Rivet/LHC/LHC-8-Z-Mass1-e.in
--- a/Tests/Rivet/LHC/LHC-8-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-8-Z-Mass1-e.in
@@ -1,5 +1,5 @@
 ##################################################
 # select the analyses
 ##################################################
-# ATLAS Z + dijets
-insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1279489
+# ATLAS Z pT and phi*
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1408516_EL
diff --git a/Tests/Rivet/LHC/LHC-8-Z-mu.in b/Tests/Rivet/LHC/LHC-8-Z-Mass1-mu.in
copy from Tests/Rivet/LHC/LHC-8-Z-mu.in
copy to Tests/Rivet/LHC/LHC-8-Z-Mass1-mu.in
--- a/Tests/Rivet/LHC/LHC-8-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-8-Z-Mass1-mu.in
@@ -1,5 +1,5 @@
 ##################################################
 # select the analyses
 ##################################################
-# ATLAS Z + dijets
-insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1279489
+# ATLAS Z pT and phi*
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1408516_MU
diff --git a/Tests/Rivet/LHC/LHC-8-Z-mu.in b/Tests/Rivet/LHC/LHC-8-Z-Mass2-e.in
copy from Tests/Rivet/LHC/LHC-8-Z-mu.in
copy to Tests/Rivet/LHC/LHC-8-Z-Mass2-e.in
--- a/Tests/Rivet/LHC/LHC-8-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-8-Z-Mass2-e.in
@@ -1,5 +1,5 @@
 ##################################################
 # select the analyses
 ##################################################
-# ATLAS Z + dijets
-insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1279489
+# ATLAS Z pT and phi*
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1408516_EL
diff --git a/Tests/Rivet/LHC/LHC-8-Z-mu.in b/Tests/Rivet/LHC/LHC-8-Z-Mass2-mu.in
copy from Tests/Rivet/LHC/LHC-8-Z-mu.in
copy to Tests/Rivet/LHC/LHC-8-Z-Mass2-mu.in
--- a/Tests/Rivet/LHC/LHC-8-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-8-Z-Mass2-mu.in
@@ -1,5 +1,5 @@
 ##################################################
 # select the analyses
 ##################################################
-# ATLAS Z + dijets
-insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1279489
+# ATLAS Z pT and phi*
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1408516_MU
diff --git a/Tests/Rivet/LHC/LHC-8-Z-mu.in b/Tests/Rivet/LHC/LHC-8-Z-Mass3-e.in
copy from Tests/Rivet/LHC/LHC-8-Z-mu.in
copy to Tests/Rivet/LHC/LHC-8-Z-Mass3-e.in
--- a/Tests/Rivet/LHC/LHC-8-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-8-Z-Mass3-e.in
@@ -1,5 +1,5 @@
 ##################################################
 # select the analyses
 ##################################################
-# ATLAS Z + dijets
-insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1279489
+# ATLAS Z pT and phi*
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1408516_EL
diff --git a/Tests/Rivet/LHC/LHC-8-Z-mu.in b/Tests/Rivet/LHC/LHC-8-Z-Mass3-mu.in
copy from Tests/Rivet/LHC/LHC-8-Z-mu.in
copy to Tests/Rivet/LHC/LHC-8-Z-Mass3-mu.in
--- a/Tests/Rivet/LHC/LHC-8-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-8-Z-Mass3-mu.in
@@ -1,5 +1,7 @@
 ##################################################
 # select the analyses
 ##################################################
 # ATLAS Z + dijets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1279489
+# ATLAS Z pT and phi*
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1408516_MU
diff --git a/Tests/Rivet/LHC/LHC-8-Z-mu.in b/Tests/Rivet/LHC/LHC-8-Z-Mass4-e.in
copy from Tests/Rivet/LHC/LHC-8-Z-mu.in
copy to Tests/Rivet/LHC/LHC-8-Z-Mass4-e.in
--- a/Tests/Rivet/LHC/LHC-8-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-8-Z-Mass4-e.in
@@ -1,5 +1,5 @@
 ##################################################
 # select the analyses
 ##################################################
-# ATLAS Z + dijets
-insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1279489
+# ATLAS Z pT and phi*
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1408516_EL
diff --git a/Tests/Rivet/LHC/LHC-8-Z-mu.in b/Tests/Rivet/LHC/LHC-8-Z-Mass4-mu.in
copy from Tests/Rivet/LHC/LHC-8-Z-mu.in
copy to Tests/Rivet/LHC/LHC-8-Z-Mass4-mu.in
--- a/Tests/Rivet/LHC/LHC-8-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-8-Z-Mass4-mu.in
@@ -1,5 +1,5 @@
 ##################################################
 # select the analyses
 ##################################################
-# ATLAS Z + dijets
-insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1279489
+# ATLAS Z pT and phi*
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1408516_MU
diff --git a/Tests/Rivet/LHC/LHC-Z-e.in b/Tests/Rivet/LHC/LHC-Z-e.in
--- a/Tests/Rivet/LHC/LHC-Z-e.in
+++ b/Tests/Rivet/LHC/LHC-Z-e.in
@@ -1,28 +1,30 @@
 ##################################################
 # select the analyses
 ##################################################
 # General analysis
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 MC_ZINC
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 MC_ZJETS
 # ATLAS pT
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S9131140
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1300647
 # ATLAS Z+jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_I945498
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2013_I1230812
 # ATLAS phi*
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1204784
 # CMS Z + b-hadron
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1256943
 # CMS Z pt and y
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2012_I941555
 # ATLAS Z + bjets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1306294
 # ATLAS Z
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_I928289_Z
 # CMS Z AFB
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1122847
 # CMS Z+jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2015_I1310737
 # ATLAS event shapes in Z events
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2016_I1424838
+# ATLAS forwrd backward
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1351916_EL
\ No newline at end of file
diff --git a/Tests/Rivet/LHC/LHC-Z-mu.in b/Tests/Rivet/LHC/LHC-Z-mu.in
--- a/Tests/Rivet/LHC/LHC-Z-mu.in
+++ b/Tests/Rivet/LHC/LHC-Z-mu.in
@@ -1,31 +1,33 @@
 ##################################################
 # select the analyses
 ##################################################
 # ATLAS Z pt
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_S9131140
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1300647
 # ATLAS Z+jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_I945498
 # CMS underlying event in Z events
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2012_I1107658
 # ATLAS phi*
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1204784
 # Z and real photon + jet
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1258128
 # CMS Z + b-hadron
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1256943
 # CMS Z pt and y
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2012_I941555
 # ATLAS MPI in Z events
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2014_I1315949
 # ATLAS Z
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2011_I928289_Z
 # CMS Z AFB
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2013_I1122847
 # CMS Z+jets
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2015_I1310737
 # ATLAS event shapes in Z events
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2016_I1424838
 # CMS photon radiation in Z decays
 insert /Herwig/Analysis/RivetAnalysis:Analyses 0 CMS_2015_I1346843
+# ATLAS forwrd backward
+insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2015_I1351916_MU
 
diff --git a/Tests/python/make_input_files.py b/Tests/python/make_input_files.py
--- a/Tests/python/make_input_files.py
+++ b/Tests/python/make_input_files.py
@@ -1,1385 +1,1484 @@
 #! /usr/bin/env python
 import logging,sys,os
 from string import strip, Template
 
 import sys
 if sys.version_info[:3] < (2,4,0):
     print "rivet scripts require Python version >= 2.4.0... exiting"
     sys.exit(1)
 
 if __name__ == "__main__":
     import logging
     from optparse import OptionParser, OptionGroup
     parser = OptionParser(usage="%prog name [...]")
 
 (opts, args) = parser.parse_args()
 ## Check args
 if len(args) != 1:
     logging.error("Must specify at least input file")
     sys.exit(1)
 
 name=args[0]
 
 collider=""
 # select the template to load
 # collider
 parameters = {}
 if(name.find("BFactory")==0) :
     collider="BFactory"
 elif(name.find("LEP")==0) :
     collider="LEP"
 elif(name.find("DIS")==0) :
     collider="DIS"
 elif(name.find("TVT")==0) :
     collider="TVT"
 elif(name.find("LHC-GammaGamma")==0) :
     collider="LHC-GammaGamma"
 elif(name.find("LHC")==0) :
     collider="LHC"
 elif(name.find("ISR")==0) :
     collider="ISR"
 elif(name.find("SppS")==0) :
     collider="SppS"
 elif(name.find("Star")==0) :
     collider="Star"
 simulation=""
 istart = 1
 print name
 if(name.find("Matchbox-Powheg")>0) :
     istart = 3
     simulation="Matchbox"
     parameters["shower"] = "read Matchbox/Powheg-DefaultShower.in\n"
 elif(name.find("Matchbox")>0) :
     istart = 2
     simulation="Matchbox"
     parameters["shower"] = "read Matchbox/MCatNLO-DefaultShower.in\n"
 elif(name.find("Dipole")>0) :
     istart = 2
     simulation="Matchbox"
     parameters["shower"]  = "read Matchbox/MCatNLO-DipoleShower.in\n"
 elif(name.find("Powheg")>0) :
     istart = 2
     simulation="Powheg"
 
 if(simulation=="Matchbox") :
     parameters["bscheme"] = "read Matchbox/FiveFlavourScheme.in\n"
     if(parameters["shower"].find("Dipole")>=0) :
         parameters["bscheme"] += "read Matchbox/FiveFlavourNoBMassScheme.in\n"
     if(collider.find("DIS")<0) :
         parameters["nlo"] = "read Matchbox/MadGraph-OpenLoops.in\n"
 
 if(collider=="") :
     logging.error("Can\'t find collider")
     sys.exit(1)
 
 # find the template
 if(simulation=="") :
     if(collider.find("LHC-GammaGamma") >=0) :
         istart += 1
         templateName="Hadron-Gamma.in"
     elif(collider.find("TVT")>=0 or collider.find("LHC") >=0 or
        collider.find("ISR")>=0 or collider.find("SppS")>=0 or
        collider.find("Star")>=0) :
         templateName="Hadron.in"
     elif(collider.find("BFactory")<0) :
         templateName= "%s.in" % (collider)
     else :
         templateName= "LEP.in"
 else :
     if(collider.find("TVT")>=0 or collider.find("LHC") >=0 or
        collider.find("ISR")>=0 or collider.find("SppS")>=0 or
        collider.find("Star")>=0) :
         templateName= "Hadron-%s.in" % (simulation) 
     elif(collider.find("BFactory")<0) :
         templateName= "%s-%s.in" % (collider,simulation) 
     else :
         templateName= "LEP-%s.in" % (simulation) 
 with open(os.path.join("Rivet/Templates",templateName), 'r') as f:
     templateText = f.read()
 template = Template( templateText )
 # work out the name of the parameter file
 nameSplit=name.split("-")
 parameterName=nameSplit[istart]
 for i in range(istart+1,len(nameSplit)) :
     parameterName += "-%s" % nameSplit[i] 
 
 # work out the process and parameters
 process=""
 # Bfactory
 if(collider=="BFactory") :
     if(simulation=="") :
         if(parameterName=="10.58-res") :
             process += "\ncreate Herwig::MEee2VectorMeson /Herwig/MatrixElements/MEUpsilon HwMELepton.so\nset /Herwig/MatrixElements/MEUpsilon:VectorMeson /Herwig/Particles/Upsilon(4S)\nset /Herwig/MatrixElements/MEUpsilon:Coupling 0.0004151809\nset /Herwig/MatrixElements/SimpleEE:MatrixElements 0 /Herwig/MatrixElements/MEUpsilon"
         elif(parameterName=="10.58") :
             process += "\ncreate Herwig::MEee2VectorMeson /Herwig/MatrixElements/MEUpsilon HwMELepton.so\nset /Herwig/MatrixElements/MEUpsilon:VectorMeson /Herwig/Particles/Upsilon(4S)\nset /Herwig/MatrixElements/MEUpsilon:Coupling 0.0004151809\ninsert /Herwig/MatrixElements/SimpleEE:MatrixElements 0 /Herwig/MatrixElements/MEUpsilon\n"
             process += "set /Herwig/MatrixElements/MEee2gZ2qq:MaximumFlavour 4\n"
         else :
             process += "set /Herwig/MatrixElements/MEee2gZ2qq:MaximumFlavour 4\n"
     elif(simulation=="Powheg") :
         process = "set /Herwig/MatrixElements/PowhegMEee2gZ2qq:MaximumFlavour 4\n"
     elif(simulation=="Matchbox" ) :
         process = "do Factory:Process e- e+ -> u ubar\ndo Factory:Process e- e+ -> d dbar\ndo Factory:Process e- e+ -> c cbar\ndo Factory:Process e- e+ -> s sbar\n"
 # DIS
 elif(collider=="DIS") :
     if(simulation=="") :
         if(parameterName.find("NoME")>=0) :
             process = "set /Herwig/Shower/Evolver:MECorrMode 0"
             parameterName=parameterName.replace("NoME-","")
         else :
             process = ""
     elif(simulation=="Powheg") :
         process = ""
     elif(simulation=="Matchbox" ) :
         if(parameterName.find("e-")>=0) :
             process="do Factory:Process e- p -> e- j"
         else :
             process="do Factory:Process e+ p -> e+ j"
 # LEP
 elif(collider=="LEP") :
     if(simulation=="") :
         process=""
         if(parameterName=="10") :
             process="set /Herwig/MatrixElements/MEee2gZ2qq:MaximumFlavour 4"
     elif(simulation=="Powheg") :
         process=""
         if(parameterName=="10") :
             process="set /Herwig/MatrixElements/PowhegMEee2gZ2qq:MaximumFlavour 4"
     elif(simulation=="Matchbox" ) :
         if(parameterName=="10") :
             process="do Factory:Process e- e+ -> u ubar\ndo Factory:Process e- e+ -> d dbar\ndo Factory:Process e- e+ -> c cbar\ndo Factory:Process e- e+ -> s sbar"
         else :
             process="do Factory:Process e- e+ -> j j"
 # TVT
 elif(collider=="TVT") :
     process="set /Herwig/Generators/EventGenerator:EventHandler:BeamB /Herwig/Particles/pbar-\n"
     if(parameterName.find("Run-II")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 1960.0\n"
     elif(parameterName.find("Run-I")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 1800.0\n"
     elif(parameterName.find("900")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 900.0\n"
     elif(parameterName.find("630")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 630.0\n"
     elif(parameterName.find("300")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 300.0\n"
 
     if(simulation=="") :
         if(parameterName.find("PromptPhoton")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaJet\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 15.\n"
         elif(parameterName.find("DiPhoton-GammaGamma")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaGamma\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             parameterName=parameterName.replace("-GammaGamma","")
         elif(parameterName.find("DiPhoton-GammaJet")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaJet\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             parameterName=parameterName.replace("-GammaJet","")
         elif(parameterName.find("UE")>=0) :
             process += "insert SimpleQCD:MatrixElements[0] MEMinBias\n"
             process += "set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             process += "set /Herwig/Generators/EventGenerator:EventHandler:Cuts /Herwig/Cuts/MinBiasCuts\n"
             process += "create Herwig::MPIXSecReweighter /Herwig/Generators/MPIXSecReweighter\n"
             process += "insert /Herwig/Generators/EventGenerator:EventHandler:PostSubProcessHandlers 0 /Herwig/Generators/MPIXSecReweighter\n"
             process += "set /Herwig/Decays/DecayHandler:LifeTimeOption 0\n"
             process += "set /Herwig/Decays/DecayHandler:MaxLifeTime 10*mm\n"
         elif(parameterName.find("Jets")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEQCD2to2\n"
             process+="set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             if(parameterName.find("Run-II-Jets-10")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 500.*GeV\n"
             elif(parameterName.find("Run-II-Jets-11")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 900.*GeV\n"
             elif(parameterName.find("Run-I-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
             elif(parameterName.find("Run-I-Jets-2")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 40.\n"
             elif(parameterName.find("Run-I-Jets-3")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 65.\n"
             elif(parameterName.find("Run-I-Jets-4")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 90.\n"
             elif(parameterName.find("Run-I-Jets-5")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 160.\n"
             elif(parameterName.find("Run-I-Jets-6")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 100.*GeV\n"
             elif(parameterName.find("Run-I-Jets-7")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 400.*GeV\n"
             elif(parameterName.find("Run-I-Jets-8")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 700.*GeV\n"
             elif(parameterName.find("Run-II-Jets-0")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 15.\n"
             elif(parameterName.find("Run-II-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 25.\n"
             elif(parameterName.find("Run-II-Jets-2")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 40.\n"
             elif(parameterName.find("Run-II-Jets-3")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 60.\n"
             elif(parameterName.find("Run-II-Jets-4")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 85.\n"
             elif(parameterName.find("Run-II-Jets-5")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 110.\n"
             elif(parameterName.find("Run-II-Jets-6")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 160.\n"
             elif(parameterName.find("Run-II-Jets-7")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 250.\n"
             elif(parameterName.find("Run-II-Jets-8")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 100.*GeV\n"
             elif(parameterName.find("Run-II-Jets-9")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 300.*GeV\n"
             elif(parameterName.find("900-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 10.\n"
             elif(parameterName.find("300-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 6.\n"
             elif(parameterName.find("630-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
             elif(parameterName.find("630-Jets-2")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 40.\n"
             elif(parameterName.find("630-Jets-3")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 75.\n"
             elif(parameterName.find("900-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 10.\n"
         elif(parameterName.find("Run-I-WZ")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2W2ff\nset MEqq2W2ff:Process Electron\ninsert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
         elif(parameterName.find("Run-I-W")>=0 or parameterName.find("Run-II-W")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2W2ff\nset MEqq2W2ff:Process Electron\n"
         elif(parameterName.find("Run-I-Z")>=0 or parameterName.find("Run-II-Z-e")>=0) :
             process +="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
         elif(parameterName.find("Run-II-Z-LowMass-mu")>=0) :
             process +="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 25*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 70*GeV\n"
         elif(parameterName.find("Run-II-Z-HighMass-mu")>=0) :
             process +="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 150*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 600*GeV\n"
         elif(parameterName.find("Run-II-Z-mu")>=0) :
             process +="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
     elif(simulation=="Powheg") :
         if(parameterName.find("Run-I-WZ")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2W2ff\nset PowhegMEqq2W2ff:Process Electron\ninsert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
         elif(parameterName.find("Run-I-W")>=0 or parameterName.find("Run-II-W")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2W2ff\nset PowhegMEqq2W2ff:Process Electron\n"
         elif(parameterName.find("Run-I-Z")>=0 or parameterName.find("Run-II-Z-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
         elif(parameterName.find("Run-II-Z-LowMass-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 25*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 70*GeV\n"
         elif(parameterName.find("Run-II-Z-HighMass-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 150*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 600*GeV\n"
         elif(parameterName.find("Run-II-Z-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
         elif(parameterName.find("DiPhoton-GammaGamma")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaGammaPowheg\n"
             process+="set MEGammaGammaPowheg:Process GammaGamma\n"
             process+="insert SimpleQCD:MatrixElements[0] MEGammaGamma\n"
             process+="set MEGammaGamma:Process gg\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 5.\n"
             parameterName=parameterName.replace("-GammaGamma","")
         elif(parameterName.find("DiPhoton-GammaJet")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaGammaPowheg\n"
             process+="set MEGammaGammaPowheg:Process VJet\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 5.\n"
             parameterName=parameterName.replace("-GammaJet","")
     elif(simulation=="Matchbox" ) :
         if(parameterName.find("Jets")>=0) :
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 0\n"
             process+="do Factory:Process p p j j\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/MaxJetPtScale\n"
             process+="set  /Herwig/Cuts/Cuts:JetFinder  /Herwig/Cuts/JetFinder\n"
             process+="insert  /Herwig/Cuts/Cuts:MultiCuts 0  /Herwig/Cuts/JetCuts\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/FirstJet\n"
             process+="set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             if(parameterName.find("Run-II-Jets-10")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 500.*GeV\n"
             elif(parameterName.find("Run-II-Jets-11")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 900.*GeV\n"
             elif(parameterName.find("Run-II-Jets-12")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 300.*GeV\n"
             elif(parameterName.find("Run-I-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.\n"
             elif(parameterName.find("Run-I-Jets-2")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 40.\n"
             elif(parameterName.find("Run-I-Jets-3")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 65.\n"
             elif(parameterName.find("Run-I-Jets-4")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 90.\n"
             elif(parameterName.find("Run-I-Jets-5")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 160.\n"
             elif(parameterName.find("Run-I-Jets-6")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 100.*GeV\n"
             elif(parameterName.find("Run-I-Jets-7")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 400.*GeV\n"
             elif(parameterName.find("Run-I-Jets-8")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 700.*GeV\n"
             elif(parameterName.find("Run-II-Jets-0")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 15.\n"
             elif(parameterName.find("Run-II-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 25.\n"
             elif(parameterName.find("Run-II-Jets-2")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 40.\n"
             elif(parameterName.find("Run-II-Jets-3")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 60.\n"
             elif(parameterName.find("Run-II-Jets-4")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 85.\n"
             elif(parameterName.find("Run-II-Jets-5")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 110.\n"
             elif(parameterName.find("Run-II-Jets-6")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 160.\n"
             elif(parameterName.find("Run-II-Jets-7")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 250.\n"
             elif(parameterName.find("Run-II-Jets-8")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 100.*GeV\n"
             elif(parameterName.find("Run-II-Jets-9")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 300.*GeV\n"
             elif(parameterName.find("900-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 10.\n"
             elif(parameterName.find("300-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 6.\n"
             elif(parameterName.find("630-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.\n"
             elif(parameterName.find("630-Jets-2")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 40.\n"
             elif(parameterName.find("630-Jets-3")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 75.\n"
             elif(parameterName.find("900-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 10.\n"
         elif(parameterName.find("Run-I-WZ")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p pbar e+ e-\ndo Factory:Process p pbar e+ nu\ndo Factory:Process p pbar e- nu\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("Run-I-W")>=0 or parameterName.find("Run-II-W")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p pbar e+ nu\ndo Factory:Process p pbar e- nu\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("Run-I-Z")>=0 or parameterName.find("Run-II-Z-e")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p pbar e+ e-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("Run-II-Z-LowMass-mu")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p pbar mu+ mu-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 25*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 70*GeV\n"
         elif(parameterName.find("Run-II-Z-HighMass-mu")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p pbar mu+ mu-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 150.*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 600*GeV\n"
         elif(parameterName.find("Run-II-Z-mu")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p pbar mu+ mu-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
 # Star
 elif(collider=="Star" ) :
     process = "set /Herwig/Decays/DecayHandler:LifeTimeOption 0\n"
     process+= "set /Herwig/Decays/DecayHandler:MaxLifeTime 10*mm\n"
     process+= "set /Herwig/Generators/EventGenerator:EventHandler:BeamB /Herwig/Particles/p+\n"
     process+= "set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 200.0\n"
     process+= "set /Herwig/Cuts/QCDCuts:X2Min 0.01\n"
     if(simulation=="") :
         if(parameterName.find("UE")>=0) :
             process += "insert SimpleQCD:MatrixElements[0] MEMinBias\n"
             process += "set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             process += "set /Herwig/Generators/EventGenerator:EventHandler:Cuts /Herwig/Cuts/MinBiasCuts\n"
             process += "create Herwig::MPIXSecReweighter /Herwig/Generators/MPIXSecReweighter\n"
             process += "insert /Herwig/Generators/EventGenerator:EventHandler:PostSubProcessHandlers 0 /Herwig/Generators/MPIXSecReweighter\n"
         else :
             process+="insert SimpleQCD:MatrixElements[0] MEQCD2to2\n"
             process+="set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             if(parameterName.find("Jets-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 2.\n"
             elif(parameterName.find("Jets-2")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 5.\n"
             elif(parameterName.find("Jets-3")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
             elif(parameterName.find("Jets-4")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 25.\n"
     else :
         logging.error("Star not supported for %s " % simulation)
         sys.exit(1)
 # ISR and SppS
 elif(collider=="ISR" or collider =="SppS" ) :
     process="set /Herwig/Decays/DecayHandler:LifeTimeOption 0\n"
     process+="set /Herwig/Decays/DecayHandler:MaxLifeTime 10*mm\n"
     if(collider=="SppS") :
         process ="set /Herwig/Generators/EventGenerator:EventHandler:BeamB /Herwig/Particles/pbar-\n"
     if(parameterName.find("30")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 30.4\n"
     elif(parameterName.find("44")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 44.4\n"
     elif(parameterName.find("53")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 53.0\n"
     elif(parameterName.find("62")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 62.2\n"
     elif(parameterName.find("63")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 63.0\n"
     elif(parameterName.find("200")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 200.0\n"
     elif(parameterName.find("500")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 500.0\n"
     elif(parameterName.find("546")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 546.0\n"
     elif(parameterName.find("900")>=0) :
         process+="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 900.0\n"
     if(simulation=="") :
         process += "insert SimpleQCD:MatrixElements[0] MEMinBias\n"
         process += "set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
         process += "set /Herwig/Generators/EventGenerator:EventHandler:Cuts /Herwig/Cuts/MinBiasCuts\n"
         process += "create Herwig::MPIXSecReweighter /Herwig/Generators/MPIXSecReweighter\n"
         process += "insert /Herwig/Generators/EventGenerator:EventHandler:PostSubProcessHandlers 0 /Herwig/Generators/MPIXSecReweighter\n"
     else :
         logging.error(" SppS and ISR not supported for %s " % simulation)
         sys.exit(1)
 # LHC
 elif(collider=="LHC") :
     if(parameterName.find("7-")==0) :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 7000.0\n"
     elif(parameterName.find("8-")==0) :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 8000.0\n"
     elif(parameterName.find("13-")==0) :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 13000.0\n"
     elif(parameterName.find("900")==0) :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 900.0\n"
     elif(parameterName.find("2360")==0) :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 2360.0\n"
     elif(parameterName.find("2760")==0) :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 2760.0\n"
     else :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 7000.0\n"
     if(simulation=="") :
         if(parameterName.find("8-VBF")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2HiggsVBF\n"
         elif(parameterName.find("VBF")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->tau-,tau+;\n"
             process+="set /Herwig/Particles/tau-:Stable Stable\n"
             process+="insert SimpleQCD:MatrixElements[0] MEPP2HiggsVBF\n"
         elif(parameterName.find("ggHJet")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->tau-,tau+;\n"
             process+="set /Herwig/Particles/tau-:Stable Stable\n"
             process+="insert SimpleQCD:MatrixElements[0] MEHiggsJet\n"
         elif(parameterName.find("8-ggH")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEHiggs\n"
             process+="insert SimpleQCD:MatrixElements[0] MEHiggsJet\n"
             process+="set MEHiggsJet:Process qqbar\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("ggH")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->tau-,tau+;\n"
             process+="set /Herwig/Particles/tau-:Stable Stable\n"
             process+="insert SimpleQCD:MatrixElements[0] MEHiggs\n"
             process+="insert SimpleQCD:MatrixElements[0] MEHiggsJet\n"
             process+="set MEHiggsJet:Process qqbar\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("PromptPhoton")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaJet\n"
             if(parameterName.find("PromptPhoton-1")>=0) :
                 process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             elif(parameterName.find("PromptPhoton-2")>=0) :
                 process+="set /Herwig/Cuts/PhotonKtCut:MinKT 25.\n"
             elif(parameterName.find("PromptPhoton-3")>=0) :
                 process+="set /Herwig/Cuts/PhotonKtCut:MinKT 80.\n"
             elif(parameterName.find("PromptPhoton-4")>=0) :
                 process+="set /Herwig/Cuts/PhotonKtCut:MinKT 150.\n"
         elif(parameterName.find("DiPhoton-GammaGamma")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaGamma\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             parameterName=parameterName.replace("-GammaGamma","")
         elif(parameterName.find("DiPhoton-GammaJet")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaJet\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             parameterName=parameterName.replace("-GammaJet","")
         elif(parameterName.find("8-WH")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2WH\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("8-ZH")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2ZH\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("WH")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->b,bbar;\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes W+->nu_e,e+; W+->nu_mu,mu+;\n"
             process+="insert SimpleQCD:MatrixElements[0] MEPP2WH\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("ZH")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->b,bbar;\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes Z0->e-,e+; Z0->mu-,mu+;\n"
             process+="insert SimpleQCD:MatrixElements[0] MEPP2ZH\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("UE")>=0) :
             process += "insert SimpleQCD:MatrixElements[0] MEMinBias\n"
             process += "set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             process += "set /Herwig/Generators/EventGenerator:EventHandler:Cuts /Herwig/Cuts/MinBiasCuts\n"
             process += "create Herwig::MPIXSecReweighter /Herwig/Generators/MPIXSecReweighter\n"
             process += "insert /Herwig/Generators/EventGenerator:EventHandler:PostSubProcessHandlers 0 /Herwig/Generators/MPIXSecReweighter\n"
             if(parameterName.find("Long")>=0) :
                 process += "set /Herwig/Decays/DecayHandler:MaxLifeTime 100*mm\n"
         elif(parameterName.find("7-Jets")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEQCD2to2\n"
             process+="set MEQCD2to2:MaximumFlavour 5\n"
             process+="set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             if(parameterName.find("7-Jets-0")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 5.\n"
             elif(parameterName.find("7-Jets-10")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 200.*GeV\n"
             elif(parameterName.find("7-Jets-11")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 600.*GeV\n"
             elif(parameterName.find("7-Jets-12")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 1000.*GeV\n"
             elif(parameterName.find("7-Jets-13")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 1600.*GeV\n"
             elif(parameterName.find("7-Jets-14")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 2200.*GeV\n"
             elif(parameterName.find("7-Jets-15")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 2800.*GeV\n"
             elif(parameterName.find("7-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 10.\n"
             elif(parameterName.find("7-Jets-2")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
             elif(parameterName.find("7-Jets-3")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 40.\n"
             elif(parameterName.find("7-Jets-4")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 70.\n"
             elif(parameterName.find("7-Jets-5")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 150.\n"
             elif(parameterName.find("7-Jets-6")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 200.\n"
             elif(parameterName.find("7-Jets-7")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 300.\n"
             elif(parameterName.find("7-Jets-8")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 500.\n"
             elif(parameterName.find("7-Jets-9")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 90.*GeV\n"
         elif(parameterName.find("7-Charm")>=0 or \
              parameterName.find("7-Bottom")>=0) :
             if(parameterName.find("7-Bottom")>=0) :
                 process+="cp MEHeavyQuark MEBottom\n" 
                 process+="set MEBottom:QuarkType Bottom\n"
                 process+="insert SimpleQCD:MatrixElements[0] MEBottom\n"
             else : 
                 process+="cp MEHeavyQuark MECharm\n" 
                 process+="set MECharm:QuarkType Charm\n"
                 process+="insert SimpleQCD:MatrixElements[0] MECharm\n"
             process+="set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             if(parameterName.find("7-Heavy-0")>=0) :
                 if(parameterName.find("7-Bottom")>=0) :
                     process+="set MEBottom:Process Pair\n" 
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 0.\n"
             elif(parameterName.find("-1")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 5.\n"
             elif(parameterName.find("-2")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 20.\n"
             elif(parameterName.find("-3")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 50.\n"
             elif(parameterName.find("-4")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 80.\n"
             elif(parameterName.find("-5")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 110.\n"
             elif(parameterName.find("-6")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 90.*GeV\n"
             elif(parameterName.find("-7")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 340.*GeV\n"
             elif(parameterName.find("-8")>=0) :
                 process+="set /Herwig/Cuts/JetKtCut:MinKT 30.\n"
                 process+="set /Herwig/Cuts/QCDCuts:MHatMin 500.*GeV\n"
         elif(parameterName.find("Top-L")>=0) :
             process+="set MEHeavyQuark:QuarkType Top\n"
             process+="insert SimpleQCD:MatrixElements[0] MEHeavyQuark\n"
             process+="do /Herwig/Particles/t:SelectDecayModes t->nu_e,e+,b; t->nu_mu,mu+,b;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("Top-SL")>=0) :
             process+="set MEHeavyQuark:QuarkType Top\n"
             process+="insert SimpleQCD:MatrixElements[0] MEHeavyQuark\n"
             process+="set /Herwig/Particles/t:Synchronized Not_synchronized\n"
             process+="set /Herwig/Particles/tbar:Synchronized Not_synchronized\n"
             process+="do /Herwig/Particles/t:SelectDecayModes t->nu_e,e+,b; t->nu_mu,mu+,b;\n"
             process+="do /Herwig/Particles/tbar:SelectDecayModes tbar->b,bbar,cbar; tbar->bbar,cbar,d; tbar->bbar,cbar,s; tbar->bbar,s,ubar; tbar->bbar,ubar,d;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("Top-All")>=0) :
             process+="set MEHeavyQuark:QuarkType Top\n"
             process+="insert SimpleQCD:MatrixElements[0] MEHeavyQuark\n"
         elif(parameterName.find("WZ")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2VV\nset MEPP2VV:Process WZ\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+; /Herwig/Particles/W+/W+->nu_mu,mu+;\n"
             process+="do /Herwig/Particles/W-:SelectDecayModes /Herwig/Particles/W-/W-->nu_ebar,e-; /Herwig/Particles/W-/W-->nu_mubar,mu-;\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("WW-emu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2VV\nset MEPP2VV:Process WW\n"
             process+="set /Herwig/Particles/W+:Synchronized 0\n"
             process+="set /Herwig/Particles/W-:Synchronized 0\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+;\n"
             process+="do /Herwig/Particles/W-:SelectDecayModes /Herwig/Particles/W-/W-->nu_mubar,mu-;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("WW-ll")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2VV\nset MEPP2VV:Process WW\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+; /Herwig/Particles/W+/W+->nu_mu,mu+; /Herwig/Particles/W+/W+->nu_tau,tau+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("ZZ-ll")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2VV\nset MEPP2VV:Process ZZ\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+; /Herwig/Particles/Z0/Z0->tau-,tau+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("ZZ-lv")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2VV\nset MEPP2VV:Process ZZ\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+; /Herwig/Particles/Z0/Z0->tau-,tau+; /Herwig/Particles/Z0/Z0->nu_e,nu_ebar; /Herwig/Particles/Z0/Z0->nu_mu,nu_mubar; /Herwig/Particles/Z0/Z0->nu_tau,nu_taubar;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("W-Z-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
             process+="insert SimpleQCD:MatrixElements[0] MEqq2W2ff\nset MEqq2W2ff:Process Electron\n"
         elif(parameterName.find("W-Z-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
             process+="insert SimpleQCD:MatrixElements[0] MEqq2W2ff\nset MEqq2W2ff:Process Muon\n"
         elif(parameterName.find("W-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2W2ff\nset MEqq2W2ff:Process Electron\n"
         elif(parameterName.find("W-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2W2ff\nset MEqq2W2ff:Process Muon\n"
         elif(parameterName.find("Z-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
         elif(parameterName.find("Z-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
         elif(parameterName.find("Z-LowMass-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
             process+="set /Herwig/Cuts/QCDCuts:MHatMin 20.*GeV\nset /Herwig/Cuts/MassCut:MinM 20.*GeV\nset /Herwig/Cuts/MassCut:MaxM 70.*GeV\n"
         elif(parameterName.find("Z-MedMass-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
             process+="set /Herwig/Cuts/QCDCuts:MHatMin 40.*GeV\nset /Herwig/Cuts/MassCut:MinM 40.*GeV\nset /Herwig/Cuts/MassCut:MaxM 130.*GeV\n"
         elif(parameterName.find("Z-LowMass-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
             process+="set /Herwig/Cuts/QCDCuts:MHatMin 10.*GeV\nset /Herwig/Cuts/MassCut:MinM 10.*GeV\nset /Herwig/Cuts/MassCut:MaxM 70.*GeV\n"
+        elif(parameterName.find("Z-Mass1")>=0) :
+            process+="set /Herwig/Cuts/QCDCuts:MHatMin 10.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MinM 10.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MaxM 35.*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
+            else :
+                process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
+        elif(parameterName.find("Z-Mass2")>=0) :
+            process+="set /Herwig/Cuts/QCDCuts:MHatMin 25.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MinM 25.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MaxM 70.*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
+            else :
+                process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
+        elif(parameterName.find("Z-Mass3")>=0) :
+            process+="set /Herwig/Cuts/QCDCuts:MHatMin 60.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MinM 60.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MaxM 120.*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
+            else :
+                process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
+        elif(parameterName.find("Z-Mass4")>=0) :
+            process+="set /Herwig/Cuts/QCDCuts:MHatMin 110.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MinM 110.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MaxM 8000.*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Electron\n"
+            else :
+                process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
         elif(parameterName.find("W-Jet")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEWJet\nset MEWJet:WDecay Electron\n"
             if(parameterName.find("W-Jet-1-e")>=0) :
                 process+="set /Herwig/Cuts/WBosonKtCut:MinKT 100.0*GeV\n"
                 parameterName=parameterName.replace("W-Jet-1-e","W-Jet-e")
             elif(parameterName.find("W-Jet-2-e")>=0) :
                 process+="set /Herwig/Cuts/WBosonKtCut:MinKT 190.0*GeV\n"
                 parameterName=parameterName.replace("W-Jet-2-e","W-Jet-e")
             elif(parameterName.find("W-Jet-3-e")>=0) :
                 process+="set /Herwig/Cuts/WBosonKtCut:MinKT 270.0*GeV\n"
                 parameterName=parameterName.replace("W-Jet-3-e","W-Jet-e")
         elif(parameterName.find("Z-Jet")>=0) :
             if(parameterName.find("-e")>=0) :
                 process+="insert SimpleQCD:MatrixElements[0] MEZJet\nset MEZJet:ZDecay Electron\n"
                 if(parameterName.find("Z-Jet-0-e")>=0) :
                     process+="set /Herwig/Cuts/ZBosonKtCut:MinKT 35.0*GeV\n"
                     parameterName=parameterName.replace("Z-Jet-0-e","Z-Jet-e")
                 elif(parameterName.find("Z-Jet-1-e")>=0) :
                     process+="set /Herwig/Cuts/ZBosonKtCut:MinKT 100.0*GeV\n"
                     parameterName=parameterName.replace("Z-Jet-1-e","Z-Jet-e")
                 elif(parameterName.find("Z-Jet-2-e")>=0) :
                     process+="set /Herwig/Cuts/ZBosonKtCut:MinKT 190.0*GeV\n"
                     parameterName=parameterName.replace("Z-Jet-2-e","Z-Jet-e")
                 elif(parameterName.find("Z-Jet-3-e")>=0) :
                     process+="set /Herwig/Cuts/ZBosonKtCut:MinKT 270.0*GeV\n"
                     parameterName=parameterName.replace("Z-Jet-3-e","Z-Jet-e")
             else :
                 process+="insert SimpleQCD:MatrixElements[0] MEZJet\nset MEZJet:ZDecay Muon\n"
                 process+="set /Herwig/Cuts/ZBosonKtCut:MinKT 35.0*GeV\n"
                 parameterName=parameterName.replace("Z-Jet-0-mu","Z-Jet-mu")
         elif(parameterName.find("WGamma")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2VGamma\nset MEPP2VGamma:Process 1\nset MEPP2VGamma:MassOption 1\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 10.\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
             if(parameterName.find("-e")>=0) :
                 process+="do /Herwig/Particles/W+:SelectDecayModes W+->nu_e,e+;\n"
             else :
                 process+="do /Herwig/Particles/W+:SelectDecayModes W+->nu_mu,mu+;\n"
         elif(parameterName.find("ZGamma")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEPP2VGamma\nset MEPP2VGamma:Process 2\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 10.\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
             if(parameterName.find("-e")>=0) :
                 process+="do /Herwig/Particles/Z0:SelectDecayModes Z0->e-,e+;\n"
             else :
                 process+="do /Herwig/Particles/Z0:SelectDecayModes Z0->mu-,mu+;\n"
         else :
             logging.error(" Process %s not supported for internal matrix elements" % name)
             sys.exit(1)
     elif(simulation=="Powheg") :
         if(parameterName.find("8-VBF")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2HiggsVBF\n"
         elif(parameterName.find("VBF")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->tau-,tau+;\n"
             process+="set /Herwig/Particles/tau-:Stable Stable\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2HiggsVBF\n"
         elif(parameterName.find("ggHJet")>=0) :
             logging.error(" Process %s not supported for POWHEG matrix elements" % name)
             sys.exit(1)
         elif(parameterName.find("8-ggH")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEHiggs\n"
         elif(parameterName.find("ggH")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->tau-,tau+;\n"
             process+="set /Herwig/Particles/tau-:Stable Stable\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEHiggs\n"
         elif(parameterName.find("8-WH")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2WH\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("8-ZH")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2ZH\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("WH")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->b,bbar;\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes W+->nu_e,e+; W+->nu_mu,mu+;\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2WH\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("ZH")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->b,bbar;\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes Z0->e-,e+; Z0->mu-,mu+;\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2ZH\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 0.0*GeV\n"
         elif(parameterName.find("UE")>=0) :
             logging.error(" Process %s not supported for powheg matrix elements" % name)
             sys.exit(1)
         elif(parameterName.find("WZ")>=0) :
             process+="create Herwig::HwDecayHandler /Herwig/NewPhysics/DecayHandler\n"
             process+="set /Herwig/NewPhysics/DecayHandler:NewStep No\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 0 /Herwig/Particles/tau-\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 1 /Herwig/Particles/tau+\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PreCascadeHandlers 0 /Herwig/NewPhysics/DecayHandler\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2VV\nset PowhegMEPP2VV:Process WZ\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+; /Herwig/Particles/W+/W+->nu_mu,mu+;\n"
             process+="do /Herwig/Particles/W-:SelectDecayModes /Herwig/Particles/W-/W-->nu_ebar,e-; /Herwig/Particles/W-/W-->nu_mubar,mu-;\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("WW-emu")>=0) :
             process+="create Herwig::HwDecayHandler /Herwig/NewPhysics/DecayHandler\n"
             process+="set /Herwig/NewPhysics/DecayHandler:NewStep No\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 0 /Herwig/Particles/tau-\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 1 /Herwig/Particles/tau+\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PreCascadeHandlers 0 /Herwig/NewPhysics/DecayHandler\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2VV\nset PowhegMEPP2VV:Process WW\n"
             process+="set /Herwig/Particles/W+:Synchronized 0\n"
             process+="set /Herwig/Particles/W-:Synchronized 0\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+;\n"
             process+="do /Herwig/Particles/W-:SelectDecayModes /Herwig/Particles/W-/W-->nu_mubar,mu-;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("WW-ll")>=0) :
             process+="create Herwig::HwDecayHandler /Herwig/NewPhysics/DecayHandler\n"
             process+="set /Herwig/NewPhysics/DecayHandler:NewStep No\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 0 /Herwig/Particles/tau-\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 1 /Herwig/Particles/tau+\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PreCascadeHandlers 0 /Herwig/NewPhysics/DecayHandler\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2VV\nset PowhegMEPP2VV:Process WW\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+; /Herwig/Particles/W+/W+->nu_mu,mu+; /Herwig/Particles/W+/W+->nu_tau,tau+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("ZZ-ll")>=0) :
             process+="create Herwig::HwDecayHandler /Herwig/NewPhysics/DecayHandler\n"
             process+="set /Herwig/NewPhysics/DecayHandler:NewStep No\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 0 /Herwig/Particles/tau-\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 1 /Herwig/Particles/tau+\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PreCascadeHandlers 0 /Herwig/NewPhysics/DecayHandler\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2VV\nset PowhegMEPP2VV:Process ZZ\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+; /Herwig/Particles/Z0/Z0->tau-,tau+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("ZZ-lv")>=0) :
             process+="create Herwig::HwDecayHandler /Herwig/NewPhysics/DecayHandler\n"
             process+="set /Herwig/NewPhysics/DecayHandler:NewStep No\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 0 /Herwig/Particles/tau-\n"
             process+="insert /Herwig/NewPhysics/DecayHandler:Excluded 1 /Herwig/Particles/tau+\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PreCascadeHandlers 0 /Herwig/NewPhysics/DecayHandler\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEPP2VV\nset PowhegMEPP2VV:Process ZZ\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+; /Herwig/Particles/Z0/Z0->tau-,tau+; /Herwig/Particles/Z0/Z0->nu_e,nu_ebar; /Herwig/Particles/Z0/Z0->nu_mu,nu_mubar; /Herwig/Particles/Z0/Z0->nu_tau,nu_taubar;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("W-Z-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2W2ff\nset PowhegMEqq2W2ff:Process Electron\n"
         elif(parameterName.find("W-Z-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEqq2gZ2ff\nset MEqq2gZ2ff:Process Muon\n"
             process+="insert SimpleQCD:MatrixElements[0] MEqq2W2ff\nset MEqq2W2ff:Process Muon\n"
         elif(parameterName.find("W-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2W2ff\nset PowhegMEqq2W2ff:Process Electron\n"
         elif(parameterName.find("W-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2W2ff\nset PowhegMEqq2W2ff:Process Muon\n"
         elif(parameterName.find("Z-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
         elif(parameterName.find("Z-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
         elif(parameterName.find("Z-LowMass-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
             process+="set /Herwig/Cuts/QCDCuts:MHatMin 20.*GeV\nset /Herwig/Cuts/MassCut:MinM 20.*GeV\nset /Herwig/Cuts/MassCut:MaxM 70.*GeV\n"
         elif(parameterName.find("Z-MedMass-e")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
             process+="set /Herwig/Cuts/QCDCuts:MHatMin 40.*GeV\nset /Herwig/Cuts/MassCut:MinM 40.*GeV\nset /Herwig/Cuts/MassCut:MaxM 130.*GeV\n"
         elif(parameterName.find("Z-LowMass-mu")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
             process+="set /Herwig/Cuts/QCDCuts:MHatMin 10.*GeV\nset /Herwig/Cuts/MassCut:MinM 10.*GeV\nset /Herwig/Cuts/MassCut:MaxM 70.*GeV\n"
+        elif(parameterName.find("Z-Mass1")>=0) :
+            process+="set /Herwig/Cuts/QCDCuts:MHatMin 10.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MinM 10.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MaxM 35.*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
+            else :
+                process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
+        elif(parameterName.find("Z-Mass2")>=0) :
+            process+="set /Herwig/Cuts/QCDCuts:MHatMin 25.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MinM 25.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MaxM 70.*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
+            else :
+                process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
+        elif(parameterName.find("Z-Mass3")>=0) :
+            process+="set /Herwig/Cuts/QCDCuts:MHatMin 60.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MinM 60.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MaxM 120.*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
+            else :
+                process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
+        elif(parameterName.find("Z-Mass4")>=0) :
+            process+="set /Herwig/Cuts/QCDCuts:MHatMin 110.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MinM 110.*GeV\n"
+            process+="set /Herwig/Cuts/MassCut:MaxM 8000.*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Electron\n"
+            else :
+                process+="insert SimpleQCD:MatrixElements[0] PowhegMEqq2gZ2ff\nset PowhegMEqq2gZ2ff:Process Muon\n"
         elif(parameterName.find("DiPhoton-GammaGamma")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaGammaPowheg\n"
             process+="set MEGammaGammaPowheg:Process GammaGamma\n"
             process+="insert SimpleQCD:MatrixElements[0] MEGammaGamma\n"
             process+="set MEGammaGamma:Process gg\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 5.\n"
             parameterName=parameterName.replace("-GammaGamma","")
         elif(parameterName.find("DiPhoton-GammaJet")>=0) :
             process+="insert SimpleQCD:MatrixElements[0] MEGammaGammaPowheg\n"
             process+="set MEGammaGammaPowheg:Process VJet\n"
             process+="set /Herwig/Cuts/PhotonKtCut:MinKT 5.\n"
             process+="set /Herwig/Cuts/JetKtCut:MinKT 5.\n"
             parameterName=parameterName.replace("-GammaJet","")
         else :
             logging.error(" Process %s not supported for internal POWHEG matrix elements" % name)
             sys.exit(1)
             
     elif(simulation=="Matchbox" ) :
         if(parameterName.find("8-VBF")>=0) :
             parameters["nlo"] = "read Matchbox/VBFNLO.in\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 3\n"
             process+="insert Factory:DiagramGenerator:RestrictLines 0 /Herwig/Particles/Z0\n"
             process+="insert Factory:DiagramGenerator:RestrictLines 0 /Herwig/Particles/W+\n"
             process+="insert Factory:DiagramGenerator:RestrictLines 0 /Herwig/Particles/W-\n"
             process+="insert Factory:DiagramGenerator:RestrictLines 0 /Herwig/Particles/gamma\n"
             process+="do Factory:DiagramGenerator:TimeLikeRange 0 0\n"
             process+="do Factory:Process p p h0 j j\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 125.7\n"
             if(parameterName.find("GammaGamma")>=0) :
                process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
                process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("VBF")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->tau-,tau+;\n"
             process+="set /Herwig/Particles/tau-:Stable Stable\n"
             parameters["nlo"] = "read Matchbox/VBFNLO.in\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 3\n"
             process+="insert Factory:DiagramGenerator:RestrictLines 0 /Herwig/Particles/Z0\n"
             process+="insert Factory:DiagramGenerator:RestrictLines 0 /Herwig/Particles/W+\n"
             process+="insert Factory:DiagramGenerator:RestrictLines 0 /Herwig/Particles/W-\n"
             process+="insert Factory:DiagramGenerator:RestrictLines 0 /Herwig/Particles/gamma\n"
             process+="do Factory:DiagramGenerator:TimeLikeRange 0 0\n"
             process+="do Factory:Process p p h0 j j\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 125.7\n"
         elif(parameterName.find("ggHJet")>=0) :
             parameters["nlo"] = "read Matchbox/MadGraph-GoSam.in\nread Matchbox/HiggsEffective.in\n"
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->tau-,tau+;\n"
             process+="set /Herwig/Particles/tau-:Stable Stable\n"
             process+="set Factory:OrderInAlphaS 3\nset Factory:OrderInAlphaEW 1\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="do Factory:Process p p h0 j\n"
             process+="set /Herwig/Cuts/Cuts:JetFinder /Herwig/Cuts/JetFinder\n"
             process+="insert /Herwig/Cuts/Cuts:MultiCuts 0 /Herwig/Cuts/JetCuts\n"
             process+="insert /Herwig/Cuts/JetCuts:JetRegions 0 /Herwig/Cuts/FirstJet\n"
             process+="set /Herwig/Cuts/FirstJet:PtMin 20.\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 125.7\n"
         elif(parameterName.find("8-ggH")>=0) :
             parameters["nlo"] = "read Matchbox/MadGraph-GoSam.in\nread Matchbox/HiggsEffective.in\n"
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 1\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="do Factory:Process p p h0\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 125.7\n"
             if(parameterName.find("GammaGamma")>=0) :
                process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
                process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("ggH")>=0) :
             parameters["nlo"] = "read Matchbox/MadGraph-GoSam.in\nread Matchbox/HiggsEffective.in\n"
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->tau-,tau+;\n"
             process+="set /Herwig/Particles/tau-:Stable Stable\n"
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 1\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="do Factory:Process p p h0\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 125.7\n"
         elif(parameterName.find("8-WH")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="do Factory:Process p p W+ h0\n"
             process+="do Factory:Process p p W- h0\n"
             process+="set /Herwig/Particles/W+:HardProcessWidth 0.\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 125.7\n"
             if(parameterName.find("GammaGamma")>=0) :
                process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
                process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("8-ZH")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="set /Herwig/Particles/Z0:HardProcessWidth 0.\n"
             process+="do Factory:Process p p Z0 h0\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 125.7\n"
             if(parameterName.find("GammaGamma")>=0) :
                process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
                process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("WH")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->b,bbar;\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 3\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="do Factory:Process p p e+ nu h0\n"
             process+="do Factory:Process p p e- nu h0\n"
             process+="do Factory:Process p p mu+ nu h0\n"
             process+="do Factory:Process p p mu- nu h0\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("ZH")>=0) :
             process+="do /Herwig/Particles/h0:SelectDecayModes h0->b,bbar;\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 3\n"
             process+="set /Herwig/Particles/h0:HardProcessWidth 0.\n"
             process+="do Factory:Process p p e+ e- h0\n"
             process+="do Factory:Process p p mu+ mu- h0\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("UE")>=0) :
             logging.error(" Process %s not supported for Matchbox matrix elements" % name)
             sys.exit(1)
         elif(parameterName.find("7-Jets")>=0) :
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 0\n"
             process+="do Factory:Process p p j j\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/MaxJetPtScale\n"
             process+="set  /Herwig/Cuts/Cuts:JetFinder  /Herwig/Cuts/JetFinder\n"
             process+="insert  /Herwig/Cuts/Cuts:MultiCuts 0  /Herwig/Cuts/JetCuts\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/FirstJet\n"
             process+="set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             if(parameterName.find("7-Jets-0")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 5.\n"
             elif(parameterName.find("7-Jets-10")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 15.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 200.*GeV\n"
             elif(parameterName.find("7-Jets-11")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 15.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 600.*GeV\n"
             elif(parameterName.find("7-Jets-12")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 15.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 1000.*GeV\n"
             elif(parameterName.find("7-Jets-13")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 15.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 1600.*GeV\n"
             elif(parameterName.find("7-Jets-14")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 15.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 2200.*GeV\n"
             elif(parameterName.find("7-Jets-15")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 15.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 2800.*GeV\n"
             elif(parameterName.find("7-Jets-1")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 10.\n"
             elif(parameterName.find("7-Jets-2")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.\n"
             elif(parameterName.find("7-Jets-3")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 40.\n"
             elif(parameterName.find("7-Jets-4")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 70.\n"
             elif(parameterName.find("7-Jets-5")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 150.\n"
             elif(parameterName.find("7-Jets-6")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 200.\n"
             elif(parameterName.find("7-Jets-7")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 300.\n"
             elif(parameterName.find("7-Jets-8")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 500.\n"
             elif(parameterName.find("7-Jets-9")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.*GeV\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 15.*GeV\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 90.*GeV\n"
         elif(parameterName.find("7-Charm")>=0 or \
              parameterName.find("7-Bottom")>=0) :
             parameters["bscheme"]="read Matchbox/FourFlavourScheme.in"
             process+="set /Herwig/Particles/b:HardProcessMass 4.2*GeV\n"
             process+="set /Herwig/Particles/bbar:HardProcessMass 4.2*GeV\n"
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 0\n"
             if(parameterName.find("7-Bottom")>=0) :
                 process+="do Factory:Process p p b bbar\n"
             else:
                 process+="do Factory:Process p p c cbar\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/MaxJetPtScale\n"
             process+="set  /Herwig/Cuts/Cuts:JetFinder  /Herwig/Cuts/JetFinder\n"
             process+="insert  /Herwig/Cuts/Cuts:MultiCuts 0  /Herwig/Cuts/JetCuts\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/FirstJet\n"
             process+="set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0\n"
             if(parameterName.find("-0")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 0.\n"
             elif(parameterName.find("-1")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 5.\n"
             elif(parameterName.find("-2")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 20.\n"
             elif(parameterName.find("-3")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 50.\n"
             elif(parameterName.find("-4")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 80.\n"
             elif(parameterName.find("-5")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 110.\n"
             elif(parameterName.find("-6")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 90.*GeV\n"
             elif(parameterName.find("-7")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 340.*GeV\n"
             elif(parameterName.find("-8")>=0) :
                 process+="insert /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 30.\n"
                 process+="set /Herwig/Cuts/SecondJet:PtMin 25.\n"
                 process+="create ThePEG::JetPairRegion /Herwig/Cuts/JetPairMass JetCuts.so\n"
                 process+="set /Herwig/Cuts/JetPairMass:FirstRegion /Herwig/Cuts/FirstJet\n"
                 process+="set /Herwig/Cuts/JetPairMass:SecondRegion /Herwig/Cuts/SecondJet\n"
                 process+="insert /Herwig/Cuts/JetCuts:JetPairRegions 0  /Herwig/Cuts/JetPairMass\n"
                 process+="set /Herwig/Cuts/JetPairMass:MassMin 500.*GeV\n"
         elif(parameterName.find("Top-L")>=0) :
             process+="set /Herwig/Particles/t:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/tbar:HardProcessWidth 0.*GeV\n"
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 0\n"
             process+="do Factory:Process p p t tbar\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/TopPairMTScale\n"
             process+="do /Herwig/Particles/t:SelectDecayModes t->nu_e,e+,b; t->nu_mu,mu+,b;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("Top-SL")>=0) :
             process+="set /Herwig/Particles/t:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/tbar:HardProcessWidth 0.*GeV\n"
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 0\n"
             process+="do Factory:Process p p t tbar\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/TopPairMTScale\n"
             process+="set /Herwig/Particles/t:Synchronized Not_synchronized\n"
             process+="set /Herwig/Particles/tbar:Synchronized Not_synchronized\n"
             process+="do /Herwig/Particles/t:SelectDecayModes t->nu_e,e+,b; t->nu_mu,mu+,b;\n"
             process+="do /Herwig/Particles/tbar:SelectDecayModes tbar->b,bbar,cbar; tbar->bbar,cbar,d; tbar->bbar,cbar,s; tbar->bbar,s,ubar; tbar->bbar,ubar,d;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
         elif(parameterName.find("Top-All")>=0) :
             process+="set /Herwig/Particles/t:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/tbar:HardProcessWidth 0.*GeV\n"
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 0\n"
             process+="do Factory:Process p p t tbar\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/TopPairMTScale\n"
         elif(parameterName.find("WZ")>=0) :
             process+="set /Herwig/Particles/W+:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/W-:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/Z0:HardProcessWidth 0.*GeV\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p W+ Z0\ndo Factory:Process p p W- Z0\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 171.6*GeV\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+; /Herwig/Particles/W+/W+->nu_mu,mu+;\n"
             process+="do /Herwig/Particles/W-:SelectDecayModes /Herwig/Particles/W-/W-->nu_ebar,e-; /Herwig/Particles/W-/W-->nu_mubar,mu-;\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("WW-emu")>=0) :
             process+="set /Herwig/Particles/W+:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/W-:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/Z0:HardProcessWidth 0.*GeV\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p W+ W-\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 160.8*GeV\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/Particles/W+:Synchronized 0\n"
             process+="set /Herwig/Particles/W-:Synchronized 0\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+;\n"
             process+="do /Herwig/Particles/W-:SelectDecayModes /Herwig/Particles/W-/W-->nu_mubar,mu-;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("WW-ll")>=0) :
             process+="set /Herwig/Particles/W+:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/W-:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/Z0:HardProcessWidth 0.*GeV\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p W+ W-\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 160.8*GeV\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="do /Herwig/Particles/W+:SelectDecayModes /Herwig/Particles/W+/W+->nu_e,e+; /Herwig/Particles/W+/W+->nu_mu,mu+; /Herwig/Particles/W+/W+->nu_tau,tau+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("ZZ-ll")>=0) :
             process+="set /Herwig/Particles/W+:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/W-:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/Z0:HardProcessWidth 0.*GeV\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p Z0 Z0\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 182.2*GeV\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+; /Herwig/Particles/Z0/Z0->tau-,tau+;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("ZZ-lv")>=0) :
             process+="set /Herwig/Particles/W+:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/W-:HardProcessWidth 0.*GeV\n"
             process+="set /Herwig/Particles/Z0:HardProcessWidth 0.*GeV\n"
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p Z0 Z0\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 182.2*GeV\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="do /Herwig/Particles/Z0:SelectDecayModes /Herwig/Particles/Z0/Z0->e-,e+; /Herwig/Particles/Z0/Z0->mu-,mu+; /Herwig/Particles/Z0/Z0->tau-,tau+; /Herwig/Particles/Z0/Z0->nu_e,nu_ebar; /Herwig/Particles/Z0/Z0->nu_mu,nu_mubar; /Herwig/Particles/Z0/Z0->nu_tau,nu_taubar;\n"
             process+="create Herwig::BranchingRatioReweighter /Herwig/Generators/BRReweighter\n"
             process+="insert /Herwig/Generators/EventGenerator:EventHandler:PostHadronizationHandlers 0 /Herwig/Generators/BRReweighter\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("W-Z-e")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\n"
             process+="do Factory:Process p p e+ e-\ndo Factory:Process p p e+ nu\ndo Factory:Process p p e- nu\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("W-Z-mu")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\n"
             process+="do Factory:Process p p mu+ mu-\ndo Factory:Process p p mu+ nu\ndo Factory:Process p p mu- nu\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("W-e")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ nu\ndo Factory:Process p p e- nu\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("W-mu")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p mu+ nu\ndo Factory:Process p p mu- nu\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("Z-e")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("Z-mu")>=0) :
             process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p mu+ mu-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("Z-jj")>=0) :
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 2\n"
             process+="do Factory:Process p p e+ e- j j\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set  /Herwig/Cuts/Cuts:JetFinder  /Herwig/Cuts/JetFinder\n"
             process+="insert  /Herwig/Cuts/Cuts:MultiCuts 0  /Herwig/Cuts/JetCuts\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/FirstJet\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
             process+="set /Herwig/Cuts/FirstJet:PtMin 40.*GeV\n"
             process+="set /Herwig/Cuts/SecondJet:PtMin 30.*GeV\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("Z-LowMass-e")>=0) :
-            process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
+            process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\n"
+            process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 20*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 70*GeV\n"
         elif(parameterName.find("Z-MedMass-e")>=0) :
-            process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
+            process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\n"
+            process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 40*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 130*GeV\n"
         elif(parameterName.find("Z-LowMass-mu")>=0) :
-            process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p mu+ mu-\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
+            process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p mu+ mu-\n"
+            process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 10*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 70*GeV\n"
+        elif(parameterName.find("Z-Mass1")>=0) :
+            process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
+            process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 10*GeV\n"
+            process+="set /Herwig/Cuts/LeptonPairMassCut:MaxMass 35*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\n"
+            else :
+                process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p mu+ mu-\n"
+        elif(parameterName.find("Z-Mass2")>=0) :
+            process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
+            process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 25*GeV\n"
+            process+="set /Herwig/Cuts/LeptonPairMassCut:MaxMass 70*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\n"
+            else :
+                process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p mu+ mu-\n"
+        elif(parameterName.find("Z-Mass3")>=0) :
+            process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
+            process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\n"
+            process+="set /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\n"
+            else :
+                process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p mu+ mu-\n"
+        elif(parameterName.find("Z-Mass4")>=0) :
+            process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale\n"
+            process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 115*GeV\n"
+            process+="set /Herwig/Cuts/LeptonPairMassCut:MaxMass 8000*GeV\n"
+            if(parameterName.find("-e")>=0) :
+                process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e-\n"
+            else :
+                process+="set Factory:OrderInAlphaS 0\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p mu+ mu-\n"
         elif(parameterName.find("W-Jet")>=0) :
             process+="set Factory:OrderInAlphaS 1\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ nu j\ndo Factory:Process p p e- nu j\n\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/HTScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
             process+="set /Herwig/Cuts/Cuts:JetFinder /Herwig/Cuts/JetFinder\n"
             process+="insert /Herwig/Cuts/Cuts:MultiCuts 0 /Herwig/Cuts/JetCuts\n"
             process+="insert /Herwig/Cuts/JetCuts:JetRegions 0 /Herwig/Cuts/FirstJet\n"
             if(parameterName.find("W-Jet-1-e")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 100.*GeV\n"
                 parameterName=parameterName.replace("W-Jet-1-e","W-Jet-e")
             elif(parameterName.find("W-Jet-2-e")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 190.0*GeV\n"
                 parameterName=parameterName.replace("W-Jet-2-e","W-Jet-e")
             elif(parameterName.find("W-Jet-3-e")>=0) :
                 process+="set /Herwig/Cuts/FirstJet:PtMin 270.0*GeV\n"
                 parameterName=parameterName.replace("W-Jet-3-e","W-Jet-e")
         elif(parameterName.find("Z-Jet")>=0) :
             process+="set Factory:OrderInAlphaS 1\nset Factory:OrderInAlphaEW 2\n"
             if(parameterName.find("-e")>=0) :
                 process+="do Factory:Process p p e+ e- j\n"
                 if(parameterName.find("Z-Jet-0-e")>=0) :
                     process+="set /Herwig/Cuts/FirstJet:PtMin 35.*GeV\n"
                     parameterName=parameterName.replace("Z-Jet-0-e","Z-Jet-e")
                 elif(parameterName.find("Z-Jet-1-e")>=0) :
                     process+="set /Herwig/Cuts/FirstJet:PtMin 100.*GeV\n"
                     parameterName=parameterName.replace("Z-Jet-1-e","Z-Jet-e")
                 elif(parameterName.find("Z-Jet-2-e")>=0) :
                     process+="set /Herwig/Cuts/FirstJet:PtMin 190.0*GeV\n"
                     parameterName=parameterName.replace("Z-Jet-2-e","Z-Jet-e")
                 elif(parameterName.find("Z-Jet-3-e")>=0) :
                     process+="set /Herwig/Cuts/FirstJet:PtMin 270.0*GeV\n"
                     parameterName=parameterName.replace("Z-Jet-3-e","Z-Jet-e")
             else :
                 process+="do Factory:Process p p mu+ mu- j\n"
                 process+="set /Herwig/Cuts/FirstJet:PtMin 35.*GeV\n"
                 parameterName=parameterName.replace("Z-Jet-0-mu","Z-Jet-mu")
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
             process+="set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/HTScale\n"
             process+="set /Herwig/Cuts/Cuts:JetFinder /Herwig/Cuts/JetFinder\n"
             process+="insert /Herwig/Cuts/Cuts:MultiCuts 0 /Herwig/Cuts/JetCuts\n"
             process+="insert /Herwig/Cuts/JetCuts:JetRegions 0 /Herwig/Cuts/FirstJet\n"
         elif(parameterName.find("Z-bb")>=0) :
             parameters["bscheme"]="read Matchbox/FourFlavourScheme.in"
             process+="set /Herwig/Particles/b:HardProcessMass 4.2*GeV\nset /Herwig/Particles/bbar:HardProcessMass 4.2*GeV\n"
             process+="set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e- b bbar\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 91.2*GeV\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 66*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 116*GeV\n"
             process+="set /Herwig/Cuts/Cuts:JetFinder /Herwig/Cuts/JetFinder\n"
             process+="insert  /Herwig/Cuts/Cuts:MultiCuts 0  /Herwig/Cuts/JetCuts\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/FirstJet\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/SecondJet\n"
             process+="set  /Herwig/Cuts/FirstJet:PtMin 18.*GeV\n"
             process+="set  /Herwig/Cuts/SecondJet:PtMin 15.*GeV\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         elif(parameterName.find("Z-b")>=0) :
             process+="do Factory:StartParticleGroup bjet\n"
             process+="insert Factory:ParticleGroup 0 /Herwig/Particles/b\n"
             process+="insert Factory:ParticleGroup 0 /Herwig/Particles/bbar\n"
             process+="do Factory:EndParticleGroup\n"
             process+="set Factory:OrderInAlphaS 1\nset Factory:OrderInAlphaEW 2\ndo Factory:Process p p e+ e- bjet\n"
             process+="set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 91.2*GeV\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
             process+="set /Herwig/Cuts/Cuts:JetFinder /Herwig/Cuts/JetFinder\n"
             process+="insert  /Herwig/Cuts/Cuts:MultiCuts 0  /Herwig/Cuts/JetCuts\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/FirstJet\n"
             process+="set  /Herwig/Cuts/FirstJet:PtMin 15.*GeV\n"
         elif(parameterName.find("W-b")>=0) :
             parameters["bscheme"]="read Matchbox/FourFlavourScheme.in"
             process += "set /Herwig/Particles/b:HardProcessMass 4.2*GeV\nset /Herwig/Particles/bbar:HardProcessMass 4.2*GeV\n"
             process += "set Factory:OrderInAlphaS 2\nset Factory:OrderInAlphaEW 2\n"
             process += "do Factory:Process p p e+  nu b bbar\ndo Factory:Process p p e-  nu b bbar\n"
             process += "do Factory:Process p p mu+ nu b bbar\ndo Factory:Process p p mu- nu b bbar\n"
             process += "set /Herwig/MatrixElements/Matchbox/Scales/FixedScale:FixedScale 80.4*GeV\nset Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/FixedScale\n"
             process+="set /Herwig/Cuts/Cuts:JetFinder /Herwig/Cuts/JetFinder\n"
             process+="insert  /Herwig/Cuts/Cuts:MultiCuts 0  /Herwig/Cuts/JetCuts\n"
             process+="insert  /Herwig/Cuts/JetCuts:JetRegions 0  /Herwig/Cuts/FirstJet\n"
             process+="set  /Herwig/Cuts/FirstJet:PtMin 30.*GeV\n"
             process+="set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV\nset /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV\n"
         else :
             logging.error(" Process %s not supported for Matchbox matrix elements" % name)
             sys.exit(1)
 # LHC-GammaGamma
 elif(collider=="LHC-GammaGamma" ) :
     if(parameterName.find("-7-")>=0) :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 7000.0\n"
     elif(parameterName.find("-8-")>=0) :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 8000.0\n"
     else :
         process="set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy 7000.0\n"
     if(simulation=="") :
         if(parameterName.find("7")>=0) :
             process += "insert SimpleQCD:MatrixElements 0 /Herwig/MatrixElements/MEgg2ff\n"
             process += "set /Herwig/MatrixElements/MEgg2ff:Process Muon\n"
         else :
             logging.error(" Process %s not supported for default matrix elements" % name)
             sys.exit(1)
     else :
         logging.error("LHC-GammaGamma not supported for %s " % simulation)
         sys.exit(1)
 
 
 parameters['parameterFile'] = os.path.join(collider,collider+"-"+parameterName+".in")
 parameters['runname'] = name
 parameters['process'] = process
 
 # write the file
 if(simulation=="Matchbox" ) :
     with open(os.path.join("Rivet",name+".in") ,'w') as f:
         f.write( template.substitute(parameters))
 else :
     with open(os.path.join("Rivet",name+".in") ,'w') as f:
         f.write( template.substitute(parameters))
 
 
 
 
 
 
diff --git a/Tests/python/merge-LHC-EW b/Tests/python/merge-LHC-EW
--- a/Tests/python/merge-LHC-EW
+++ b/Tests/python/merge-LHC-EW
@@ -1,157 +1,283 @@
 #! /usr/bin/env python
 import logging
 import sys
 import os, yoda
 
 """%prog
 
 Script for merging aida files
 
 """
 
+def fillAbove(scale,desthisto, sourcehistosbyptmin) :
+    pthigh= 1e100
+    ptlow =-1e100
+    for pt, h in sorted(sourcehistosbyptmin.iteritems(),reverse=True):
+        ptlow=pt
+        if(type(desthisto)==yoda.core.Scatter2D) :
+            for i in range(0,h.numPoints) :
+                xMin = h.points[i].x-h.points[i].xErrs.minus
+                if( xMin*scale >= ptlow and 
+                    xMin*scale <  pthigh ) :
+                    desthisto.addPoint(h.points[i])
+        elif(type(desthisto)==yoda.core.Profile1D) :
+            for i in range(0,h.numBins) :
+                if(h.bins[i].xMin*scale  >= ptlow and 
+                   h.bins[i].xMin*scale  <  pthigh ) :
+                    desthisto.bins[i] += h.bins[i]
+        elif(type(desthisto)==yoda.core.Histo1D) :
+            for i in range(0,h.numBins) :
+                if(h.bins[i].xMin*scale  >= ptlow and 
+                   h.bins[i].xMin*scale  <  pthigh ) :
+                    desthisto.bins[i] += h.bins[i]
+        else :
+            logging.error("Can't merge %s, unknown type" % desthisto.path)
+            sys.exit(1)
+        pthigh=pt
+
+def mergeByMass(hpath, sqrts, scale=1.):
+    global inhistos_mass
+    global outhistos
+    try:
+        fillAbove(scale,outhistos[hpath], inhistos_mass[hpath][float(sqrts)])
+    except:
+        pass
+
+def useOneMass(hpath, sqrts, ptmin):
+    global inhistos_mass
+    global outhistos
+    try:
+       ## Find best pT_min match
+        ptmins = inhistos_mass[hpath][float(sqrts)].keys()
+        closest_ptmin = None
+        for ptm in ptmins:
+            if closest_ptmin is None or \
+                    abs(ptm-float(ptmin)) < abs(closest_ptmin-float(ptmin)):
+                closest_ptmin = ptm
+        if closest_ptmin != float(ptmin):
+            logging.warning("Inexact match for requested pTmin=%s: " % ptmin + \
+                                "using pTmin=%e instead" % closest_ptmin)
+        outhistos[hpath] =  inhistos_mass[hpath][float(sqrts)][closest_ptmin]
+    except:
+        pass
+
 import sys
 if sys.version_info[:3] < (2,4,0):
     print "rivet scripts require Python version >= 2.4.0... exiting"
     sys.exit(1)
 
 if __name__ == "__main__":
     import logging
     from optparse import OptionParser, OptionGroup
     parser = OptionParser(usage="%prog aidafile aidafile2 [...]")
     parser.add_option("-o", "--out", dest="OUTFILE", default="-")
     verbgroup = OptionGroup(parser, "Verbosity control")
     verbgroup.add_option("-v", "--verbose", action="store_const", const=logging.DEBUG, dest="LOGLEVEL",
                          default=logging.INFO, help="print debug (very verbose) messages")
     verbgroup.add_option("-q", "--quiet", action="store_const", const=logging.WARNING, dest="LOGLEVEL",
                          default=logging.INFO, help="be very quiet")
     parser.add_option_group(verbgroup)
     (opts, args) = parser.parse_args()
     logging.basicConfig(level=opts.LOGLEVEL, format="%(message)s")
 
     ## Check args
     if len(args) < 1:
         logging.error("Must specify at least one AIDA histogram file")
         sys.exit(1)
 
     ## Get histos
     outhistos={}
+
+    inhistos_mass = {}
     for file in args:
-        print file
         if not os.access(file, os.R_OK):
             logging.error("%s can not be read" % file)
             break
         try:
             aos = yoda.read(file)
         except:
             logging.error("%s can not be parsed as XML" % file)
             break
+        mass=66
+        if(file.find("Mass1")>=0) :
+            mass = 12
+        elif(file.find("Mass2")>=0) :
+            mass = 30
+        elif(file.find("Mass3")>=0) :
+            mass = 66
+        elif(file.find("Mass4")>=0) :
+            mass = 116
         ## Get histos from this YODA file
         for aopath, ao in aos.iteritems() :
             if(aopath.find("ATLAS_2010_S8919674")>0) :
                 if((aopath.find("d01")>0 or aopath.find("d05")>0 or 
                     aopath.find("d07")>0) and file.find("-e")>0) : 
                     outhistos[aopath] = ao
                 elif((aopath.find("d02")>0 or aopath.find("d06")>0 or 
                       aopath.find("d08")>0) and file.find("-mu")>0) : 
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2011_S9131140")>0) :
                 if(aopath.find("d01")>0 and file.find("-e")>0) : 
                     outhistos[aopath] = ao
                 elif(aopath.find("d02")>0 and file.find("-mu")>0) : 
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2011_I925932")>0) :
                 if(aopath.find("d01")>0 and file.find("-e")>0) : 
                     outhistos[aopath] = ao
                 elif(aopath.find("d02")>0 and file.find("-mu")>0) : 
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2011_I945498")>0) :
                 if(aopath.find("y01")>0 and file.find("-e")>0) : 
                     outhistos[aopath] = ao
                 elif(aopath.find("y02")>0 and file.find("-mu")>0) : 
                     outhistos[aopath] = ao
                 elif(aopath.find("y03")>0 and file.find("-mu")>0) : 
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2013_I1217867")>0) :
                 if(aopath.find("y01")>0 and file.find("-e")>0) : 
                     outhistos[aopath] = ao
                 elif(aopath.find("y02")>0 and file.find("-mu")>0) : 
                     outhistos[aopath] = ao
             elif (aopath.find("CMS_2012_I941555")>0) :
                 if((aopath.find("y01")>0 or aopath.find("y03")>0 ) and file.find("-mu")>0) : 
                     outhistos[aopath] = ao
                 elif(aopath.find("y02")>0 and file.find("-e")>0) : 
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2014_I1300647" )>0) :
                 if(aopath.find("y01")>0 and file.find("-e")>0) : 
                     outhistos[aopath] = ao
                 elif((not aopath.find("y01")>0) and file.find("-mu")>0) :
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2014_I1288706" )>0) :
                 if(aopath.find("y02")>0 and file.find("-e")>0) : 
                     outhistos[aopath] = ao
                 elif(aopath.find("y01")>0 and file.find("-mu")>0) :
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2012_I1204784" )>0) :
                 if( file.find("-e")>0 and
                     ( aopath.find("d03")>0 or 
                       ((aopath.find("d01")>0 or aopath.find("d02")>0) and aopath.find("y01")>0))) : 
                     outhistos[aopath] = ao
                 elif(file.find("-mu")>0 and
                      ( aopath.find("d04")>0 or 
                        ((aopath.find("d01")>0 or aopath.find("d02")>0) and aopath.find("y02")>0))) : 
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2014_I1312627_EL") >0) :
                 if(file.find("-e")>0) :
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2014_I1312627_MU") >0) :
                 if(file.find("-mu")>0) :
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2014_I1312627") >0) :
                 if(file.find("-e")>0) :
                     outhistos[aopath] = ao
             elif (aopath.find("CMS_2013_I1224539_WJET" )>0) :
                 if(file.find("-1-e")>0 and (aopath.find("d52")>0 or aopath.find("d53")>0 or aopath.find("d56")>0 or aopath.find("d57")>0 or aopath.find("d60")>0 or aopath.find("d61")>0 or aopath.find("d64")>0 or aopath.find("d65")>0 or aopath.find("d68")>0 or aopath.find("d69")>0 or aopath.find("d72")>0)) :
                     outhistos[aopath] = ao
                 elif(file.find("-2-e")>0 and (aopath.find("d54")>0 or aopath.find("d58")>0 or aopath.find("d62")>0 or aopath.find("d66")>0 or aopath.find("d70")>0 or aopath.find("d73")>0)) :
                     outhistos[aopath] = ao
                 elif(file.find("-3-e")>0 and (aopath.find("d55")>0 or aopath.find("d59")>0 or aopath.find("d63")>0 or aopath.find("d67")>0 or aopath.find("d71")>0 or aopath.find("d74")>0)) :
                     outhistos[aopath] = ao
             elif (aopath.find("CMS_2013_I1224539_ZJET" )>0) :
                 if(file.find("-1-e")>0 and (aopath.find("d29")>0 or aopath.find("d30")>0 or aopath.find("d33")>0 or aopath.find("d34")>0 or aopath.find("d37")>0 or aopath.find("d38")>0 or aopath.find("d41")>0 or aopath.find("d42")>0 or aopath.find("d45")>0 or aopath.find("d46")>0 or aopath.find("d49")>0)) :
                     outhistos[aopath] = ao
                 elif(file.find("-2-e")>0 and (aopath.find("d31")>0 or aopath.find("d35")>0 or aopath.find("d39")>0 or aopath.find("d43")>0 or aopath.find("d47")>0 or aopath.find("d50")>0)) :
                     outhistos[aopath] = ao
                 elif(file.find("-3-e")>0 and (aopath.find("d32")>0 or aopath.find("d36")>0 or aopath.find("d40")>0 or aopath.find("d44")>0 or aopath.find("d48")>0 or aopath.find("d51")>0)) :
                     outhistos[aopath] = ao
             elif (aopath.find("CMS_2013_I1258128")>0) :
                 if(aopath.find("d01")>0 or aopath.find("d02")>0 or
                    aopath.find("d03")>0 or aopath.find("d04")>0) :
                     outhistos[aopath] = ao
             elif (aopath.find("CMS_2013_I1209721" )>0 and file.find("-0")>0 ) :
                 outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2011_I928289")>0) :
                 if(file.find("-e")>=0 and (aopath.find("y01")>=0 or aopath.find("y02")>=0)) :
                     outhistos[aopath] = ao
                 elif(file.find("-mu")>=0 and (aopath.find("y03")>=0 or aopath.find("y04")>=0)) :
                     outhistos[aopath] = ao
             elif (aopath.find("CMS_2013_I1122847")>0) :
                 if(file.find("-mu")>=0 and aopath.find("d01")>=0 ) :
                     outhistos[aopath] = ao
                 elif(file.find("-e")>=0 and (aopath.find("d02")>=0 or aopath.find("d03")>=0)) :
                     outhistos[aopath] = ao
             elif (aopath.find("ATLAS_2016_I1424838")>0) :
                 if(file.find("-mu")>=0 and aopath.find("x02")>=0 ) :
                     outhistos[aopath] = ao
                 elif(file.find("-e")>=0 and (aopath.find("x01")>=0)) :
                     outhistos[aopath] = ao
             elif (aopath.find("CMS_2015_I1310737")>0) :
                 if aopath in outhistos :
                     outhistos[aopath] += ao
                 else :
                     outhistos[aopath] = ao
+            elif (aopath.find("ATLAS_2015_I1351916")>=0) :
+                if(aopath.find("-y01")>=0) :
+                    pathBase = aopath.replace("-y01","")
+                    hp = aos[pathBase+"-y02"]
+                    hm = aos[pathBase+"-y03"]
+                    ratio = (hp-hm)/(hp+hm)
+                    hnew = yoda.Scatter2D(aopath,ao.title)
+                    hnew.combineWith(ratio)
+                    outhistos[aopath] = hnew
+                else :
+                    continue
+            elif (aopath.find("ATLAS_2015_I1408516")>=0) :
+                if not inhistos_mass.has_key(aopath):
+                    inhistos_mass[aopath] = {}
+                tmpE = inhistos_mass[aopath]
+                sqrts=8000
+                if not tmpE.has_key(sqrts):
+                    tmpE[sqrts] = {}
+                tmpP = tmpE[sqrts]
+                if not tmpP.has_key(mass):
+                    tmpP[mass] = ao
+                else:
+                    raise Exception("A set with mass = %s already exists" % ( mass))
             else :
                 outhistos[aopath] = ao
 
+    for hpath,hsets in inhistos_mass.iteritems():
+        if(hpath!="/ATLAS_2015_I1408516_EL/d41-x01-y01" and
+           hpath!="/ATLAS_2015_I1408516_MU/d41-x01-y02" ) :
+            continue
+        if(type(hsets.values()[0].values()[0])==yoda.core.Scatter2D) :
+            outhistos[hpath] = yoda.core.Scatter2D(hsets.values()[0].values()[0].path,
+                                                   hsets.values()[0].values()[0].title)
+        elif(type(hsets.values()[0].values()[0])==yoda.core.Profile1D) :
+            outhistos[hpath] = yoda.core.Profile1D(hsets.values()[0].values()[0].path,
+                                                   hsets.values()[0].values()[0].title)
+            for i in range(0,hsets.values()[0].values()[0].numBins) :
+                outhistos[hpath].addBin(hsets.values()[0].values()[0].bins[i].xMin,
+                                        hsets.values()[0].values()[0].bins[i].xMax)
+        elif(type(hsets.values()[0].values()[0])==yoda.core.Histo1D) :
+            outhistos[hpath] = yoda.core.Histo1D(hsets.values()[0].values()[0].path,
+                                                hsets.values()[0].values()[0].title)
+            for i in range(0,hsets.values()[0].values()[0].numBins) :
+                outhistos[hpath].addBin(hsets.values()[0].values()[0].bins[i].xMin,
+                                        hsets.values()[0].values()[0].bins[i].xMax)
+        else :
+            logging.error("Histogram %s is of unknown type" % hpath)
+            sys.exit(1)
+    for ltype in ["EL","MU"] :
+        if(ltype=="EL") :
+            y = "y01"
+            mergeByMass("/ATLAS_2015_I1408516_EL/d41-x01-y01", "8000")
+        else :
+            y = "y04"
+            mergeByMass("/ATLAS_2015_I1408516_MU/d41-x01-y02", "8000")
+        for d in [2,3,04,14,26,38]:
+            useOneMass("/ATLAS_2015_I1408516_%s/d%02d-x01-%s" % (ltype,d,y), "8000", "30" )
+        for d in [5,6,7,8,9,10,15,17,18,19,20,21,22,27,29,30,31,32,33,34,39]:
+            useOneMass("/ATLAS_2015_I1408516_%s/d%02d-x01-%s" % (ltype,d,y), "8000", "66" )
+        for d in [11,12,13,16,28,40]:
+            useOneMass("/ATLAS_2015_I1408516_%s/d%02d-x01-%s" % (ltype,d,y), "8000", "116" )
+        for d in [23,35]:
+            useOneMass("/ATLAS_2015_I1408516_%s/d%02d-x01-%s" % (ltype,d,y), "8000", "12" )
+        for d in [24,36]:
+            useOneMass("/ATLAS_2015_I1408516_%s/d%02d-x01-%s" % (ltype,d,y), "8000", "12" )
+        for d in [25,37]:
+            useOneMass("/ATLAS_2015_I1408516_%s/d%02d-x01-%s" % (ltype,d,y), "8000", "30" )
     # Choose output file
     yoda.writeYODA(outhistos,opts.OUTFILE)
     sys.exit(0)
diff --git a/Tests/python/merge-LHC-Jets b/Tests/python/merge-LHC-Jets
--- a/Tests/python/merge-LHC-Jets
+++ b/Tests/python/merge-LHC-Jets
@@ -1,1297 +1,1306 @@
 #! /usr/bin/env python
 import logging
 import sys
 
 if sys.version_info[:3] < (2,4,0):
     print "rivet scripts require Python version >= 2.4.0... exiting"
     sys.exit(1)
 
 import os, yoda
 
 # #############################################
 
 
 def fillAbove(scale,desthisto, sourcehistosbyptmin) :
     pthigh= 1e100
     ptlow =-1e100
     for pt, h in sorted(sourcehistosbyptmin.iteritems(),reverse=True):
         ptlow=pt
         if(type(desthisto)==yoda.core.Scatter2D) :
             for i in range(0,h.numPoints) :
                 xMin = h.points[i].x-h.points[i].xErrs.minus
                 if( xMin*scale >= ptlow and 
                     xMin*scale <  pthigh ) :
                     desthisto.addPoint(h.points[i])
         elif(type(desthisto)==yoda.core.Profile1D) :
             for i in range(0,h.numBins) :
                 if(h.bins[i].xMin*scale  >= ptlow and 
                    h.bins[i].xMin*scale  <  pthigh ) :
                     desthisto.bins[i] += h.bins[i]
         elif(type(desthisto)==yoda.core.Histo1D) :
             for i in range(0,h.numBins) :
                 if(h.bins[i].xMin*scale  >= ptlow and 
                    h.bins[i].xMin*scale  <  pthigh ) :
                     desthisto.bins[i] += h.bins[i]
         else :
             logging.error("Can't merge %s, unknown type" % desthisto.path)
             sys.exit(1)
         pthigh=pt
 
 def mergeByPt(hpath, sqrts, scale=1.) :
     global inhistos_pt
     global outhistos
     try:
         fillAbove(scale,outhistos[hpath], inhistos_pt[hpath][float(sqrts)])
     except:
         pass
 
 def mergeByMass(hpath, sqrts, scale=1.):
     global inhistos_mass
     global outhistos
     try:
         fillAbove(scale,outhistos[hpath], inhistos_mass[hpath][float(sqrts)])
     except:
         pass
 
 def useOnePt(hpath, sqrts, ptmin):
     global inhistos_pt
     global outhistos
     try:
        ## Find best pT_min match
         ptmins = inhistos_pt[hpath][float(sqrts)].keys()
         closest_ptmin = None
         for ptm in ptmins:
             if closest_ptmin is None or \
                     abs(ptm-float(ptmin)) < abs(closest_ptmin-float(ptmin)):
                 closest_ptmin = ptm
         if closest_ptmin != float(ptmin):
             logging.warning("Inexact match for requested pTmin=%s: " % ptmin + \
                                 "using pTmin=%e instead" % closest_ptmin)
         outhistos[hpath] =  inhistos_pt[hpath][float(sqrts)][closest_ptmin]
     except:
         pass
 
 def useOneMass(hpath, sqrts, ptmin):
     global inhistos_pt
     global outhistos
     try:
        ## Find best pT_min match
         ptmins = inhistos_mass[hpath][float(sqrts)].keys()
         closest_ptmin = None
         for ptm in ptmins:
             if closest_ptmin is None or \
                     abs(ptm-float(ptmin)) < abs(closest_ptmin-float(ptmin)):
                 closest_ptmin = ptm
         if closest_ptmin != float(ptmin):
             logging.warning("Inexact match for requested pTmin=%s: " % ptmin + \
                                 "using pTmin=%e instead" % closest_ptmin)
         outhistos[hpath] =  inhistos_mass[hpath][float(sqrts)][closest_ptmin]
     except:
         pass
 
 # #######################################
 
 if __name__ == "__main__":
     import logging
     from optparse import OptionParser, OptionGroup
     parser = OptionParser(usage="%prog name")
     verbgroup = OptionGroup(parser, "Verbosity control")
     parser.add_option("--with-ue",
                       action='store_true' ,
                       dest="ue",
                       default=True,
                       help="Include UE analyses")
     parser.add_option("--without-ue",
                       action='store_false',
                       dest="ue",
                       default=True,
                       help="Don\'t include UE analyses")
     verbgroup.add_option("-v", "--verbose", action="store_const", const=logging.DEBUG, dest="LOGLEVEL",
                          default=logging.INFO, help="print debug (very verbose) messages")
     verbgroup.add_option("-q", "--quiet", action="store_const", const=logging.WARNING, dest="LOGLEVEL",
                          default=logging.INFO, help="be very quiet")
     parser.add_option_group(verbgroup)
     (opts, args) = parser.parse_args()
     logging.basicConfig(level=opts.LOGLEVEL, format="%(message)s")
 
     (opts, args) = parser.parse_args()
 
     ## Check args
     if len(args) < 1:
         logging.error("Must specify at least the name of the files")
         sys.exit(1)
  
 yodafiles=["-7-Jets-1.yoda","-7-Jets-2.yoda",
            "-7-Jets-3.yoda","-7-Jets-4.yoda","-7-Jets-5.yoda",
            "-7-Jets-6.yoda","-7-Jets-7.yoda","-7-Jets-8.yoda",
            "-7-Bottom-0.yoda","-7-Bottom-1.yoda","-7-Bottom-2.yoda",
            "-7-Bottom-3.yoda","-7-Bottom-4.yoda","-7-Bottom-5.yoda",
            "-7-Charm-1.yoda","-7-Charm-2.yoda",
            "-7-Charm-3.yoda","-7-Charm-4.yoda","-7-Charm-5.yoda",
            "-7-Top-SL.yoda","-7-Top-L.yoda","-7-Top-All.yoda","-8-Top-All.yoda"]
 
 if(opts.ue) :
     yodafiles += ["-7-Jets-0.yoda","-900-UE.yoda"   ,"-2360-UE.yoda"    ,"-2760-UE.yoda"    ,
                   "-7-UE.yoda"     ,"-900-UE-Long.yoda","-8-UE.yoda",
                   "-7-UE-Long.yoda","-13-UE.yoda"]
 ## Get histos
 inhistos_pt   = {}
 inhistos_mass = {}
 outhistos={}
 weights = {}
 for f in yodafiles:
     file=args[0]+f
     sqrts=7000
     if(file.find("-900-UE")>0) :
         sqrts=900
         ptmin=0.
     elif(file.find("-2360-UE")>0) :
         sqrts=2360
         ptmin=0.
     elif(file.find("-2760-UE")>0) :
         sqrts=2760
         ptmin=0.
     elif(file.find("-7-UE")>0) :
         ptmin=0.
     elif(file.find("-13-UE")>0) :
         ptmin=0.
         sqrts=13000
     elif(file.find("-7-Jets-0")>0) :
         ptmin=4.
     elif(file.find("-7-Jets-1")>0) :
         if( not opts.ue) :
             ptmin = 10.
         else :
             ptmin = 20.
     elif(file.find("-7-Jets-2")>0) :
         ptmin=40.
     elif(file.find("-7-Jets-3")>0) :
         ptmin=80.
     elif(file.find("-7-Jets-4")>0) :
         ptmin=110.
     elif(file.find("-7-Jets-5")>0) :
         ptmin=210.
     elif(file.find("-7-Jets-6")>0) :
         ptmin=260.
     elif(file.find("-7-Jets-7")>0) :
         ptmin=400.
     elif(file.find("-7-Jets-8")>0) :
         ptmin=600.
     elif(file.find("-7-Bottom-0")>0) :
         ptmin=0.
     elif(file.find("-7-Bottom-1")>0 or file.find("-7-Charm-1")>0) :
         ptmin=10.
     elif(file.find("-7-Bottom-2")>0 or file.find("-7-Charm-2")>0) :
         ptmin=30.
     elif(file.find("-7-Bottom-3")>0 or file.find("-7-Charm-3")>0) :
         ptmin=70.
     elif(file.find("-7-Bottom-4")>0 or file.find("-7-Charm-4")>0) :
         ptmin=100.
     elif(file.find("-7-Bottom-5")>0 or file.find("-7-Charm-5")>0) :
         ptmin=130.
     elif(file.find("-7-Top-SL.yoda")>0 or file.find("-7-Top-L.yoda")>0 or \
          file.find("-7-Top-All.yoda")>0):
         ptmin=0.
     if not os.access(file, os.R_OK):
         logging.error("%s can not be read" % file)
         continue
     try:
         aos = yoda.read(file)
     except:
         logging.error("%s can not be parsed as YODA" % file)
         continue
     ## Get histos from this YODA file
     for aopath, ao in aos.iteritems() :
         if(aopath.find("S8924791")>0 or 
            aopath.find("S8971293")>0 or 
            aopath.find("S8817804")>0 or 
            aopath.find("I1082936")>0 or 
            aopath.find("S8994773")>0 or 
            aopath.find("S8918562")>0 or 
            aopath.find("S8624100")>0 or 
            aopath.find("S8625980")>0 or 
            aopath.find("S8894728")>0 or 
            aopath.find("S8957746")>0 or 
            aopath.find("S9126244")>0 or 
            aopath.find("S9120041")>0 or 
            aopath.find("S8950903")>0 or 
            aopath.find("S9086218")>0 or 
            aopath.find("S9088458")>0 or 
            aopath.find("I919017" )>0 or
            aopath.find("I926145" )>0 or
            aopath.find("S8941262")>0 or
            aopath.find("S8973270")>0 or
            aopath.find("I1118269")>0 or
            aopath.find("I1188891")>0 or
            aopath.find("I1082009")>0 or
            aopath.find("I1087342")>0 or
            aopath.find("S9035664")>0 or
            aopath.find("I1125575")>0 or
            aopath.find("I1094564")>0 or
            aopath.find("I930220")>0 or
            aopath.find("I1224539")>0 or
            aopath.find("I1273574")>0 or
            aopath.find("I1261026")>0 or
            aopath.find("I1307243")>0 or
            aopath.find("I1325553")>0 or
            aopath.find("I1298810")>0 or
            aopath.find("CMS_2012_PAS_QCD_11_010")>0 or
            aopath.find("CMS_2013_I1208923")>0 or
-           aopath.find("ATLAS_2014_I1298811")>0) :
+           aopath.find("ATLAS_2014_I1298811")>0 or
+           aopath.find("CMS_2014_I1305624")>0) :
            if not inhistos_pt.has_key(aopath):
                inhistos_pt[aopath] = {}
            tmpE = inhistos_pt[aopath]
            if not tmpE.has_key(sqrts):
                tmpE[sqrts] = {}
            if not tmpE[sqrts].has_key(ptmin):
                tmpE[sqrts][ptmin] = ao
            else:
                tmpE[sqrts][ptmin] += ao
                #raise Exception("A set with ptmin = %s already exists" % ( ptmin))
         else :
             if(aopath.find("I1243871")>0) :
                 if(aopath.find("x01")>0 and file.find("-7-Top-L.yoda")>0 ) :
                     outhistos[aopath] = ao
                 elif(aopath.find("x02")>0 and file.find("-7-Top-SL.yoda")>0 ) :
                     outhistos[aopath] = ao
             else :
                 outhistos[aopath] = ao
 
 yodafiles=["-7-Jets-1.yoda" ,"-7-Jets-9.yoda" ,"-7-Jets-10.yoda",
            "-7-Jets-11.yoda","-7-Jets-12.yoda","-7-Jets-13.yoda",
            "-7-Jets-14.yoda","-7-Jets-15.yoda",
            "-7-Bottom-6.yoda","-7-Bottom-7.yoda","-7-Bottom-8.yoda"]
 
 for f in yodafiles:
     file=args[0]+f
     if(file.find("-7-Jets-1.yoda")>0) :
         sqrts=7000
         mass=0
     if(file.find("-7-Jets-9.yoda")>0) :
         sqrts=7000
         mass=100
     elif(file.find("-7-Jets-10.yoda")>0) :
         sqrts=7000
         mass=250
     elif(file.find("-7-Jets-11.yoda")>0) :
         sqrts=7000
         mass=650
     elif(file.find("-7-Jets-12.yoda")>0) :
         sqrts=7000
         mass=1100
     elif(file.find("-7-Jets-13.yoda")>0) :
         sqrts=7000
         mass=1700
     elif(file.find("-7-Jets-14.yoda")>0) :
         sqrts=7000
         mass=2300
     elif(file.find("-7-Jets-15.yoda")>0) :
         sqrts=7000
         mass=2900
     elif(file.find("-7-Bottom-6.yoda")>0) :
         sqrts=7000
         mass=110
     elif(file.find("-7-Bottom-7.yoda")>0) :
         sqrts=7000
         mass=370
     elif(file.find("-7-Bottom-8.yoda")>0) :
         sqrts=7000
         mass=550
     if not os.access(file, os.R_OK):
         logging.error("%s can not be read" % file)
         continue
     try:
         aos = yoda.read(file)
     except:
         logging.error("%s can not be parsed as YODA" % file)
         continue
     ## Get histos from this YODA file
     for aopath, ao in aos.iteritems() :
         if(aopath.find("8817804")>0 or
            aopath.find("1082936")>0 or
            aopath.find("I930220")>0 or
            aopath.find("1261026")>0 or
            aopath.find("1090423")>0 or
            aopath.find("1268975")>0 or
            aopath.find("CMS_2013_I1208923")>0) :
            if not inhistos_mass.has_key(aopath):
                inhistos_mass[aopath] = {}
            tmpE = inhistos_mass[aopath]
            if not tmpE.has_key(sqrts):
                tmpE[sqrts] = {}
            tmpP = tmpE[sqrts]
            if not tmpP.has_key(mass):
                tmpP[mass] = ao
            else:
                 raise Exception("A set with mass = %s already exists" % ( mass))
 
 ## Make empty output histos if needed
 for hpath,hsets in inhistos_pt.iteritems():
     if( hpath.find("8924791")>0  or 
         hpath.find("8971293")>0 or 
         hpath.find("8817804")>0 or 
         hpath.find("8968497")>0 or 
         (hpath.find("9120041")>0 and (hpath.find("d01")>0 or hpath.find("d02")>0)) or 
         hpath.find("9126244")>0 or 
         hpath.find("926145") >0 or 
         hpath.find("9086218")>0 or 
         hpath.find("1082936")>0 or 
         hpath.find("8941262")>0 or 
         hpath.find("1118269")>0 or 
         hpath.find("1087342")>0 or 
         hpath.find("1188891")>0 or
         hpath.find("919017")>0  or
         hpath.find("9035664")>0 or
         hpath.find("1125575")>0 or
         hpath.find("1094564")>0 or
         hpath.find("I930220")>0 or
         hpath.find("S9088458")>0 or 
         hpath.find("I1273574")>0 or 
         hpath.find("I1261026")>0 or 
         hpath.find("I1090423")>0 or
         hpath.find("QCD_11_010")>0 or
         hpath.find("1298811"   )>0 or
         hpath.find("I1325553"  )>0 or
         hpath.find("I1298810"  )>0 or
         hpath.find("1307243"   )>0 or
         hpath.find("CMS_2013_I1208923"   )>0) :
         if(type(hsets.values()[0].values()[0])==yoda.core.Scatter2D) :
             outhistos[hpath] = yoda.core.Scatter2D(hsets.values()[0].values()[0].path,
                                                    hsets.values()[0].values()[0].title)
         elif(type(hsets.values()[0].values()[0])==yoda.core.Profile1D) :
             outhistos[hpath] = yoda.core.Profile1D(hsets.values()[0].values()[0].path,
                                                    hsets.values()[0].values()[0].title)
             for i in range(0,hsets.values()[0].values()[0].numBins) :
                 outhistos[hpath].addBin(hsets.values()[0].values()[0].bins[i].xMin,
                                         hsets.values()[0].values()[0].bins[i].xMax)
         elif(type(hsets.values()[0].values()[0])==yoda.core.Histo1D) :
             outhistos[hpath] = yoda.core.Histo1D(hsets.values()[0].values()[0].path,
                                                 hsets.values()[0].values()[0].title)
             for i in range(0,hsets.values()[0].values()[0].numBins) :
                 outhistos[hpath].addBin(hsets.values()[0].values()[0].bins[i].xMin,
                                         hsets.values()[0].values()[0].bins[i].xMax)
         else :
             logging.error("Histogram %s is of unknown type" % hpath)
             sys.exit(1) 
 
 ## Make empty output histos if needed
 for hpath,hsets in inhistos_mass.iteritems():
     if(hpath.find("1268975")>0) :
         if(type(hsets.values()[0].values()[0])==yoda.core.Scatter2D) :
             outhistos[hpath] = yoda.core.Scatter2D(hsets.values()[0].values()[0].path,
                                                    hsets.values()[0].values()[0].title)
         elif(type(hsets.values()[0].values()[0])==yoda.core.Profile1D) :
             outhistos[hpath] = yoda.core.Profile1D(hsets.values()[0].values()[0].path,
                                                    hsets.values()[0].values()[0].title)
             for i in range(0,hsets.values()[0].values()[0].numBins) :
                 outhistos[hpath].addBin(hsets.values()[0].values()[0].bins[i].xMin,
                                         hsets.values()[0].values()[0].bins[i].xMax)
         elif(type(hsets.values()[0].values()[0])==yoda.core.Histo1D) :
             outhistos[hpath] = yoda.core.Histo1D(hsets.values()[0].values()[0].path,
                                                 hsets.values()[0].values()[0].title)
             for i in range(0,hsets.values()[0].values()[0].numBins) :
                 outhistos[hpath].addBin(hsets.values()[0].values()[0].bins[i].xMin,
                                         hsets.values()[0].values()[0].bins[i].xMax)
         else :
             logging.error("Histogram %s is of unknown type" % hpath)
             sys.exit(1)
         
 
 logging.info("Processing CMS_2011_S8957746")
 useOnePt("/CMS_2011_S8957746/d01-x01-y01", "7000", "80" )
 useOnePt("/CMS_2011_S8957746/d02-x01-y01", "7000", "80" )
 useOnePt("/CMS_2011_S8957746/d03-x01-y01", "7000", "110" )
 useOnePt("/CMS_2011_S8957746/d04-x01-y01", "7000", "110" )
 useOnePt("/CMS_2011_S8957746/d05-x01-y01", "7000", "210" )
 useOnePt("/CMS_2011_S8957746/d06-x01-y01", "7000", "210" )
 
 logging.info("Processing ATLAS_2010_S8894728")
 useOnePt("/ATLAS_2010_S8894728/d01-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d01-x01-y02",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d01-x01-y03",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d02-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d02-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d02-x01-y03", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d03-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d03-x01-y02",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d03-x01-y03",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d04-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d04-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d04-x01-y03", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d05-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d06-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d07-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d08-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d09-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d09-x01-y02",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d09-x01-y03",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d10-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d10-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d10-x01-y03", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d11-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d11-x01-y02",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d11-x01-y03",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d12-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d12-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d12-x01-y03", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d13-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d13-x01-y02",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d13-x01-y03",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d13-x01-y04",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d14-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d14-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d14-x01-y03", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d14-x01-y04", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d15-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d15-x01-y02",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d15-x01-y03",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d15-x01-y04",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d16-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d16-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d16-x01-y03", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d16-x01-y04", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d17-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d17-x01-y02",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d17-x01-y03",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d18-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d18-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d18-x01-y03", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d19-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d19-x01-y02",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d19-x01-y03",  "900", "0" )
 useOnePt("/ATLAS_2010_S8894728/d20-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d20-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d20-x01-y03", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d21-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8894728/d22-x01-y01", "7000", "0" )
 
 logging.info("Processing ATLAS_2011_S8994773")
 useOnePt("/ATLAS_2011_S8994773/d01-x01-y01", "900", "0" )
 useOnePt("/ATLAS_2011_S8994773/d02-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2011_S8994773/d03-x01-y01", "900", "0" )
 useOnePt("/ATLAS_2011_S8994773/d04-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2011_S8994773/d13-x01-y01", "900", "0" )
 useOnePt("/ATLAS_2011_S8994773/d13-x01-y02", "900", "0" )
 useOnePt("/ATLAS_2011_S8994773/d13-x01-y03", "900", "0" )
 useOnePt("/ATLAS_2011_S8994773/d14-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2011_S8994773/d14-x01-y02", "7000", "0" )
 useOnePt("/ATLAS_2011_S8994773/d14-x01-y03", "7000", "0" )
 
 logging.info("Processing ALICE_2010_S8624100")
 useOnePt("/ALICE_2010_S8624100/d11-x01-y01", "900", "0" )
 useOnePt("/ALICE_2010_S8624100/d12-x01-y01", "900", "0" )
 useOnePt("/ALICE_2010_S8624100/d13-x01-y01", "900", "0" )
 useOnePt("/ALICE_2010_S8624100/d17-x01-y01","2360", "0" )
 useOnePt("/ALICE_2010_S8624100/d18-x01-y01","2360", "0" )
 useOnePt("/ALICE_2010_S8624100/d19-x01-y01","2360", "0" )
 
 logging.info("Processing ALICE_2010_S8625980")
 useOnePt("/ALICE_2010_S8625980/d03-x01-y01", "7000", "0" )
 useOnePt("/ALICE_2010_S8625980/d04-x01-y01",  "900", "0" )
 useOnePt("/ALICE_2010_S8625980/d05-x01-y01", "2360", "0" )
 useOnePt("/ALICE_2010_S8625980/d06-x01-y01", "7000", "0" )
 
 logging.info("Processing ATLAS_2010_S8918562")
 useOnePt("/ATLAS_2010_S8918562/d01-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d02-x01-y01", "2360", "0" )
 useOnePt("/ATLAS_2010_S8918562/d03-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d04-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d05-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d06-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d07-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d08-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d09-x01-y01", "2360", "0" )
 useOnePt("/ATLAS_2010_S8918562/d10-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d11-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d12-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d13-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d14-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d15-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d16-x01-y01", "2360", "0" )
 useOnePt("/ATLAS_2010_S8918562/d17-x01-y01", "7000", "0" )
 
 
 useOnePt("/ATLAS_2010_S8918562/d18-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d19-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d20-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d21-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d22-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d23-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d24-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d25-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d26-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d27-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d28-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d29-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d30-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d31-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d32-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d33-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d34-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d35-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d36-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d37-x01-y01", "7000", "0" )
 useOnePt("/ATLAS_2010_S8918562/d38-x01-y01",  "900", "0" )
 useOnePt("/ATLAS_2010_S8918562/d39-x01-y01", "7000", "0" )
 
 
 
 logging.info("Processing ATLAS_2011_S8971293")
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y03", "7000", "210" )
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y04", "7000", "260" )
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y05", "7000", "260" )
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y06", "7000", "400" )
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y07", "7000", "400" )
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y08", "7000", "600" )
 useOnePt("/ATLAS_2011_S8971293/d01-x01-y09", "7000", "600" )
 logging.info("Processing ATLAS_2011_S8924791")
 useOnePt("/ATLAS_2011_S8924791/d01-x01-y01", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x01-y02", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x02-y01", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x02-y02", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x03-y01", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x03-y02", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x04-y01", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x04-y02", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x05-y01", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x05-y02", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x06-y01", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d01-x06-y02", "7000", "30" )
 useOnePt("/ATLAS_2011_S8924791/d02-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x01-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x02-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x02-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x03-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x03-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x04-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x04-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x05-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x05-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x06-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d02-x06-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x01-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x02-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x02-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x03-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x03-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x04-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x04-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x05-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x05-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x06-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d03-x06-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S8924791/d04-x01-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x01-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x02-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x02-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x03-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x03-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x04-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x04-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x05-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x05-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x06-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d04-x06-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S8924791/d05-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x02-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x02-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x03-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x03-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x04-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x04-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x05-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x05-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x06-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d05-x06-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x02-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x02-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x03-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x03-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x04-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x04-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x05-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x05-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x06-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d06-x06-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S8924791/d07-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x01-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x02-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x02-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x03-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x03-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x04-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x04-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x05-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x05-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x06-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d07-x06-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S8924791/d08-x01-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x01-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x02-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x02-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x03-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x03-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x04-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x04-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x05-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x05-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x06-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d08-x06-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x01-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x01-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x02-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x02-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x03-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x03-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x04-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x04-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x05-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x05-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x06-y01", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d09-x06-y02", "7000", "260" )
 useOnePt("/ATLAS_2011_S8924791/d10-x01-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x01-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x02-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x02-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x03-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x03-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x04-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x04-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x05-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x05-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x06-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d10-x06-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x01-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x01-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x02-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x02-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x03-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x03-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x04-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x04-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x05-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x05-y02", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x06-y01", "7000", "400" )
 useOnePt("/ATLAS_2011_S8924791/d11-x06-y02", "7000", "400" )
 logging.info("Processing ATLAS_2010_S8817804")
 mergeByPt("/ATLAS_2010_S8817804/d01-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d02-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d03-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d04-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d05-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d06-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d07-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d08-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d09-x01-y01", "7000")
 mergeByPt("/ATLAS_2010_S8817804/d10-x01-y01", "7000")
 
 mergeByMass("/ATLAS_2010_S8817804/d11-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d12-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d13-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d14-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d15-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d16-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d17-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d18-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d19-x01-y01", "7000")
 mergeByMass("/ATLAS_2010_S8817804/d20-x01-y01", "7000")
 
 useOneMass("/ATLAS_2010_S8817804/d21-x01-y01", "7000", "300" )
 useOneMass("/ATLAS_2010_S8817804/d22-x01-y01", "7000", "300" )
 useOneMass("/ATLAS_2010_S8817804/d23-x01-y01", "7000", "800" )
 useOneMass("/ATLAS_2010_S8817804/d24-x01-y01", "7000", "300" )
 useOneMass("/ATLAS_2010_S8817804/d25-x01-y01", "7000", "300" )
 useOneMass("/ATLAS_2010_S8817804/d26-x01-y01", "7000", "800" )
 
 
 logging.info("Processing ATLAS_2011_I930220")
 mergeByPt("/ATLAS_2011_I930220/d01-x01-y01",  "7000" )
 mergeByPt("/ATLAS_2011_I930220/d02-x01-y01",  "7000" )
 mergeByPt("/ATLAS_2011_I930220/d03-x01-y01",  "7000" )
 mergeByPt("/ATLAS_2011_I930220/d04-x01-y01",  "7000" )
 mergeByPt("/ATLAS_2011_I930220/d05-x01-y01",  "7000" )
 mergeByPt("/ATLAS_2011_I930220/d06-x01-y01",  "7000" )
 mergeByMass("/ATLAS_2011_I930220/d07-x01-y01", "7000")
 useOneMass("/ATLAS_2011_I930220/d08-x01-y01", "7000", "110" )
 useOneMass("/ATLAS_2011_I930220/d09-x01-y01", "7000", "110" )
 useOneMass("/ATLAS_2011_I930220/d10-x01-y01", "7000", "370" )
 
 logging.info("Processing ATLAS_2012_I1082936")
 mergeByPt("/ATLAS_2012_I1082936/d01-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d01-x01-y02", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d01-x01-y03", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d01-x01-y04", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d01-x01-y05", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d01-x01-y06", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d01-x01-y07", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d02-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d02-x01-y02", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d02-x01-y03", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d02-x01-y04", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d02-x01-y05", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d02-x01-y06", "7000")
 mergeByPt("/ATLAS_2012_I1082936/d02-x01-y07", "7000")
 
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y01", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y02", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y03", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y04", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y05", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y06", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y07", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y08", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d03-x01-y09", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y01", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y02", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y03", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y04", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y05", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y06", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y07", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y08", "7000", 1000.)
 mergeByMass("/ATLAS_2012_I1082936/d04-x01-y09", "7000", 1000.)
 
 
 logging.info("Processing CMS_2011_S8968497")
 
 useOneMass("/CMS_2011_S8968497/d01-x01-y01", "7000", "2000" )
 useOneMass("/CMS_2011_S8968497/d02-x01-y01", "7000", "1200" )
 useOneMass("/CMS_2011_S8968497/d03-x01-y01", "7000", "1200" )
 useOneMass("/CMS_2011_S8968497/d04-x01-y01", "7000", "800" )
 useOneMass("/CMS_2011_S8968497/d05-x01-y01", "7000", "800" )
 useOneMass("/CMS_2011_S8968497/d06-x01-y01", "7000", "300" )
 useOneMass("/CMS_2011_S8968497/d07-x01-y01", "7000", "300" )
 useOneMass("/CMS_2011_S8968497/d08-x01-y01", "7000", "300" )
 useOneMass("/CMS_2011_S8968497/d09-x01-y01", "7000", "100" )
 
 
 logging.info("Processing ATLAS_2011_S9126244")
 mergeByPt("/ATLAS_2011_S9126244/d01-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d01-x01-y02", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d02-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d02-x01-y02", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d03-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d03-x01-y02", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d04-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d04-x01-y02", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d05-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d05-x01-y02", "7000")
 
 
 useOnePt("/ATLAS_2011_S9126244/d06-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d06-x01-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d07-x01-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S9126244/d07-x01-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S9126244/d08-x01-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S9126244/d08-x01-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S9126244/d09-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d09-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d10-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d10-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d11-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d11-x01-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d12-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d12-x01-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d13-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d13-x01-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d14-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d14-x01-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d15-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d15-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d16-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d16-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d17-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d17-x01-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d18-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d18-x01-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d19-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d20-x01-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S9126244/d21-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d22-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d23-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d24-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d25-x01-y01", "7000", "210" )
 mergeByPt("/ATLAS_2011_S9126244/d26-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d26-x01-y02", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d27-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d27-x01-y02", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d28-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d28-x01-y02", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d29-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9126244/d29-x01-y02", "7000")
 useOnePt("/ATLAS_2011_S9126244/d30-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d31-x01-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S9126244/d32-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d33-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d34-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d35-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d36-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d37-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d37-x01-y02", "7000", "40" )
 useOnePt("/ATLAS_2011_S9126244/d38-x01-y01", "7000", "80" )
 useOnePt("/ATLAS_2011_S9126244/d38-x01-y02", "7000", "80" )
 useOnePt("/ATLAS_2011_S9126244/d39-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d39-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d40-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d40-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d41-x01-y01", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d41-x01-y02", "7000", "110" )
 useOnePt("/ATLAS_2011_S9126244/d42-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d42-x01-y02", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d43-x01-y01", "7000", "210" )
 useOnePt("/ATLAS_2011_S9126244/d43-x01-y02", "7000", "210" )
 
 # CMS_2011_S9120041 UE analysis
 logging.info("Processing CMS_2011_S9120041")
 mergeByPt("/CMS_2011_S9120041/d01-x01-y01", "7000")
 mergeByPt("/CMS_2011_S9120041/d02-x01-y01", "7000")
 if(opts.ue) :
     useOnePt("/CMS_2011_S9120041/d03-x01-y01",  "900", "0" )
     useOnePt("/CMS_2011_S9120041/d04-x01-y01",  "900", "0" )
     useOnePt("/CMS_2011_S9120041/d05-x01-y01", "7000", "0" )
     useOnePt("/CMS_2011_S9120041/d06-x01-y01", "7000", "0" )
     useOnePt("/CMS_2011_S9120041/d07-x01-y01", "7000", "0" )
     useOnePt("/CMS_2011_S9120041/d11-x01-y01",  "900", "0" )
     useOnePt("/CMS_2011_S9120041/d12-x01-y01",  "900", "0" )
     useOnePt("/CMS_2011_S9120041/d13-x01-y01",  "900", "0" )
     useOnePt("/CMS_2011_S9120041/d08-x01-y01", "7000", "20" )
     useOnePt("/CMS_2011_S9120041/d09-x01-y01", "7000", "20" )
     useOnePt("/CMS_2011_S9120041/d10-x01-y01", "7000", "20" )
 else :
     useOnePt("/CMS_2011_S9120041/d08-x01-y01", "7000", "10" )
     useOnePt("/CMS_2011_S9120041/d09-x01-y01", "7000", "10" )
     useOnePt("/CMS_2011_S9120041/d10-x01-y01", "7000", "10" )
 
 # CMS dijet decorrelation
 logging.info("Processing CMS_2011_S8950903")
 useOnePt("/CMS_2011_S8950903/d01-x01-y01", "7000", "80" )
 useOnePt("/CMS_2011_S8950903/d02-x01-y01", "7000", "110" )
 useOnePt("/CMS_2011_S8950903/d03-x01-y01", "7000", "110" )
 useOnePt("/CMS_2011_S8950903/d04-x01-y01", "7000", "210" )
 useOnePt("/CMS_2011_S8950903/d05-x01-y01", "7000", "260" )
 
 # CMS jet cross section
 logging.info("Processing CMS_2011_S9086218")
 mergeByPt("/CMS_2011_S9086218/d01-x01-y01", "7000")
 mergeByPt("/CMS_2011_S9086218/d02-x01-y01", "7000")
 mergeByPt("/CMS_2011_S9086218/d03-x01-y01", "7000")
 mergeByPt("/CMS_2011_S9086218/d04-x01-y01", "7000")
 mergeByPt("/CMS_2011_S9086218/d05-x01-y01", "7000")
 mergeByPt("/CMS_2011_S9086218/d06-x01-y01", "7000")
 
 # CMS 2/3 jet cross section ratio
 logging.info("Processing CMS_2011_S9086218")
 mergeByPt("/CMS_2011_S9088458/d01-x01-y01", "7000",500.)
 
 # ATLAS track jet
 logging.info("Processing ATLAS_2011_I919017")
 for d in range(1,3) :
     for y in range(1,5) :
         mergeByPt("/ATLAS_2011_I919017/d0%s-x01-y0%s" % (d,y), "7000")
         if( opts.ue) :
             for x in range(2,6) :
                 for y in ["01","02","06","07","11","12","16","17","21","22"] :
                     useOnePt("/ATLAS_2011_I919017/d01-x0%s-y%s" % (x,y),  "7000",  "0" )
                 for y in ["03","04","08","09","13","14","18","19","23","24"] :
                     useOnePt("/ATLAS_2011_I919017/d01-x0%s-y%s" % (x,y),  "7000",  "4" )
             for y in range(5,30,5) :
                 if(y < 10) :
                     useOnePt("/ATLAS_2011_I919017/d01-x0%s-y0%s" % (x,y) ,  "7000", "20" )
                 else :
                     useOnePt("/ATLAS_2011_I919017/d01-x0%s-y%s"  % (x,y) ,  "7000", "20" )
         else :
             for x in range(2,6) :
                 for y in range(5,30,5) :
                     if(y < 10) :
                         useOnePt("/ATLAS_2011_I919017/d01-x0%s-y0%s" % (x,y) ,  "7000", "10" )
                     else :
                         useOnePt("/ATLAS_2011_I919017/d01-x0%s-y%s"  % (x,y) ,  "7000", "10" )
 
 logging.info("Processing ATLAS_2011_I926145")
 mergeByPt("/ATLAS_2011_I926145/d01-x01-y01", "7000",1.5)
 mergeByPt("/ATLAS_2011_I926145/d02-x01-y01", "7000",1.5)
 mergeByPt("/ATLAS_2011_I926145/d03-x01-y01", "7000",1.5)
 
 logging.info("Processing CMS_2011_S8941262")
 useOnePt("/CMS_2011_S8941262/d01-x01-y01",  "7000", "10" )
 useOnePt("/CMS_2011_S8941262/d03-x01-y01",  "7000", "10" )
 mergeByPt("/CMS_2011_S8941262/d02-x01-y01", "7000",1.5)
 
 logging.info("Processing CMS_2011_S8973270")
 useOnePt("/CMS_2011_S8973270/d01-x01-y01",  "7000", "70" )
 useOnePt("/CMS_2011_S8973270/d02-x01-y01",  "7000", "100" )
 useOnePt("/CMS_2011_S8973270/d03-x01-y01",  "7000", "130" )
 useOnePt("/CMS_2011_S8973270/d04-x01-y01",  "7000", "70" )
 useOnePt("/CMS_2011_S8973270/d05-x01-y01",  "7000", "100" )
 useOnePt("/CMS_2011_S8973270/d06-x01-y01",  "7000", "130" )
 
 logging.info("Processing ATLAS_2012_I1082009")
 useOnePt("/ATLAS_2012_I1082009/d08-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2012_I1082009/d09-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2012_I1082009/d10-x01-y01", "7000", "40" )
 useOnePt("/ATLAS_2012_I1082009/d11-x01-y01", "7000", "80" )
 useOnePt("/ATLAS_2012_I1082009/d12-x01-y01", "7000", "80" )
 useOnePt("/ATLAS_2012_I1082009/d13-x01-y01", "7000", "40" )
 
 logging.info("Processing ATLAS_2012_I1118269")
 mergeByPt("/ATLAS_2012_I1118269/d01-x01-y01", "7000")
 useOnePt("/ATLAS_2012_I1118269/d02-x01-y01", "7000", "10" )
 
 logging.info("Processing ATLAS_2012_I1188891")
 mergeByPt("/ATLAS_2012_I1188891/d01-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1188891/d02-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1188891/d03-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1188891/d04-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1188891/d05-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1188891/d06-x01-y01", "7000")
 
 logging.info("Processing CMS_2012_I1087342")
 mergeByPt("/CMS_2012_I1087342/d01-x01-y01", "7000")
 mergeByPt("/CMS_2012_I1087342/d02-x01-y01", "7000")
 mergeByPt("/CMS_2012_I1087342/d03-x01-y01", "7000")
 logging.info("Processing CMS_2012_PAS_QCD_11_010")
 mergeByPt("/CMS_2012_PAS_QCD_11_010/d01-x01-y01", "7000")
 mergeByPt("/CMS_2012_PAS_QCD_11_010/d02-x01-y01", "7000")
 mergeByPt("/CMS_2012_PAS_QCD_11_010/d03-x01-y01", "7000")
 mergeByPt("/CMS_2012_PAS_QCD_11_010/d04-x01-y01", "7000")
 
 logging.info("Processing ATLAS_2011_S9035664")
 mergeByPt("/ATLAS_2011_S9035664/d11-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d12-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d13-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d14-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d15-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d16-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d17-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d18-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d20-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d21-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d22-x01-y01", "7000")
 mergeByPt("/ATLAS_2011_S9035664/d23-x01-y01", "7000")
 
 logging.info("Processing ATLAS_2012_I1125575")
 mergeByPt("/ATLAS_2012_I1125575/d01-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x01-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x02-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x02-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x03-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x03-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x04-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x04-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x05-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d01-x05-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x01-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x02-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x02-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x03-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x03-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x04-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x04-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x05-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d02-x05-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x01-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x01-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x02-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x02-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x03-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x03-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x04-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x04-y02", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x05-y01", "7000")
 mergeByPt("/ATLAS_2012_I1125575/d03-x05-y02", "7000")
 for d in range(4,7) :
     for x in range(1,6) :
         if(opts.ue) :
             for y in range(1,9) :
                 useOnePt("/ATLAS_2012_I1125575/d0%s-x0%s-y0%s" % (d,x,y),  "7000", "0" )
             for y in ["09","10","11","12","13","14","15","16"] :
                 useOnePt("/ATLAS_2012_I1125575/d0%s-x0%s-y%s" % (d,x,y),  "7000", "0" )
             for y in range(17,19) :
                 useOnePt("/ATLAS_2012_I1125575/d0%s-x0%s-y%s" % (d,x,y),  "7000", "20" )
         else :
             for y in range(17,19) :
                 useOnePt("/ATLAS_2012_I1125575/d0%s-x0%s-y%s" % (d,x,y),  "7000", "10" )
         for y in range(19,21) :
             useOnePt("/ATLAS_2012_I1125575/d0%s-x0%s-y%s" % (d,x,y),  "7000", "40" )
 
 # ATLAS_2012_I1094564
 useOnePt("/ATLAS_2012_I1094564/d01-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d02-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d03-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d04-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d05-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d06-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d07-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d08-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d09-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d10-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d11-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d12-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d13-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d14-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d15-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d16-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d17-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d18-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d19-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d20-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d21-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d22-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d23-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d24-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d25-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d26-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d27-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d28-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d29-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d30-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d31-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d32-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d33-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2012_I1094564/d34-x01-y01",  "7000", "260" )
 useOnePt("/ATLAS_2012_I1094564/d35-x01-y01",  "7000", "400" )
 useOnePt("/ATLAS_2012_I1094564/d36-x01-y01",  "7000", "400" )
 
 logging.info("Processing CMS_2013_I1224539_DIJET")
 useOnePt("/CMS_2013_I1224539_DIJET/d01-x01-y01",  "7000", "210" )
 useOnePt("/CMS_2013_I1224539_DIJET/d02-x01-y01",  "7000", "260" )
 useOnePt("/CMS_2013_I1224539_DIJET/d03-x01-y01",  "7000", "400" )
 useOnePt("/CMS_2013_I1224539_DIJET/d04-x01-y01",  "7000", "400" )
 useOnePt("/CMS_2013_I1224539_DIJET/d05-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d06-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d07-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d08-x01-y01",  "7000", "210" )
 useOnePt("/CMS_2013_I1224539_DIJET/d09-x01-y01",  "7000", "260" )
 useOnePt("/CMS_2013_I1224539_DIJET/d10-x01-y01",  "7000", "400" )
 useOnePt("/CMS_2013_I1224539_DIJET/d11-x01-y01",  "7000", "400" )
 useOnePt("/CMS_2013_I1224539_DIJET/d12-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d13-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d14-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d15-x01-y01",  "7000", "210" )
 useOnePt("/CMS_2013_I1224539_DIJET/d16-x01-y01",  "7000", "260" )
 useOnePt("/CMS_2013_I1224539_DIJET/d17-x01-y01",  "7000", "400" )
 useOnePt("/CMS_2013_I1224539_DIJET/d18-x01-y01",  "7000", "400" )
 useOnePt("/CMS_2013_I1224539_DIJET/d19-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d20-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d21-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d22-x01-y01",  "7000", "210" )
 useOnePt("/CMS_2013_I1224539_DIJET/d23-x01-y01",  "7000", "260" )
 useOnePt("/CMS_2013_I1224539_DIJET/d24-x01-y01",  "7000", "400" )
 useOnePt("/CMS_2013_I1224539_DIJET/d25-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d26-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d27-x01-y01",  "7000", "600" )
 useOnePt("/CMS_2013_I1224539_DIJET/d28-x01-y01",  "7000", "600" )
 
 useOnePt("/CMS_2013_I1273574/d01-x01-y01",  "7000", "80" )
 mergeByPt("/CMS_2013_I1273574/d02-x01-y01", "7000",1.)
 useOnePt("/CMS_2013_I1273574/d03-x01-y01",  "7000", "80" )
 useOnePt("/CMS_2013_I1273574/d04-x01-y01",  "7000", "80" )
 useOnePt("/CMS_2013_I1273574/d05-x01-y01",  "7000", "80" )
 useOnePt("/CMS_2013_I1273574/d06-x01-y01",  "7000", "80" )
 mergeByPt("/CMS_2013_I1273574/d07-x01-y01", "7000",1.)
 useOnePt("/CMS_2013_I1273574/d08-x01-y01",  "7000", "80" )
 mergeByPt("/CMS_2013_I1273574/d09-x01-y01", "7000",1.)
 useOnePt("/CMS_2013_I1273574/d10-x01-y01",  "7000", "80" )
 mergeByPt("/CMS_2013_I1273574/d11-x01-y01", "7000",1.)
 
 useOnePt("/CMS_2013_I1261026/d01-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d02-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d03-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d04-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d05-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d06-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d07-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d08-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d09-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d10-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d11-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d12-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d13-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d14-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d15-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d16-x01-y01",  "7000", "0" )
 useOnePt("/CMS_2013_I1261026/d17-x01-y01",  "7000", "0" )
 
 
 useOneMass("/CMS_2012_I1090423/d01-x01-y01", "7000", "2000" )
 useOneMass("/CMS_2012_I1090423/d02-x01-y01", "7000", "2000" )
 useOneMass("/CMS_2012_I1090423/d03-x01-y01", "7000", "1200" )
 useOneMass("/CMS_2012_I1090423/d04-x01-y01", "7000", "1200" )
 useOneMass("/CMS_2012_I1090423/d05-x01-y01", "7000", "1200" )
 useOneMass("/CMS_2012_I1090423/d06-x01-y01", "7000", "800" )
 useOneMass("/CMS_2012_I1090423/d07-x01-y01", "7000", "800" )
 useOneMass("/CMS_2012_I1090423/d08-x01-y01", "7000", "300" )
 useOneMass("/CMS_2012_I1090423/d09-x01-y01", "7000", "300" )
 
 logging.info("Processing ATLAS_2014_I1298811")
 mergeByPt("/ATLAS_2014_I1298811/d01-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d01-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d02-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d02-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d03-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d03-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d04-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d04-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d05-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d05-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d06-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d06-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d07-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d07-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d08-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d08-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d09-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d09-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d10-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1298811/d10-x01-y02", "7000")
 useOnePt("/ATLAS_2014_I1298811/d11-x01-y01",  "7000", "0" )
 useOnePt("/ATLAS_2014_I1298811/d12-x01-y01",  "7000", "0" )
 
 useOnePt("/ATLAS_2014_I1298811/d13-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d13-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d14-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d14-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d15-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d15-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d25-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d25-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d26-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d26-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d27-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d27-x01-y02",  "7000", "4" )
 
 useOnePt("/ATLAS_2014_I1298811/d16-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d16-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d17-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d17-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d18-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d18-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d28-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d28-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d29-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d29-x01-y02",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d30-x01-y01",  "7000", "4" )
 useOnePt("/ATLAS_2014_I1298811/d30-x01-y02",  "7000", "4" )
 
 useOnePt("/ATLAS_2014_I1298811/d19-x01-y01",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d19-x01-y02",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d20-x01-y01",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d20-x01-y02",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d21-x01-y01",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d21-x01-y02",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d31-x01-y01",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d31-x01-y02",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d32-x01-y01",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d32-x01-y02",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d33-x01-y01",  "7000", "40" )
 useOnePt("/ATLAS_2014_I1298811/d33-x01-y02",  "7000", "40" )
 
 useOnePt("/ATLAS_2014_I1298811/d22-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d22-x01-y02",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d23-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d23-x01-y02",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d24-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d24-x01-y02",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d34-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d34-x01-y02",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d35-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d35-x01-y02",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d36-x01-y01",  "7000", "210" )
 useOnePt("/ATLAS_2014_I1298811/d36-x01-y02",  "7000", "210" )
 
 
 logging.info("Processing ATLAS_2014_I1268975")
 mergeByMass("/ATLAS_2014_I1268975/d01-x01-y01", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d01-x01-y02", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d01-x01-y03", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d01-x01-y04", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d01-x01-y05", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d01-x01-y06", "7000", 1000.)
 
 mergeByMass("/ATLAS_2014_I1268975/d02-x01-y01", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d02-x01-y02", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d02-x01-y03", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d02-x01-y04", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d02-x01-y05", "7000", 1000.)
 mergeByMass("/ATLAS_2014_I1268975/d02-x01-y06", "7000", 1000.)
 
 logging.info("Processing ATLAS_2014_I1307243")
 useOnePt( "/ATLAS_2014_I1307243/d01-x01-y01",  "7000", "80" )
 mergeByPt("/ATLAS_2014_I1307243/d02-x01-y01", "7000")
 useOnePt( "/ATLAS_2014_I1307243/d03-x01-y01",  "7000", "80" )
 mergeByPt("/ATLAS_2014_I1307243/d04-x01-y01", "7000")
 useOnePt( "/ATLAS_2014_I1307243/d05-x01-y01",  "7000", "80" )
 mergeByPt("/ATLAS_2014_I1307243/d06-x01-y01", "7000")
 useOnePt( "/ATLAS_2014_I1307243/d07-x01-y01",  "7000", "80" )
 mergeByPt("/ATLAS_2014_I1307243/d08-x01-y01", "7000")
 useOnePt( "/ATLAS_2014_I1307243/d09-x01-y01",  "7000", "80" )
 mergeByPt("/ATLAS_2014_I1307243/d10-x01-y01", "7000")
 useOnePt( "/ATLAS_2014_I1307243/d11-x01-y01",  "7000", "80" )
 mergeByPt("/ATLAS_2014_I1307243/d12-x01-y01", "7000")
 useOnePt( "/ATLAS_2014_I1307243/d13-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d14-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d15-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d16-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d17-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d18-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d19-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d20-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d21-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d22-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d23-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d24-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d25-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d26-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d27-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d28-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d29-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d30-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d31-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d32-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d33-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d34-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d35-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d36-x01-y01",  "7000", "80" )
 useOnePt( "/ATLAS_2014_I1307243/d37-x01-y01",  "7000", "80" )
 mergeByPt("/ATLAS_2014_I1307243/d38-x01-y01", "7000")
 useOnePt( "/ATLAS_2014_I1307243/d39-x01-y01",  "7000", "80" )
 mergeByPt("/ATLAS_2014_I1307243/d40-x01-y01", "7000")
 
 
 logging.info("Processing ATLAS_2014_I1325553")
 mergeByPt("/ATLAS_2014_I1325553/d01-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d01-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d01-x01-y03", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d01-x01-y04", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d01-x01-y05", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d01-x01-y06", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d02-x01-y01", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d02-x01-y02", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d02-x01-y03", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d02-x01-y04", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d02-x01-y05", "7000")
 mergeByPt("/ATLAS_2014_I1325553/d02-x01-y06", "7000")
 
 logging.info("Processing CMS_2013_I1208923")
 for i in range(1,6) :
     mergeByPt  ("/CMS_2013_I1208923/d01-x01-y0%s" % i, "7000")
     mergeByMass("/CMS_2013_I1208923/d02-x01-y0%s" % i, "7000", 1.)
 
 logging.info("Processing CMS_2014_I1298810")
 for i in range(1,19) :
     if(i<10) :
         mergeByPt("/CMS_2014_I1298810/d0"+str(i)+"-x01-y01", "7000")
     else :
         mergeByPt("/CMS_2014_I1298810/d"+str(i)+"-x01-y01", "7000")
 
+logging.info("Processing CMS_2014_I1305624")
+for x in range(1,6) :
+    useOnePt( "/CMS_2014_I1305624/d01-x%02d-y01" % x,  "7000", "110" )
+    useOnePt( "/CMS_2014_I1305624/d01-x%02d-y02" % x,  "7000", "110" )
+    useOnePt( "/CMS_2014_I1305624/d01-x%02d-y03" % x,  "7000", "260" )
+    useOnePt( "/CMS_2014_I1305624/d01-x%02d-y04" % x,  "7000", "260" )
+    useOnePt( "/CMS_2014_I1305624/d01-x%02d-y05" % x,  "7000", "400" )
+
 # Choose output file
 name = args[0]+"-Jets.yoda"
 yoda.writeYODA(outhistos,name)
 sys.exit(0)