Belle II Software development
Hough3DFinder.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9//-----------------------------------------------------------------------------
10// Description : A class to find 3D tracks using Hough algorithm
11//-----------------------------------------------------------------------------
12
13#ifndef TRGCDCHough3DFinder_FLAG_
14#define TRGCDCHough3DFinder_FLAG_
15
16#include <string>
17#include "trg/cdc/Hough3DUtility.h"
18
19#ifdef TRGCDC_SHORT_NAMES
20#define TCH3DFinder TRGCDCHough3DFinder
21#endif
22
23namespace Belle2 {
29 class TRGCDC;
30 class TRGCDCTrack;
31 class TRGCDCSegmentHit;
32 class TRGCDCLink;
33
36 public:
38 TRGCDCHough3DFinder(const TRGCDC&, bool makeRootFile, int finderMode);
47 void doit(std::vector<TRGCDCTrack*> const& trackList2D, std::vector<TRGCDCTrack*>& trackList3D);
49 void doit(std::vector<TRGCDCTrack*>& trackList);
51 void perfectFinder(std::vector<TRGCDCTrack*>& trackList, unsigned j, std::vector<const TRGCDCSegmentHit*>& mcTSList);
53 void doitPerfectly(std::vector<TRGCDCTrack*>& trackList);
55 void doitFind(std::vector<TRGCDCTrack*>& trackList);
57 void doitNewFind(std::vector<TRGCDCTrack*>& trackList);
59 void findNumberOfHitSuperlayersForMcParticles(std::vector<std::vector<const TRGCDCSegmentHit*> >& p_stTSs,
60 std::map<unsigned, unsigned>& numberTSsForParticle);
62 void terminate(void);
63
66 const TRGCDC& _cdc;
84 std::map<std::string, double> m_mDouble;
86 std::map<std::string, std::vector<double> > m_mVector;
88 std::map<std::string, double> m_mConstD;
90 std::map<std::string, std::vector<double> > m_mConstV;
92 std::map<std::string, double> m_mEventD;
94 std::map<std::string, std::vector<double> > m_mEventV;
96 std::map<std::string, bool> m_mBool;
98 std::map<std::string, TVectorD*> m_mRunTVectorD;
100 std::map<std::string, TVectorD*> m_mEventTVectorD;
102 std::map<std::string, TClonesArray*> m_mTClonesArray;
103
104 };
105
107} // namespace Belle2
108
109#endif
class of TRGCDCHough3DFinder
Definition: Hough3DFinder.h:35
TRGCDCHough3DFinder & operator=(TRGCDCHough3DFinder &)=delete
Assignment operator, deleted.
void doitNewFind(std::vector< TRGCDCTrack * > &trackList)
Finds tracks using tracklist.
std::map< std::string, std::vector< double > > m_mVector
Map to hold track vector values for Fitter3D.
Definition: Hough3DFinder.h:86
TRGCDCHough3DFinder(TRGCDCHough3DFinder &)=delete
Copy constructor, deleted.
std::map< std::string, TVectorD * > m_mEventTVectorD
TVectorD map for saving event values to root file.
std::map< std::string, bool > m_mBool
Map to hold input options.
Definition: Hough3DFinder.h:96
std::map< std::string, double > m_mConstD
Map to hold run values for Fitter3D.
Definition: Hough3DFinder.h:88
bool m_makeRootFile
Choose whether to save root file.
Definition: Hough3DFinder.h:68
const TRGCDC & _cdc
Members.
Definition: Hough3DFinder.h:66
std::string m_rootHough3DFilename
For root file variables.
Definition: Hough3DFinder.h:76
std::map< std::string, std::vector< double > > m_mConstV
Map to hold run vectcors for Fitter3D.
Definition: Hough3DFinder.h:90
std::map< std::string, double > m_mDouble
Map to hold track double values for Fitter3D.
Definition: Hough3DFinder.h:84
std::map< std::string, double > m_mEventD
Map to hold event values for Fitter3D.
Definition: Hough3DFinder.h:92
std::map< std::string, TClonesArray * > m_mTClonesArray
TClonesArray map for saving track values to root file.
TTree * m_treeConstantsFinder3D
TTree for constants of Hough3D.
Definition: Hough3DFinder.h:82
int m_finderMode
0: perfect finder, 1: Hough3DFinder, 2: GeoFinder, 3: VHDL GeoFinder Choose what finder to use.
Definition: Hough3DFinder.h:71
Hough3DFinder * m_Hough3DFinder
Hough Variables.
Definition: Hough3DFinder.h:74
TFile * m_fileFinder3D
Tfile for Hough3D root file.
Definition: Hough3DFinder.h:78
TTree * m_treeTrackFinder3D
TTree for tracks of Hough3D.
Definition: Hough3DFinder.h:80
std::map< std::string, std::vector< double > > m_mEventV
Map to hold event vectcors for Fitter3D.
Definition: Hough3DFinder.h:94
std::map< std::string, TVectorD * > m_mRunTVectorD
TVectorD map for saving run values to root file.
Definition: Hough3DFinder.h:98
The instance of TRGCDC is a singleton.
Definition: TRGCDC.h:69
A class to finded stereo TS hits related to 2D tracks.
void terminate(void)
Termination method.
void findNumberOfHitSuperlayersForMcParticles(std::vector< std::vector< const TRGCDCSegmentHit * > > &p_stTSs, std::map< unsigned, unsigned > &numberTSsForParticle)
Finds number of hit superlayers for each mc particle.
void perfectFinder(std::vector< TRGCDCTrack * > &trackList, unsigned j, std::vector< const TRGCDCSegmentHit * > &mcTSList)
Perfect 3D finder for a track.
void doitPerfectly(std::vector< TRGCDCTrack * > &trackList)
Perfect 3D finder for a tracklist.
void doitFind(std::vector< TRGCDCTrack * > &trackList)
Finds tracks using tracklist.
void doit(std::vector< TRGCDCTrack * > const &trackList2D, std::vector< TRGCDCTrack * > &trackList3D)
Member functions.
Abstract base class for different kinds of events.