ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
KFParticle_eventReconstruction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file KFParticle_eventReconstruction.h
1 
22 #ifndef KFPARTICLESPHENIX_KFPARTICLEEVENTRECONSTRUCTION_H
23 #define KFPARTICLESPHENIX_KFPARTICLEEVENTRECONSTRUCTION_H
24 
25 #include "KFParticle_Tools.h"
26 
27 #include <KFParticle.h>
28 
29 #include <vector>
30 
31 class PHCompositeNode;
32 
34 {
35  public:
37 
39 
48  void createDecay(PHCompositeNode* topNode, std::vector<KFParticle>& selectedMother, std::vector<KFParticle>& selectedVertex,
49  std::vector<std::vector<KFParticle>>& selectedDaughters,
50  std::vector<std::vector<KFParticle>>& selectedIntermediates,
51  int& nPVs, int& multiplicity);
52 
54  void buildBasicChain(std::vector<KFParticle>& selectedMotherBasic,
55  std::vector<KFParticle>& selectedVertexBasic,
56  std::vector<std::vector<KFParticle>>& selectedDaughtersBasic,
57  const std::vector<KFParticle>& daughterParticlesBasic,
58  const std::vector<int>& goodTrackIndexBasic,
59  const std::vector<KFParticle>& primaryVerticesBasic);
60 
62  void buildChain(std::vector<KFParticle>& selectedMotherAdv,
63  std::vector<KFParticle>& selectedVertexAdv,
64  std::vector<std::vector<KFParticle>>& selectedDaughtersAdv,
65  std::vector<std::vector<KFParticle>>& selectedIntermediatesAdv,
66  const std::vector<KFParticle>& daughterParticlesAdv,
67  const std::vector<int>& goodTrackIndexAdv,
68  const std::vector<KFParticle>& primaryVerticesAdv);
69 
71  void getCandidateDecay(std::vector<KFParticle>& selectedMotherCand,
72  std::vector<KFParticle>& selectedVertexCand,
73  std::vector<std::vector<KFParticle>>& selectedDaughtersCand,
74  std::vector<KFParticle> daughterParticlesCand,
75  std::vector<std::vector<int>> goodTracksThatMeetCand,
76  std::vector<KFParticle> primaryVerticesCand,
77  int n_track_start, int n_track_stop,
78  bool isIntermediate, int intermediateNumber, bool constrainMass);
79 
81  int selectBestCombination(bool PVconstraint, bool isAnInterMother,
82  std::vector<KFParticle> possibleCandidates,
83  std::vector<KFParticle> possibleVertex);
84 
85  KFParticle createFakePV();
86 
87  protected:
91 
92  //private:
93 
94 };
95 
96 #endif //KFPARTICLESPHENIX_KFPARTICLEEVENTRECONSTRUCTION_H