CMS 3D CMS Logo

RecoTauPiZeroPlugins.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_RecoTauPiZeroPlugins_h
2 #define RecoTauTag_RecoTau_RecoTauPiZeroPlugins_h
3 
4 /*
5  * RecoTauPiZeroPlugins
6  *
7  * Author: Evan K. Friis (UC Davis)
8  *
9  * Base classes for plugins that construct and rank RecoTauPiZero
10  * objects from a jet. The builder plugin has an abstract function
11  * that takes a PFJet and returns a list of reconstructed photons in
12  * the jet.
13  *
14  * The quality plugin has an abstract function that takes a reference
15  * to a RecoTauPiZero and returns a double indicating the quality of
16  * the candidate. Lower numbers are better.
17  *
18  */
19 
20 #include <vector>
23 
25 
26 namespace reco {
27  // Forward declarations
28  class Jet;
29  class RecoTauPiZero;
30  namespace tau {
31 
33  public:
34  // Return a vector of pointers
35  typedef std::vector<std::unique_ptr<RecoTauPiZero>> PiZeroVector;
41  virtual return_type operator()(const Jet&) const = 0;
43  void beginEvent() override {}
44  };
45 
47  public:
51  virtual double operator()(const RecoTauPiZero&) const = 0;
52  };
53  } // namespace tau
54 } // namespace reco
55 
62 #endif
virtual double operator()(const RecoTauPiZero &) const =0
Return a number indicating the quality of this PiZero.
virtual return_type operator()(const Jet &) const =0
Build a collection of piZeros from objects in the input jet.
RecoTauPiZeroQualityPlugin(const edm::ParameterSet &pset)
RecoTauPiZeroBuilderPlugin(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
Definition: Jet.py:1
edmplugin::PluginFactory< reco::tau::RecoTauPiZeroQualityPlugin *(const edm::ParameterSet &)> RecoTauPiZeroQualityPluginFactory
std::vector< std::unique_ptr< RecoTauPiZero > > PiZeroVector
void beginEvent() override
Hook called at the beginning of the event.
fixed size matrix