BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TCurlFinder Class Reference

#include <TCurlFinder.h>

Inheritance diagram for TCurlFinder:

Public Member Functions

 TCurlFinder (void)
 ~TCurlFinder (void)
std::string name (void) const
 returns name.
std::string version (void) const
 returns version.
 TCurlFinder (const unsigned min_segment, const unsigned min_salvage, const double bad_distance_for_salvage, const double good_distance_for_salvage, const unsigned min_sequence, const unsigned min_fullwire, const double range_for_axial_search, const double range_for_stereo_search, const unsigned superlayer_for_stereo_search, const double range_for_axial_last2d_search, const double range_for_stereo_last2d_search, const double trace2d_distance, const double trace2d_first_distance, const double trace3d_distance, const unsigned determine_one_track, const double selector_max_impact, const double selector_max_sigma, const double selector_strange_pz, const double selector_replace_dz, const unsigned stereo_2dfind, const unsigned merge_exe, const double merge_ratio, const double merge_z_diff, const double mask_distance, const double ratio_used_wire, const double range_for_stereo1, const double range_for_stereo2, const double range_for_stereo3, const double range_for_stereo4, const double range_for_stereo5, const double range_for_stereo6, const double z_cut, const double z_diff_for_last_attend, const unsigned svd_reconstruction, const double min_svd_electrons, const unsigned on_correction, const unsigned output_2dtracks, const unsigned curl_version, const double minimum_seedLength, const double minimum_2DTrackLength, const double minimum_3DTrackLength, const double minimum_closeHitsLength, const double MIN_RADIUS_OF_STRANGE_TRACK, const double ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK)
int doit (const AList< TMDCWireHit > &axialHits, const AList< TMDCWireHit > &stereoHits, AList< TTrack > &tracks, AList< TTrack > &tracks2D)
 main function
void clear (void)
 cleans all members of this class
 TCurlFinder (void)
 ~TCurlFinder (void)
std::string name (void) const
 returns name.
std::string version (void) const
 returns version.
 TCurlFinder (const unsigned min_segment, const unsigned min_salvage, const double bad_distance_for_salvage, const double good_distance_for_salvage, const unsigned min_sequence, const unsigned min_fullwire, const double range_for_axial_search, const double range_for_stereo_search, const unsigned superlayer_for_stereo_search, const double range_for_axial_last2d_search, const double range_for_stereo_last2d_search, const double trace2d_distance, const double trace2d_first_distance, const double trace3d_distance, const unsigned determine_one_track, const double selector_max_impact, const double selector_max_sigma, const double selector_strange_pz, const double selector_replace_dz, const unsigned stereo_2dfind, const unsigned merge_exe, const double merge_ratio, const double merge_z_diff, const double mask_distance, const double ratio_used_wire, const double range_for_stereo1, const double range_for_stereo2, const double range_for_stereo3, const double range_for_stereo4, const double range_for_stereo5, const double range_for_stereo6, const double z_cut, const double z_diff_for_last_attend, const unsigned svd_reconstruction, const double min_svd_electrons, const unsigned on_correction, const unsigned output_2dtracks, const unsigned curl_version, const double minimum_seedLength, const double minimum_2DTrackLength, const double minimum_3DTrackLength, const double minimum_closeHitsLength, const double MIN_RADIUS_OF_STRANGE_TRACK, const double ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK)
int doit (const AList< TMDCWireHit > &axialHits, const AList< TMDCWireHit > &stereoHits, AList< TTrack > &tracks, AList< TTrack > &tracks2D)
 main function
void clear (void)
 cleans all members of this class
 TCurlFinder (void)
 ~TCurlFinder (void)
std::string name (void) const
 returns name.
std::string version (void) const
 returns version.
 TCurlFinder (const unsigned min_segment, const unsigned min_salvage, const double bad_distance_for_salvage, const double good_distance_for_salvage, const unsigned min_sequence, const unsigned min_fullwire, const double range_for_axial_search, const double range_for_stereo_search, const unsigned superlayer_for_stereo_search, const double range_for_axial_last2d_search, const double range_for_stereo_last2d_search, const double trace2d_distance, const double trace2d_first_distance, const double trace3d_distance, const unsigned determine_one_track, const double selector_max_impact, const double selector_max_sigma, const double selector_strange_pz, const double selector_replace_dz, const unsigned stereo_2dfind, const unsigned merge_exe, const double merge_ratio, const double merge_z_diff, const double mask_distance, const double ratio_used_wire, const double range_for_stereo1, const double range_for_stereo2, const double range_for_stereo3, const double range_for_stereo4, const double range_for_stereo5, const double range_for_stereo6, const double z_cut, const double z_diff_for_last_attend, const unsigned svd_reconstruction, const double min_svd_electrons, const unsigned on_correction, const unsigned output_2dtracks, const unsigned curl_version, const double minimum_seedLength, const double minimum_2DTrackLength, const double minimum_3DTrackLength, const double minimum_closeHitsLength, const double MIN_RADIUS_OF_STRANGE_TRACK, const double ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK)
int doit (const AList< TMDCWireHit > &axialHits, const AList< TMDCWireHit > &stereoHits, AList< TTrack > &tracks, AList< TTrack > &tracks2D)
 main function
void clear (void)
 cleans all members of this class
Public Member Functions inherited from TFinderBase
 TFinderBase ()
 Constructor.
virtual ~TFinderBase ()
 Destructor.
virtual void dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
 dumps debug information.
virtual int debugLevel (void) const
 returns debug level.
virtual int debugLevel (int)
 sets debug level.
virtual bool doStereo (bool)
 sets flag to reconstruct 3D.
virtual bool doSalvage (bool)
 sets flag to salvage hits.
 TFinderBase ()
 Constructor.
virtual ~TFinderBase ()
 Destructor.
virtual void dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
 dumps debug information.
virtual int debugLevel (void) const
 returns debug level.
virtual int debugLevel (int)
 sets debug level.
virtual bool doStereo (bool)
 sets flag to reconstruct 3D.
virtual bool doSalvage (bool)
 sets flag to salvage hits.
 TFinderBase ()
 Constructor.
virtual ~TFinderBase ()
 Destructor.
virtual void dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
 dumps debug information.
virtual int debugLevel (void) const
 returns debug level.
virtual int debugLevel (int)
 sets debug level.
virtual bool doStereo (bool)
 sets flag to reconstruct 3D.
virtual bool doSalvage (bool)
 sets flag to salvage hits.

Detailed Description

Constructor & Destructor Documentation

◆ TCurlFinder() [1/6]

TCurlFinder::TCurlFinder ( void )

Definition at line 43 of file TCurlFinder.cxx.

44 : m_builder( "CurlBuilder" )
45 , m_fitter( "TCurlFinder Fitter" )
46 , m_debugCdcFrame( false )
47 , m_debugPlotFlag( 0 )
48 , m_debugFileNumber( 0 )
49 , m_pmgnIMF( nullptr ) {
50 // *****NOTE*****
51 // Do not use this!!!!!
52 // Because parameters can not be set correctly.
53}

◆ ~TCurlFinder() [1/3]

TCurlFinder::~TCurlFinder ( void )

Definition at line 144 of file TCurlFinder.cxx.

144{}

◆ TCurlFinder() [2/6]

TCurlFinder::TCurlFinder ( const unsigned min_segment,
const unsigned min_salvage,
const double bad_distance_for_salvage,
const double good_distance_for_salvage,
const unsigned min_sequence,
const unsigned min_fullwire,
const double range_for_axial_search,
const double range_for_stereo_search,
const unsigned superlayer_for_stereo_search,
const double range_for_axial_last2d_search,
const double range_for_stereo_last2d_search,
const double trace2d_distance,
const double trace2d_first_distance,
const double trace3d_distance,
const unsigned determine_one_track,
const double selector_max_impact,
const double selector_max_sigma,
const double selector_strange_pz,
const double selector_replace_dz,
const unsigned stereo_2dfind,
const unsigned merge_exe,
const double merge_ratio,
const double merge_z_diff,
const double mask_distance,
const double ratio_used_wire,
const double range_for_stereo1,
const double range_for_stereo2,
const double range_for_stereo3,
const double range_for_stereo4,
const double range_for_stereo5,
const double range_for_stereo6,
const double z_cut,
const double z_diff_for_last_attend,
const unsigned svd_reconstruction,
const double min_svd_electrons,
const unsigned on_correction,
const unsigned output_2dtracks,
const unsigned curl_version,
const double minimum_seedLength,
const double minimum_2DTrackLength,
const double minimum_3DTrackLength,
const double minimum_closeHitsLength,
const double MIN_RADIUS_OF_STRANGE_TRACK,
const double ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK )

Definition at line 55 of file TCurlFinder.cxx.

83 : m_builder( "CurlBuilder" )
84 , m_fitter( "TCurlFinder Fitter" )
85 , m_debugCdcFrame( false )
86 , m_debugPlotFlag( 0 )
87 , m_debugFileNumber( 0 )
88 , m_pmgnIMF( nullptr ) {
89 //...Set Parameter
90 m_param.MIN_SEGMENT = min_segment;
91 m_param.MIN_SALVAGE = min_salvage;
92 m_param.BAD_DISTANCE_FOR_SALVAGE = bad_distance_for_salvage;
93 m_param.GOOD_DISTANCE_FOR_SALVAGE = good_distance_for_salvage;
94 m_param.MIN_SEQUENCE = min_sequence;
95 m_param.MAX_FULLWIRE = min_fullwire;
96 m_param.RANGE_FOR_AXIAL_SEARCH = range_for_axial_search;
97 m_param.RANGE_FOR_STEREO_SEARCH = range_for_stereo_search;
98 m_param.SUPERLAYER_FOR_STEREO_SEARCH = superlayer_for_stereo_search;
99 m_param.RANGE_FOR_AXIAL_LAST2D_SEARCH = range_for_axial_last2d_search;
100 m_param.RANGE_FOR_STEREO_LAST2D_SEARCH = range_for_stereo_last2d_search;
101 m_param.TRACE2D_DISTANCE = trace2d_distance;
102 m_param.TRACE2D_FIRST_SUPERLAYER = trace2d_first_distance;
103 m_param.TRACE3D_DISTANCE = trace3d_distance;
104 m_param.DETERMINE_ONE_TRACK = determine_one_track;
105 //
106 m_param.SELECTOR_MAX_IMPACT = selector_max_impact;
107 m_param.SELECTOR_MAX_SIGMA = selector_max_sigma;
108 m_param.SELECTOR_STRANGE_PZ = selector_strange_pz;
109 m_param.SELECTOR_REPLACE_DZ = selector_replace_dz;
110 //
111 m_param.STEREO_2DFIND = stereo_2dfind;
112 m_param.MERGE_EXE = merge_exe;
113 m_param.MERGE_RATIO = merge_ratio;
114 m_param.MERGE_Z_DIFF = merge_z_diff;
115 m_param.MASK_DISTANCE = mask_distance;
116 m_param.RATIO_USED_WIRE = ratio_used_wire;
117 m_param.RANGE_FOR_STEREO_FIRST = range_for_stereo1;
118 m_param.RANGE_FOR_STEREO_SECOND = range_for_stereo2;
119 m_param.RANGE_FOR_STEREO_THIRD = range_for_stereo3;
120 m_param.RANGE_FOR_STEREO_FORTH = range_for_stereo4;
121 m_param.RANGE_FOR_STEREO_FIFTH = range_for_stereo5;
122 m_param.RANGE_FOR_STEREO_SIXTH = range_for_stereo6;
123 //
124 m_param.Z_CUT = z_cut;
125 m_param.Z_DIFF_FOR_LAST_ATTEND = z_diff_for_last_attend;
126 m_param.SVD_RECONSTRUCTION = svd_reconstruction;
127 m_param.MIN_SVD_ELECTRONS = min_svd_electrons;
128 m_param.ON_CORRECTION = on_correction;
129 m_param.OUTPUT_2DTRACKS = output_2dtracks;
130 m_param.CURL_VERSION = curl_version;
131 m_param.now();
132 // jialk
133 m_param.minimum_seedLength = minimum_seedLength;
134 m_param.minimum_2DTrackLength = minimum_2DTrackLength;
135 m_param.minimum_3DTrackLength = minimum_3DTrackLength;
136 m_param.minimum_closeHitsLength = minimum_closeHitsLength;
137 m_param.MIN_RADIUS_OF_STRANGE_TRACK = MIN_RADIUS_OF_STRANGE_TRACK;
138 m_param.ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK = ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK;
139
140 //...Set up TBuilder...
141 m_builder.setParam( m_param );
142}

◆ TCurlFinder() [3/6]

TCurlFinder::TCurlFinder ( void )

◆ ~TCurlFinder() [2/3]

TCurlFinder::~TCurlFinder ( void )

◆ TCurlFinder() [4/6]

TCurlFinder::TCurlFinder ( const unsigned min_segment,
const unsigned min_salvage,
const double bad_distance_for_salvage,
const double good_distance_for_salvage,
const unsigned min_sequence,
const unsigned min_fullwire,
const double range_for_axial_search,
const double range_for_stereo_search,
const unsigned superlayer_for_stereo_search,
const double range_for_axial_last2d_search,
const double range_for_stereo_last2d_search,
const double trace2d_distance,
const double trace2d_first_distance,
const double trace3d_distance,
const unsigned determine_one_track,
const double selector_max_impact,
const double selector_max_sigma,
const double selector_strange_pz,
const double selector_replace_dz,
const unsigned stereo_2dfind,
const unsigned merge_exe,
const double merge_ratio,
const double merge_z_diff,
const double mask_distance,
const double ratio_used_wire,
const double range_for_stereo1,
const double range_for_stereo2,
const double range_for_stereo3,
const double range_for_stereo4,
const double range_for_stereo5,
const double range_for_stereo6,
const double z_cut,
const double z_diff_for_last_attend,
const unsigned svd_reconstruction,
const double min_svd_electrons,
const unsigned on_correction,
const unsigned output_2dtracks,
const unsigned curl_version,
const double minimum_seedLength,
const double minimum_2DTrackLength,
const double minimum_3DTrackLength,
const double minimum_closeHitsLength,
const double MIN_RADIUS_OF_STRANGE_TRACK,
const double ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK )

◆ TCurlFinder() [5/6]

TCurlFinder::TCurlFinder ( void )

◆ ~TCurlFinder() [3/3]

TCurlFinder::~TCurlFinder ( void )

◆ TCurlFinder() [6/6]

TCurlFinder::TCurlFinder ( const unsigned min_segment,
const unsigned min_salvage,
const double bad_distance_for_salvage,
const double good_distance_for_salvage,
const unsigned min_sequence,
const unsigned min_fullwire,
const double range_for_axial_search,
const double range_for_stereo_search,
const unsigned superlayer_for_stereo_search,
const double range_for_axial_last2d_search,
const double range_for_stereo_last2d_search,
const double trace2d_distance,
const double trace2d_first_distance,
const double trace3d_distance,
const unsigned determine_one_track,
const double selector_max_impact,
const double selector_max_sigma,
const double selector_strange_pz,
const double selector_replace_dz,
const unsigned stereo_2dfind,
const unsigned merge_exe,
const double merge_ratio,
const double merge_z_diff,
const double mask_distance,
const double ratio_used_wire,
const double range_for_stereo1,
const double range_for_stereo2,
const double range_for_stereo3,
const double range_for_stereo4,
const double range_for_stereo5,
const double range_for_stereo6,
const double z_cut,
const double z_diff_for_last_attend,
const unsigned svd_reconstruction,
const double min_svd_electrons,
const unsigned on_correction,
const unsigned output_2dtracks,
const unsigned curl_version,
const double minimum_seedLength,
const double minimum_2DTrackLength,
const double minimum_3DTrackLength,
const double minimum_closeHitsLength,
const double MIN_RADIUS_OF_STRANGE_TRACK,
const double ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK )

Member Function Documentation

◆ clear() [1/3]

void TCurlFinder::clear ( void )
virtual

cleans all members of this class

Implements TFinderBase.

Definition at line 559 of file TCurlFinder.cxx.

559 {
560 // This is to clear this Class(TCurlFinder) in TrkReco.cc .
561 // Private members are cleaned.
562 HepAListDeleteAll( m_allAxialHitsOriginal );
563 HepAListDeleteAll( m_allStereoHitsOriginal );
564 HepAListDeleteAll( m_segmentList );
565 HepAListDeleteAll( m_allCircles );
566 HepAListDeleteAll( m_allTracks );
567
568 m_unusedAxialHitsOriginal.removeAll();
569 m_unusedStereoHitsOriginal.removeAll();
570 m_unusedAxialHits.removeAll();
571 m_unusedStereoHits.removeAll();
572 m_removedHits.removeAll();
573 m_circles.removeAll();
574 m_tracks.removeAll();
575 m_2dTracks.removeAll();
576 // Liuqg 060917
577 for ( int i = 0; i < 19; ++i ) m_unusedAxialHitsOnEachLayer[i].removeAll();
578 for ( int i = 0; i < 24; ++i ) m_unusedStereoHitsOnEachLayer[i].removeAll();
579 for ( int i = 0; i < 5; ++i ) m_unusedAxialHitsOnEachSuperLayer[i].removeAll();
580 for ( int i = 0; i < 6; ++i ) m_unusedStereoHitsOnEachSuperLayer[i].removeAll();
581 m_hitsOnInnerSuperLayer.removeAll();
582}

◆ clear() [2/3]

void TCurlFinder::clear ( void )
virtual

cleans all members of this class

Implements TFinderBase.

◆ clear() [3/3]

void TCurlFinder::clear ( void )
virtual

cleans all members of this class

Implements TFinderBase.

◆ doit() [1/3]

int TCurlFinder::doit ( const AList< TMDCWireHit > & axialHits,
const AList< TMDCWireHit > & stereoHits,
AList< TTrack > & tracks,
AList< TTrack > & tracks2D )
virtual

main function

Implements TFinderBase.

Definition at line 587 of file TCurlFinder.cxx.

589 {
590#if ( DEBUG_CURL_DUMP + DEBUG_CURL_GNUPLOT + DEBUG_CURL_MC )
591 Belle_event_Manager& evtMgr = Belle_event_Manager::get_manager();
592 debugMcFlag = 1;
593 if ( evtMgr.count() != 0 && evtMgr[0].ExpMC() != 2 ) debugMcFlag = 0; // not MC
594 m_debugCdcFrame = false;
595#endif
596#if !( DEBUG_CURL_MC )
597# if DEBUG_CURL_DUMP
598 std::cout << "(TCurlFinder)Plot Menu : All Off = 0, Interactive = 1, All On = 2"
599 << std::endl;
600 cin >> m_debugPlotFlag;
601# endif
602 // sub main functions #1, #2, #3
603 //...#1
604 makeWireHitsListsSegments( axialHits, stereoHits );
605# if DEBUG_CURL_SEGMENT
606 std::cout << "(TCurlFinder)# of segment = " << m_segmentList.length() << std::endl;
607 debugCheckSegments0();
608 debugCheckSegments1();
609 debugCheckSegments2();
610# endif
611 //...#2
612 if ( checkSortSegments() == 0 ) return 0;
613# if DEBUG_CURL_DUMP
614 if ( m_debugPlotFlag )
615 {
616 int noPlot = 1;
617 if ( m_debugPlotFlag == 1 )
618 {
619 std::cout << "(TCurlFinder) Do you want to see Segment Plot? : yes = 1, no = other #"
620 << std::endl;
621 cin >> noPlot;
622 }
623 if ( noPlot == 1 )
624 {
625 for ( int i = 0; i < m_segmentList.length(); ++i )
626 plotSegment( m_segmentList[i]->list(), 0 );
627 }
628 }
629# endif
630 //...#3
631 makeCurlTracks( tracks, tracks2D );
632#else
633 makeWithMC( axialHits, stereoHits, tracks );
634#endif
635
636 //...iw 2001/01/26...
637 unsigned n = tracks2D.length();
638 for ( unsigned i = 0; i < n; i++ ) tracks2D[i]->quality( TrackQuality2D );
639 //...iw end...
640 return 0;
641}
const Int_t n

◆ doit() [2/3]

int TCurlFinder::doit ( const AList< TMDCWireHit > & axialHits,
const AList< TMDCWireHit > & stereoHits,
AList< TTrack > & tracks,
AList< TTrack > & tracks2D )
virtual

main function

Implements TFinderBase.

◆ doit() [3/3]

int TCurlFinder::doit ( const AList< TMDCWireHit > & axialHits,
const AList< TMDCWireHit > & stereoHits,
AList< TTrack > & tracks,
AList< TTrack > & tracks2D )
virtual

main function

Implements TFinderBase.

◆ name() [1/3]

std::string TCurlFinder::name ( void ) const
virtual

returns name.

Implements TFinderBase.

Definition at line 149 of file TCurlFinder.cxx.

149{ return std::string( "Curling Track Finder" ); }

◆ name() [2/3]

std::string TCurlFinder::name ( void ) const
virtual

returns name.

Implements TFinderBase.

◆ name() [3/3]

std::string TCurlFinder::name ( void ) const
virtual

returns name.

Implements TFinderBase.

◆ version() [1/3]

std::string TCurlFinder::version ( void ) const
virtual

returns version.

Implements TFinderBase.

Definition at line 151 of file TCurlFinder.cxx.

151{ return std::string( "3.00" ); }

◆ version() [2/3]

std::string TCurlFinder::version ( void ) const
virtual

returns version.

Implements TFinderBase.

◆ version() [3/3]

std::string TCurlFinder::version ( void ) const
virtual

returns version.

Implements TFinderBase.


The documentation for this class was generated from the following files: