13#ifndef TTRACKMANAGER_FLAG_
14#define TTRACKMANAGER_FLAG_
16#ifdef TRKRECO_DEBUG_DETAIL
24#define HEP_SHORT_NAMES
25#include "CLHEP/Alist/AList.h"
54 void dump(
const std::string & message = std::string(
""),
55 const std::string & prefix = std::string(
""))
const;
59 std::string
name(
void)
const;
62 std::string
version(
void)
const;
111 StatusCode
determineT0(
unsigned level,
unsigned nMaxTracks);
151 void tagReccdc(
unsigned *
id,
unsigned n)
const;
152 void tagRectrk(
unsigned *
id,
unsigned n)
const;
180 bool track2D =
false)
const;
181 static bool checkNumberOfHits(
const TTrack &,
bool track2D =
false);
184 void nameTracks(
void);
187 float T0(
unsigned n);
190 float T0Fit(
unsigned n);
191 float minimum(
float y0,
float y1,
float y2)
const;
202 void mask(
void)
const;
221 double _sigmaCurlerMergeTest;
222 unsigned _nCurlerMergeTest;
237 unsigned _nTracksAll;
239 unsigned _nTracksFinal;
240 unsigned _nSuperMoms;
241 unsigned _nToBeMerged;
242 unsigned _nToBeMergedMoreThanTwo;
252#ifdef TRKRECO_NO_INLINE
256#define TTRACKMANAGER_INLINE_DEFINE_HERE
259#ifdef TTRACKMANAGER_INLINE_DEFINE_HERE
264 return std::string(
"Track Manager");
288 return _maxMomentum = a;
300 return _debugLevel = a;
306 if (a & 1) _fitter.
sag(
true);
308 if (a & 4) _fitter.
tof(
true);
309 if (a & 8) _fitter.
freeT0(
true);
ObjectVector< RecMdcHit > RecMdcHitCol
ObjectVector< RecMdcTrack > RecMdcTrackCol
A class to fit a TTrackBase object to a helix.
bool freeT0(void) const
sets/returns free T0 flag.
bool tof(void) const
sets/returns propagation-delay correction flag.
bool sag(void) const
sets/returns sag correction flag.
bool propagation(void) const
sets/returns propagation-delay correction flag.
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
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
virtual ~TTrackManager()
Destructor.
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.
static bool goodTrack(const TTrack &, bool track2D=false)
checks goodness of a track.
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)
A class to represent a track in tracking.
A class to handle update timing of static objects of tracking.