lcd/hep/lcd/recon/tracking
diff -u -r1.3 -r1.4
--- AbsTrackFinder.java 11 Mar 2005 19:27:01 -0000 1.3
+++ AbsTrackFinder.java 10 Aug 2005 20:20:50 -0000 1.4
@@ -64,7 +64,7 @@
protected boolean useFitter = false;
protected DecimalFormat df = new DecimalFormat();
- Histogram Hchis;
+// Histogram Hchis;
boolean Hist;
boolean Hstd = true;
@@ -96,7 +96,8 @@
outt = new boolean[MaxTracks];
fitsuccess = new boolean[MaxTracks];
- Chis_tk = new double[MaxTracks];
+ Chis_tk = new double[MaxTracks];
+ InitChi2 = new double[MaxTracks];
Ndof_tk = new double[MaxTracks];
Err_matr = new double[MaxTracks][5][5];
MCPar_tk = new MCParticle[MaxTracks];
@@ -153,7 +154,7 @@
this.triplets[0][2]+" "+this.triplets[1][0]+" "+
this.triplets[1][1]+" "+this.triplets[1][2]);}
- if (Hist && (Hstd||Htrks||Hpnts)) {
+/* if (Hist && (Hstd||Htrks||Hpnts)) {
String folder = "/Tracking/"+tracker.getType()+"/"+Finder;
HistogramFolder.setDefaultFolder(folder);
if (Hstd) {
@@ -162,8 +163,8 @@
HistogramFolder.setDefaultFolder("..");
} else {
Hstd = Htrks = Hpnts = false;
- }
- };
+ }*/
+ }
public void setFitter(TrkFitter ftr)
{
@@ -228,6 +229,11 @@
{
return Chis_tk[itrk];
}
+
+ public double getUnfitChi2(int itrk)
+ {
+ return InitChi2[itrk];
+ }
public double getNDF(int itrk)
{
@@ -276,6 +282,7 @@
fitsuccess[it] = fitted;
Chis_tk[it] = ftr.getChi2();
Ndof_tk[it] = ftr.getNDF();
+ InitChi2[it] = ftr.getUnfitChi2();
if(fitted)
{
replaceTrkPrms(it,ftr.getFittedParams().getParams());
@@ -669,6 +676,7 @@
protected boolean fitsuccess[];
protected double Chis_tk[]; // ...
+ protected double InitChi2[];
protected double Ndof_tk[];
protected double Err_matr[][][];
lcd/hep/lcd/recon/tracking
diff -u -r1.4 -r1.5
--- AddReconTrks.java 15 Mar 2005 00:39:02 -0000 1.4
+++ AddReconTrks.java 10 Aug 2005 20:20:50 -0000 1.5
@@ -30,11 +30,12 @@
private final int maxHashCodes = 500;
int NFtdTrks = 0;
int NTracks;
-
+ boolean trace = false;
+ int trtotr = 0;
boolean TrackerOnly = true;
boolean doFitting = true;
-boolean debug = false;
+ boolean debug = false;
boolean first = false;
boolean firstEvents = false;
@@ -68,7 +69,7 @@
public AddReconTrks(Tracker tracker,VertexDetector vertexDetector,boolean hist,int met)
{
System.out.println("AddReconTrks version 0.9.5");
- System.out.println(" Add reconstructed tracks to event - ");
+// System.out.println(" Add reconstructed tracks to event - ");
System.out.println("");
if (!hist) Hstd = Htest = false;
@@ -81,6 +82,11 @@
if(tracker.getType().equals("COMB")) doRecalCand = false;
}
+ public void setTrace(boolean dotr, int tr)
+ {
+ trace = dotr;
+ trtotr = tr;
+ }
public void doNotRecalc()
{
doRecalCand = false;
@@ -123,10 +129,11 @@
for(int i=0; i<MaxTrackNmbr; i++) ((AbsTracker)tracker).setTrack(i,null);
// Get number of tracks found
NTracks = tracker.getNTracks();
+ if(trace) System.out.println("Tracker has found "+NTracks+" tracks");
// if(debug) System.out.println("Track finder found "+NTracks+" tracks");
- System.out.println("Track finder found "+NTracks+" tracks!");
- System.out.println("AddReconTrks : doRecalCand = "+doRecalCand+
- ", TrackerOnly = "+TrackerOnly);
+// System.out.println("Track finder found "+NTracks+" tracks!");
+// System.out.println("AddReconTrks : doRecalCand = "+doRecalCand+
+// ", TrackerOnly = "+TrackerOnly);
if (Hstd) histogram("NTracks").fill(NTracks);
NFtdTrks = 0;
@@ -172,7 +179,8 @@
ReconstructedTrack track = new ReconstructedTrack(it,tracker,extrp);
- if(notaDublicate(track))
+// if(notaDublicate(track))
+ if(true)
{
ftdtrks[NFtdTrks] = track;
ftdindx[NFtdTrks] = it;
@@ -195,7 +203,8 @@
track.getExtrapX()+", "+track.getExtrapY()+", "+track.getExtrapZ());
}
}
-
+ if((it==trtotr) && trace) System.out.println("Track "+it+" has MC particle hash code "+
+ track.getMCParticle().hashCode());
if (print && it==5 && NTracks>5) System.out.println(" ...");
// Standard checks
@@ -211,7 +220,7 @@
} //end of the loop over all found tracks
- System.out.println("After check for duplicates: "+NFtdTrks);
+ //System.out.println("After check for duplicates: "+NFtdTrks);
if(debug) System.out.println("Fitter successfully fitted "+NFtdTrks+" tracks");
@@ -219,14 +228,26 @@
final Vector v = new Vector(NFtdTrks);
for(int i=0; i<NFtdTrks; i++)
- v.addElement(ftdtrks[i]);
+ {
+ v.addElement(ftdtrks[i]);
+ if(trace)
+ {
+ ReconstructedTrack etr = ftdtrks[i];
+ MCParticle etmc=etr.getMCParticle();
+ if(etmc != null)
+ {
+ int ethc = etmc.hashCode();
+ System.out.println("Added to ev. track "+i+" trindex "+etr.trindex+" has MC part. hc "+ethc);
+ }
+ }
+ }
// and into event header
event.put(event.TrackList,new ReconTrackList(v));
// if (first || firstEvents) {
// System.out.println("\n Track summary: ");
- System.out.println(" Number of tracks added to event = "+NFtdTrks+"\n");
+// System.out.println(" Number of tracks added to event = "+NFtdTrks+"\n");
// }
first = false;
@@ -350,15 +371,36 @@
int npts = nvtx + ntrk;
TrkHotList list = new TrkHotList(npts,nvtx,ntrk);
+ TrackFinder finder=null;
+ int[][] itra = null;
int i=0;
if (vertexDetector!=null && !TrackerOnly) {
// System.out.println("entering VTX hits in hot list");
-
+ if((it==trtotr) && trace)
+ {
+ finder=tracker.getFinder();
+ if(finder instanceof VXDPatFind)
+ {
+ VXDPatFind vfinder = (VXDPatFind) finder;
+ itra = vfinder.getItra();
+ }
+ System.out.println("nhits "+itra[it][0]+" VTX pnts: "+nvtx+" tracker pnts: "+ntrk);
+ }
VtxHitOnTrk hot;
for (int j=1;j<=nvtx;j++) {
hot = new VtxHitOnTrk(vertexDetector.getType(),vertexDetector.getTrkPoint(it,j),
vertexDetector.getTrkHit(it,j).getMCParticle());
+ if((it == trtotr) && trace)
+ {
+ MCParticle hmcpa = hot.getMCParticle();
+ if(hmcpa != null)
+ {
+ int hcode = hmcpa.hashCode();
+ System.out.println(" hit "+i+"hit index "+itra[it][i+1]+
+ " MCP hc "+hcode);
+ }
+ }
list.put(i,hot);
// hot.print(i);
i++;
@@ -367,27 +409,21 @@
if (tracker!=null) {
TrkHitOnTrk hot;
- if(it == 2) System.out.println("Track id "+it);
+// if(it == 2) System.out.println("Track id "+it);
for (int j=1;j<=ntrk;j++) {
hot = new TrkHitOnTrk(tracker.getType(),tracker.getTrkPoint(it,j),
tracker.getTrkHit(it,j).getMCParticle());
list.put(i,hot);
- if(it == 2)
+ if((it == trtotr) && trace)
{
MCParticle hmcpa = hot.getMCParticle();
if(hmcpa != null)
{
- TrackFinder finder=tracker.getFinder();
- if(finder instanceof VXDPatFind)
- {
- VXDPatFind vfinder = (VXDPatFind) finder;
- int[][] itra = vfinder.getItra();
int hcode = hmcpa.hashCode();
- System.out.println("nhits "+itra[it][0]+" hit "+i+"hit index "+itra[it][i+1]+
+ System.out.println(" hit "+i+"hit index "+itra[it][i+1]+
" MCP hc "+hcode);
}
- }
- }
+ }
if (print && (j==1 || (printTrkPnt && j<=5))) hot.print(i);
i++;
}