uwcms/FinalStateAnalysis — pull request #381 by nwoods (2014-12-08 22:09:13+00:00)
Title: CMSSW_7_2_X (PHYS14 samples)

Omnibus PR for update to CMSSW_7_2_X for the PHYS14 exercise. If you need the 7_0_X/CSA14 version of the code, it's tagged as miniAOD_CSA14 and will stay archived there.

This PR represents normal CMSSW verison update changes and bugfixes, plus a few bigger changes. To summarize:

# New
* Versioned electron cut-based ID
* Versioned electron MVA ID
* Rho corrections that actually work (and the isolation they modify)
* Little bit of branch cleanup (more needed)
* Some useful final state branches that were inexplicably missing up to now, like final state Eta, Phi, and Mt.

# Newly broken
* B jets (shouldn't be hard to fix, just a few method changes in CMSSW, but they aren't in my analysis and I don't have the time)
* Rochester corrections (require a random number generator that got completely hosed in 72X, aren't needed until we have data anyway)
* Electron energy corrections (same deal as Rochester corrections)
* 50ns samples (this isn't a surprise, since there aren't many/any in PHYS14. Will complain a little, then probably break but I haven't tried it).
* The old versions of the electron ID stuff which Devin put in by hand are deprecated but I haven't deleted them yet.
* Possibly, photon and jet IDs. I haven't checked, but I also didn't implement the versioned ID for them.

For the modules that require the random number generator, I did the stupidest possible thing and got everything to compile without deleting them by appending "OLD" to the end of the plugin file names in `PatTools/plugins`, because the buildfiles are set up to compile everything of the form `*.cc`. I felt this would create less confusion in the future than adding flags to `BuildFile.xml` to ignore them (and `BuildFile.xml`'s documentation says things like "In the new version, CMSSW_1_0_0_pre3 and higher...", so I don't trust it not to blow up in my face).

# Still needed
* Versioned ID for muons, photons, jets, etc.
* Versioned isolation
* Fixes to the broken things above.
* Testing for some things I "fixed" for CMSSW_7_2_X but don't know how to test, like SVfitMass and a few others.
* Cleanup of (lots and lots of) deprecated code.

I can do some of these fixes, but I'm hoping others will take care of most of them. This unexpected sojourn into the land of pure coding has left me feeling a bit behind in things like prelim and analysis.