Belle II Software  release-05-01-25
Hough3DFinder.h
1 //-----------------------------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------------------------
4 // Filename : Hough3DFinder.h
5 // Section : TRG CDC
6 // Owner : Jaebak Kim
7 // Email : jbkim@hep.korea.ac.kr
8 //-----------------------------------------------------------------------------
9 // Description : A class to find 3D tracks using Hough algorithm
10 //-----------------------------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------------------------
13 
14 #ifndef TRGCDCHough3DFinder_FLAG_
15 #define TRGCDCHough3DFinder_FLAG_
16 
17 #include <string>
18 #include "trg/cdc/Hough3DUtility.h"
19 
20 #ifdef TRGCDC_SHORT_NAMES
21 #define TCH3DFinder TRGCDCHough3DFinder
22 #endif
23 
24 namespace Belle2 {
30  class TRGCDC;
31  class TRGCDCTrack;
32  class TRGCDCSegmentHit;
33  class TRGCDCLink;
34 
37  public:
39  TRGCDCHough3DFinder(const TRGCDC&, bool makeRootFile, int finderMode);
44  void doit(std::vector<TRGCDCTrack*> const& trackList2D, std::vector<TRGCDCTrack*>& trackList3D);
46  void doit(std::vector<TRGCDCTrack*>& trackList);
48  void perfectFinder(std::vector<TRGCDCTrack*>& trackList, unsigned j, std::vector<const TRGCDCSegmentHit*>& mcTSList);
50  void doitPerfectly(std::vector<TRGCDCTrack*>& trackList);
52  void doitFind(std::vector<TRGCDCTrack*>& trackList);
54  void doitNewFind(std::vector<TRGCDCTrack*>& trackList);
56  void findNumberOfHitSuperlayersForMcParticles(std::vector<std::vector<const TRGCDCSegmentHit*> >& p_stTSs,
57  std::map<unsigned, unsigned>& numberTSsForParticle);
59  void terminate(void);
60 
63  const TRGCDC& _cdc;
73  std::string m_rootHough3DFilename;
81  std::map<std::string, double> m_mDouble;
83  std::map<std::string, std::vector<double> > m_mVector;
85  std::map<std::string, double> m_mConstD;
87  std::map<std::string, std::vector<double> > m_mConstV;
89  std::map<std::string, double> m_mEventD;
91  std::map<std::string, std::vector<double> > m_mEventV;
93  std::map<std::string, bool> m_mBool;
95  std::map<std::string, TVectorD*> m_mRunTVectorD;
97  std::map<std::string, TVectorD*> m_mEventTVectorD;
99  std::map<std::string, TClonesArray*> m_mTClonesArray;
100 
101  };
102 
104 } // namespace Belle2
105 
106 #endif
Belle2::TRGCDCHough3DFinder::TRGCDCHough3DFinder
TRGCDCHough3DFinder(const TRGCDC &, bool makeRootFile, int finderMode)
Contructor.
Definition: Hough3DFinder.cc:52
Belle2::TRGCDCHough3DFinder::m_mEventD
std::map< std::string, double > m_mEventD
Map to hold event values for Fitter3D.
Definition: Hough3DFinder.h:89
Belle2::TRGCDCHough3DFinder::~TRGCDCHough3DFinder
~TRGCDCHough3DFinder()
Destructor.
Definition: Hough3DFinder.cc:207
Belle2::TRGCDCHough3DFinder::m_makeRootFile
bool m_makeRootFile
Choose whether to save root file.
Definition: Hough3DFinder.h:65
Belle2::TRGCDCHough3DFinder::m_mTClonesArray
std::map< std::string, TClonesArray * > m_mTClonesArray
TClonesArray map for saving track values to root file.
Definition: Hough3DFinder.h:99
Belle2::TRGCDCHough3DFinder::m_mBool
std::map< std::string, bool > m_mBool
Map to hold input options.
Definition: Hough3DFinder.h:93
Belle2::TRGCDCHough3DFinder::perfectFinder
void perfectFinder(std::vector< TRGCDCTrack * > &trackList, unsigned j, std::vector< const TRGCDCSegmentHit * > &mcTSList)
Perfect 3D finder for a track.
Definition: Hough3DFinder.cc:491
Belle2::TRGCDCHough3DFinder::m_mConstV
std::map< std::string, std::vector< double > > m_mConstV
Map to hold run vectcors for Fitter3D.
Definition: Hough3DFinder.h:87
Belle2::TRGCDCHough3DFinder::m_Hough3DFinder
Hough3DFinder * m_Hough3DFinder
Hough Variables.
Definition: Hough3DFinder.h:71
Belle2::TRGCDCHough3DFinder::doitNewFind
void doitNewFind(std::vector< TRGCDCTrack * > &trackList)
Finds tracks using tracklist.
Belle2::TRGCDCHough3DFinder::m_rootHough3DFilename
std::string m_rootHough3DFilename
For root file variables.
Definition: Hough3DFinder.h:73
Belle2::TRGCDCHough3DFinder::doitPerfectly
void doitPerfectly(std::vector< TRGCDCTrack * > &trackList)
Perfect 3D finder for a tracklist.
Definition: Hough3DFinder.cc:564
Belle2::TRGCDCHough3DFinder::m_mRunTVectorD
std::map< std::string, TVectorD * > m_mRunTVectorD
TVectorD map for saving run values to root file.
Definition: Hough3DFinder.h:95
Belle2::TRGCDCHough3DFinder::doitFind
void doitFind(std::vector< TRGCDCTrack * > &trackList)
Finds tracks using tracklist.
Definition: Hough3DFinder.cc:245
Belle2::TRGCDCHough3DFinder::m_mEventTVectorD
std::map< std::string, TVectorD * > m_mEventTVectorD
TVectorD map for saving event values to root file.
Definition: Hough3DFinder.h:97
Belle2::TRGCDCHough3DFinder
class of TRGCDCHough3DFinder
Definition: Hough3DFinder.h:36
Belle2::TRGCDCHough3DFinder::m_finderMode
int m_finderMode
0: perfect finder, 1: Hough3DFinder, 2: GeoFinder, 3: VHDL GeoFinder Choose what finder to use.
Definition: Hough3DFinder.h:68
Hough3DFinder
A class to finded stereo TS hits related to 2D tracks.
Definition: Hough3DUtility.h:18
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCHough3DFinder::_cdc
const TRGCDC & _cdc
Members.
Definition: Hough3DFinder.h:63
Belle2::TRGCDCHough3DFinder::m_mDouble
std::map< std::string, double > m_mDouble
Map to hold track double values for Fitter3D.
Definition: Hough3DFinder.h:81
Belle2::TRGCDCHough3DFinder::m_mEventV
std::map< std::string, std::vector< double > > m_mEventV
Map to hold event vectcors for Fitter3D.
Definition: Hough3DFinder.h:91
Belle2::TRGCDC
The instance of TRGCDC is a singleton.
Definition: TRGCDC.h:70
Belle2::TRGCDCHough3DFinder::m_treeConstantsFinder3D
TTree * m_treeConstantsFinder3D
TTree for constants of Hough3D.
Definition: Hough3DFinder.h:79
Belle2::TRGCDCHough3DFinder::m_mVector
std::map< std::string, std::vector< double > > m_mVector
Map to hold track vector values for Fitter3D.
Definition: Hough3DFinder.h:83
Belle2::TRGCDCHough3DFinder::m_fileFinder3D
TFile * m_fileFinder3D
Tfile for Hough3D root file.
Definition: Hough3DFinder.h:75
Belle2::TRGCDCHough3DFinder::terminate
void terminate(void)
Termination method.
Definition: Hough3DFinder.cc:211
Belle2::TRGCDCHough3DFinder::m_mConstD
std::map< std::string, double > m_mConstD
Map to hold run values for Fitter3D.
Definition: Hough3DFinder.h:85
Belle2::TRGCDCHough3DFinder::doit
void doit(std::vector< TRGCDCTrack * > const &trackList2D, std::vector< TRGCDCTrack * > &trackList3D)
Member functions.
Belle2::TRGCDCHough3DFinder::findNumberOfHitSuperlayersForMcParticles
void findNumberOfHitSuperlayersForMcParticles(std::vector< std::vector< const TRGCDCSegmentHit * > > &p_stTSs, std::map< unsigned, unsigned > &numberTSsForParticle)
Finds number of hit superlayers for each mc particle.
Definition: Hough3DFinder.cc:592
Belle2::TRGCDCHough3DFinder::m_treeTrackFinder3D
TTree * m_treeTrackFinder3D
TTree for tracks of Hough3D.
Definition: Hough3DFinder.h:77