55 const vector<BPHRecoConstCandPtr>* cCollection = *
compCollectList.begin();
66 return new BPHSpecificCollection<vector<const reco::Candidate*>>(candList,
list);
73 <<
"Decay product already inserted with name " <<
name <<
" , skipped";
76 rs =
new BPHRecoSource;
79 rs->selector.reserve(5);
90 <<
"Decay product already inserted with name " <<
name <<
" , skipped";
93 cs =
new BPHCompSource;
101 map<string, int>::const_iterator iter =
sourceId.find(
name);
105 rs->selector.push_back(&
sel);
110 map<string, int>::const_iterator iter =
srCompId.find(
name);
114 cs->momSelector.push_back(&
sel);
119 map<string, int>::const_iterator iter =
srCompId.find(
name);
123 cs->vtxSelector.push_back(&
sel);
128 map<string, int>::const_iterator iter =
srCompId.find(
name);
132 cs->fitSelector.push_back(&
sel);
155 for (
i = 0;
i <
n; ++
i) {
160 for (
i = 0;
i <
n; ++
i) {
165 for (
i = 0;
i <
n; ++
i) {
180 vector<ComponentSet> candList;
193 if ((lrcTrack !=
nullptr) && ((lrcTrack == rrcTrack) || (lrcTrack == rpfTrack)))
195 if ((lpfTrack !=
nullptr) && ((lpfTrack == rrcTrack) || (lpfTrack == rpfTrack)))
199 double pDMod = pDiff.mag2();
200 double pMMod = pMean.mag2();
201 if (((pDMod / pMMod) < minPDifference) && (lCand->
charge() == rCand->
charge()))
208 vector<BPHRecoSource*>::const_iterator r_iter,
209 vector<BPHRecoSource*>::const_iterator r_iend,
210 vector<BPHCompSource*>::const_iterator c_iter,
211 vector<BPHCompSource*>::const_iterator c_iend)
const {
212 if (r_iter == r_iend) {
213 if (c_iter == c_iend) {
215 compList.push_back(compSet);
220 vector<const BPHMomentumSelect*> momSelector =
source->momSelector;
221 vector<const BPHVertexSelect*> vtxSelector =
source->vtxSelector;
222 vector<const BPHFitSelect*> fitSelector =
source->fitSelector;
228 for (
i = 0;
i <
n; ++
i) {
233 m = momSelector.size();
234 for (
j = 0;
j <
m; ++
j) {
242 m = vtxSelector.size();
243 for (
j = 0;
j <
m; ++
j) {
251 m = fitSelector.size();
252 for (
j = 0;
j <
m; ++
j) {
261 build(compList, compSet, r_iter, r_iend, c_iter, c_iend);
268 vector<const BPHRecoSelect*>& selector =
source->selector;
272 int m = selector.size();
274 for (
i = 0;
i <
n; ++
i) {
279 for (
j = 0;
j <
m; ++
j) {
294 build(compList, compSet, r_iter, r_iend, c_iter, c_iend);
302 map<string, BPHDecayMomentum::Component>& dMap = compSet.
daugMap;
303 map<string, BPHDecayMomentum::Component>::const_iterator d_iter;
304 map<string, BPHDecayMomentum::Component>::const_iterator d_iend = dMap.end();
305 for (d_iter = dMap.begin(); d_iter != d_iend; ++d_iter) {
316 map<string, BPHRecoConstCandPtr>::const_iterator c_iter;
317 map<string, BPHRecoConstCandPtr>::const_iterator c_iend =
compMap.end();
318 const vector<const reco::Candidate*>& dCand = cCand->daughFull();
320 int m = dCand.size();
323 for (
j = 0;
j <
m; ++
j) {
325 map<string, BPHDecayMomentum::Component>& dMap = compSet.
daugMap;
326 map<string, BPHDecayMomentum::Component>::const_iterator d_iter;
327 map<string, BPHDecayMomentum::Component>::const_iterator d_iend = dMap.end();
328 for (d_iter = dMap.begin(); d_iter != d_iend; ++d_iter) {
336 for (c_iter =
compMap.begin(); c_iter != c_iend; ++c_iter) {
337 const pair<string, BPHRecoConstCandPtr>&
entry = *c_iter;
339 const vector<const reco::Candidate*>& dCChk = cCChk->daughFull();
341 for (
k = 0;
k <
l; ++
k) {