Main Page
Namespaces
Classes
Package Documentation
RecoTauTag
RecoTau
plugins
RecoTauSoftTwoProngTausCleanerPlugin.cc
Go to the documentation of this file.
1
/*
2
* RecoTauSoftTwoProngTausCleanerPlugin
3
*
4
* Author: Christian Veelken, NICPB Tallinn
5
*
6
* Remove 2-prong PFTaus with a low pT track, in order to reduce rate of 1-prong taus migrating to 2-prong decay mode
7
*/
8
9
#include "
RecoTauTag/RecoTau/interface/RecoTauBuilderPlugins.h
"
10
#include "
DataFormats/TauReco/interface/PFTauDiscriminator.h
"
11
12
namespace
reco
{
namespace
tau
{
13
14
class
RecoTauSoftTwoProngTausCleanerPlugin
:
public
RecoTauCleanerPlugin
15
{
16
public
:
17
RecoTauSoftTwoProngTausCleanerPlugin
(
const
edm::ParameterSet
&
pset
,
edm::ConsumesCollector
&& iC);
18
19
// Get ranking value for a given tau Ref
20
double
operator()
(
const
reco::PFTauRef
&)
const override
;
21
private
:
22
double
minTrackPt_
;
23
};
24
25
RecoTauSoftTwoProngTausCleanerPlugin::RecoTauSoftTwoProngTausCleanerPlugin
(
const
edm::ParameterSet
&
pset
,
edm::ConsumesCollector
&& iC)
26
:
RecoTauCleanerPlugin
(pset,
std
::
move
(iC))
27
{
28
minTrackPt_
= pset.
getParameter
<
double
>(
"minTrackPt"
);
29
}
30
31
double
RecoTauSoftTwoProngTausCleanerPlugin::operator()
(
const
reco::PFTauRef
&
tau
)
const
32
{
33
double
result
= 0.;
34
const
std::vector<PFRecoTauChargedHadron>& chargedHadrons = tau->signalTauChargedHadronCandidates();
35
if
( chargedHadrons.size() == 2 ) {
36
for
( std::vector<PFRecoTauChargedHadron>::const_iterator
chargedHadron
= chargedHadrons.begin();
37
chargedHadron
!= chargedHadrons.end(); ++
chargedHadron
) {
38
if
( !(
chargedHadron
->getTrack().get() &&
chargedHadron
->getTrack()->pt() >
minTrackPt_
) ) result += 1.e+3;
39
}
40
}
41
return
result
;
42
}
43
44
}}
// end namespace reco::tau
45
46
// Register our plugin
47
#include "
FWCore/Framework/interface/MakerMacros.h
"
48
DEFINE_EDM_PLUGIN
(
RecoTauCleanerPluginFactory
,
49
reco::tau::RecoTauSoftTwoProngTausCleanerPlugin
,
50
"RecoTauSoftTwoProngTausCleanerPlugin"
);
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
reco::tau::RecoTauSoftTwoProngTausCleanerPlugin::operator()
double operator()(const reco::PFTauRef &) const override
Definition:
RecoTauSoftTwoProngTausCleanerPlugin.cc:31
mps_fire.result
result
Definition:
mps_fire.py:111
edm::Ref< PFTauCollection >
RecoTauBuilderPlugins.h
MakerMacros.h
muonDTDigis_cfi.pset
pset
Definition:
muonDTDigis_cfi.py:27
std
Definition:
JetResolutionObject.h:76
PFTauDiscriminator.h
reco::tau::RecoTauSoftTwoProngTausCleanerPlugin::RecoTauSoftTwoProngTausCleanerPlugin
RecoTauSoftTwoProngTausCleanerPlugin(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
Definition:
RecoTauSoftTwoProngTausCleanerPlugin.cc:25
edmplugin::PluginFactory
Definition:
PluginFactory.h:31
metsig::tau
Definition:
SignAlgoResolutions.h:40
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:43
reco::tau::RecoTauSoftTwoProngTausCleanerPlugin
Definition:
RecoTauSoftTwoProngTausCleanerPlugin.cc:14
edm::ParameterSet
Definition:
ParameterSet.h:36
DEFINE_EDM_PLUGIN
#define DEFINE_EDM_PLUGIN(factory, type, name)
Definition:
PluginFactory.h:101
reco::tau::RecoTauCleanerPlugin
Definition:
RecoTauBuilderPlugins.h:114
muons2muons_cfi.chargedHadron
chargedHadron
Definition:
muons2muons_cfi.py:26
reco::tau::RecoTauSoftTwoProngTausCleanerPlugin::minTrackPt_
double minTrackPt_
Definition:
RecoTauSoftTwoProngTausCleanerPlugin.cc:22
eostools.move
def move(src, dest)
Definition:
eostools.py:510
edm::ConsumesCollector
Definition:
ConsumesCollector.h:39
Generated for CMSSW Reference Manual by
1.8.11