1 #ifndef CandAlgos_CandCombiner_h
2 #define CandAlgos_CandCombiner_h
42 if (
cfg.exists(
"name"))
46 if (
cfg.exists(
"roles"))
47 roles_ =
cfg.getParameter<std::vector<std::string> >(
"roles");
49 roles_ = std::vector<std::string>();
51 const std::vector<std::string>
roles()
const {
return roles_; }
70 string decay(
cfg.getParameter<
string>(
"decay"));
75 else if (
label->mode_ == ConjInfo::kMinus)
83 if (lists != 2 && lists != 3)
86 const string setLongLived(
"setLongLived");
87 vector<string> vBoolParams =
cfg.getParameterNamesForType<
bool>();
88 found =
find(vBoolParams.begin(), vBoolParams.end(), setLongLived) != vBoolParams.end();
91 const string setMassConstraint(
"setMassConstraint");
92 found =
find(vBoolParams.begin(), vBoolParams.end(), setMassConstraint) != vBoolParams.end();
95 const string setPdgId(
"setPdgId");
96 vector<string> vIntParams =
cfg.getParameterNamesForType<
int>();
97 found =
find(vIntParams.begin(), vIntParams.end(), setPdgId) != vIntParams.end();
100 pdgId_ =
cfg.getParameter<
int>(
"setPdgId");
109 std::vector<edm::EDGetTokenT<CandidateView> >
tokens_;
140 produces<OutputCollection>();
150 std::vector<edm::Handle<CandidateView> > colls(
n);
151 for (
int i = 0;
i <
n; ++
i)
154 std::unique_ptr<OutputCollection>
out = combiner_.combine(colls, names_.roles());
156 typename OutputCollection::iterator
i =
out->begin(),
e =
out->end();
157 for (;
i !=
e; ++
i) {
162 i->setMassConstraint();