13#ifndef TTRACKMANAGER_FLAG_
14#define TTRACKMANAGER_FLAG_
16#ifdef TRKRECO_DEBUG_DETAIL
25#include "CLHEP/Alist/AList.h"
26#include "MdcRecEvent/RecMdcHit.h"
27#include "MdcRecEvent/RecMdcTrack.h"
28#include "TrkReco/TCosmicFitter.h"
29#include "TrkReco/THelixFitter.h"
30#include "TrkReco/TUpdater.h"
37#include "MdcTables/MdcTables.h"
38#include "MdcTables/TrkTables.h"
39#include "RawDataProviderSvc/IRawDataProviderSvc.h"
54 void dump(
const std::string& message = std::string(
"" ),
55 const std::string& prefix = std::string(
"" ) )
const;
59 std::string
name(
void )
const;
128 int runge = 0,
int cal = 0 );
146 void tagReccdc(
unsigned*
id,
unsigned n )
const;
147 void tagRectrk(
unsigned*
id,
unsigned n )
const;
173 static bool checkNumberOfHits(
const TTrack&,
bool track2D =
false );
176 void nameTracks(
void );
179 float T0(
unsigned n );
182 float T0Fit(
unsigned n );
183 float minimum(
float y0,
float y1,
float y2 )
const;
212 double _sigmaCurlerMergeTest;
213 unsigned _nCurlerMergeTest;
228 unsigned _nTracksAll;
230 unsigned _nTracksFinal;
231 unsigned _nSuperMoms;
232 unsigned _nToBeMerged;
233 unsigned _nToBeMergedMoreThanTwo;
243#ifdef TRKRECO_NO_INLINE
247# define TTRACKMANAGER_INLINE_DEFINE_HERE
250#ifdef TTRACKMANAGER_INLINE_DEFINE_HERE
252inline std::string
TTrackManager::name(
void )
const {
return std::string(
"Track Manager" ); }
267 if ( a & 1 ) _fitter.sag(
true );
268 if ( a & 2 ) _fitter.propagation(
true );
269 if ( a & 4 ) _fitter.tof(
true );
270 if ( a & 8 ) _fitter.freeT0(
true );
ObjectVector< RecMdcHit > RecMdcHitCol
ObjectVector< RecMdcTrack > RecMdcTrackCol
A class to fit a TTrackBase object to a helix.
A class to relate TMDCWireHit and TTrack objects.
A manager of TTrack information to make outputs as MdcRec_trk.
void movePivot(void)
moves pivot of tracks.
void append2D(AList< TTrack > &list)
void maskOut(TTrack &, const AList< TMLink > &) const
virtual ~TTrackManager()
Destructor.
void removeHitsAcrossOverIp(AList< TMLink > &) const
static void maskBadHits(const AList< TTrack > &, float maxSigma2)
masks hits with large chisq as associated hits. Pull in TMLink is used.
void clearTables(void) const
clears tables.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
void maskNormal(TTrack &) const
void finish(void)
finishes tracks.
TTrack * closest(const AList< TTrack > &, const TMDCWireHit &) const
returns a track which is the closest to a hit.
void append(AList< TTrack > &list)
appends (2D) tracks. 'list' will be cleaned up.
void saveTables(void)
stores track info. into Panther table.
std::string version(void) const
returns version.
void salvageAssociateHits(const AList< TMDCWireHit > &, float maxSigma2)
salvages hits for dE/dx(not for track fitting).
const AList< TTrack > & tracksFinal(void) const
returns a list of tracks writen to MdcRec_trk.
void refit(void)
refits tracks.
TMLink & divide(const TTrack &t, AList< TMLink > *l) const
StatusCode makeTds(RecMdcTrackCol *trackList, RecMdcHitCol *hitList, int tkStat=1, int runge=0, int cal=0)
stores track info. into TDS. by Zang Shilei
void setCurlerFlags(void)
tests for curlers.
const AList< TTrack > & tracks2D(void) const
returns a list of 2D tracks.
void maskMultiHits(TTrack &) const
void determineIP(void)
determines IP.
const AList< TTrack > & tracks(void) const
returns a list of reconstructed tracks.
std::string name(void) const
returns name.
TTrackManager()
Constructor.
int debugLevel(void) const
returns/sets debug level.
void maskCurl(TTrack &) const
void saveMCTables(void) const
stores MC track info. into Panther table.
const AList< TTrack > & allTracks(void) const
returns a list of all reconstructed tracks including junks.
void mask(void) const
masks hits out which are in tail of curly tracks.
TMLink & divideByIp(const TTrack &t, AList< TMLink > *l) const
void sortBanksByPt(void) const
sorts RECMDC_TRK tables.
void sortTracksByQuality(void)
sorts tracks.
double maxMomentum(double)
sets the max. momentum.
void treatCurler(MdcTrk &curl, MdcRec_trk_add &cdc, unsigned flag) const
final decision for a curler.
void maskCurlHits(const AList< TMDCWireHit > &axial, const AList< TMDCWireHit > &stereo, const AList< TTrack > &tracks) const
masks hits on found curl tracks.
void fittingFlag(unsigned)
sets fitting flag.
StatusCode determineT0(unsigned level, unsigned nMaxTracks)
determines T0 and refit all tracks.
void salvage(const AList< TMDCWireHit > &) const
salvages remaining hits.
void clear(void)
clears all internal information.
void sortTracksByPt(void)
static bool goodTrack(const TTrack &, bool track2D=false)
checks goodness of a track.
A class to represent a track in tracking.
A class to handle update timing of static objects of tracking.