RecoTauTag
RecoTau
interface
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>
21
#include <boost/ptr_container/ptr_vector.hpp>
22
#include "
DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h
"
23
#include "
RecoTauTag/RecoTau/interface/RecoTauPluginsCommon.h
"
24
25
#include "
FWCore/Framework/interface/ConsumesCollector.h
"
26
27
namespace
reco
{
28
// Forward declarations
29
class
Jet
;
30
class
RecoTauPiZero;
31
namespace
tau
{
32
33
class
RecoTauPiZeroBuilderPlugin
:
public
RecoTauEventHolderPlugin
{
34
public
:
35
// Return a vector of pointers
36
typedef
boost::ptr_vector<RecoTauPiZero>
PiZeroVector
;
37
// Storing the result in an auto ptr on function return allows
38
// allows us to safely release the ptr_vector in the virtual function
39
typedef
std::unique_ptr<PiZeroVector>
return_type
;
40
explicit
RecoTauPiZeroBuilderPlugin
(
const
edm::ParameterSet
&
pset
,
edm::ConsumesCollector
&& iC)
41
:
RecoTauEventHolderPlugin
(
pset
) {}
42
~RecoTauPiZeroBuilderPlugin
()
override
{}
44
virtual
return_type
operator()
(
const
Jet
&)
const
= 0;
46
void
beginEvent
()
override
{};
47
};
48
49
class
RecoTauPiZeroQualityPlugin
:
public
RecoTauNamedPlugin
{
50
public
:
51
explicit
RecoTauPiZeroQualityPlugin
(
const
edm::ParameterSet
&
pset
) :
RecoTauNamedPlugin
(
pset
) {}
52
~RecoTauPiZeroQualityPlugin
()
override
{}
54
virtual
double
operator()
(
const
RecoTauPiZero
&)
const
= 0;
55
};
56
}
// namespace tau
57
}
// namespace reco
58
59
#include "
FWCore/PluginManager/interface/PluginFactory.h
"
60
typedef
edmplugin::PluginFactory
<
reco::tau::RecoTauPiZeroQualityPlugin
*(
const
edm::ParameterSet
&)>
61
RecoTauPiZeroQualityPluginFactory
;
62
typedef
edmplugin::PluginFactory
<
reco::tau::RecoTauPiZeroBuilderPlugin
*(
const
edm::ParameterSet
&,
63
edm::ConsumesCollector
&& iC)>
64
RecoTauPiZeroBuilderPluginFactory
;
65
#endif
PluginFactory.h
reco::tau::RecoTauPiZeroQualityPlugin
Definition:
RecoTauPiZeroPlugins.h:49
reco::tau::RecoTauPiZeroBuilderPlugin::operator()
virtual return_type operator()(const Jet &) const =0
Build a collection of piZeros from objects in the input jet.
metsig::tau
Definition:
SignAlgoResolutions.h:49
reco::tau::RecoTauPiZeroQualityPlugin::operator()
virtual double operator()(const RecoTauPiZero &) const =0
Return a number indicating the quality of this PiZero.
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:45
RecoTauPluginsCommon.h
reco::tau::RecoTauPiZeroBuilderPlugin::RecoTauPiZeroBuilderPlugin
RecoTauPiZeroBuilderPlugin(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
Definition:
RecoTauPiZeroPlugins.h:40
Jet
Definition:
Jet.py:1
reco::tau::RecoTauNamedPlugin
Definition:
RecoTauPluginsCommon.h:30
reco::tau::RecoTauPiZeroQualityPlugin::~RecoTauPiZeroQualityPlugin
~RecoTauPiZeroQualityPlugin() override
Definition:
RecoTauPiZeroPlugins.h:52
reco::tau::RecoTauPiZeroBuilderPlugin::~RecoTauPiZeroBuilderPlugin
~RecoTauPiZeroBuilderPlugin() override
Definition:
RecoTauPiZeroPlugins.h:42
reco::tau::RecoTauPiZeroQualityPlugin::RecoTauPiZeroQualityPlugin
RecoTauPiZeroQualityPlugin(const edm::ParameterSet &pset)
Definition:
RecoTauPiZeroPlugins.h:51
reco::tau::RecoTauEventHolderPlugin
Definition:
RecoTauPluginsCommon.h:41
reco::tau::RecoTauPiZeroBuilderPlugin::PiZeroVector
boost::ptr_vector< RecoTauPiZero > PiZeroVector
Definition:
RecoTauPiZeroPlugins.h:36
edm::ParameterSet
Definition:
ParameterSet.h:36
edmplugin::PluginFactory
Definition:
PluginFactory.h:34
reco::tau::RecoTauPiZeroBuilderPlugin::beginEvent
void beginEvent() override
Hook called at the beginning of the event.
Definition:
RecoTauPiZeroPlugins.h:46
reco::RecoTauPiZero
Definition:
RecoTauPiZero.h:7
reco::tau::RecoTauPiZeroBuilderPlugin
Definition:
RecoTauPiZeroPlugins.h:33
ConsumesCollector.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:39
muonDTDigis_cfi.pset
pset
Definition:
muonDTDigis_cfi.py:27
PFCandidateFwd.h
reco::tau::RecoTauPiZeroBuilderPlugin::return_type
std::unique_ptr< PiZeroVector > return_type
Definition:
RecoTauPiZeroPlugins.h:39
Generated for CMSSW Reference Manual by
1.8.16