Hall-D Software
alpha
|
#include <DTrackCandidate_factory_FDCCathodes.h>
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) |
DFDCSegment * | GetTrackMatch (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 DMagneticFieldMap * | bfield |
DMagneticFieldStepper * | stepper |
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 |
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.
|
inline |
Definition at line 40 of file DTrackCandidate_factory_FDCCathodes.h.
References DEBUG_HISTS.
|
inline |
Definition at line 44 of file DTrackCandidate_factory_FDCCathodes.h.
|
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.
|
private |
Definition at line 387 of file DTrackCandidate_factory_FDCCathodes.cc.
References cosphi, cotl, DCoordinateSystem::origin, sin(), sinphi, twokappa, DFDCPseudo::wire, x, xs, DFDCPseudo::xy, y, ys, and zs.
Referenced by GetTrackMatch().
|
private |
Called everytime run number changes, provided brun has been called.
Definition at line 85 of file DTrackCandidate_factory_FDCCathodes.cc.
References stepper.
|
private |
Called every event.
Definition at line 128 of file DTrackCandidate_factory_FDCCathodes.cc.
References DHelicalFit::AddHit(), DHelicalFit::AddHitXYZ(), BEAM_VAR, bfield, DTrackCandidate::chisq, DFDCSegment::chisq, DHelicalFit::chisq, DTrackCandidate_segment_cmp(), FactorForSenseOfRotation, DHelicalFit::FindSenseOfRotation(), DHelicalFit::FitCircle(), DHelicalFit::FitTrack_FixedZvertex(), DHelicalFit::FitTrackRiemann(), DMagneticFieldMap::GetBz(), GetPositionAndMomentum(), DHelicalFit::h, LinkSegments(), LinkSegmentsHough(), LinkStraySegment(), DTrackCandidate::Ndof, DFDCSegment::Ndof, DHelicalFit::ndof, DCoordinateSystem::origin, p, DFDCSegment::package, PiMinus, PiPlus, DHelicalFit::PruneHit(), DFDCSegment::q, q, DHelicalFit::r0, DTrackCandidate::rc, DFDCSegment::rc, rc, DKinematicData::setMomentum(), DKinematicData::setPID(), DKinematicData::setPosition(), size, tanl, DHelicalFit::tanl, TARGET_Z, temp, USE_FDC, DFDCPseudo::wire, DHelicalFit::x0, DTrackCandidate::xc, DFDCSegment::xc, xc, DFDCPseudo::xy, DHelicalFit::y0, DTrackCandidate::yc, DFDCSegment::yc, and yc.
|
private |
Called after last event of last event source has been processed.
Definition at line 97 of file DTrackCandidate_factory_FDCCathodes.cc.
References stepper.
|
private |
|
private |
|
private |
Definition at line 477 of file DTrackCandidate_factory_FDCCathodes.cc.
References bfield, cosphi, cotl, FactorForSenseOfRotation, DMagneticFieldMap::GetBz(), DFDCSegment::hits, p, DFDCSegment::phi0, DFDCSegment::Phi1, DFDCSegment::q, DFDCSegment::rc, sin(), sinphi, DFDCSegment::tanl, twokappa, DFDCSegment::xc, xs, DFDCSegment::yc, ys, DFDCSegment::z_vertex, and zs.
Referenced by evnt(), GetTrackMatch(), LinkSegmentsHough(), and LinkStraySegment().
|
private |
|
private |
Definition at line 514 of file DTrackCandidate_factory_FDCCathodes.cc.
References bfield, FactorForSenseOfRotation, DMagneticFieldMap::GetBz(), DCoordinateSystem::origin, py, q, rc, sin(), tanl, DFDCPseudo::wire, x, xc, DFDCPseudo::xy, y, yc, zmax, and zmin.
|
private |
Definition at line 570 of file DTrackCandidate_factory_FDCCathodes.cc.
References bfield, FactorForSenseOfRotation, DMagneticFieldMap::GetBz(), DFDCSegment::hits, DCoordinateSystem::origin, py, DFDCSegment::q, DFDCSegment::rc, sin(), DFDCSegment::tanl, DFDCPseudo::wire, x, DFDCSegment::xc, DFDCPseudo::xy, y, DFDCSegment::yc, and zmin.
|
private |
Definition at line 405 of file DTrackCandidate_factory_FDCCathodes.cc.
References DEBUG_HISTS, DocaSqToHelix(), GetPositionAndMomentum(), DFDCSegment::hits, Match(), match_center_dist2, match_dist_fdc, p, DFDCSegment::xc, and DFDCSegment::yc.
Referenced by LinkSegments(), and LinkStraySegment().
|
private |
Definition at line 638 of file DTrackCandidate_factory_FDCCathodes.cc.
References DFDCSegment::hits, Match(), DCoordinateSystem::origin, DMagneticFieldStepper::SetCharge(), stepper, DMagneticFieldStepper::SwimToPlane(), DFDCPseudo::wire, and DFDCPseudo::xy.
|
private |
Definition at line 610 of file DTrackCandidate_factory_FDCCathodes.cc.
References GetTrackMatch(), and size.
Referenced by evnt().
|
private |
Definition at line 770 of file DTrackCandidate_factory_FDCCathodes.cc.
References DHelicalFit::AddHit(), DHoughFind::AddPoint(), DTrackCandidate::chisq, DHelicalFit::chisq, FactorForSenseOfRotation, FDC_HOUGH_THRESHOLD, DHoughFind::Find(), DHelicalFit::FitTrackRiemann(), DHoughFind::GetMaxBinContent(), DHoughFind::GetPoints(), GetPositionAndMomentum(), h, DHelicalFit::h, DFDCSegment::hits, DTrackCandidate::Ndof, DHelicalFit::ndof, PiMinus, PiPlus, q, DHelicalFit::r0, DTrackCandidate::rc, rc, DHoughFind::SetLimits(), DKinematicData::setMomentum(), DKinematicData::setPID(), DKinematicData::setPosition(), tanl, DHelicalFit::tanl, DHelicalFit::x0, DTrackCandidate::xc, xc, DHelicalFit::y0, DTrackCandidate::yc, and yc.
Referenced by evnt().
|
private |
Definition at line 657 of file DTrackCandidate_factory_FDCCathodes.cc.
References DHelicalFit::AddHitXYZ(), BEAM_VAR, bfield, DTrackCandidate_segment_cmp_by_z(), FactorForSenseOfRotation, DMagneticFieldMap::GetBz(), GetPositionAndMomentum(), GetTrackMatch(), DFDCSegment::hits, DCoordinateSystem::origin, p, DFDCSegment::package, PiMinus, PiPlus, q, rc, tanl, TARGET_Z, DFDCPseudo::wire, DFDCSegment::xc, xc, DFDCPseudo::xy, DFDCSegment::yc, and yc.
Referenced by evnt().
|
inlineprivate |
Definition at line 99 of file DTrackCandidate_factory_FDCCathodes.h.
References p.
Referenced by GetTrackMatch().
|
inline |
Definition at line 45 of file DTrackCandidate_factory_FDCCathodes.h.
|
private |
Definition at line 87 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), evnt(), and LinkStraySegment().
|
private |
Definition at line 48 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), evnt(), GetPositionAndMomentum(), and LinkStraySegment().
|
private |
Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by DocaSqToHelix(), and GetPositionAndMomentum().
|
private |
Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by DocaSqToHelix(), and GetPositionAndMomentum().
|
private |
Definition at line 82 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), DTrackCandidate_factory_FDCCathodes(), and GetTrackMatch().
|
private |
Definition at line 89 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), evnt(), GetPositionAndMomentum(), LinkSegmentsHough(), and LinkStraySegment().
|
private |
Definition at line 87 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), and LinkSegmentsHough().
|
private |
Definition at line 84 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), and GetTrackMatch().
|
private |
Definition at line 84 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), and GetTrackMatch().
|
private |
Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by evnt(), GetPositionAndMomentum(), GetTrackMatch(), LinkStraySegment(), and Match().
|
private |
Definition at line 92 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by evnt(), GetPositionAndMomentum(), LinkSegmentsHough(), and LinkStraySegment().
|
private |
Definition at line 92 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by evnt(), GetPositionAndMomentum(), LinkSegmentsHough(), and LinkStraySegment().
|
private |
Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by DocaSqToHelix(), and GetPositionAndMomentum().
|
private |
Definition at line 49 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), erun(), fini(), and GetTrackMatch().
|
private |
Definition at line 92 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by evnt(), GetPositionAndMomentum(), LinkSegmentsHough(), and LinkStraySegment().
|
private |
Definition at line 87 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun(), evnt(), and LinkStraySegment().
|
private |
Definition at line 96 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by DocaSqToHelix(), and GetPositionAndMomentum().
|
private |
Definition at line 82 of file DTrackCandidate_factory_FDCCathodes.h.
|
private |
Definition at line 92 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by evnt(), GetPositionAndMomentum(), LinkSegmentsHough(), and LinkStraySegment().
|
private |
Definition at line 95 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by DocaSqToHelix(), and GetPositionAndMomentum().
|
private |
Definition at line 92 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by evnt(), GetPositionAndMomentum(), LinkSegmentsHough(), and LinkStraySegment().
|
private |
Definition at line 95 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by DocaSqToHelix(), and GetPositionAndMomentum().
|
private |
Definition at line 86 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by brun().
|
private |
Definition at line 95 of file DTrackCandidate_factory_FDCCathodes.h.
Referenced by DocaSqToHelix(), and GetPositionAndMomentum().