Main Page
Namespaces
Classes
Package Documentation
SimTracker
TrackHistory
interface
CategoryCriteria.h
Go to the documentation of this file.
1
#ifndef CategoryCriteria_h
2
#define CategoryCriteria_h
3
4
#include "
CommonTools/Utils/interface/StringCutObjectSelector.h
"
5
#include "
FWCore/Framework/interface/ConsumesCollector.h
"
6
#include "
FWCore/Framework/interface/Event.h
"
7
#include "
FWCore/Framework/interface/EventSetup.h
"
8
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
9
10
#include "
DataFormats/Common/interface/Ref.h
"
11
14
template
<
typename
Collection,
typename
Classifier>
15
class
CategoryCriteria
{
16
public
:
17
// Input collection type
18
typedef
Collection
collection
;
19
20
// Type of the collection elements
21
typedef
typename
Collection::value_type
type
;
22
23
// Oumemberut collection type
24
typedef
std::vector<const type *>
container
;
25
26
// Iterator over result collection type.
27
typedef
typename
container::const_iterator
const_iterator
;
28
29
// Constructor from parameter set configurability
30
CategoryCriteria
(
const
edm::ParameterSet
&
config
,
edm::ConsumesCollector
&&iC)
31
:
classifier_
(config,
std
::
move
(iC)),
evaluate_
(config.getParameter<
std
::
string
>(
"cut"
)) {}
32
33
// Select object from a collection and possibly event content
34
void
select
(
const
edm::Handle<collection>
&collectionHandler,
const
edm::Event
&
event
,
const
edm::EventSetup
&
setup
) {
35
selected_
.clear();
36
37
// const collection & collectionPointer = *(collectionHandler.product());
38
39
classifier_
.newEvent(event, setup);
40
41
for
(
typename
collection::size_type
i
= 0;
i
< collectionHandler->size(); ++
i
) {
42
edm::Ref<Collection>
member(collectionHandler,
i
);
43
44
classifier_
.evaluate(member);
45
46
// Classifier is evaluated using StringCutObjectSelector
47
if
(
evaluate_
(
classifier_
))
48
selected_
.push_back(&(*member));
49
}
50
}
51
52
// Iterators over selected objects: collection begin
53
const_iterator
begin
()
const
{
return
selected_
.begin(); }
54
55
// Iterators over selected objects: collection end
56
const_iterator
end
()
const
{
return
selected_
.end(); }
57
58
// True if no object has been selected
59
std::size_t
size
()
const
{
return
selected_
.size(); }
60
61
private
:
62
container
selected_
;
63
64
Classifier
classifier_
;
65
66
StringCutObjectSelector<typename Classifier::Categories>
evaluate_
;
67
};
68
69
#endif
mps_fire.i
i
Definition:
mps_fire.py:338
CategoryCriteria::selected_
container selected_
Definition:
CategoryCriteria.h:62
CategoryCriteria::classifier_
Classifier classifier_
Definition:
CategoryCriteria.h:64
edm::Ref
Definition:
AssociativeIterator.h:51
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
Event.h
CategoryCriteria::collection
Collection collection
Definition:
CategoryCriteria.h:18
StringCutObjectSelector< typename Classifier::Categories >
edm::Handle
Definition:
AssociativeIterator.h:47
EventSetup.h
GeneralSetup.setup
def setup(process, global_tag, zero_tesla=False)
Definition:
GeneralSetup.py:2
CategoryCriteria::size
std::size_t size() const
Definition:
CategoryCriteria.h:59
std
Definition:
JetResolutionObject.h:80
config
Definition:
config.py:1
CategoryCriteria::begin
const_iterator begin() const
Definition:
CategoryCriteria.h:53
CategoryCriteria::CategoryCriteria
CategoryCriteria(const edm::ParameterSet &config, edm::ConsumesCollector &&iC)
Definition:
CategoryCriteria.h:30
trigger::size_type
uint16_t size_type
Definition:
TriggerTypeDefs.h:19
CategoryCriteria::container
std::vector< const type * > container
Definition:
CategoryCriteria.h:24
CategoryCriteria::select
void select(const edm::Handle< collection > &collectionHandler, const edm::Event &event, const edm::EventSetup &setup)
Definition:
CategoryCriteria.h:34
ParameterSet.h
StringCutObjectSelector.h
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition:
JetExtendedAssociation.h:30
CategoryCriteria::type
Collection::value_type type
Definition:
CategoryCriteria.h:21
edm::EventSetup
Definition:
EventSetup.h:57
CategoryCriteria
Definition:
CategoryCriteria.h:15
CategoryCriteria::evaluate_
StringCutObjectSelector< typename Classifier::Categories > evaluate_
Definition:
CategoryCriteria.h:66
Ref.h
CategoryCriteria::const_iterator
container::const_iterator const_iterator
Definition:
CategoryCriteria.h:27
CategoryCriteria::end
const_iterator end() const
Definition:
CategoryCriteria.h:56
edm::ParameterSet
Definition:
ParameterSet.h:36
edm::Event
Definition:
Event.h:71
ConsumesCollector.h
eostools.move
def move(src, dest)
Definition:
eostools.py:511
event
Definition:
event.py:1
edm::ConsumesCollector
Definition:
ConsumesCollector.h:39
Generated for CMSSW Reference Manual by
1.8.11