CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ConstrainedTreeBuilderT.cc
Go to the documentation of this file.
4 
5 
6 
7 
9  const RefCountedKinematicVertex vtx, const std::vector<RefCountedKinematicParticle> & particles) const
10 {
11 
12 //making a resulting tree:
14 
15 //fake production vertex:
17  resTree->addParticle(fVertex, vtx, virtualParticle);
18 
19 //adding final state
20  for(std::vector<RefCountedKinematicParticle>::const_iterator il = particles.begin(); il != particles.end(); il++)
21  {
22  if((*il)->previousParticle()->correspondingTree() != 0)
23  {
24  KinematicTree * tree = (*il)->previousParticle()->correspondingTree();
25  tree->movePointerToTheTop();
26  tree->replaceCurrentParticle(*il);
27  RefCountedKinematicVertex cdVertex = resTree->currentDecayVertex();
28  resTree->addTree(cdVertex, tree);
29  }else{
31  resTree->addParticle(vtx,ffVertex,*il);
32  }
33  }
34  return resTree;
35 }
36 
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)