Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EmbRecoMatch.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EmbRecoMatch.h
1 #ifndef TRACKBASE_EMBRECOMATCH_H
2 #define TRACKBASE_EMBRECOMATCH_H
3 
4 
5 #include <phool/PHObject.h>
6 #include <trackbase/TrkrDefs.h>
7 #include <vector>
8 #include <climits>
9 #include <cmath>
10 
11 class EmbRecoMatch : public PHObject
12 {
13  public:
15  ~EmbRecoMatch() override = default;
16 
17  virtual unsigned short idTruthTrack () const { return USHRT_MAX; };
18  virtual unsigned short nClustersTruth () const { return USHRT_MAX; };
19  virtual unsigned short nMatches () const { return USHRT_MAX; };
20 
21  virtual unsigned short idRecoTrack (unsigned short =0) const { return USHRT_MAX; };
22  virtual unsigned short idTpcTrackSeed (unsigned short =0) const { return USHRT_MAX; };
23  virtual unsigned short idSvtxTrackSeed (unsigned short =0) const { return USHRT_MAX; };
24 
25  virtual unsigned short nClustersReco (unsigned short =0) const { return USHRT_MAX; };
26  virtual unsigned short nClustersMatched (unsigned short =0) const { return USHRT_MAX; };
27 
28  virtual float nRatioMatched() const { return NAN; };
29 
30  struct Comp {
31  bool operator()(const unsigned int lhs, const EmbRecoMatch* rhs) const
32  {return lhs < rhs->idTruthTrack();}
33  bool operator()(const EmbRecoMatch* lhs, const unsigned int rhs) const
34  {return lhs->idTruthTrack() < rhs;}
35  bool operator()(const EmbRecoMatch* lhs, const EmbRecoMatch* rhs) const
36  { if (lhs->idTruthTrack() != rhs->idTruthTrack()) return lhs->idTruthTrack() < rhs->idTruthTrack();
37  else return lhs->idRecoTrack() < rhs->idRecoTrack();
38  }
39  };
40 
41  protected:
42  ClassDefOverride(EmbRecoMatch, 1)
43 };
44 
45 #endif // G4TPC_TruthTrack_h