CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ConstrainedTreeBuilderT.cc
Go to the documentation of this file.
4 
6  const RefCountedKinematicParticle virtualParticle,
8  const std::vector<RefCountedKinematicParticle>& particles) const {
9  //making a resulting tree:
11 
12  //fake production vertex:
14  resTree->addParticle(fVertex, vtx, virtualParticle);
15 
16  //adding final state
17  for (std::vector<RefCountedKinematicParticle>::const_iterator il = particles.begin(); il != particles.end(); il++) {
18  if ((*il)->previousParticle()->correspondingTree() != nullptr) {
19  KinematicTree* tree = (*il)->previousParticle()->correspondingTree();
20  tree->movePointerToTheTop();
21  tree->replaceCurrentParticle(*il);
22  RefCountedKinematicVertex cdVertex = resTree->currentDecayVertex();
23  resTree->addTree(cdVertex, tree);
24  } else {
26  resTree->addParticle(vtx, ffVertex, *il);
27  }
28  }
29  return resTree;
30 }
void replaceCurrentParticle(RefCountedKinematicParticle newPart) const
KinematicVertexFactory vFactory
void movePointerToTheTop() const
RefCountedKinematicTree buildRealTree(const RefCountedKinematicParticle virtualParticle, const RefCountedKinematicVertex vtx, const std::vector< RefCountedKinematicParticle > &particles) const
static RefCountedKinematicVertex vertex(const VertexState &state, float totalChiSq, float degreesOfFr)