diff --git a/AnalysisSpace/TreeMaker/BuildFile.xml b/AnalysisSpace/TreeMaker/BuildFile.xml
new file mode 100644
index 0000000..98d8475
--- /dev/null
+++ b/AnalysisSpace/TreeMaker/BuildFile.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AnalysisSpace/TreeMaker/compile.log b/AnalysisSpace/TreeMaker/compile.log
new file mode 100644
index 0000000..d46a337
--- /dev/null
+++ b/AnalysisSpace/TreeMaker/compile.log
@@ -0,0 +1,66 @@
+>> Local Products Rules ..... started
+>> Local Products Rules ..... done
+>> Entering Package AnalysisSpace/TreeMaker
+>> Creating project symlinks
+ src/AnalysisSpace/TreeMaker/python -> python/AnalysisSpace/TreeMaker
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/METBlock.cc
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/MuonBlock.cc
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/PackedPFCandidateBlock.cc
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/PhotonBlock.cc
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/TauBlock.cc
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/TreeMakerModule.cc
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/TriggerBlock.cc
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/TriggerObjectBlock.cc
+>> Compiling edm plugin /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/plugins/VertexBlock.cc
+Entering library rule at AnalysisSpace/TreeMaker
+>> Building LCG reflex dict from header file src/AnalysisSpace/TreeMaker/src/classes.h
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::vector > for ROOT: vector
+Selected class -> std::map, std::vector >, std::less >, std::allocator, std::vector > > > > for ROOT: map >
+Selected class -> std::map >, std::less, std::allocator > > > > for ROOT: map >
+Selected class -> vhtm::Candidate for ROOT: vhtm::Candidate
+Selected class -> vhtm::PackedPFCandidate for ROOT: vhtm::PackedPFCandidate
+Selected class -> vhtm::Event for ROOT: vhtm::Event
+Selected class -> vhtm::GenEvent for ROOT: vhtm::GenEvent
+Selected class -> vhtm::Electron for ROOT: vhtm::Electron
+Selected class -> vhtm::GenParticle for ROOT: vhtm::GenParticle
+Selected class -> vhtm::GenJet for ROOT: vhtm::GenJet
+Selected class -> vhtm::MET for ROOT: vhtm::MET
+Selected class -> vhtm::Tau for ROOT: vhtm::Tau
+Selected class -> vhtm::Muon for ROOT: vhtm::Muon
+Selected class -> vhtm::Jet for ROOT: vhtm::Jet
+Selected class -> vhtm::Vertex for ROOT: vhtm::Vertex
+Selected class -> vhtm::GenMET for ROOT: vhtm::GenMET
+Selected class -> vhtm::TriggerObject for ROOT: vhtm::TriggerObject
+Selected class -> vhtm::Photon for ROOT: vhtm::Photon
+>> Compiling LCG dictionary: tmp/slc6_amd64_gcc491/src/AnalysisSpace/TreeMaker/src/AnalysisSpaceTreeMaker/a/AnalysisSpaceTreeMaker_xr.cc
+>> Compiling /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/src/PhysicsObjects.cc
+>> Compiling /afs/cern.ch/work/s/sroychow/public/HZZ4l/forData/Run2015D/CMSSW_7_4_14/src/AnalysisSpace/TreeMaker/src/Utility.cc
+>> Compiling capabilities tmp/slc6_amd64_gcc491/src/AnalysisSpace/TreeMaker/src/AnalysisSpaceTreeMaker/a/seal_cap.cc
+>> Building shared library tmp/slc6_amd64_gcc491/src/AnalysisSpace/TreeMaker/src/AnalysisSpaceTreeMaker/libAnalysisSpaceTreeMaker.so
+Copying tmp/slc6_amd64_gcc491/src/AnalysisSpace/TreeMaker/src/AnalysisSpaceTreeMaker/libAnalysisSpaceTreeMaker.so to productstore area:
+Leaving library rule at AnalysisSpace/TreeMaker
+>> Building edm plugin tmp/slc6_amd64_gcc491/src/AnalysisSpace/TreeMaker/plugins/TreeMakerPlugins/libTreeMakerPlugins.so
+Leaving library rule at src/AnalysisSpace/TreeMaker/plugins
+@@@@ Running edmWriteConfigs for TreeMakerPlugins
+--- Registered EDM Plugin: TreeMakerPlugins
+>> Building capability library tmp/slc6_amd64_gcc491/src/AnalysisSpace/TreeMaker/src/AnalysisSpaceTreeMaker/libAnalysisSpaceTreeMakerCapabilities.so
+>> Checking EDM Class Version for src/AnalysisSpace/TreeMaker/src/classes_def.xml in libAnalysisSpaceTreeMakerCapabilities.so
+Error in : cannot find dictionary module AnalysisSpaceTreeMaker_xr_rdict.pcm
+[?1034herror: class 'vhtm::Electron' has a different checksum for ClassVersion 1. Increment ClassVersion to 2 and assign it to checksum 1281544504
+Suggestion: You can run 'scram build updateclassversion' to generate src/AnalysisSpace/TreeMaker/src/classes_def.xml.generated with updated ClassVersion
+gmake: *** [tmp/slc6_amd64_gcc491/src/AnalysisSpace/TreeMaker/src/AnalysisSpaceTreeMaker/libAnalysisSpaceTreeMakerCapabilities.so] Error 1
+gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2
diff --git a/AnalysisSpace/TreeMaker/interface/PhysicsObjects.h b/AnalysisSpace/TreeMaker/interface/PhysicsObjects.h
new file mode 100644
index 0000000..a01380d
--- /dev/null
+++ b/AnalysisSpace/TreeMaker/interface/PhysicsObjects.h
@@ -0,0 +1,598 @@
+#ifndef __AnalysisSpace_TreeMaker_PhysicsObjects_h
+#define __AnalysisSpace_TreeMaker_PhysicsObjects_h
+
+#include
+#include