1 #ifndef CommonTools_ParticleFlow_IPCutPFCandidateSelectorDefinition
2 #define CommonTools_ParticleFlow_IPCutPFCandidateSelectorDefinition
27 d0Cut_(
cfg.getParameter<double>(
"d0Cut")),
28 dzCut_(
cfg.getParameter<double>(
"dzCut")),
29 dtCut_(
cfg.getParameter<double>(
"dtCut")),
43 double vte =
vtx.tError();
46 for (collection::const_iterator pfc = hc->begin(); pfc != hc->end(); ++pfc, ++
key) {
49 if (pfc->gsfTrackRef().isNonnull())
50 tk = pfc->gsfTrackRef().get();
51 else if (pfc->trackRef().isNonnull())
52 tk = pfc->trackRef().get();
55 double d0 = fabs(tk->
dxy(
vtx.position()));
56 double dz = fabs(tk->
dz(
vtx.position()));
57 double d0e = hypot(tk->
dxyError(), hypot(
vtx.xError(),
vtx.yError()));
58 double dze = hypot(tk->
dzError(),
vtx.zError());
68 double pfct = pfc->time();
69 double pfcte = pfc->timeError();
70 double dt = fabs(pfct - vt);
71 double dte =
std::sqrt(pfcte * pfcte + vte * vte);
81 if (pfc->numberOfSourceCandidatePtrs() > 0) {
84 selected_.back().setSourceCandidatePtr(ptrToMother);