1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#ifndef CandAlgos_SingleObjectShallowCloneSelector_h
#define CandAlgos_SingleObjectShallowCloneSelector_h
/* \class SingleObjectShallowSelector
*
* \author Luca Lista, INFN
*/
#include "CommonTools/CandAlgos/interface/ObjectShallowCloneSelector.h"
#include "CommonTools/UtilAlgos/interface/StoreContainerTrait.h"
#include "CommonTools/UtilAlgos/interface/SelectionAdderTrait.h"
#include "CommonTools/UtilAlgos/interface/SingleElementCollectionSelector.h"
template <typename InputCollection,
typename Selector,
typename StoreContainer = typename helper::StoreContainerTrait<reco::CandidateCollection>::type,
typename PostProcessor = helper::NullPostProcessor<reco::CandidateCollection>,
typename StoreManager =
typename helper::StoreManagerTrait<reco::CandidateCollection, edm::stream::EDFilter<>>::type,
typename Base = typename helper::StoreManagerTrait<reco::CandidateCollection, edm::stream::EDFilter<>>::base,
typename RefAdder = typename helper::SelectionAdderTrait<InputCollection, StoreContainer>::type>
class SingleObjectShallowCloneSelector
: public ObjectShallowCloneSelector<
SingleElementCollectionSelector<InputCollection, Selector, reco::CandidateCollection, StoreContainer, RefAdder>,
NonNullNumberSelector,
PostProcessor> {
public:
explicit SingleObjectShallowCloneSelector(const edm::ParameterSet& cfg)
: ObjectShallowCloneSelector<
SingleElementCollectionSelector<InputCollection, Selector, reco::CandidateCollection, StoreContainer, RefAdder>,
NonNullNumberSelector,
PostProcessor>(cfg) {}
~SingleObjectShallowCloneSelector() override {}
};
#endif
|