CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PFRecoTauChargedHadronPlugins.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_PFRecoTauChargedHadronPlugins_h
2 #define RecoTauTag_RecoTau_PFRecoTauChargedHadronPlugins_h
3 
4 /*
5  * PFRecoTauChargedHadronPlugins
6  *
7  * Author: Christian Veelken, LLR
8  *
9  * Base classes for plugins that construct and rank PFRecoTauChargedHadron
10  * objects from a jet. The builder plugin has an abstract function
11  * that takes a Jet 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 PFRecoTauChargedHadron and returns a double indicating the quality of
16  * the candidate. Lower numbers are better.
17  *
18  */
19 
23 
24 #include <vector>
25 
26 namespace reco {
27 
28  // Forward declarations
29  class Jet;
30  class PFRecoTauChargedHadron;
31 
32  namespace tau {
33 
35  public:
36  // Return a vector of pointers
37  typedef std::vector<std::unique_ptr<PFRecoTauChargedHadron>> ChargedHadronVector;
40  : RecoTauEventHolderPlugin(pset) {}
43  virtual return_type operator()(const Jet&) const = 0;
45  void beginEvent() override {}
46  };
47 
49  public:
53  virtual double operator()(const PFRecoTauChargedHadron&) const = 0;
54  };
55 
56  } // namespace tau
57 } // namespace reco
58 
60 
66 
67 #endif
void beginEvent() override
Hook called at the beginning of the event.
std::vector< std::unique_ptr< PFRecoTauChargedHadron > > ChargedHadronVector
Base class for all types of Jets.
Definition: Jet.h:20
PFRecoTauChargedHadronQualityPlugin(const edm::ParameterSet &pset)
edmplugin::PluginFactory< reco::tau::PFRecoTauChargedHadronQualityPlugin *(const edm::ParameterSet &)> PFRecoTauChargedHadronQualityPluginFactory
constexpr char Jet[]
Definition: modules.cc:9
virtual double operator()(const PFRecoTauChargedHadron &) const =0
Return a number indicating the quality of this chargedHadron.
virtual return_type operator()(const Jet &) const =0
Build a collection of chargedHadrons from objects in the input jet.
PFRecoTauChargedHadronBuilderPlugin(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)