CommonTools
UtilAlgos
interface
SingleObjectSelector.h
Go to the documentation of this file.
1
#ifndef UtilAlgos_SingleObjectSelector_h
2
#define UtilAlgos_SingleObjectSelector_h
3
/* \class SingleObjectSelector
4
*
5
* \author Luca Lista, INFN
6
*/
7
#include "
CommonTools/UtilAlgos/interface/ObjectSelector.h
"
8
#include "
CommonTools/UtilAlgos/interface/StoreContainerTrait.h
"
9
#include "
CommonTools/UtilAlgos/interface/SelectionAdderTrait.h
"
10
#include "
CommonTools/UtilAlgos/interface/SingleElementCollectionSelector.h
"
11
12
/* the following is just to ease transition
13
* grep -r SingleObjectSelector * | wc
14
* 209 540 22532
15
*/
16
17
template
<
typename
InputCollection
,
18
typename
Selector
,
19
typename
EdmFilter,
20
typename
OutputCollection
=
typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type
,
21
typename
StoreContainer =
typename ::helper::StoreContainerTrait<OutputCollection>::type
,
22
typename
PostProcessor = ::helper::NullPostProcessor<OutputCollection, EdmFilter>,
23
typename
StoreManager =
typename ::helper::StoreManagerTrait<OutputCollection, EdmFilter>::type
,
24
typename
Base
=
typename ::helper::StoreManagerTrait<OutputCollection, EdmFilter>::base
,
25
typename
RefAdder =
typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type
>
26
class
SingleObjectSelectorBase
27
:
public
ObjectSelector
<
28
SingleElementCollectionSelector<InputCollection, Selector, OutputCollection, StoreContainer, RefAdder>,
29
OutputCollection,
30
NonNullNumberSelector,
31
PostProcessor,
32
StoreManager,
33
Base> {
34
public
:
35
// SingleObjectSelectorBase() = default;
36
explicit
SingleObjectSelectorBase
(
const
edm::ParameterSet
&
cfg
)
37
:
ObjectSelector
<
38
SingleElementCollectionSelector
<
InputCollection
,
Selector
,
OutputCollection
, StoreContainer, RefAdder>,
39
OutputCollection
,
40
NonNullNumberSelector
,
41
PostProcessor,
42
StoreManager,
43
Base
>(
cfg
) {}
44
~SingleObjectSelectorBase
()
override
{}
45
};
46
47
template
<
typename
InputCollection
,
48
typename
Selector
,
49
typename
OutputCollection
=
typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type
,
50
typename
StoreContainer =
typename ::helper::StoreContainerTrait<OutputCollection>::type
,
51
typename
PostProcessor = ::helper::NullPostProcessor<OutputCollection, edm::EDFilter> >
52
using
SingleObjectSelectorLegacy
=
53
SingleObjectSelectorBase<InputCollection, Selector, edm::EDFilter, OutputCollection, StoreContainer, PostProcessor>
;
54
55
#include "
FWCore/Framework/interface/stream/EDFilter.h
"
56
57
template
<
typename
InputCollection
,
58
typename
Selector
,
59
typename
OutputCollection
=
typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type
,
60
typename
StoreContainer =
typename ::helper::StoreContainerTrait<OutputCollection>::type
,
61
typename
PostProcessor = ::helper::NullPostProcessor<OutputCollection, edm::stream::EDFilter<> > >
62
using
SingleObjectSelectorStream
=
SingleObjectSelectorBase
<
InputCollection
,
63
Selector
,
64
edm::stream::EDFilter<>
,
65
OutputCollection
,
66
StoreContainer,
67
PostProcessor>;
68
69
template
<
typename
InputCollection
,
70
typename
Selector
,
71
typename
OutputCollection
=
typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type
,
72
typename
StoreContainer =
typename ::helper::StoreContainerTrait<OutputCollection>::type
,
73
typename
PostProcessor = ::helper::NullPostProcessor<OutputCollection, edm::stream::EDFilter<> > >
74
using
SingleObjectSelector
=
75
SingleObjectSelectorStream<InputCollection, Selector, OutputCollection, StoreContainer, PostProcessor>
;
76
77
#endif
ObjectSelector.h
Selector
Functor that operates on <T>
Definition:
Selector.h:22
SelectionAdderTrait.h
StoreContainerTrait.h
NonNullNumberSelector
Definition:
NonNullNumberSelector.h:10
CustomConfigs.Base
def Base(process)
Definition:
CustomConfigs.py:17
SingleElementCollectionSelector
Definition:
SingleElementCollectionSelector.h:37
SingleElementCollectionSelector.h
ObjectSelector
Definition:
ObjectSelector.h:39
edm::ParameterSet
Definition:
ParameterSet.h:36
SingleObjectSelectorBase::~SingleObjectSelectorBase
~SingleObjectSelectorBase() override
Definition:
SingleObjectSelector.h:44
SingleObjectSelectorBase
Definition:
SingleObjectSelector.h:26
looper.cfg
cfg
Definition:
looper.py:297
SingleObjectSelectorBase::SingleObjectSelectorBase
SingleObjectSelectorBase(const edm::ParameterSet &cfg)
Definition:
SingleObjectSelector.h:36
type
type
Definition:
HCALResponse.h:21
ALCARECOPromptCalibProdSiPixelAli0T_cff.Selector
Selector
Definition:
ALCARECOPromptCalibProdSiPixelAli0T_cff.py:81
SimL1EmulatorRepack_GT2_cff.InputCollection
InputCollection
Definition:
SimL1EmulatorRepack_GT2_cff.py:16
EDFilter.h
edm::stream::EDFilter<>
HLTTauReferences_cfi.OutputCollection
OutputCollection
Definition:
HLTTauReferences_cfi.py:92
newFWLiteAna.base
base
Definition:
newFWLiteAna.py:92
Generated for CMSSW Reference Manual by
1.8.16