10 const double c = 29.9792548;
16 n_fdca(pseudopoints->
size()), pseudopointVectorPtr(pseudopoints), trajPtr(trajectory),
17 debug_level(level), errorFDCA(0.018)
23 double docaThis, distThis, residThis, errorThis;
24 HepLorentzVector pocaThis;
25 HepVector posWireThis;
32 for (
unsigned int j = 0; j <
n_fdca; j++) {
33 pseudopointPtr = (*pseudopointVectorPtr)[j];
36 distThis =
velDrift*(pseudopointPtr->
time - pocaThis.getT()/
c);
37 if (docaThis > distThis) {
38 residThis = (distThis - docaThis)/
errorFDCA;
42 posWireThis = line.
poca(pocaThis);
43 if (
debug_level > 2) cout <<
"residFDCCathode: j = " << j
44 <<
" dist = " << distThis
45 <<
" doca = " << docaThis
46 <<
" poca xyzt = " << pocaThis.getX()
47 <<
' ' << pocaThis.getY()
48 <<
' ' << pocaThis.getZ()
49 <<
' ' << pocaThis.getT()/
c
50 <<
" resid = " << residThis << endl;
52 doca.push_back(docaThis);
53 dist.push_back(distThis);
54 poca.push_back(pocaThis);
56 resid.push_back(residThis);
57 error.push_back(errorThis);
65 double z = wire->
origin.Z();
66 double theta = acos(wire->
udir.z());
67 double phi = atan2(wire->
udir.y(), wire->
udir.x());
68 if (
debug_level >= 4) cout << setprecision(14) <<
"residFDCCathode::pseudopoint2line: x = " << x <<
" y = " << y <<
" z = " << z <<
" theta " << theta <<
" phi " << phi << endl;
83 vector<double> &errorsRef,
84 vector<HepLorentzVector> &pocasRef,
85 vector<HepVector> &posWiresRef) {
const DFDCWire * wire
DFDCWire for this wire.
vector< HepVector > posWire
double doca(C &spaceObject, HepLorentzVector &poca) const
class DFDCPseudo: definition for a reconstructed point in the FDC
void setInnerResidFrac(double innerResidFracIn)
HepVector poca(HepVector point)
void getDetails(vector< double > &docasRef, vector< double > &distsRef, vector< double > &errorsRef, vector< HepLorentzVector > &pocasRef, vector< HepVector > &posWiresRef)
void getResids(vector< double > &residsRef)
double time
time corresponding to this pseudopoint.
vector< HepLorentzVector > poca
residFDCCathode(vector< const DFDCPseudo * > *pseudopoints, const MyTrajectory *trajectory, int level=1)
DLine pseudopoint2line(const DFDCPseudo &pseudopoint)
const MyTrajectory * trajPtr