MyMarlinTPC  170316
Public Member Functions | Private Member Functions | Private Attributes | List of all members
marlintpc::pb_Seed Class Reference

Pad based (track segment) seed. More...

#include <RowBasedPadPulseRoadSearchProcessor.h>

Public Member Functions

 pb_Seed (const int seedID, const double Bzc, const pulseListType &pulses, const int minRows, const double rowDensityCut, const double maxVarXY)
 Construct pad based seed with checks. More...
 
 pb_Seed (const int seedID, const double Bzc, const pulseListType &pulses)
 Construct pad based seed without checks. More...
 
void print () const
 Print. More...
 
int getSeedId () const
 Get seed ID. More...
 
bool getValid () const
 Get validity flag. More...
 
void setInvalid ()
 Set invalid. More...
 
int getNumSeedPulses () const
 Get number of seed pulses. More...
 
int getNumUniqueSeedPulses () const
 Get number of unique seed pulses. More...
 
bool hasAddedPulses () const
 Get flag for added pulses. More...
 
double getVarXY () const
 Get XY variance (unweighted Chi2/ndf). More...
 
void getRefPoint (double *) const
 Get reference point. More...
 
void getPar (double *) const
 Get (all five helix) parameters from segment fit. More...
 
void markPulses ()
 Mark pulses as used. More...
 
void freePulses ()
 Free pulses. More...
 
void addPulse (pb_Pulse *)
 Add pulse. More...
 
const pulseListTypegetPulseList () const
 Get list of pulses. More...
 
void roadSearch (pulseListType &pulses, pulseListType &insidePulses, const double maxDxy, const double maxDz) const
 Road search. More...
 

Private Member Functions

void _fitSeed ()
 

Private Attributes

const int _seedId
 seed ID More...
 
const double _bzc
 magnetic field strength (Bz*c) More...
 
const bool _checked
 checked flag More...
 
const unsigned int _numPulses
 number of pulses More...
 
pulseListType _pulseList
 pointers to pulses More...
 
bool _valid
 validity flag More...
 
double _refX
 X of reference point. More...
 
double _refY
 Y of reference point. More...
 
double _refZ
 Z of reference point. More...
 
int _npar
 number of parameters (5: helix, 4: line) More...
 
double _varXY
 chi2/ndf from (unweighted) XY fit More...
 
double _varZS
 chi2/ndf from (unweighted) ZS fit More...
 
TVectorD _parameters
 parameter vector More...
 

Detailed Description

Pad based (track segment) seed.

Has identification and measurements with directions and errors.

Definition at line 237 of file RowBasedPadPulseRoadSearchProcessor.h.

Constructor & Destructor Documentation

◆ pb_Seed() [1/2]

marlintpc::pb_Seed::pb_Seed ( const int  seedId,
const double  Bzc,
const pulseListType pulses,
const int  minRows,
const double  rowDensityCut,
const double  maxVarXY 
)

Construct pad based seed with checks.

Parameters
[in]seedIdseed ID
[in]BzcBz*c
[in]pulseslist of pulses
[in]minRowsminimum number of rows
[in]rowDensityCutminimum row density
[in]maxVarXYmaximum (average) XY variance

Definition at line 1120 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _fitSeed(), _pulseList, _valid, and _varXY.

◆ pb_Seed() [2/2]

marlintpc::pb_Seed::pb_Seed ( const int  seedId,
const double  Bzc,
const pulseListType pulses 
)

Construct pad based seed without checks.

Parameters
[in]seedIdseed ID
[in]BzcBz*c
[in]pulseslist of pulses

Definition at line 1149 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _fitSeed(), and _pulseList.

Member Function Documentation

◆ _fitSeed()

void marlintpc::pb_Seed::_fitSeed ( )
private

◆ addPulse()

void marlintpc::pb_Seed::addPulse ( pb_Pulse aPulse)

Add pulse.

Parameters
[out]aPulseadditional pulse

Definition at line 1264 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _pulseList.

◆ freePulses()

void marlintpc::pb_Seed::freePulses ( )

Free pulses.

Definition at line 1301 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _pulseList, and _seedId.

◆ getNumSeedPulses()

int marlintpc::pb_Seed::getNumSeedPulses ( ) const

Get number of seed pulses.

Definition at line 1242 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _numPulses.

◆ getNumUniqueSeedPulses()

int marlintpc::pb_Seed::getNumUniqueSeedPulses ( ) const

Get number of unique seed pulses.

Definition at line 1247 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _pulseList.

Referenced by print().

◆ getPar()

void marlintpc::pb_Seed::getPar ( double *  par) const

Get (all five helix) parameters from segment fit.

Parameters
[out]parhelix parameter (curvature is zero for Bz*c = 0.)

Definition at line 1282 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _npar, and _parameters.

Referenced by marlintpc::RowBasedPadPulseRoadSearchProcessor::processEvent(), and roadSearch().

◆ getPulseList()

const pulseListType & marlintpc::pb_Seed::getPulseList ( ) const

Get list of pulses.

Definition at line 1308 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _pulseList.

◆ getRefPoint()

void marlintpc::pb_Seed::getRefPoint ( double *  position) const

Get reference point.

Parameters
[out]positionposition of reference point

Definition at line 1272 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _refX, _refY, and _refZ.

Referenced by marlintpc::RowBasedPadPulseRoadSearchProcessor::processEvent(), and roadSearch().

◆ getSeedId()

int marlintpc::pb_Seed::getSeedId ( ) const

◆ getValid()

bool marlintpc::pb_Seed::getValid ( ) const

Get validity flag.

Definition at line 1232 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _valid.

Referenced by marlintpc::RowBasedPadPulseRoadSearchProcessor::processEvent().

◆ getVarXY()

double marlintpc::pb_Seed::getVarXY ( ) const

Get XY variance (unweighted Chi2/ndf).

Definition at line 1289 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _varXY.

◆ hasAddedPulses()

bool marlintpc::pb_Seed::hasAddedPulses ( ) const

Get flag for added pulses.

Definition at line 1256 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _numPulses, and _pulseList.

◆ markPulses()

void marlintpc::pb_Seed::markPulses ( )

Mark pulses as used.

Definition at line 1294 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _pulseList, and _seedId.

Referenced by marlintpc::RowBasedPadPulseRoadSearchProcessor::processEvent().

◆ print()

void marlintpc::pb_Seed::print ( ) const

◆ roadSearch()

void marlintpc::pb_Seed::roadSearch ( pulseListType pulses,
pulseListType insidePulses,
const double  maxDxy,
const double  maxDz 
) const

Road search.

Parameters
[in]pulseslist of pulses to test
[in]insidePulseslist of pulses inside road
[in]maxDxymax. distance in XY
[in]maxDzmax. distance in z

Definition at line 1319 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _bzc, _valid, marlintpc::simpleHelix::getExpectedPlanePos(), getPar(), and getRefPoint().

Referenced by marlintpc::RowBasedPadPulseRoadSearchProcessor::processEvent().

◆ setInvalid()

void marlintpc::pb_Seed::setInvalid ( )

Set invalid.

Definition at line 1237 of file RowBasedPadPulseRoadSearchProcessor.cc.

References _valid.

Member Data Documentation

◆ _bzc

const double marlintpc::pb_Seed::_bzc
private

magnetic field strength (Bz*c)

Definition at line 260 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by _fitSeed(), and roadSearch().

◆ _checked

const bool marlintpc::pb_Seed::_checked
private

checked flag

Definition at line 261 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by print().

◆ _npar

int marlintpc::pb_Seed::_npar
private

number of parameters (5: helix, 4: line)

Definition at line 268 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by getPar().

◆ _numPulses

const unsigned int marlintpc::pb_Seed::_numPulses
private

number of pulses

Definition at line 262 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by getNumSeedPulses(), and hasAddedPulses().

◆ _parameters

TVectorD marlintpc::pb_Seed::_parameters
private

parameter vector

Definition at line 271 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by _fitSeed(), and getPar().

◆ _pulseList

pulseListType marlintpc::pb_Seed::_pulseList
private

◆ _refX

double marlintpc::pb_Seed::_refX
private

X of reference point.

Definition at line 265 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by _fitSeed(), and getRefPoint().

◆ _refY

double marlintpc::pb_Seed::_refY
private

Y of reference point.

Definition at line 266 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by _fitSeed(), and getRefPoint().

◆ _refZ

double marlintpc::pb_Seed::_refZ
private

Z of reference point.

Definition at line 267 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by _fitSeed(), and getRefPoint().

◆ _seedId

const int marlintpc::pb_Seed::_seedId
private

seed ID

Definition at line 259 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by freePulses(), getSeedId(), markPulses(), and print().

◆ _valid

bool marlintpc::pb_Seed::_valid
private

validity flag

Definition at line 264 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by getValid(), pb_Seed(), print(), roadSearch(), and setInvalid().

◆ _varXY

double marlintpc::pb_Seed::_varXY
private

chi2/ndf from (unweighted) XY fit

Definition at line 269 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by _fitSeed(), getVarXY(), pb_Seed(), and print().

◆ _varZS

double marlintpc::pb_Seed::_varZS
private

chi2/ndf from (unweighted) ZS fit

Definition at line 270 of file RowBasedPadPulseRoadSearchProcessor.h.

Referenced by _fitSeed(), and print().


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