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

More...

#include <DTrackCandidate_factory_FDCCathodes.h>

+ Inheritance diagram for DTrackCandidate_factory_FDCCathodes:

Public Member Functions

 DTrackCandidate_factory_FDCCathodes ()
 
 ~DTrackCandidate_factory_FDCCathodes ()
 
const char * Tag (void)
 

Private Member Functions

jerror_t brun (JEventLoop *eventLoop, int32_t runnumber)
 Called everytime a new run number is detected. More...
 
jerror_t evnt (JEventLoop *eventLoop, uint64_t eventnumber)
 Called every event. More...
 
jerror_t erun (void)
 Called everytime run number changes, provided brun has been called. More...
 
jerror_t fini (void)
 Called after last event of last event source has been processed. More...
 
jerror_t GetPositionAndMomentum (const DFDCSegment *segment)
 
jerror_t GetPositionAndMomentum (DVector3 &pos, DVector3 &mom)
 
jerror_t GetPositionAndMomentum (vector< const DFDCSegment * >segments, DVector3 &pos, DVector3 &mom)
 
jerror_t GetPositionAndMomentum (const DFDCSegment *segment, DVector3 &pos, DVector3 &mom)
 
double GetCharge (const DVector3 &pos, const DFDCSegment *segment)
 
double GetCharge (const DVector3 &pos, vector< const DFDCSegment * >segments)
 
double DocaSqToHelix (const DFDCPseudo *hit)
 
DFDCSegmentGetTrackMatch (DFDCSegment *segment, vector< DFDCSegment * >package, unsigned int &match_id)
 
void LinkSegments (unsigned int pack1, vector< DFDCSegment * >packages[4], vector< pair< const DFDCSegment *, const DFDCSegment * > > &paired_segments, vector< vector< int > > &is_paired)
 
double Match (double p)
 
bool GetTrackMatch (double q, DVector3 &pos, DVector3 &mom, const DFDCSegment *segment)
 
bool LinkStraySegment (const DFDCSegment *segment)
 
bool LinkSegmentsHough (vector< pair< unsigned int, unsigned int > > &unused_segements, vector< DFDCSegment * >packages[4], vector< vector< int > > &is_paired)
 

Private Attributes

const DMagneticFieldMapbfield
 
DMagneticFieldStepperstepper
 
bool DEBUG_HISTS
 
bool USE_FDC
 
TH2F * match_dist_fdc
 
TH2F * match_center_dist2
 
vector< double > z_wires
 
double TARGET_Z
 
double BEAM_VAR
 
double FDC_HOUGH_THRESHOLD
 
double FactorForSenseOfRotation
 
double xc
 
double yc
 
double rc
 
double q
 
double tanl
 
double xs
 
double ys
 
double zs
 
double p
 
double cosphi
 
double sinphi
 
double twokappa
 
double cotl
 

Detailed Description

Find track candidates in the Forward Drift Chambers (FDC). This will try to form candidates from hits found in the FDC. Roughly, clusters of hits in single packages (6 wire planes) are found and fit. The fit is propagated to adjacent packages to link them up with hit clusters there. Eventually, all hits are used to fit using a Reimann method to obtain the parameters of the candidate.

These candidates will be merged with those from the FDC in the DTrackCandidate_factory class.

Definition at line 38 of file DTrackCandidate_factory_FDCCathodes.h.

Constructor & Destructor Documentation

DTrackCandidate_factory_FDCCathodes::DTrackCandidate_factory_FDCCathodes ( )
inline

Definition at line 40 of file DTrackCandidate_factory_FDCCathodes.h.

References DEBUG_HISTS.

DTrackCandidate_factory_FDCCathodes::~DTrackCandidate_factory_FDCCathodes ( )
inline

Definition at line 44 of file DTrackCandidate_factory_FDCCathodes.h.

Member Function Documentation

jerror_t DTrackCandidate_factory_FDCCathodes::brun ( JEventLoop *  eventLoop,
int32_t  runnumber 
)
private

Called everytime a new run number is detected.

This factory links segments in the FDC packages into track candidates by swimming through the field from one package to the next.

DTrackCandidate_factory_FDCCathodes::brun():

Definition at line 24 of file DTrackCandidate_factory_FDCCathodes.cc.

References _DBG_, BEAM_VAR, bfield, dapp, DEBUG_HISTS, FactorForSenseOfRotation, FDC_HOUGH_THRESHOLD, DApplication::GetBfield(), DMagneticFieldMap::GetBz(), DApplication::GetDGeometry(), DGeometry::GetFDCZ(), DGeometry::GetTargetZ(), match_center_dist2, match_dist_fdc, DMagneticFieldStepper::SetStepSize(), stepper, TARGET_Z, USE_FDC, and z_wires.

double DTrackCandidate_factory_FDCCathodes::DocaSqToHelix ( const DFDCPseudo hit)
private
jerror_t DTrackCandidate_factory_FDCCathodes::erun ( void  )
private

Called everytime run number changes, provided brun has been called.

Definition at line 85 of file DTrackCandidate_factory_FDCCathodes.cc.

References stepper.

jerror_t DTrackCandidate_factory_FDCCathodes::fini ( void  )
private

Called after last event of last event source has been processed.

Definition at line 97 of file DTrackCandidate_factory_FDCCathodes.cc.

References stepper.

double DTrackCandidate_factory_FDCCathodes::GetCharge ( const DVector3 pos,
const DFDCSegment segment 
)
private
double DTrackCandidate_factory_FDCCathodes::GetCharge ( const DVector3 pos,
vector< const DFDCSegment * >  segments 
)
private
jerror_t DTrackCandidate_factory_FDCCathodes::GetPositionAndMomentum ( DVector3 pos,
DVector3 mom 
)
private
jerror_t DTrackCandidate_factory_FDCCathodes::GetPositionAndMomentum ( vector< const DFDCSegment * >  segments,
DVector3 pos,
DVector3 mom 
)
private
jerror_t DTrackCandidate_factory_FDCCathodes::GetPositionAndMomentum ( const DFDCSegment segment,
DVector3 pos,
DVector3 mom 
)
private
DFDCSegment * DTrackCandidate_factory_FDCCathodes::GetTrackMatch ( DFDCSegment segment,
vector< DFDCSegment * >  package,
unsigned int &  match_id 
)
private
bool DTrackCandidate_factory_FDCCathodes::GetTrackMatch ( double  q,
DVector3 pos,
DVector3 mom,
const DFDCSegment segment 
)
private
void DTrackCandidate_factory_FDCCathodes::LinkSegments ( unsigned int  pack1,
vector< DFDCSegment * >  packages[4],
vector< pair< const DFDCSegment *, const DFDCSegment * > > &  paired_segments,
vector< vector< int > > &  is_paired 
)
private

Definition at line 610 of file DTrackCandidate_factory_FDCCathodes.cc.

References GetTrackMatch(), and size.

Referenced by evnt().

double DTrackCandidate_factory_FDCCathodes::Match ( double  p)
inlineprivate

Definition at line 99 of file DTrackCandidate_factory_FDCCathodes.h.

References p.

Referenced by GetTrackMatch().

const char* DTrackCandidate_factory_FDCCathodes::Tag ( void  )
inline

Definition at line 45 of file DTrackCandidate_factory_FDCCathodes.h.

Member Data Documentation

double DTrackCandidate_factory_FDCCathodes::BEAM_VAR
private

Definition at line 87 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by brun(), evnt(), and LinkStraySegment().

const DMagneticFieldMap* DTrackCandidate_factory_FDCCathodes::bfield
private
double DTrackCandidate_factory_FDCCathodes::cosphi
private

Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by DocaSqToHelix(), and GetPositionAndMomentum().

double DTrackCandidate_factory_FDCCathodes::cotl
private

Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by DocaSqToHelix(), and GetPositionAndMomentum().

bool DTrackCandidate_factory_FDCCathodes::DEBUG_HISTS
private
double DTrackCandidate_factory_FDCCathodes::FactorForSenseOfRotation
private
double DTrackCandidate_factory_FDCCathodes::FDC_HOUGH_THRESHOLD
private

Definition at line 87 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by brun(), and LinkSegmentsHough().

TH2F * DTrackCandidate_factory_FDCCathodes::match_center_dist2
private

Definition at line 84 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by brun(), and GetTrackMatch().

TH2F* DTrackCandidate_factory_FDCCathodes::match_dist_fdc
private

Definition at line 84 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by brun(), and GetTrackMatch().

double DTrackCandidate_factory_FDCCathodes::p
private
double DTrackCandidate_factory_FDCCathodes::q
private
double DTrackCandidate_factory_FDCCathodes::rc
private
double DTrackCandidate_factory_FDCCathodes::sinphi
private

Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by DocaSqToHelix(), and GetPositionAndMomentum().

DMagneticFieldStepper* DTrackCandidate_factory_FDCCathodes::stepper
private

Definition at line 49 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by brun(), erun(), fini(), and GetTrackMatch().

double DTrackCandidate_factory_FDCCathodes::tanl
private
double DTrackCandidate_factory_FDCCathodes::TARGET_Z
private

Definition at line 87 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by brun(), evnt(), and LinkStraySegment().

double DTrackCandidate_factory_FDCCathodes::twokappa
private

Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by DocaSqToHelix(), and GetPositionAndMomentum().

bool DTrackCandidate_factory_FDCCathodes::USE_FDC
private

Definition at line 82 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by brun(), and evnt().

double DTrackCandidate_factory_FDCCathodes::xc
private
double DTrackCandidate_factory_FDCCathodes::xs
private

Definition at line 95 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by DocaSqToHelix(), and GetPositionAndMomentum().

double DTrackCandidate_factory_FDCCathodes::yc
private
double DTrackCandidate_factory_FDCCathodes::ys
private

Definition at line 95 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by DocaSqToHelix(), and GetPositionAndMomentum().

vector<double> DTrackCandidate_factory_FDCCathodes::z_wires
private

Definition at line 86 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by brun().

double DTrackCandidate_factory_FDCCathodes::zs
private

Definition at line 95 of file DTrackCandidate_factory_FDCCathodes.h.

Referenced by DocaSqToHelix(), and GetPositionAndMomentum().


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