Author: [log in to unmask] Date: Wed Apr 13 12:53:02 2016 New Revision: 4341 Log: change access Modified: java/trunk/recon/src/main/java/org/hps/recon/particle/HpsReconParticleDriver.java java/trunk/recon/src/main/java/org/hps/recon/vertexing/BilliorVertexer.java Modified: java/trunk/recon/src/main/java/org/hps/recon/particle/HpsReconParticleDriver.java ============================================================================= --- java/trunk/recon/src/main/java/org/hps/recon/particle/HpsReconParticleDriver.java (original) +++ java/trunk/recon/src/main/java/org/hps/recon/particle/HpsReconParticleDriver.java Wed Apr 13 12:53:02 2016 @@ -320,7 +320,7 @@ // Generate a candidate vertex and particle. BilliorVertex vtxFit = fitVertex(constraint, firstElectronBTrack, secondElectronBTrack); - ReconstructedParticle candidate = this.makeReconstructedParticle(topElectron, botElectron, vtxFit); + ReconstructedParticle candidate = makeReconstructedParticle(topElectron, botElectron, vtxFit); // Add the candidate vertex and particle to the // appropriate LCIO collection. @@ -355,7 +355,7 @@ * @return Returns a reconstructed particle with properties generated from * the child particles and vertex given as an argument. */ - private ReconstructedParticle makeReconstructedParticle(ReconstructedParticle electron, ReconstructedParticle positron, BilliorVertex vtxFit) { + public static ReconstructedParticle makeReconstructedParticle(ReconstructedParticle electron, ReconstructedParticle positron, BilliorVertex vtxFit) { // Create a new reconstructed particle to represent the V0 // candidate and populate it with the electron and positron. @@ -397,9 +397,8 @@ ((BaseReconstructedParticle) candidate).setCharge(particleCharge); // VERBOSE :: Output the fitted momentum data. - printDebug("Fitted momentum in tracking frame: " + fittedMomentum.toString()); - printDebug("Fitted momentum in detector frame: " + fittedMomentum.toString()); - +// printDebug("Fitted momentum in tracking frame: " + fittedMomentum.toString()); +// printDebug("Fitted momentum in detector frame: " + fittedMomentum.toString()); // Add the ReconstructedParticle to the vertex. vtxFit.setAssociatedParticle(candidate); Modified: java/trunk/recon/src/main/java/org/hps/recon/vertexing/BilliorVertexer.java ============================================================================= --- java/trunk/recon/src/main/java/org/hps/recon/vertexing/BilliorVertexer.java (original) +++ java/trunk/recon/src/main/java/org/hps/recon/vertexing/BilliorVertexer.java Wed Apr 13 12:53:02 2016 @@ -153,7 +153,7 @@ System.out.println(methodName + "::rk = " + rk); } - BasicMatrix Hk = makeHk(_ntracks, pxtot, pytot, pztot, pointback); + BasicMatrix Hk = makeHk(Vx, pxtot, pytot, pztot, pointback); if (_debug) { System.out.println(methodName + "::Hk = " + Hk); } @@ -226,11 +226,8 @@ // if(_debug)System.out.println("Constrained chi^2 = "+_chiSq); } - private BasicMatrix makeHk(int ntracks, double pxtot, double pytot, double pztot, boolean bscon) { - double Vx = _vertexPosition.e(0, 0); -// double Vy = _vertexPosition.e(1, 0); -// double Vz = _vertexPosition.e(2, 0); - BasicMatrix Hk = new BasicMatrix(3 * (ntracks + 1), 3); + private BasicMatrix makeHk(double Vx, double pxtot, double pytot, double pztot, boolean bscon) { + BasicMatrix Hk = new BasicMatrix(3 * (_ntracks + 1), 3); // ok, can set the derivitives wrt to V if (bscon) { Hk.setElement(0, 0, 0); @@ -248,7 +245,7 @@ Hk.setElement(2, 1, 0); Hk.setElement(2, 2, 1); //ok, loop over tracks again to set the derivitives wrt track momenta (theta,phi,rho) - for (int i = 0; i < ntracks; i++) { + for (int i = 0; i < _ntracks; i++) { BasicMatrix pi = (BasicMatrix) _pFit.get(i); double theta = pi.e(0, 0); double phiv = pi.e(1, 0); @@ -262,7 +259,7 @@ Hk.setElement(3 * (i + 1), 1, 0); if (bscon) { Hk.setElement(3 * (i + 1), 2, - -Pt / Math.pow(sin(theta), 2) * Vx); + -Pt / Math.pow(sin(theta), 2) * (Vx - _beamPosition[0])); } else { Hk.setElement(3 * (i + 1), 2, 0); } @@ -270,9 +267,9 @@ Hk.setElement(3 * (i + 1) + 1, 0, 0); if (bscon) { Hk.setElement(3 * (i + 1) + 1, 1, - (Pt * Pt * cos(phiv) * sin(phiv) / (pxtot * pxtot)) * Vx); + (Pt * Pt * cos(phiv) * sin(phiv) / (pxtot * pxtot)) * (Vx - _beamPosition[0])); Hk.setElement(3 * (i + 1) + 1, 2, - (Pt * sin(phiv) / (pxtot * pxtot)) * Vx * pztot); + (Pt * sin(phiv) / (pxtot * pxtot)) * (Vx - _beamPosition[0]) * pztot); } else { Hk.setElement(3 * (i + 1) + 1, 1, 0); Hk.setElement(3 * (i + 1) + 1, 2, 0); @@ -285,9 +282,9 @@ // (pztot / pxtot - 1) * (Pt / rho) * (1 / pxtot) * Vx); if (bscon) { Hk.setElement(3 * (i + 1) + 2, 1, - (cos(phiv) * pytot / pxtot - sin(phiv)) * (Pt / rho) * (1 / pxtot) * Vx); + (cos(phiv) * pytot / pxtot - sin(phiv)) * (Pt / rho) * (1 / pxtot) * (Vx - _beamPosition[0])); Hk.setElement(3 * (i + 1) + 2, 2, - (cos(phiv) * pztot / pxtot - sin(phiv)) * (Pt / rho) * (1 / pxtot) * Vx); + (cos(phiv) * pztot / pxtot - sin(phiv)) * (Pt / rho) * (1 / pxtot) * (Vx - _beamPosition[0])); } else { Hk.setElement(3 * (i + 1) + 2, 1, 0); Hk.setElement(3 * (i + 1) + 2, 2, 0); @@ -299,7 +296,7 @@ return Hk; } - public BasicMatrix makeRk(double Vx, double Vy, double Vz, double pxtot, double pytot, double pztot, boolean bscon) { + private BasicMatrix makeRk(double Vx, double Vy, double Vz, double pxtot, double pytot, double pztot, boolean bscon) { //calculate the position of the A' at X=0 BasicMatrix rk = new BasicMatrix(3, 1); if (_debug) {