1 #ifndef CandAlgos_CandCombiner_h
2 #define CandAlgos_CandCombiner_h
43 if (
cfg.exists(
"name"))
47 if (
cfg.exists(
"roles"))
48 roles_ =
cfg.getParameter<std::vector<std::string> >(
"roles");
50 roles_ = std::vector<std::string>();
52 const std::vector<std::string>
roles()
const {
return roles_; }
71 string decay(
cfg.getParameter<
string>(
"decay"));
76 else if (
label->mode_ == ConjInfo::kMinus)
84 if (lists != 2 && lists != 3)
87 const string setLongLived(
"setLongLived");
88 vector<string> vBoolParams =
cfg.getParameterNamesForType<
bool>();
89 found =
find(vBoolParams.begin(), vBoolParams.end(), setLongLived) != vBoolParams.end();
92 const string setMassConstraint(
"setMassConstraint");
93 found =
find(vBoolParams.begin(), vBoolParams.end(), setMassConstraint) != vBoolParams.end();
96 const string setPdgId(
"setPdgId");
97 vector<string> vIntParams =
cfg.getParameterNamesForType<
int>();
98 found =
find(vIntParams.begin(), vIntParams.end(), setPdgId) != vIntParams.end();
101 pdgId_ =
cfg.getParameter<
int>(
"setPdgId");
110 std::vector<edm::EDGetTokenT<CandidateView> >
tokens_;
141 produces<OutputCollection>();
151 std::vector<edm::Handle<CandidateView> > colls(
n);
152 for (
int i = 0;
i <
n; ++
i)
155 std::unique_ptr<OutputCollection>
out = combiner_.combine(colls, names_.roles());
157 typename OutputCollection::iterator
i =
out->begin(),
e =
out->end();
158 for (;
i !=
e; ++
i) {
163 i->setMassConstraint();