Belle II Software  release-05-01-25
Relation.h
1 //-----------------------------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------------------------
4 // Filename : Relation.h
5 // Section : TRG CDC
6 // Owner : Yoshihito Iwasaki
7 // Email : yoshihito.iwasaki@kek.jp
8 //-----------------------------------------------------------------------------
9 // Description : A class to represent relations between TrackBase and MC track
10 //-----------------------------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------------------------
13 
14 #ifndef TRGCDCRelation_FLAG_
15 #define TRGCDCRelation_FLAG_
16 
17 #include <map>
18 
19 #ifdef TRGCDC_SHORT_NAMES
20 #define TCRelation TRGCDCRelation
21 #endif
22 
23 #include "trg/cdc/TrackBase.h"
24 
25 namespace Belle2 {
31 //class G4Track;
32  class MCParticle;
33 //class TRGCDCTrackBase;
34 
37 
38  public:
39 
42  const std::map<unsigned, unsigned>& relation);
43 
45  virtual ~TRGCDCRelation();
46 
47  public:// Selectors
48 
50  const TRGCDCTrackBase& track(void) const;
51 
53  unsigned nContributors(void) const;
54 
56 // G4Track contributor(unsigned i = 0) const;
57  unsigned contributor(unsigned i = 0) const;
58 
60  const MCParticle& mcParticle(unsigned i = 0) const;
61 
63  float purity(unsigned i = 0) const;
64 
66  float purity3D(unsigned trkID) const;
67 
69  float efficiency3D(unsigned trkID, std::map<unsigned, unsigned>& numTSsParticle) const;
70 
72  void dump(const std::string& message = std::string(""),
73  const std::string& prefix = std::string("")) const;
74 
75  private:
76 
79 
81  const std::map<unsigned, unsigned> _relations;
82 
84  mutable const std::pair<unsigned, unsigned>** _pairs;
85  };
86 
87 //-----------------------------------------------------------------------------
88 
89  inline
90  const TRGCDCTrackBase&
92  {
93  return _track;
94  }
95 
96  inline
97  unsigned
99  {
100  return _relations.size();
101  }
102 
104 } // namespace Belle2
105 #endif /* TRGCDCRelation_FLAG_ */
106 
Belle2::TRGCDCRelation::dump
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
Dumps debug information.
Definition: Relation.cc:159
Belle2::TRGCDCRelation::track
const TRGCDCTrackBase & track(void) const
returns a track.
Definition: Relation.h:91
Belle2::TRGCDCRelation::_track
const TRGCDCTrackBase & _track
Track.
Definition: Relation.h:78
Belle2::TRGCDCRelation::~TRGCDCRelation
virtual ~TRGCDCRelation()
Destructor.
Definition: Relation.cc:36
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCRelation::purity
float purity(unsigned i=0) const
returns i'th purity.
Definition: Relation.cc:93
Belle2::TRGCDCRelation::contributor
unsigned contributor(unsigned i=0) const
returns i'th contributor of MCParticle.
Definition: Relation.cc:42
Belle2::TRGCDCRelation::nContributors
unsigned nContributors(void) const
returns /# of contributors.
Definition: Relation.h:98
Belle2::TRGCDCRelation::purity3D
float purity3D(unsigned trkID) const
returns purity for 3D for trkID particle which should be from 2D.
Definition: Relation.cc:114
Belle2::TRGCDCRelation::TRGCDCRelation
TRGCDCRelation(const TRGCDCTrackBase &track, const std::map< unsigned, unsigned > &relation)
Constructor.
Definition: Relation.cc:28
Belle2::TRGCDCTrackBase
A class to represent a track object in TRGCDC.
Definition: TrackBase.h:41
Belle2::TRGCDCRelation
A class to represent a wire in CDC.
Definition: Relation.h:36
Belle2::MCParticle
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:43
Belle2::TRGCDCRelation::_pairs
const std::pair< unsigned, unsigned > ** _pairs
Pairs.
Definition: Relation.h:84
Belle2::TRGCDCRelation::_relations
const std::map< unsigned, unsigned > _relations
Map.
Definition: Relation.h:81
Belle2::TRGCDCRelation::efficiency3D
float efficiency3D(unsigned trkID, std::map< unsigned, unsigned > &numTSsParticle) const
returns efficiency of TS for 3D
Definition: Relation.cc:132
Belle2::TRGCDCRelation::mcParticle
const MCParticle & mcParticle(unsigned i=0) const
returns i'th contributor.
Definition: Relation.cc:82