Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:51

0001 /*
0002  * RecoTauPiZeroStringQuality
0003  *
0004  * Author: Evan K. Friis, UC Davis
0005  *
0006  * RecoTau quality plugin that returns the value given by the supplied string
0007  * expression.  A string cut can additionally be applied.  The PiZeros
0008  * that fail the cut will be associated with a default value.
0009  *
0010  *
0011  */
0012 
0013 #include "RecoTauTag/RecoTau/interface/RecoTauPiZeroPlugins.h"
0014 #include "DataFormats/TauReco/interface/RecoTauPiZero.h"
0015 
0016 #include "CommonTools/Utils/interface/StringCutObjectSelector.h"
0017 #include "CommonTools/Utils/interface/StringObjectFunction.h"
0018 
0019 namespace reco {
0020   namespace tau {
0021 
0022     class RecoTauPiZeroStringQuality : public RecoTauPiZeroQualityPlugin {
0023     public:
0024       explicit RecoTauPiZeroStringQuality(const edm::ParameterSet&);
0025       ~RecoTauPiZeroStringQuality() override {}
0026       double operator()(const RecoTauPiZero&) const override;
0027 
0028     private:
0029       const StringCutObjectSelector<RecoTauPiZero> selector_;
0030       const StringObjectFunction<RecoTauPiZero> function_;
0031       double failResult_;
0032     };
0033 
0034     RecoTauPiZeroStringQuality::RecoTauPiZeroStringQuality(const edm::ParameterSet& pset)
0035         : RecoTauPiZeroQualityPlugin(pset),
0036           selector_(pset.getParameter<std::string>("selection")),
0037           function_(pset.getParameter<std::string>("selectionPassFunction")),
0038           failResult_(pset.getParameter<double>("selectionFailValue")) {}
0039 
0040     double RecoTauPiZeroStringQuality::operator()(const RecoTauPiZero& cand) const {
0041       if (selector_(cand)) {
0042         return function_(cand);
0043       } else {
0044         return failResult_;
0045       }
0046     }
0047   }  // namespace tau
0048 }  // namespace reco
0049 
0050 #include "FWCore/Framework/interface/MakerMacros.h"
0051 DEFINE_EDM_PLUGIN(RecoTauPiZeroQualityPluginFactory,
0052                   reco::tau::RecoTauPiZeroStringQuality,
0053                   "RecoTauPiZeroStringQuality");