Skip to content

Commit 3599985

Browse files
ftouchtebaltzell
authored andcommitted
Fill attributes of AHDC::Tracks, KFTrack, Hits
1 parent b1d6e4c commit 3599985

File tree

3 files changed

+38
-33
lines changed

3 files changed

+38
-33
lines changed

reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Banks/RecoBankWriter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,13 @@ public DataBank fillAHDCKFTrackBank(DataEvent event, ArrayList<Track> tracks) {
141141
bank.setFloat("px", row, (float) px);
142142
bank.setFloat("py", row, (float) py);
143143
bank.setFloat("pz", row, (float) pz);
144-
bank.setInt("n_hits", row, (int) track.get_n_hits_kf());
145-
bank.setInt("sum_adc", row, (int) track.get_sum_adc_kf());
144+
bank.setInt("n_hits", row, (int) track.get_n_hits());
145+
bank.setInt("sum_adc", row, (int) track.get_sum_adc());
146146
bank.setFloat("path", row, (float) track.get_path_kf());
147147
bank.setFloat("dEdx", row, (float) track.get_dEdx_kf());
148148
bank.setFloat("p_drift", row, (float) track.get_p_drift_kf());
149-
bank.setFloat("chi2", row, (float) track.get_chi2_kf());
150-
bank.setFloat("sum_residuals", row, (float) track.get_sum_residuals_kf());
149+
bank.setFloat("chi2", row, (float) track.get_chi2());
150+
bank.setFloat("sum_residuals", row, (float) track.get_sum_residuals());
151151

152152
row++;
153153
}

reconstruction/alert/src/main/java/org/jlab/rec/ahdc/KalmanFilter/KalmanFilter.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,10 @@ private void propagation(ArrayList<Track> tracks, DataEvent event, boolean IsMC)
7676

7777
// Initialization material map
7878
HashMap<String, Material> materialHashMap = materialGeneration();
79-
79+
int trackId = 0;
8080
for (Track track : tracks) {
81+
trackId++;
82+
track.set_trackId(trackId);
8183
// Initialization State Vector
8284
final double x0 = 0.0;
8385
final double y0 = 0.0;
@@ -93,11 +95,15 @@ private void propagation(ArrayList<Track> tracks, DataEvent event, boolean IsMC)
9395
ArrayList<org.jlab.rec.ahdc.Hit.Hit> AHDC_hits = track.getHits();
9496
ArrayList<Hit> KF_hits = new ArrayList<>();
9597
//System.out.println(" px " + y[3] + " py " + y[4] +" pz " + y[5] +" vz " + y[2] + " number of hits: " + AHDC_hits.size() + " MC hits? " + sim_hits.size());
98+
track.set_n_hits(AHDC_hits.size());
9699
for (org.jlab.rec.ahdc.Hit.Hit AHDC_hit : AHDC_hits) {
97100
Hit hit = new Hit(AHDC_hit.getSuperLayerId(), AHDC_hit.getLayerId(), AHDC_hit.getWireId(), AHDC_hit.getNbOfWires(), AHDC_hit.getRadius(), AHDC_hit.getDoca());
98101
hit.setADC(AHDC_hit.getADC());
99102
hit.setHitIdx(AHDC_hit.getId());
100103
hit.setSign(0);
104+
// set track id
105+
AHDC_hit.setTrackId(trackId);
106+
101107
//System.out.println( " r = " + hit.r() + " hit.phi " + hit.phi() +" hit.doca = " + hit.getDoca() );
102108
// Do delete hit with same radius
103109
boolean phi_rollover = false;
@@ -194,6 +200,19 @@ private void propagation(ArrayList<Track> tracks, DataEvent event, boolean IsMC)
194200
}
195201
}
196202
}
203+
// At this stage, all relevants AHDC hits are filled
204+
// Compute sum_adc, sum_residuals and chi2
205+
int sum_adc = 0;
206+
double sum_residuals = 0;
207+
double chi2 = 0;
208+
for (org.jlab.rec.ahdc.Hit.Hit AHDC_hit : AHDC_hits) {
209+
sum_adc += AHDC_hit.getADC();
210+
sum_residuals += AHDC_hit.getResidual();
211+
chi2 += Math.pow(AHDC_hit.getResidual(),2.0);
212+
}
213+
track.set_sum_adc(sum_adc);
214+
track.set_sum_residuals(sum_residuals);
215+
track.set_chi2(chi2);
197216
}//end of loop on track candidates
198217
} catch (Exception e) {
199218
// e.printStackTrace();

reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Track/Track.java

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ public class Track {
1717
private final ArrayList<Hit> hits = new ArrayList<>();
1818

1919
private int trackId = -1; ///< id of the track
20+
private int n_hits = 0; ///< number of hits
21+
private int sum_adc = 0; ///< sum of adc (adc)
22+
private double sum_residuals = 0; ///< sum of residuals (mm)
23+
private double chi2 = 0; ///< sum of residuals^2 (mm^2)
2024
// AHDC::Track
2125
private double x0 = 0;
2226
private double y0 = 0;
@@ -26,11 +30,7 @@ public class Track {
2630
private double pz0 = 0;
2731
private double dEdx = 0; ///< deposited energy per path length (adc/mm)
2832
private double p_drift = 0; ///< momentum in the drift region (MeV)
29-
private int n_hits = 0; ///< number of hits
3033
private double path = 0; ///< length of the track (mm)
31-
private int sum_adc = 0; ///< sum of adc (adc)
32-
private double chi2 = 0; ///< sum of residuals^2 (mm^2)
33-
private double sum_residuals = 0; ///< sum of residuals (mm)
3434
// AHDC::KFTrack
3535
private double x0_kf = 0;
3636
private double y0_kf = 0;
@@ -40,11 +40,7 @@ public class Track {
4040
private double pz0_kf = 0;
4141
private double dEdx_kf = 0; ///< deposited energy per path length (adc/mm)
4242
private double p_drift_kf = 0; ///< momentum in the drift region (MeV)
43-
private int n_hits_kf = 0; ///< number of hits
4443
private double path_kf = 0; ///< length of the track (mm)
45-
private int sum_adc_kf = 0; ///< sum of adc (adc)
46-
private double chi2_kf = 0; ///< sum of residuals^2 (mm^2)
47-
private double sum_residuals_kf = 0; ///< sum of residuals (mm)
4844

4945
public Track(List<Cluster> clusters) {
5046
this._Clusters = clusters;
@@ -177,42 +173,32 @@ public double getPy0_kf() {
177173
public double getPz0_kf() {
178174
return pz0_kf;
179175
}
180-
176+
177+
// Same for Track and KFTrack
181178
public void set_trackId(int _trackId) { trackId = _trackId;}
182-
public int get_trackId() {return trackId;}
183-
// AHDC::Track
184-
public void set_dEdx(double _dEdx) { dEdx = _dEdx;}
185-
public void set_p_drift(double _p_drift) { p_drift = _p_drift;}
186179
public void set_n_hits(int _n_hits) { n_hits = _n_hits;}
187-
public void set_path(double _path) { path = _path;}
188180
public void set_sum_adc(int _sum_adc) { sum_adc = _sum_adc;}
189181
public void set_chi2(double _chi2) { chi2 = _chi2;}
190182
public void set_sum_residuals(double _sum_residuals) { sum_residuals = _sum_residuals;}
191-
192-
public double get_dEdx() {return dEdx;}
193-
public double get_p_drift() {return p_drift;}
183+
public int get_trackId() {return trackId;}
194184
public int get_n_hits() {return n_hits;}
195-
public double get_path() {return path;}
196185
public int get_sum_adc() {return sum_adc;}
197186
public double get_chi2() {return chi2;}
198187
public double get_sum_residuals() {return sum_residuals;}
188+
// AHDC::Track
189+
public void set_dEdx(double _dEdx) { dEdx = _dEdx;}
190+
public void set_p_drift(double _p_drift) { p_drift = _p_drift;}
191+
public void set_path(double _path) { path = _path;}
192+
public double get_dEdx() {return dEdx;}
193+
public double get_p_drift() {return p_drift;}
194+
public double get_path() {return path;}
199195

200196
// AHDC::KFTrack
201-
202197
public void set_dEdx_kf(double _dEdx_kf) { dEdx_kf = _dEdx_kf;}
203198
public void set_p_drift_kf(double _p_drift_kf) { p_drift_kf = _p_drift_kf;}
204-
public void set_n_hits_kf(int _n_hits_kf) { n_hits_kf = _n_hits_kf;}
205199
public void set_path_kf(double _path_kf) { path_kf = _path_kf;}
206-
public void set_sum_adc_kf(int _sum_adc_kf) { sum_adc_kf = _sum_adc_kf;}
207-
public void set_chi2_kf(double _chi2_kf) { chi2_kf = _chi2_kf;}
208-
public void set_sum_residuals_kf(double _sum_residuals_kf) { sum_residuals_kf = _sum_residuals_kf;}
209-
210200
public double get_dEdx_kf() {return dEdx_kf;}
211201
public double get_p_drift_kf() {return p_drift_kf;}
212-
public int get_n_hits_kf() {return n_hits_kf;}
213202
public double get_path_kf() {return path_kf;}
214-
public int get_sum_adc_kf() {return sum_adc_kf;}
215-
public double get_chi2_kf() {return chi2_kf;}
216-
public double get_sum_residuals_kf() {return sum_residuals_kf;}
217203

218204
}

0 commit comments

Comments
 (0)