Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackCandidate_factory_FDC Class Reference

More...

#include <DTrackCandidate_factory_FDC.h>

+ Inheritance diagram for DTrackCandidate_factory_FDC:

Classes

class  DFDCSeed
 
class  DFDCTrkHit
 

Public Types

enum  trk_flags_t {
  NONE = 0x000, NOISE = 0x001, USED = 0x002, CANT_BE_IN_SEED = 0x008,
  ON_CIRCLE = 0x010, IN_THETA_RANGE = 0x020, IN_Z_RANGE = 0x040, VALID_HIT = 0x080,
  OUT_OF_TIME = 0x100
}
 
enum  ret_cond_t { FIT_OK = 0, NO_SEED, BAD_SEED, FIND_FAILED }
 

Public Member Functions

 DTrackCandidate_factory_FDC ()
 
 ~DTrackCandidate_factory_FDC ()
 
virtual const char * Tag (void)
 

Protected Member Functions

virtual jerror_t init (void)
 
virtual jerror_t brun (JEventLoop *loop, int32_t runnumber)
 
virtual jerror_t evnt (JEventLoop *loop, uint64_t eventnumber)
 Invoked via JEventProcessor virtual method. More...
 
virtual jerror_t fini (void)
 Invoked via JEventProcessor virtual method. More...
 
void GetTrkHits (JEventLoop *loop)
 
void FindSeeds (vector< DFDCSeed > &seeds)
 
void FillSeedHits (DFDCSeed &seed)
 
unsigned int NumAvailableHits (void)
 
void FindThetaZ (DFDCSeed &seed)
 
void FindTheta (DFDCSeed &seed, double target_z_min, double target_z_max)
 
void FindZ (DFDCSeed &seed, double theta_min, double theta_max)
 

Protected Attributes

DHoughFind hough
 
vector< DFDCTrkHit * > fdctrkhits
 
float TARGET_Z_MIN
 
float TARGET_Z_MAX
 
double MAX_HIT_DIST
 
double MAX_HIT_DIST2
 

Detailed Description

This is an alternate FDC track finder that is not used as part of the default reconstruction. It is no longer maintained, but is kept around as an independent check against the default FDC finder in DTrackCandiate_factory_FDCpseudo .

This was originally written to help study the possibility of a wires only design of the FDC. As such, it uses the DFDCIntersection objects as inputs which have a far worse position resolution than what is achievable with the the cathode strips. Consequently, this tended to produce more ghost tracks.

Definition at line 43 of file DTrackCandidate_factory_FDC.h.

Member Enumeration Documentation

Enumerator
FIT_OK 
NO_SEED 
BAD_SEED 
FIND_FAILED 

Definition at line 61 of file DTrackCandidate_factory_FDC.h.

Enumerator
NONE 
NOISE 
USED 
CANT_BE_IN_SEED 
ON_CIRCLE 
IN_THETA_RANGE 
IN_Z_RANGE 
VALID_HIT 
OUT_OF_TIME 

Definition at line 49 of file DTrackCandidate_factory_FDC.h.

Constructor & Destructor Documentation

DTrackCandidate_factory_FDC::DTrackCandidate_factory_FDC ( )

Definition at line 34 of file DTrackCandidate_factory_FDC.cc.

DTrackCandidate_factory_FDC::~DTrackCandidate_factory_FDC ( )
inline

Definition at line 46 of file DTrackCandidate_factory_FDC.h.

Member Function Documentation

jerror_t DTrackCandidate_factory_FDC::brun ( JEventLoop *  loop,
int32_t  runnumber 
)
protectedvirtual

Definition at line 60 of file DTrackCandidate_factory_FDC.cc.

void DTrackCandidate_factory_FDC::FindTheta ( DFDCSeed seed,
double  target_z_min,
double  target_z_max 
)
protected

Find the theta value using the hits from seed. The value of seed.r0 is used to calculate theta.

This uses a histogramming technique that looks at the overlaps of the angle ranges subtended by each hit between the given target limits. The overlaps usually lead to a range of values for theta. The limits of these are stored in the theta_min and theta_max fields of the seed. The centroid of the range is stored in the theta field.

Definition at line 391 of file DTrackCandidate_factory_FDC.cc.

References _DBG_, alpha, DTrackCandidate_factory_FDC::DFDCTrkHit::flags, hist, DTrackCandidate_factory_FDC::DFDCTrkHit::hit, DTrackCandidate_factory_FDC::DFDCSeed::hits, Nbins, DTrackCandidate_factory_FDC::DFDCSeed::phi, DTrackCandidate_factory_FDC::DFDCTrkHit::phi_hit, DFDCIntersection::pos, DTrackCandidate_factory_FDC::DFDCSeed::q, DTrackCandidate_factory_FDC::DFDCSeed::r0, DTrackCandidate_factory_FDC::DFDCSeed::theta, DTrackCandidate_factory_FDC::DFDCTrkHit::theta_max, DTrackCandidate_factory_FDC::DFDCSeed::theta_max, DTrackCandidate_factory_FDC::DFDCTrkHit::theta_min, DTrackCandidate_factory_FDC::DFDCSeed::theta_min, and DTrackCandidate_factory_FDC::DFDCSeed::valid.

void DTrackCandidate_factory_FDC::FindZ ( DFDCSeed seed,
double  theta_min,
double  theta_max 
)
protected

Find the z value of the vertex using the valid stereo hits from seed. The values for phi_hit and pos.Z() are assumed to be valid as is the status of the VALID_HIT bit in flags.

This uses a histogramming technique that looks at the overlaps of the z ranges subtended by each hit between the given theta limits. The overlaps usually lead to a range of values for z_vertex. The limits of these are stored in the z_min and z_max fields of the seed. The centroid of the range is stored in the z_vertex field.

Definition at line 501 of file DTrackCandidate_factory_FDC.cc.

References _DBG_, DTrackCandidate_factory_FDC::DFDCTrkHit::flags, hist, DTrackCandidate_factory_FDC::DFDCTrkHit::hit, DTrackCandidate_factory_FDC::DFDCSeed::hits, Nbins, DTrackCandidate_factory_FDC::DFDCTrkHit::phi_hit, DFDCIntersection::pos, DTrackCandidate_factory_FDC::DFDCSeed::q, DTrackCandidate_factory_FDC::DFDCSeed::r0, DTrackCandidate_factory_FDC::DFDCSeed::valid, DTrackCandidate_factory_FDC::DFDCSeed::z_max, DTrackCandidate_factory_FDC::DFDCSeed::z_min, DTrackCandidate_factory_FDC::DFDCSeed::z_vertex, zmax, DTrackCandidate_factory_FDC::DFDCTrkHit::zmax, zmin, and DTrackCandidate_factory_FDC::DFDCTrkHit::zmin.

jerror_t DTrackCandidate_factory_FDC::fini ( void  )
protectedvirtual

Invoked via JEventProcessor virtual method.

Definition at line 68 of file DTrackCandidate_factory_FDC.cc.

void DTrackCandidate_factory_FDC::GetTrkHits ( JEventLoop *  loop)
protected
jerror_t DTrackCandidate_factory_FDC::init ( void  )
protectedvirtual

Definition at line 46 of file DTrackCandidate_factory_FDC.cc.

unsigned int DTrackCandidate_factory_FDC::NumAvailableHits ( void  )
protected
virtual const char* DTrackCandidate_factory_FDC::Tag ( void  )
inlinevirtual

Definition at line 47 of file DTrackCandidate_factory_FDC.h.

Member Data Documentation

vector<DFDCTrkHit*> DTrackCandidate_factory_FDC::fdctrkhits
protected

Definition at line 113 of file DTrackCandidate_factory_FDC.h.

DHoughFind DTrackCandidate_factory_FDC::hough
protected

Definition at line 111 of file DTrackCandidate_factory_FDC.h.

double DTrackCandidate_factory_FDC::MAX_HIT_DIST
protected

Definition at line 125 of file DTrackCandidate_factory_FDC.h.

double DTrackCandidate_factory_FDC::MAX_HIT_DIST2
protected

Definition at line 126 of file DTrackCandidate_factory_FDC.h.

float DTrackCandidate_factory_FDC::TARGET_Z_MAX
protected

Definition at line 124 of file DTrackCandidate_factory_FDC.h.

float DTrackCandidate_factory_FDC::TARGET_Z_MIN
protected

Definition at line 123 of file DTrackCandidate_factory_FDC.h.


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