CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  * $Id $
19  */
20 
21 #include <vector>
22 #include <boost/ptr_container/ptr_vector.hpp>
25 
26 namespace reco {
27 // Forward declarations
28 class PFJet;
29 class RecoTauPiZero;
30 namespace tau {
31 
33  public:
34  // Return a vector of pointers
35  typedef boost::ptr_vector<RecoTauPiZero> PiZeroVector;
36  // Storing the result in an auto ptr on function return allows
37  // allows us to safely release the ptr_vector in the virtual function
38  typedef std::auto_ptr<PiZeroVector> return_type;
43  virtual return_type operator()(const PFJet&) const = 0;
45  virtual void beginEvent() {};
46 };
47 
49  public:
51  RecoTauNamedPlugin(pset) {}
54  virtual double operator()(const RecoTauPiZero&) const = 0;
55 };
56 }} // end namespace reco::tau
57 
63 #endif
virtual double operator()(const RecoTauPiZero &) const =0
Return a number indicating the quality of this PiZero.
RecoTauPiZeroQualityPlugin(const edm::ParameterSet &pset)
Jets made from PFObjects.
Definition: PFJet.h:22
virtual void beginEvent()
Hook called at the beginning of the event.
std::auto_ptr< PiZeroVector > return_type
boost::ptr_vector< RecoTauPiZero > PiZeroVector
virtual return_type operator()(const PFJet &) const =0
Build a collection of piZeros from objects in the input jet.
RecoTauPiZeroBuilderPlugin(const edm::ParameterSet &pset)