PandaRoot
KFPTopoReconstructor.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef KFPTopoReconstructor_H
14 #define KFPTopoReconstructor_H
15 
16 /*
17  * Class for Event Topology Reconstructing
18  */
19 
20 #include "KFVertex.h"
21 #include "assert.h"
22 
23 #include "KFPTrack.h"
24 #include <vector>
25 using std::vector;
26 
27 class KFParticle;
28 
30  public:
33 
34  void Init(vector<KFPTrack> &tracks, int nParticles); // init array of particles
35 
36  void ReconstructPrimVertex(); // find primary vertex
37 
40  {
41  assert(fPrimVertices.size() > 0);
42  return fPrimVertices[0];
43  };
45  {
46  assert(i < fNParticles);
47  return fParticles[i];
48  };
49 
50  private:
53 
54  void FindPrimaryClusters();
55 
56  vector<KFParticle> fParticles; // input particles
57  int fNParticles; // number of input particles
58 
59  struct KFParticleCluster {
60  vector<short int> fCluster;
61  float fP[3];
62  float fC[6];
63  };
64 
65  vector<KFParticleCluster> fClusters;
66  vector<KFVertex> fPrimVertices; // created primary vertex(-es) (currently only one primary vertex in possible
67 }; // class KFPTopoReconstructor
68 
69 #endif // KFPTopoReconstructor_H
KFParticle & GetPrimVertex()
Accessors.
void Init(vector< KFPTrack > &tracks, int nParticles)
unsigned int i
Definition: P4_F32vec4.h:33
KFParticle & GetParticle(int i)