Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
CommonTools
UtilAlgos
interface
ObjectPairFilter.h
Go to the documentation of this file.
1
#ifndef RecoAlgos_ObjectPairFilter_h
2
#define RecoAlgos_ObjectPairFilter_h
3
15
#include "
FWCore/Framework/interface/EDFilter.h
"
16
#include "
FWCore/Framework/interface/Event.h
"
17
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
18
#include "
FWCore/Utilities/interface/InputTag.h
"
19
#include "
CommonTools/UtilAlgos/interface/ParameterAdapter.h
"
20
#include <vector>
21
#include <algorithm>
22
23
template
<
typename
C,
typename
S>
24
class
ObjectPairFilter
:
public
edm::EDFilter
{
25
public
:
27
explicit
ObjectPairFilter
(
const
edm::ParameterSet
&
cfg
) :
28
select_
(
reco
::
modules
::
make
<
S
>( cfg ) ),
29
srcToken_
(
consumes
<
C
>( cfg.
template
getParameter<edm::
InputTag
>(
"src"
) ) ),
30
minNumber_
( 1 ) {
31
std::vector<std::string> ints = cfg.template getParameterNamesForType<unsigned int>();
32
const
std::string
minNumber
(
"minNumber"
);
33
bool
foundMinNumber =
std::find
( ints.begin(), ints.end(),
minNumber
) != ints.end();
34
if
( foundMinNumber )
35
minNumber_
= cfg.template getParameter<unsigned int>(
minNumber
);
36
}
37
38
private
:
40
bool
filter
(
edm::Event
& evt,
const
edm::EventSetup
&)
override
{
41
edm::Handle<C>
source
;
42
evt.
getByToken
(
srcToken_
, source );
43
size_t
n
= 0;
44
for
(
typename
C::const_iterator
i
= source->begin();
i
!= source->end(); ++
i
)
45
for
(
typename
C::const_iterator
j
=
i
+ 1;
j
!= source->end(); ++
j
) {
46
if
(
select_
( *
i
, *
j
) ) n ++;
47
if
( n >=
minNumber_
)
return
true
;
48
}
49
return
false
;
50
}
52
S
select_
;
54
edm::EDGetTokenT<C>
srcToken_
;
56
unsigned
int
minNumber_
;
57
};
58
59
#endif
60
i
int i
Definition:
DBlmapReader.cc:9
looper.cfg
tuple cfg
Definition:
looper.py:293
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition:
Event.h:464
Event.h
edmConvertToStreamModule.modules
list modules
Definition:
edmConvertToStreamModule.py:120
edm::Handle
Definition:
AssociativeIterator.h:47
reco::modules::make
S make(const edm::ParameterSet &cfg)
Definition:
ParameterAdapter.h:24
ObjectPairFilter::select_
S select_
object filter
Definition:
ObjectPairFilter.h:52
funct::C
C
Definition:
Factorize.h:141
dt_dqm_sourceclient_common_cff.reco
tuple reco
Definition:
dt_dqm_sourceclient_common_cff.py:106
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition:
FindCaloHit.cc:7
HLT_25ns14e33_v1_cff.InputTag
tuple InputTag
Definition:
HLT_25ns14e33_v1_cff.py:45333
edm::EDGetTokenT< C >
ObjectPairFilter
Definition:
ObjectPairFilter.h:24
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition:
EDConsumerBase.h:95
ParameterSet.h
EDFilter.h
j
int j
Definition:
DBlmapReader.cc:9
edm::EventSetup
Definition:
EventSetup.h:45
edm::EDFilter
Definition:
EDFilter.h:37
ObjectPairFilter::srcToken_
edm::EDGetTokenT< C > srcToken_
source collection label
Definition:
ObjectPairFilter.h:54
S
double S(const TLorentzVector &, const TLorentzVector &)
Definition:
Particle.cc:99
gen::n
int n
Definition:
Cascade2Hadronizer.cc:79
ObjectPairFilter::filter
bool filter(edm::Event &evt, const edm::EventSetup &) override
process one event
Definition:
ObjectPairFilter.h:40
InputTag.h
ObjectPairFilter::minNumber_
unsigned int minNumber_
minimum number of entries in a collection
Definition:
ObjectPairFilter.h:56
ParameterAdapter.h
edm::ParameterSet
Definition:
ParameterSet.h:36
ObjectPairFilter::ObjectPairFilter
ObjectPairFilter(const edm::ParameterSet &cfg)
constructor
Definition:
ObjectPairFilter.h:27
edm::Event
Definition:
Event.h:64
CosmicsPD_Skims.minNumber
tuple minNumber
Definition:
CosmicsPD_Skims.py:228
source
static std::string const source
Definition:
EdmProvDump.cc:42
svgfig.template
def template
Definition:
svgfig.py:520
Generated for CMSSW Reference Manual by
1.8.5