Templated SoftLeptonTagInfo + PAT support for CandSoftLeptonTagInfo

SoftLeptonTagInfo has been templated to support candidate-based SoftLeptonTagInfo. This will allow the existing soft lepton taggers to fully support MiniAOD. The PAT support for CandSoftLeptonTagInfo has also been included.

The code changes implemented in this PR should be completely transparent to the standard reconstruction. The attached plots show the performance of the existing soft muon and soft electron taggers before and after the changes.

**SET (soft electron tagger)**
![performance_set](https://cloud.githubusercontent.com/assets/4885289/5050709/78012912-6bfe-11e4-9a8f-39df28863751.png)

**SMT (soft muon tagger)**
![performance_smt](https://cloud.githubusercontent.com/assets/4885289/5050712/7fbc57a8-6bfe-11e4-8675-05036abdac6a.png)

its good to put headers for plugins into the plugins dir as in any case no one else needs to include them. 

On Nov 15, 2014, at 11:07 AM, StoyanStoynev <notifications@github.com>
 wrote:

> In RecoBTag/SoftLepton/src/MuonTaggerNoIP.cc:
> 
> > @@ -2,7 +2,7 @@
> >  
> >  #include "DataFormats/BTauReco/interface/SoftLeptonTagInfo.h"
> >  #include "RecoBTag/SoftLepton/interface/LeptonSelector.h"
> > -#include "RecoBTag/SoftLepton/interface/MuonTaggerNoIP.h"
> > +#include "RecoBTag/SoftLepton/src/MuonTaggerNoIP.h"
> 
> The PR as is will not compile because RecoBTag/SoftLepton/plugins/module.cc still uses the interface/ path. However, why do you change it at all, why do you want some header file(s) in src/ and others in interface/?
> 
> —
> Reply to this email directly or view it on GitHub.
>