Hall-D Software
alpha
|
#include <DTrackCandidate_factory_CDC.h>
Classes | |
class | DCDCLineFit |
class | DCDCRingSeed |
class | DCDCSuperLayerSeed |
class | DCDCTrackCircle |
class | DCDCTrkHit |
struct | DSpiralParams_t |
struct | intersection_t |
Public Types | |
enum | trk_flags_t { NONE = 0x000, NOISE = 0x001, USED = 0x002, OUT_OF_TIME = 0x004 } |
enum | wire_direction_t { WIRE_DIRECTION_AXIAL = 0, WIRE_DIRECTION_STEREOLEFT = 1, WIRE_DIRECTION_STEREORIGHT = 2 } |
typedef vector< vector < DCDCRingSeed > >::iterator | ringiter |
Public Member Functions | |
DTrackCandidate_factory_CDC () | |
~DTrackCandidate_factory_CDC () | |
const char * | Tag (void) |
Private Member Functions | |
jerror_t | init (void) |
Called once at program start. More... | |
jerror_t | brun (JEventLoop *locEventLoop, int32_t runnumber) |
Called everytime a new run number is detected. More... | |
jerror_t | evnt (JEventLoop *locEventLoop, 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... | |
void | Reset_Pools (void) |
DCDCTrkHit * | Get_Resource_CDCTrkHit (void) |
DCDCSuperLayerSeed * | Get_Resource_CDCSuperLayerSeed (void) |
DHelicalFit * | Get_Resource_HelicalFit (void) |
DCDCTrackCircle * | Get_Resource_CDCTrackCircle (void) |
jerror_t | Get_CDCHits (JEventLoop *loop) |
void | Find_SuperLayerSeeds (vector< DCDCTrkHit * > &locSuperLayerHits, unsigned int locSuperLayer) |
void | Link_RingSeeds (vector< DCDCRingSeed * > &parent, ringiter ring, ringiter ringend, unsigned int locSuperLayer, unsigned int locNumPreviousRingsWithoutHit) |
double | MinDist2 (const DCDCRingSeed &locInnerRingSeed, const DCDCRingSeed &locOuterRingSeed) |
double | MinDist2 (const vector< DCDCTrkHit * > &locInnerSeedHits, const vector< DCDCTrkHit * > &locOuterSeedHits) |
void | Reject_SuperLayerSeeds_HighSeedDensity (unsigned int locSuperLayer) |
void | Calc_SuperLayerPhiRange (DCDCSuperLayerSeed *locSuperLayerSeed, double &locSeedFirstPhi, double &locSeedLastPhi) |
bool | Check_IfPhiRangesOverlap (double locFirstSeedPhi, double locLastSeedPhi, double locTargetFirstPhi, double locTargetLastPhi) |
void | Set_SpiralLinkParams (void) |
bool | SearchFor_SpiralTurn_TwoSeedsSharingManyHits (DCDCSuperLayerSeed *locSuperLayerSeed1, DCDCSuperLayerSeed *locSuperLayerSeed2) |
bool | SearchFor_SpiralTurn_TwoSeedsSharingFewHits (DCDCSuperLayerSeed *locSuperLayerSeed1, DCDCSuperLayerSeed *locSuperLayerSeed2) |
bool | SearchFor_SpiralTurn_ManyHitsAdjacentRing (DCDCSuperLayerSeed *locSuperLayerSeed1, DCDCSuperLayerSeed *locSuperLayerSeed2, int locRingToCheck, int locMinStrawsAdjacentRing, int &locMaxSpiralNumHits) |
bool | SearchFor_SpiralTurn_MissingOrBetweenRings (DCDCSuperLayerSeed *locSuperLayerSeed1, DCDCSuperLayerSeed *locSuperLayerSeed2) |
bool | SearchFor_SpiralTurn_SingleSeed (DCDCSuperLayerSeed *locSuperLayerSeed) |
void | Print_SuperLayerSeeds (void) |
bool | Build_TrackCircles (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
bool | Link_SuperLayers (vector< DCDCTrackCircle * > &locCDCTrackCircles, unsigned int locOuterSuperLayer) |
void | Link_SuperLayers_FromAxial (vector< DCDCTrackCircle * > &locCDCTrackCircles, unsigned int locOuterSuperLayer, unsigned int locInnerSuperLayer) |
void | Link_SuperLayers_FromStereo (vector< DCDCTrackCircle * > &locCDCTrackCircles, unsigned int locOuterSuperLayer, unsigned int locInnerSuperLayer) |
bool | Link_SuperLayers_FromStereo_ToAxial (vector< DCDCTrackCircle * > &locCDCTrackCircles, unsigned int locOuterSuperLayer, unsigned int locInnerSuperLayer) |
void | Link_SuperLayers_FromStereo_ToStereo (vector< DCDCTrackCircle * > &locCDCTrackCircles, unsigned int locOuterSuperLayer, unsigned int locInnerSuperLayer) |
bool | Check_IfShouldAttemptLink (const DCDCSuperLayerSeed *locSuperLayerSeed, bool locInnerSeedFlag) |
bool | Attempt_SeedLink (DCDCSuperLayerSeed *locSuperLayerSeed1, DCDCSuperLayerSeed *locSuperLayerSeed2) |
bool | Attempt_SeedLink (DCDCRingSeed &locRingSeed1, DCDCRingSeed &locRingSeed2, wire_direction_t locWireDirection1, wire_direction_t locWireDirection2) |
void | Recycle_DCDCTrackCircle (DCDCTrackCircle *locCDCTrackCircle) |
void | Print_TrackCircles (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Print_TrackCircle (DCDCTrackCircle *locCDCTrackCircle) |
void | Reject_DefiniteSpiralArms (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Drop_IncompleteGroups (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Fit_Circles (vector< DCDCTrackCircle * > &locCDCTrackCircles, bool locFitOnlyIfNullFitFlag, bool locAddStereoLayerIntersectionsFlag, bool locFitDuringLinkingFlag=false) |
DVector3 | Find_IntersectionBetweenSuperLayers (const DCDCSuperLayerSeed *locInnerSuperLayerSeed, const DCDCSuperLayerSeed *locOuterSuperLayerSeed) |
void | Handle_StereoAndFilter (vector< DCDCTrackCircle * > &locCDCTrackCircles, bool locFinalPassFlag) |
void | Truncate_TrackCircles (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Set_HitBitPattern_Axial (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Filter_TrackCircles_Axial (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Create_NewCDCSuperLayerSeeds (DCDCTrackCircle *locCDCTrackCircle) |
DCDCSuperLayerSeed * | Create_NewStereoSuperLayerSeed (DCDCSuperLayerSeed *locCDCSuperLayerSeed, const DCDCTrackCircle *locCDCTrackCircle, map< DCDCTrkHit *, DCDCTrkHit * > &locProjectedStereoHitMap) |
bool | Calc_StereoPosition (const DCDCWire *wire, const DHelicalFit *fit, DVector3 &pos, double &var_z, double &locPhiStereo, double d=0.0) |
bool | Select_CDCSuperLayerSeeds (DCDCTrackCircle *locCDCTrackCircle, bool locFinalPassFlag) |
void | Select_ThetaZStereoHits (const DCDCTrackCircle *locCDCTrackCircle, int locInnerSeedSeriesIndex, int locOuterSeedSeriesIndex, bool locFinalPassFlag, vector< DCDCTrkHit * > &locComboHits) |
void | Calc_StereoHitDeltaPhis (unsigned int locSuperLayer, vector< DCDCTrkHit * > &locHits, const DCDCTrackCircle *locCDCTrackCircle, vector< pair< DCDCTrkHit *, double > > &locDeltaPhis) |
double | MinDeltaPhi (const vector< DCDCTrkHit * > &locInnerSeedHits, const vector< DCDCTrkHit * > &locOuterSeedHits) |
void | Recycle_DCDCSuperLayerSeed (DCDCSuperLayerSeed *locCDCSuperLayerSeed) |
bool | Find_ThetaZ (const DHelicalFit *locFit, const vector< DCDCTrkHit * > &locStereoHits, double &locTheta, double &locZ, double &locChiSqPerNDF) |
bool | Find_ThetaZ_Regression (const DHelicalFit *locFit, const vector< DCDCTrkHit * > &locStereoHits, double &locTheta, double &locZ, double &locChiSqPerNDF) |
bool | Find_Theta (const DHelicalFit *locFit, const vector< DCDCTrkHit * > &locStereoHits, double &locTheta, double &locThetaMin, double &locThetaMax, double &locChiSqPerNDF) |
bool | Find_Z (const DHelicalFit *locFit, const vector< DCDCTrkHit * > &locStereoHits, double locThetaMin, double locThetaMax, double &locZ) |
void | Set_HitBitPattern_All (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Filter_TrackCircles_Stereo (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Add_UnusedHits (vector< DCDCTrackCircle * > &locCDCTrackCircles) |
void | Create_TrackCandidiate (DCDCTrackCircle *locCDCTrackCircle) |
bool | Calc_PositionAndMomentum (DCDCTrackCircle *locCDCTrackCircle, DVector3 &pos, DVector3 &mom) |
Definition at line 27 of file DTrackCandidate_factory_CDC.h.
typedef vector<vector<DCDCRingSeed> >::iterator DTrackCandidate_factory_CDC::ringiter |
Definition at line 179 of file DTrackCandidate_factory_CDC.h.
Enumerator | |
---|---|
NONE | |
NOISE | |
USED | |
OUT_OF_TIME |
Definition at line 34 of file DTrackCandidate_factory_CDC.h.
Enumerator | |
---|---|
WIRE_DIRECTION_AXIAL | |
WIRE_DIRECTION_STEREOLEFT | |
WIRE_DIRECTION_STEREORIGHT |
Definition at line 42 of file DTrackCandidate_factory_CDC.h.
|
inline |
Definition at line 30 of file DTrackCandidate_factory_CDC.h.
DTrackCandidate_factory_CDC::~DTrackCandidate_factory_CDC | ( | ) |
Definition at line 67 of file DTrackCandidate_factory_CDC.cc.
|
private |
Definition at line 4327 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dWireOrientation, DTrackCandidate_factory_CDC::DCDCTrkHit::flags, DTrackCandidate_factory_CDC::DCDCTrkHit::hit, DTrackCandidate_factory_CDC::DCDCRingSeed::hits, DTrackCandidate_factory_CDC::DCDCRingSeed::linked, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::linked, M_TWO_PI, DCoordinateSystem::origin, DHelicalFit::r0, DTrackCandidate_factory_CDC::DCDCRingSeed::ring, DCDCWire::ring, sqrt(), DCDCTrackHit::wire, x, DHelicalFit::x0, y, and DHelicalFit::y0.
|
private |
Definition at line 2144 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dWireOrientation.
|
private |
Definition at line 2160 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCRingSeed::hits, DCoordinateSystem::L, DCoordinateSystem::origin, sin(), and DCDCWire::stereo.
|
private |
Called everytime a new run number is detected.
Definition at line 154 of file DTrackCandidate_factory_CDC.cc.
References DApplication::GetBfield(), DGeometry::GetCDCWires(), DApplication::GetDGeometry(), DGeometry::GetTargetZ(), and size.
|
private |
Definition at line 1546 of file DTrackCandidate_factory_CDC.cc.
References CDCSortByChiSqPerNDFDecreasing(), DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, and DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo.
|
private |
Definition at line 4595 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dTheta, DTrackCandidate_factory_CDC::DCDCTrackCircle::dVertexZ, EPS, DTrackCandidate_factory_CDC::DCDCTrackCircle::fit, DHelicalFit::h, DTrackCandidate_factory_CDC::DCDCTrkHit::hit, DCoordinateSystem::origin, DHelicalFit::phi, DHelicalFit::r0, sin(), sqrt(), DCDCTrackHit::wire, DHelicalFit::x0, and DHelicalFit::y0.
|
private |
Definition at line 3617 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCRingSeed::hits, and DTrackCandidate_factory_CDC::DCDCRingSeed::ring.
|
private |
Definition at line 3199 of file DTrackCandidate_factory_CDC.cc.
References dir, DHelicalFit::h, M_TWO_PI, DCoordinateSystem::origin, DHelicalFit::r0, DCDCWire::ring, sin(), sqrt(), DCDCWire::stereo, DCDCWire::straw, temp, DCoordinateSystem::udir, DHelicalFit::x0, and DHelicalFit::y0.
|
private |
Definition at line 1066 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DCDCTrkHit::hit, M_TWO_PI, DCDCWire::phi, and DCDCTrackHit::wire.
|
private |
Definition at line 1129 of file DTrackCandidate_factory_CDC.cc.
|
private |
Definition at line 2073 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSpiralLinkParams.
|
private |
Definition at line 3096 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, and DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo.
|
private |
Definition at line 3144 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::dAverageDriftTime, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DCDCTrkHit::dPhiStereo, DTrackCandidate_factory_CDC::DCDCTrkHit::dStereoHitPos, DTrackCandidate_factory_CDC::DCDCTrkHit::dValidStereoHitPosFlag, DTrackCandidate_factory_CDC::DCDCTrackCircle::fit, DTrackCandidate_factory_CDC::DCDCTrkHit::hit, DTrackCandidate_factory_CDC::DCDCTrkHit::var_z, and DCDCTrackHit::wire.
|
private |
Definition at line 4524 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate::chisq, DHelicalFit::chisq, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::fit, DHelicalFit::h, xstream::base64::index(), DTrackCandidate::Ndof, DHelicalFit::ndof, PiMinus, PiPlus, DHelicalFit::r0, DTrackCandidate::rc, DKinematicData::setMomentum(), DKinematicData::setPID(), DKinematicData::setPosition(), DTrackCandidate::used_cdc_indexes, DHelicalFit::x0, DTrackCandidate::xc, DHelicalFit::y0, and DTrackCandidate::yc.
|
private |
Definition at line 2318 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, and DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo.
|
private |
Called everytime run number changes, provided brun has been called.
Definition at line 4721 of file DTrackCandidate_factory_CDC.cc.
|
private |
Called every event.
Definition at line 214 of file DTrackCandidate_factory_CDC.cc.
References CDCSortByChiSqPerNDFDecreasing().
|
private |
Definition at line 3038 of file DTrackCandidate_factory_CDC.cc.
References bitcount(), DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, and DTrackCandidate_factory_CDC::DCDCTrackCircle::HitBitPattern.
|
private |
Definition at line 4255 of file DTrackCandidate_factory_CDC.cc.
References CDCSortByChiSqPerNDFDecreasing(), CDCSortByStereoChiSqPerNDFIncreasing(), DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCTrackCircle::Get_AllStereoSuperLayerSeeds(), DTrackCandidate_factory_CDC::DCDCTrackCircle::Get_NumStereoSuperLayerSeeds(), DTrackCandidate_factory_CDC::DCDCTrackCircle::Get_SuperLayerSeed(), and DTrackCandidate_factory_CDC::DCDCTrackCircle::Strip_StereoSuperLayerSeed().
|
private |
Definition at line 2526 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCRingSeed::hits, DCoordinateSystem::origin, and DCoordinateSystem::udir.
|
private |
Definition at line 500 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrkHit::hit, DTrackCandidate_factory_CDC::DCDCRingSeed::hits, DTrackCandidate_factory_CDC::DCDCRingSeed::linked, DTrackCandidate_factory_CDC::DCDCRingSeed::ring, DCDCWire::ring, DCDCWire::straw, and DCDCTrackHit::wire.
|
private |
Find the theta value using the input stereo hits. The values for dPhiStereo and dStereoHitPos.Z() are assumed to be valid. The value of locFit.r0 is also 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 locThetaMin and locThetaMax. The centroid of the range is stored in the theta field.
Definition at line 3984 of file DTrackCandidate_factory_CDC.cc.
References alpha, DTrackCandidate_factory_CDC::DCDCTrkHit::dPhiStereo, DTrackCandidate_factory_CDC::DCDCTrkHit::dStereoHitPos, DHelicalFit::h, hist, M_TWO_PI, Nbins, and DHelicalFit::r0.
|
private |
Definition at line 3781 of file DTrackCandidate_factory_CDC.cc.
References DHelicalFit::r0, sqrt(), x, and y.
|
private |
Definition at line 3827 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCLineFit::BracketMinimumChisq(), CDCSort_Intersections(), DTrackCandidate_factory_CDC::DCDCLineFit::ChiXY(), DTrackCandidate_factory_CDC::DCDCTrkHit::dStereoHitPos, DTrackCandidate_factory_CDC::DCDCLineFit::FindMinimumChisq(), DTrackCandidate_factory_CDC::DCDCLineFit::n, DHelicalFit::normal, DTrackCandidate_factory_CDC::intersection_t::perp2, DHelicalFit::r0, DTrackCandidate_factory_CDC::DCDCLineFit::s, sin(), sqrt(), temp, DTrackCandidate_factory_CDC::DCDCLineFit::var_s, DTrackCandidate_factory_CDC::DCDCTrkHit::var_z, DTrackCandidate_factory_CDC::DCDCLineFit::var_z, DTrackCandidate_factory_CDC::intersection_t::var_z, DTrackCandidate_factory_CDC::DCDCLineFit::w, DTrackCandidate_factory_CDC::intersection_t::x, DHelicalFit::x0, DTrackCandidate_factory_CDC::intersection_t::y, DHelicalFit::y0, DTrackCandidate_factory_CDC::DCDCLineFit::z, DTrackCandidate_factory_CDC::intersection_t::z, and DTrackCandidate_factory_CDC::DCDCLineFit::z0.
|
private |
Find the z value of the vertex using the stereo hits. The values for dPhiStereo and dStereoHitPos.Z() are assumed to be valid.
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 centroid of the range is returned as locZ.
Definition at line 4083 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrkHit::dPhiStereo, DTrackCandidate_factory_CDC::DCDCTrkHit::dStereoHitPos, DHelicalFit::h, hist, Nbins, DHelicalFit::r0, zmax, and zmin.
|
private |
Called after last event of last event source has been processed.
Definition at line 4729 of file DTrackCandidate_factory_CDC.cc.
|
private |
Do a quick fit of the 2-D projection of the axial hits in the seed to a circle Include intersection between stereo layer seeds if locAddStereoLayerIntersectionsFlag = true (assumes only one stereo seed series for each inner/outer) Determine the sign of the charge (and correspondingly the initial phi angle) assuming that the majority of hits come from the outgoing part of the track.
If the resulting circle passes within MAX_HIT_DIST the majority of the hits, then the fit was a success. Otherwise it is a failure and the DCDCTrackCircle is discarded.
locFitOnlyIfNullFitFlag should be false unless just truncated the input set of circles if true, this will skip fitting circles that have DCDCTrackCircle::fit != NULL (i.e. were not truncated)
Definition at line 2353 of file DTrackCandidate_factory_CDC.cc.
References DHelicalFit::AddHitXYZ(), BeamRMS, DHelicalFit::chisq, DTrackCandidate_factory_CDC::DCDCTrackCircle::dAverageDriftTime, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dWeightedChiSqPerDF, DHelicalFit::FindSenseOfRotation(), DTrackCandidate_factory_CDC::DCDCTrackCircle::fit, DHelicalFit::FitCircle(), DHelicalFit::FitCircleRiemann(), DHelicalFit::FitCircleStraightTrack(), DTrackCandidate_factory_CDC::DCDCTrackCircle::Get_SuperLayerSeed(), DHelicalFit::GetNhits(), DHelicalFit::GuessChargeFromCircleFit(), DHelicalFit::h, DHelicalFit::ndof, DHelicalFit::phi, DHelicalFit::r0, sqrt(), DHelicalFit::x0, and DHelicalFit::y0.
|
private |
Definition at line 406 of file DTrackCandidate_factory_CDC.cc.
References CDCSortByRdecreasing(), DTrackCandidate_factory_CDC::DCDCTrkHit::Dist2(), DTrackCandidate_factory_CDC::DCDCTrkHit::flags, DTrackCandidate_factory_CDC::DCDCTrkHit::hit, DTrackCandidate_factory_CDC::DCDCTrkHit::index, DCDCWire::ring, DCDCTrackHit::tdrift, and DCDCTrackHit::wire.
|
private |
Definition at line 352 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::Reset().
|
private |
Definition at line 386 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::Reset().
|
private |
Definition at line 335 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrkHit::Reset().
|
private |
Definition at line 369 of file DTrackCandidate_factory_CDC.cc.
References DHelicalFit::Reset().
|
private |
Definition at line 2559 of file DTrackCandidate_factory_CDC.cc.
|
private |
Called once at program start.
Definition at line 75 of file DTrackCandidate_factory_CDC.cc.
|
private |
Combine DCDCRingSeed's from rings into DCDCSuperLayerSeed's
This a a re-entrant routine (i.e. it calls itself recursively). Upon entry, parent contains a list of pointers to all of the ringseeds from the rings outside of ring that are to be combined into a seed. This will search through all ringseeds of ring and if any are found that can extend the parent, a copy of parent is made, the current ringseed of this ring is added to it, and then it is passed on to another call to this routine. If no matches are found, then it will try skipping a ring to find matches (if enabled). If still no matches are found (which will be the case for the outer-most ring), then the ringseeds in parent will be combined into a single DCDCSuperLayerSeed.
Definition at line 661 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, and DTrackCandidate_factory_CDC::DCDCRingSeed::hits.
|
private |
Loop over the DCDCTrackCircles and the next super layer seeds and compare the positions of their first and last hits to see if we should link them together. If at <= MAX_SUPERLAYER_NEW_TRACK: Any seeds from the outer super layer that are not linked will be added to the DCDCTrackCircle list. Will try to link by skipping a super layer if a link was not previously performed and ENABLE_DEAD_HV_BOARD_LINKING is set to true (default false)
Definition at line 1639 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::linked.
|
private |
Definition at line 1751 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::linked.
|
private |
|
private |
Definition at line 1802 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::linked.
|
private |
Definition at line 1975 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::linked.
|
private |
Returns the minimum delta-phi between the two groups of hits. Assumes all of the hits in a given set are on the same ring. First it checks if the two seeds overlap in phi: if so, then return 0 Otherwise, only the first and last hits of the adjacent rings between each seed's hit list are used. to calculate a maximum of 4 delta-phis (minimum of 1) of which, the smallest is returned.
Definition at line 3686 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrkHit::hit, M_TWO_PI, DCDCWire::phi, DCDCWire::ring, DCDCWire::straw, and DCDCTrackHit::wire.
|
private |
Definition at line 793 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCRingSeed::hits.
|
private |
Returns the minimum distance squared between the two seeds. Assumes all of the hits in a given set are on the same ring. First it checks if the two seeds overlap in phi: if so, then the radial difference between the rings (squared) is returned. Otherwise, only the first and last hits of the adjacent rings between each seed's hit list are used. to calculate a maximum of 4 distances (minimum of 1), of which the smallest is returned.
Definition at line 803 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrkHit::Dist2(), DTrackCandidate_factory_CDC::DCDCTrkHit::hit, M_TWO_PI, DCoordinateSystem::origin, DCDCWire::phi, DCDCWire::ring, DCDCWire::straw, and DCDCTrackHit::wire.
|
private |
Definition at line 1519 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSpiralLinkParams, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::Get_Hits().
|
private |
Definition at line 2233 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dWeightedChiSqPerDF, DTrackCandidate_factory_CDC::DCDCTrackCircle::dWeightedChiSqPerDF_Stereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::fit, DHelicalFit::h, DHelicalFit::phi, DHelicalFit::r0, DHelicalFit::x0, and DHelicalFit::y0.
|
private |
Definition at line 2220 of file DTrackCandidate_factory_CDC.cc.
|
private |
Definition at line 4179 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::Get_Hits().
|
private |
Definition at line 4201 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::fit, and DTrackCandidate_factory_CDC::DCDCTrackCircle::Reset().
|
private |
Definition at line 2261 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSpiralLinkParams, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, and DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo.
|
private |
Definition at line 892 of file DTrackCandidate_factory_CDC.cc.
|
private |
Definition at line 299 of file DTrackCandidate_factory_CDC.cc.
|
private |
Definition at line 1340 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::Are_AllHitsOnRingShared(), and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds.
|
private |
Definition at line 1396 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::Are_AllHitsOnRingShared(), DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DSpiralParams_t::dDefiniteSpiralTurnRingFlag, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSpiralLinkParams, DTrackCandidate_factory_CDC::DSpiralParams_t::dSpiralTurnRing, DTrackCandidate_factory_CDC::DSpiralParams_t::dSpiralTurnRingFlag, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer.
|
private |
Definition at line 1488 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DSpiralParams_t::dDefiniteSpiralTurnRingFlag, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSpiralLinkParams, DTrackCandidate_factory_CDC::DSpiralParams_t::dSpiralTurnRing, DTrackCandidate_factory_CDC::DSpiralParams_t::dSpiralTurnRingFlag, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer.
|
private |
Definition at line 1280 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::Are_AllHitsOnRingShared(), DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DSpiralParams_t::dDefiniteSpiralTurnRingFlag, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSpiralLinkParams, DTrackCandidate_factory_CDC::DSpiralParams_t::dSpiralTurnRing, DTrackCandidate_factory_CDC::DSpiralParams_t::dSpiralTurnRingFlag, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer.
|
private |
Definition at line 1206 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::Are_AllHitsOnRingShared(), DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dCDCRingSeeds, DTrackCandidate_factory_CDC::DSpiralParams_t::dDefiniteSpiralTurnRingFlag, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSeedIndex, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSpiralLinkParams, DTrackCandidate_factory_CDC::DSpiralParams_t::dSpiralTurnRing, DTrackCandidate_factory_CDC::DSpiralParams_t::dSpiralTurnRingFlag, and DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer.
|
private |
Definition at line 3267 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dTheta, DTrackCandidate_factory_CDC::DCDCTrackCircle::dVertexZ, DTrackCandidate_factory_CDC::DCDCTrackCircle::dWeightedChiSqPerDF_Stereo, and DTrackCandidate_factory_CDC::DCDCTrackCircle::fit.
|
private |
Definition at line 3463 of file DTrackCandidate_factory_CDC.cc.
References CDCSort_DeltaPhis(), DTrackCandidate_factory_CDC::DCDCTrackCircle::dSpiralTurnRing, DTrackCandidate_factory_CDC::DCDCSuperLayerSeed::dSuperLayer, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::fit, DTrackCandidate_factory_CDC::DCDCTrackCircle::Get_LastSuperLayerSeed(), and DHelicalFit::r0.
|
private |
Definition at line 4215 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_InnerStereo, DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_OuterStereo, and DTrackCandidate_factory_CDC::DCDCTrackCircle::HitBitPattern.
|
private |
Definition at line 2620 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, and DTrackCandidate_factory_CDC::DCDCTrackCircle::HitBitPattern.
|
private |
Definition at line 1177 of file DTrackCandidate_factory_CDC.cc.
|
inline |
Definition at line 32 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 2641 of file DTrackCandidate_factory_CDC.cc.
References DTrackCandidate_factory_CDC::DCDCTrackCircle::Absorb_TrackCircle(), CDCSortByChiSqPerNDFDecreasing(), DTrackCandidate_factory_CDC::DCDCTrackCircle::Check_IfInputIsSubset(), DTrackCandidate_factory_CDC::DCDCTrackCircle::dSuperLayerSeeds_Axial, DTrackCandidate_factory_CDC::DCDCTrackCircle::dTruncationSourceCircles, DTrackCandidate_factory_CDC::DCDCTrackCircle::fit, DTrackCandidate_factory_CDC::DCDCTrackCircle::Get_SuperLayerSeed(), and DTrackCandidate_factory_CDC::DCDCTrackCircle::Truncate_Circle().
|
private |
Definition at line 312 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 311 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 299 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 298 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 302 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 301 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 296 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 295 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 261 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 316 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 304 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 305 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 315 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 310 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 318 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 307 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 320 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 292 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 313 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 274 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 262 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 273 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 276 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 284 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 285 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 283 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 278 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 286 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 264 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 265 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 263 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 279 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 272 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 267 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 275 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 281 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 277 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 280 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 266 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 270 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 269 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 268 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 271 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 308 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 288 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 290 of file DTrackCandidate_factory_CDC.h.
|
private |
Definition at line 289 of file DTrackCandidate_factory_CDC.h.