Change acc(ALL) and add acc(DETECTOR)

acc(ALL) now includes all events, even those that would not hit part
of the detector. The intent is to use this to track the number of events
in a sample, which is useful when normalizing MC by its cross section
and event count. This is implemented by *HARDCODING* it to be true.

acc(DETECTOR) replaces the old version of acc(ALL). It is true if any
other acc() selection is true, excluding the new definition of acc(ALL).

To summarize:
    * acc(ALL): Always true.
    * acc(DETECTOR): True if the particle is somewhere in the detector.
Add EfficiencyTable

EfficiencyTable holds information derived from a table of efficiencies,
with separate "bins" for pt and eta. It allows easy inserting of rows
from these tables, and easy retrieval of efficiency values given a pt,
eta point.
Add better cut support to ZFinderElectron

Added a function, SetCutWeight, that allows cut weights to be set after
the cut has been added.
Add ZEfficiencies.cc

This class stores multiple EfficiencyTables and allows access to them by
cut name. As such, it has hundreds of lines of hard coded efficiencies
as measured by the EGamma POG (and later by us).
Add setting of scale factors for MC in ZFinder.cc
Fix some typos and clean up includes
Add an event_weight to ZFinderPlotter

The event weight is used every time fill is called from a histogram. It
defaults to 1 if not filled.
Add efficiency to CutLevel

Also add reporting of efficiency to ZFinderEvent.
Change return value of ZFinderElectron::CutWeight

CutWeight now returns -1 if the requested cut is missing. This allows
the calling program to decide what to do in this case, instead of
insisting that they use 0 (as they can't tell 0 apart from a valid
value).
Add efficiency tracking in ZDefinition

A cumulative efficiency is tracked through the ZDefinition for both Tag
0 Probe 1 and Tag 1 Probe 0. TODO: When a cut is inverted, there should
be better protection against negative numbers, for example with scale
factors which can be larger than 1 (and hence 1 - Eff < 0).

Additionally, remove setup of the cut_level structure, as this is
already handled by its constructor.
Add efficiency passing to ZDefinitionPlotter

We take the efficiency from cutlevel. Since we don't know if the passing
set is Tag 0 Probe 1, or Tag 1 Probe 0, we take t0p1 if it passes,
otherwise we take t1p0 if it passes. If neither passes we use 1.

This might cause a *BIAS* if t0p1 and t1p0 both pass, but are slightly
different.
Move zeffs_ to the correct position in ZFinder

zeffs_ must come after the cuts are set (as the cuts are where the
efficiencies are stored), but before the zdefs are set (as the
efficiencies are used in the zdeffs).
Update file locations after HDFS move

Updated the file locations for:
    * 2012A Double Electron
    * 2012B Double Electron
    * 2012A Single Electron
    * 2012B Single Electron
    * Sumer12 DYToEE MC
    * TTBar MC
Add the 2012ABCD "Golden Lumi" JSON

The file was taken from the Twiki:
https://twiki.cern.ch/twiki/bin/viewauth/CMS/PdmV2012Analysis
Fixing indents and lines in ZDefinition.cc
Remove swearing; sometimes hot heads prevail...
Add Gen Mass cut for MC ZDefinitions

It can now be specified in the ZDeffintion PSets if the mass cut should
be madd on the Reco mass or the Truth mass.

To help indicate what is being done to the consume of the output data,
the mass cut level name is changed depending on what quantity was used
as follows:
    * Reco:  "... < M_{ee} < ..."
    * Truth: "... < GEN M_{ee} < ..."

Also updated how we make ZDefinitions. Previously we made one set of
ZDefinitions and used these to make two sets of Plots and Workspaces,
one for Truth and one for Reco. We now make two sets of ZDefs, one for
Truth and one for Reco, and use each set to make the corresponding set
of plots.
Update ZDefinitions_cfi with Truth Mass cut option

Allow the user to specify that the mass cut should be made on the Truth
mass.

Added a set of cuts that mirror just the kinematic cuts from our
combined results, in both Generator quantities and Reco.

Also added a set of ZDefinitions without trigger requirements (mainly
for MC without emulated triggers).
Add weights to the Workspaces

The weights are taken to be the weight of the final cut level,
regardless of whether the event ends up in the denominator or numerator.
Fix false rejection bug in ZDefinitionWorkspace

In a previous commit (16e341b6afd0304253d439f681a0bc318fda7262) a bug
was introduced that incorrectly rejected all events with more than -1
vertices (that is, every valid events). This commit fixes the bug by
reverting the one line that caused the problem.