src
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/ObjectSelectorBase.h
"
8
#include "
CommonTools/UtilAlgos/interface/NonNullNumberSelector.h
"
9
#include "
CommonTools/UtilAlgos/interface/StoreManagerTrait.h
"
10
#include "
CommonTools/UtilAlgos/interface/SelectedOutputCollectionTrait.h
"
11
#include "
CommonTools/UtilAlgos/interface/NullPostProcessor.h
"
12
#include "
CommonTools/UtilAlgos/interface/EventSetupInitTrait.h
"
13
#include "
CommonTools/UtilAlgos/interface/StoreContainerTrait.h
"
14
#include "
CommonTools/UtilAlgos/interface/SelectionAdderTrait.h
"
15
#include "
CommonTools/UtilAlgos/interface/SingleElementCollectionSelector.h
"
16
17
/* the following is just to ease transition
18
* grep -r SingleObjectSelector * | wc
19
* 209 540 22532
20
*/
21
22
template
<
typename
InputCollection
,
23
typename
Selector
,
24
typename
EdmFilter,
25
typename
OutputCollection
=
typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type
,
26
typename
StoreContainer =
typename ::helper::StoreContainerTrait<OutputCollection>::type
,
27
typename
PostProcessor = ::helper::NullPostProcessor<OutputCollection>,
28
typename
StoreManager =
typename ::helper::StoreManagerTrait<OutputCollection, EdmFilter>::type
,
29
typename
Base
=
typename ::helper::StoreManagerTrait<OutputCollection, EdmFilter>::base
,
30
typename
RefAdder =
typename ::helper::SelectionAdderTrait<InputCollection, StoreContainer>::type
>
31
class
SingleObjectSelectorBase
32
:
public
ObjectSelectorBase
<
33
SingleElementCollectionSelector<InputCollection, Selector, OutputCollection, StoreContainer, RefAdder>,
34
OutputCollection,
35
NonNullNumberSelector,
36
PostProcessor,
37
StoreManager,
38
Base,
39
typename ::reco::modules::EventSetupInit<
40
SingleElementCollectionSelector<InputCollection, Selector, OutputCollection, StoreContainer, RefAdder>>::
41
type> {
42
using
Init
= typename ::reco::modules::EventSetupInit<
43
SingleElementCollectionSelector<InputCollection, Selector, OutputCollection, StoreContainer, RefAdder>
>
::type
;
44
45
public
:
46
// SingleObjectSelectorBase() = default;
47
explicit
SingleObjectSelectorBase
(
const
edm::ParameterSet
&
cfg
)
48
:
ObjectSelectorBase
<
49
SingleElementCollectionSelector
<
InputCollection
,
Selector
,
OutputCollection
, StoreContainer, RefAdder>,
50
OutputCollection
,
51
NonNullNumberSelector
,
52
PostProcessor,
53
StoreManager,
54
Base
,
55
Init
>(
cfg
) {}
56
~SingleObjectSelectorBase
()
override
{}
57
};
58
59
#include "
FWCore/Framework/interface/stream/EDFilter.h
"
60
61
template
<
typename
InputCollection
,
62
typename
Selector
,
63
typename
OutputCollection
=
typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type
,
64
typename
StoreContainer =
typename ::helper::StoreContainerTrait<OutputCollection>::type
,
65
typename
PostProcessor = ::helper::NullPostProcessor<OutputCollection>>
66
using
SingleObjectSelectorStream
=
SingleObjectSelectorBase
<
InputCollection
,
67
Selector
,
68
edm::stream::EDFilter<>
,
69
OutputCollection
,
70
StoreContainer,
71
PostProcessor>;
72
73
template
<
typename
InputCollection
,
74
typename
Selector
,
75
typename
OutputCollection
=
typename ::helper::SelectedOutputCollectionTrait<InputCollection>::type
,
76
typename
StoreContainer =
typename ::helper::StoreContainerTrait<OutputCollection>::type
,
77
typename
PostProcessor = ::helper::NullPostProcessor<OutputCollection>>
78
using
SingleObjectSelector
=
79
SingleObjectSelectorStream<InputCollection, Selector, OutputCollection, StoreContainer, PostProcessor>
;
80
81
#endif
EDFilter.h
ObjectSelectorBase.h
SelectionAdderTrait.h
NullPostProcessor.h
StoreContainerTrait.h
ObjectSelectorBase
Definition:
ObjectSelectorBase.h:32
edmMakeDummyCfis.base
base
Definition:
edmMakeDummyCfis.py:22
CustomConfigs.Base
def Base(process)
Definition:
CustomConfigs.py:15
SingleObjectSelectorBase::Init
typename ::reco::modules::EventSetupInit< SingleElementCollectionSelector< InputCollection, Selector, OutputCollection, StoreContainer, RefAdder > >::type Init
Definition:
SingleObjectSelector.h:43
gainCalibHelper::gainCalibPI::type
type
Definition:
SiPixelGainCalibHelper.h:40
SimL1EmulatorRepack_Full_cff.InputCollection
InputCollection
Definition:
SimL1EmulatorRepack_Full_cff.py:97
ALCARECOPromptCalibProdSiPixelAli0T_cff.Selector
Selector
Definition:
ALCARECOPromptCalibProdSiPixelAli0T_cff.py:81
Selector
Functor that operates on <T>
Definition:
Selector.h:22
looper.cfg
cfg
Definition:
looper.py:296
SingleElementCollectionSelector
Definition:
SingleElementCollectionSelector.h:37
SingleObjectSelectorBase
Definition:
SingleObjectSelector.h:31
StoreManagerTrait.h
SingleObjectSelectorBase::~SingleObjectSelectorBase
~SingleObjectSelectorBase() override
Definition:
SingleObjectSelector.h:56
edm::stream::EDFilter<>
edm::ParameterSet
Definition:
ParameterSet.h:48
SelectedOutputCollectionTrait.h
NonNullNumberSelector
Definition:
NonNullNumberSelector.h:10
NonNullNumberSelector.h
HLTTauReferences_cfi.OutputCollection
OutputCollection
Definition:
HLTTauReferences_cfi.py:92
EventSetupInitTrait.h
SingleObjectSelectorBase::SingleObjectSelectorBase
SingleObjectSelectorBase(const edm::ParameterSet &cfg)
Definition:
SingleObjectSelector.h:47
SingleElementCollectionSelector.h
Generated for CMSSW Reference Manual by
1.8.14