MyMarlinTPC
170316
|
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 pulseListType & | getPulseList () 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... | |
Pad based (track segment) seed.
Has identification and measurements with directions and errors.
Definition at line 237 of file RowBasedPadPulseRoadSearchProcessor.h.
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.
[in] | seedId | seed ID |
[in] | Bzc | Bz*c |
[in] | pulses | list of pulses |
[in] | minRows | minimum number of rows |
[in] | rowDensityCut | minimum row density |
[in] | maxVarXY | maximum (average) XY variance |
Definition at line 1120 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _fitSeed(), _pulseList, _valid, and _varXY.
marlintpc::pb_Seed::pb_Seed | ( | const int | seedId, |
const double | Bzc, | ||
const pulseListType & | pulses | ||
) |
Construct pad based seed without checks.
[in] | seedId | seed ID |
[in] | Bzc | Bz*c |
[in] | pulses | list of pulses |
Definition at line 1149 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _fitSeed(), and _pulseList.
|
private |
Definition at line 1168 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _bzc, _parameters, _pulseList, _refX, _refY, _refZ, _varXY, _varZS, marlintpc::simpleFitXY::addPoint(), marlintpc::simpleFitZS::addPoint(), marlintpc::simpleFitXY::fit(), marlintpc::simpleFitZS::fit(), marlintpc::simpleHelix::getArcLengthXY(), marlintpc::pb_Pulse::getCharge(), marlintpc::simpleFitXY::getPar(), marlintpc::simpleFitZS::getPar(), marlintpc::pb_Pulse::getPos(), and marlintpc::pb_Pulse::getRow().
Referenced by pb_Seed().
void marlintpc::pb_Seed::addPulse | ( | pb_Pulse * | aPulse | ) |
Add pulse.
[out] | aPulse | additional pulse |
Definition at line 1264 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _pulseList.
void marlintpc::pb_Seed::freePulses | ( | ) |
Free pulses.
Definition at line 1301 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _pulseList, and _seedId.
int marlintpc::pb_Seed::getNumSeedPulses | ( | ) | const |
Get number of seed pulses.
Definition at line 1242 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _numPulses.
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().
void marlintpc::pb_Seed::getPar | ( | double * | par | ) | const |
Get (all five helix) parameters from segment fit.
[out] | par | helix 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().
const pulseListType & marlintpc::pb_Seed::getPulseList | ( | ) | const |
Get list of pulses.
Definition at line 1308 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _pulseList.
void marlintpc::pb_Seed::getRefPoint | ( | double * | position | ) | const |
Get reference point.
[out] | position | position of reference point |
Definition at line 1272 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _refX, _refY, and _refZ.
Referenced by marlintpc::RowBasedPadPulseRoadSearchProcessor::processEvent(), and roadSearch().
int marlintpc::pb_Seed::getSeedId | ( | ) | const |
Get seed ID.
Definition at line 1227 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _seedId.
Referenced by marlintpc::RowBasedPadPulseRoadSearchProcessor::processEvent().
bool marlintpc::pb_Seed::getValid | ( | ) | const |
Get validity flag.
Definition at line 1232 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _valid.
Referenced by marlintpc::RowBasedPadPulseRoadSearchProcessor::processEvent().
double marlintpc::pb_Seed::getVarXY | ( | ) | const |
Get XY variance (unweighted Chi2/ndf).
Definition at line 1289 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _varXY.
bool marlintpc::pb_Seed::hasAddedPulses | ( | ) | const |
Get flag for added pulses.
Definition at line 1256 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _numPulses, and _pulseList.
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().
void marlintpc::pb_Seed::print | ( | ) | const |
Print.
Definition at line 1220 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _checked, _pulseList, _seedId, _valid, _varXY, _varZS, and getNumUniqueSeedPulses().
void marlintpc::pb_Seed::roadSearch | ( | pulseListType & | pulses, |
pulseListType & | insidePulses, | ||
const double | maxDxy, | ||
const double | maxDz | ||
) | const |
Road search.
[in] | pulses | list of pulses to test |
[in] | insidePulses | list of pulses inside road |
[in] | maxDxy | max. distance in XY |
[in] | maxDz | max. 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().
void marlintpc::pb_Seed::setInvalid | ( | ) |
Set invalid.
Definition at line 1237 of file RowBasedPadPulseRoadSearchProcessor.cc.
References _valid.
|
private |
magnetic field strength (Bz*c)
Definition at line 260 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by _fitSeed(), and roadSearch().
|
private |
checked flag
Definition at line 261 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by print().
|
private |
number of parameters (5: helix, 4: line)
Definition at line 268 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by getPar().
|
private |
number of pulses
Definition at line 262 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by getNumSeedPulses(), and hasAddedPulses().
|
private |
parameter vector
Definition at line 271 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by _fitSeed(), and getPar().
|
private |
pointers to pulses
Definition at line 263 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by _fitSeed(), addPulse(), freePulses(), getNumUniqueSeedPulses(), getPulseList(), hasAddedPulses(), markPulses(), pb_Seed(), and print().
|
private |
X of reference point.
Definition at line 265 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by _fitSeed(), and getRefPoint().
|
private |
Y of reference point.
Definition at line 266 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by _fitSeed(), and getRefPoint().
|
private |
Z of reference point.
Definition at line 267 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by _fitSeed(), and getRefPoint().
|
private |
seed ID
Definition at line 259 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by freePulses(), getSeedId(), markPulses(), and print().
|
private |
validity flag
Definition at line 264 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by getValid(), pb_Seed(), print(), roadSearch(), and setInvalid().
|
private |
chi2/ndf from (unweighted) XY fit
Definition at line 269 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by _fitSeed(), getVarXY(), pb_Seed(), and print().
|
private |
chi2/ndf from (unweighted) ZS fit
Definition at line 270 of file RowBasedPadPulseRoadSearchProcessor.h.
Referenced by _fitSeed(), and print().