EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairRecoCandidate.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairRecoCandidate.h
1 #ifndef FAIRRECOCANDIDATE_H
2 #define FAIRRECOCANDIDATE_H
3 
4 // //
5 // VAbsMicroCandidate //
6 // //
7 // Definition of an abstract interface to a micro candidate. //
8 // //
9 // Author: Sascha Berger and Marcel Kunze, RUB, March 1999 //
10 // Copyright (C) 1999-2001, Ruhr-University Bochum. //
11 // //
13 
14 #include <iostream>
15 
16 #include <assert.h>
17 
18 #include "FairMultiLinkedData.h"
19 #include "TObject.h"
20 #include "TVector3.h"
21 #include "TLorentzVector.h"
22 #include "TMatrixD.h"
23 
24 //class VAbsPidInfo;
25 
26 // ========================================================================
27 // ===== VAbsMicroCandidate - Abstract Class definig the AOD interface ====
28 // ========================================================================
29 
31 {
32 
33  public:
34 
36  virtual ~FairRecoCandidate() {}
37 
38  // ************************
39  // basic properties:
40  // ************************
41 
42  virtual Int_t GetCharge() const =0;
43  virtual TVector3 GetPosition() const =0;
44  virtual TVector3 GetMomentum() const =0;
45  virtual Double_t GetEnergy() const =0;
46  virtual TLorentzVector GetLorentzVector() const =0;
47 
48  virtual TVector3 GetFirstHit() const=0;
49  virtual TVector3 GetLastHit() const=0;
50 
51  virtual const Float_t* GetErrorP7() const=0;
52  virtual const Float_t* GetCov()const =0;
53  virtual const Float_t* GetParams()const=0;
54 
55  virtual TMatrixD& Cov7() const =0;
56  virtual TMatrixD& P4Cov() const =0;
57  virtual Int_t GetMcIndex() const =0;
58 
59  virtual Int_t GetTrackIndex() const=0;
60  virtual Int_t GetTrackBranch() const=0;
61 
62  // Tracking
63  //virtual Float_t GetTrackLength() const =0;
64  virtual Int_t GetDegreesOfFreedom() const =0;
65  virtual Int_t GetFitStatus() const =0;
66  //Float_t GetProbability() {return TMath::Prob(GetChiSquared(),GetDegreesOfFreedom());};
67  virtual Float_t GetChiSquared() const =0;
68 
69  //PID
70  virtual Float_t GetElectronPidLH() const=0;
71  virtual Float_t GetMuonPidLH() const=0;
72  virtual Float_t GetPionPidLH() const=0;
73  virtual Float_t GetKaonPidLH() const=0;
74  virtual Float_t GetProtonPidLH() const=0;
75 
76  void PrintOn( std::ostream& o=std::cout ) const;
77 
78 
79 
80  ClassDef(FairRecoCandidate,1) // Abstract base class for MicroDST candidates
81  };
82 
83 std::ostream& operator << (std::ostream& o, const FairRecoCandidate&);
84 
85 #endif
86 
87