Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public double[][] MatrixTranspose(Object obj1) {

for(int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
result[i][j] = arr1[j][i];
result[j][i] = arr1[i][j];
}
}
arr1 = null;
Expand Down
65 changes: 38 additions & 27 deletions etc/bankdefs/hipo4/dc.json
Original file line number Diff line number Diff line change
Expand Up @@ -529,36 +529,47 @@
"name": "TimeBasedTrkg::TBCovMat",
"group": 20600,
"item" : 37,
"info": "reconstructed track covariance matrix",
"info": "reconstructed track covariance matrix in lab frame",
"entries": [
{"name":"id", "type":"S", "info":"id of the track"},
{"name":"C11", "type":"F", "info":"C11 covariance matrix element at last superlayer used in the fit"},
{"name":"C12", "type":"F", "info":"C12 covariance matrix element at last superlayer used in the fit"},
{"name":"C13", "type":"F", "info":"C13 covariance matrix element at last superlayer used in the fit"},
{"name":"C14", "type":"F", "info":"C14 covariance matrix element at last superlayer used in the fit"},
{"name":"C15", "type":"F", "info":"C15 covariance matrix element at last superlayer used in the fit"},
{"name":"C21", "type":"F", "info":"C21 covariance matrix element at last superlayer used in the fit"},
{"name":"C22", "type":"F", "info":"C22 covariance matrix element at last superlayer used in the fit"},
{"name":"C23", "type":"F", "info":"C23 covariance matrix element at last superlayer used in the fit"},
{"name":"C24", "type":"F", "info":"C24 covariance matrix element at last superlayer used in the fit"},
{"name":"C25", "type":"F", "info":"C25 covariance matrix element at last superlayer used in the fit"},
{"name":"C31", "type":"F", "info":"C31 covariance matrix element at last superlayer used in the fit"},
{"name":"C32", "type":"F", "info":"C32 covariance matrix element at last superlayer used in the fit"},
{"name":"C33", "type":"F", "info":"C33 covariance matrix element at last superlayer used in the fit"},
{"name":"C34", "type":"F", "info":"C34 covariance matrix element at last superlayer used in the fit"},
{"name":"C35", "type":"F", "info":"C35 covariance matrix element at last superlayer used in the fit"},
{"name":"C41", "type":"F", "info":"C41 covariance matrix element at last superlayer used in the fit"},
{"name":"C42", "type":"F", "info":"C42 covariance matrix element at last superlayer used in the fit"},
{"name":"C43", "type":"F", "info":"C43 covariance matrix element at last superlayer used in the fit"},
{"name":"C44", "type":"F", "info":"C44 covariance matrix element at last superlayer used in the fit"},
{"name":"C45", "type":"F", "info":"C45 covariance matrix element at last superlayer used in the fit"},
{"name":"C51", "type":"F", "info":"C51 covariance matrix element at last superlayer used in the fit"},
{"name":"C52", "type":"F", "info":"C52 covariance matrix element at last superlayer used in the fit"},
{"name":"C53", "type":"F", "info":"C53 covariance matrix element at last superlayer used in the fit"},
{"name":"C54", "type":"F", "info":"C54 covariance matrix element at last superlayer used in the fit"},
{"name":"C55", "type":"F", "info":"C55 covariance matrix element at last superlayer used in the fit"}
{"name":"C11", "type":"F", "info":"var(x) at vertex in lab frame"},
{"name":"C12", "type":"F", "info":"cov(x, y) at vertex in lab frame"},
{"name":"C13", "type":"F", "info":"cov(x, z) at vertex in lab frame"},
{"name":"C14", "type":"F", "info":"cov(x, p_theta) at vertex in lab frame"},
{"name":"C15", "type":"F", "info":"cov(x, p_phi) at vertex in lab frame"},
{"name":"C16", "type":"F", "info":"cov(x, p) at vertex in lab frame"},
{"name":"C21", "type":"F", "info":"cov(y, x) at vertex in lab frame"},
{"name":"C22", "type":"F", "info":"var(y) at vertex in lab frame"},
{"name":"C23", "type":"F", "info":"cov(y, z) at vertex in lab frame"},
{"name":"C24", "type":"F", "info":"cov(y, p_theta) at vertex in lab frame"},
{"name":"C25", "type":"F", "info":"cov(y, p_phi) at vertex in lab frame"},
{"name":"C26", "type":"F", "info":"cov(y, p) at vertex in lab frame"},
{"name":"C31", "type":"F", "info":"cov(z, x) at vertex in lab frame"},
{"name":"C32", "type":"F", "info":"cov(z, y) at vertex in lab frame"},
{"name":"C33", "type":"F", "info":"var(z) at vertex in lab frame"},
{"name":"C34", "type":"F", "info":"cov(z, p_theta) at vertex in lab frame"},
{"name":"C35", "type":"F", "info":"cov(z, p_phi) at vertex in lab frame"},
{"name":"C36", "type":"F", "info":"cov(z, p) at vertex in lab frame"},
{"name":"C41", "type":"F", "info":"cov(p_theta, x) at vertex in lab frame"},
{"name":"C42", "type":"F", "info":"cov(p_theta, y) at vertex in lab frame"},
{"name":"C43", "type":"F", "info":"cov(p_theta, z) at vertex in lab frame"},
{"name":"C44", "type":"F", "info":"var(p_theta) at vertex in lab frame"},
{"name":"C45", "type":"F", "info":"cov(p_theta, p_phi) at vertex in lab frame"},
{"name":"C46", "type":"F", "info":"cov(p_theta, p) at vertex in lab frame"},
{"name":"C51", "type":"F", "info":"cov(p_phi, x) at vertex in lab frame"},
{"name":"C52", "type":"F", "info":"cov(p_phi, y) at vertex in lab frame"},
{"name":"C53", "type":"F", "info":"cov(p_phi, z) at vertex in lab frame"},
{"name":"C54", "type":"F", "info":"cov(p_phi, p_theta) at vertex in lab frame"},
{"name":"C55", "type":"F", "info":"var(p_phi) at vertex in lab frame"},
{"name":"C56", "type":"F", "info":"cov(p_phi, p) at vertex in lab frame"},
{"name":"C61", "type":"F", "info":"cov(p, x) at vertex in lab frame"},
{"name":"C62", "type":"F", "info":"cov(p, y) at vertex in lab frame"},
{"name":"C63", "type":"F", "info":"cov(p, z) at vertex in lab frame"},
{"name":"C64", "type":"F", "info":"cov(p, p_theta) at vertex in lab frame"},
{"name":"C65", "type":"F", "info":"cov(p, p_phi) at vertex in lab frame"},
{"name":"C66", "type":"F", "info":"var(p) at vertex in lab frame"}
]
},
},
{
"name": "TimeBasedTrkg::Trajectory",
"group": 20600,
Expand Down
65 changes: 38 additions & 27 deletions etc/bankdefs/hipo4/dcnn.json
Original file line number Diff line number Diff line change
Expand Up @@ -390,36 +390,47 @@
"name": "TimeBasedTrkg::AICovMat",
"group": 20600,
"item" : 77,
"info": "reconstructed track covariance matrix",
"info": "reconstructed track covariance matrix in lab frame",
"entries": [
{"name":"id", "type":"S", "info":"id of the track"},
{"name":"C11", "type":"F", "info":"C11 covariance matrix element at last superlayer used in the fit"},
{"name":"C12", "type":"F", "info":"C12 covariance matrix element at last superlayer used in the fit"},
{"name":"C13", "type":"F", "info":"C13 covariance matrix element at last superlayer used in the fit"},
{"name":"C14", "type":"F", "info":"C14 covariance matrix element at last superlayer used in the fit"},
{"name":"C15", "type":"F", "info":"C15 covariance matrix element at last superlayer used in the fit"},
{"name":"C21", "type":"F", "info":"C21 covariance matrix element at last superlayer used in the fit"},
{"name":"C22", "type":"F", "info":"C22 covariance matrix element at last superlayer used in the fit"},
{"name":"C23", "type":"F", "info":"C23 covariance matrix element at last superlayer used in the fit"},
{"name":"C24", "type":"F", "info":"C24 covariance matrix element at last superlayer used in the fit"},
{"name":"C25", "type":"F", "info":"C25 covariance matrix element at last superlayer used in the fit"},
{"name":"C31", "type":"F", "info":"C31 covariance matrix element at last superlayer used in the fit"},
{"name":"C32", "type":"F", "info":"C32 covariance matrix element at last superlayer used in the fit"},
{"name":"C33", "type":"F", "info":"C33 covariance matrix element at last superlayer used in the fit"},
{"name":"C34", "type":"F", "info":"C34 covariance matrix element at last superlayer used in the fit"},
{"name":"C35", "type":"F", "info":"C35 covariance matrix element at last superlayer used in the fit"},
{"name":"C41", "type":"F", "info":"C41 covariance matrix element at last superlayer used in the fit"},
{"name":"C42", "type":"F", "info":"C42 covariance matrix element at last superlayer used in the fit"},
{"name":"C43", "type":"F", "info":"C43 covariance matrix element at last superlayer used in the fit"},
{"name":"C44", "type":"F", "info":"C44 covariance matrix element at last superlayer used in the fit"},
{"name":"C45", "type":"F", "info":"C45 covariance matrix element at last superlayer used in the fit"},
{"name":"C51", "type":"F", "info":"C51 covariance matrix element at last superlayer used in the fit"},
{"name":"C52", "type":"F", "info":"C52 covariance matrix element at last superlayer used in the fit"},
{"name":"C53", "type":"F", "info":"C53 covariance matrix element at last superlayer used in the fit"},
{"name":"C54", "type":"F", "info":"C54 covariance matrix element at last superlayer used in the fit"},
{"name":"C55", "type":"F", "info":"C55 covariance matrix element at last superlayer used in the fit"}
{"name":"C11", "type":"F", "info":"var(x) at vertex in lab frame"},
{"name":"C12", "type":"F", "info":"cov(x, y) at vertex in lab frame"},
{"name":"C13", "type":"F", "info":"cov(x, z) at vertex in lab frame"},
{"name":"C14", "type":"F", "info":"cov(x, p_theta) at vertex in lab frame"},
{"name":"C15", "type":"F", "info":"cov(x, p_phi) at vertex in lab frame"},
{"name":"C16", "type":"F", "info":"cov(x, p) at vertex in lab frame"},
{"name":"C21", "type":"F", "info":"cov(y, x) at vertex in lab frame"},
{"name":"C22", "type":"F", "info":"var(y) at vertex in lab frame"},
{"name":"C23", "type":"F", "info":"cov(y, z) at vertex in lab frame"},
{"name":"C24", "type":"F", "info":"cov(y, p_theta) at vertex in lab frame"},
{"name":"C25", "type":"F", "info":"cov(y, p_phi) at vertex in lab frame"},
{"name":"C26", "type":"F", "info":"cov(y, p) at vertex in lab frame"},
{"name":"C31", "type":"F", "info":"cov(z, x) at vertex in lab frame"},
{"name":"C32", "type":"F", "info":"cov(z, y) at vertex in lab frame"},
{"name":"C33", "type":"F", "info":"var(z) at vertex in lab frame"},
{"name":"C34", "type":"F", "info":"cov(z, p_theta) at vertex in lab frame"},
{"name":"C35", "type":"F", "info":"cov(z, p_phi) at vertex in lab frame"},
{"name":"C36", "type":"F", "info":"cov(z, p) at vertex in lab frame"},
{"name":"C41", "type":"F", "info":"cov(p_theta, x) at vertex in lab frame"},
{"name":"C42", "type":"F", "info":"cov(p_theta, y) at vertex in lab frame"},
{"name":"C43", "type":"F", "info":"cov(p_theta, z) at vertex in lab frame"},
{"name":"C44", "type":"F", "info":"var(p_theta) at vertex in lab frame"},
{"name":"C45", "type":"F", "info":"cov(p_theta, p_phi) at vertex in lab frame"},
{"name":"C46", "type":"F", "info":"cov(p_theta, p) at vertex in lab frame"},
{"name":"C51", "type":"F", "info":"cov(p_phi, x) at vertex in lab frame"},
{"name":"C52", "type":"F", "info":"cov(p_phi, y) at vertex in lab frame"},
{"name":"C53", "type":"F", "info":"cov(p_phi, z) at vertex in lab frame"},
{"name":"C54", "type":"F", "info":"cov(p_phi, p_theta) at vertex in lab frame"},
{"name":"C55", "type":"F", "info":"var(p_phi) at vertex in lab frame"},
{"name":"C56", "type":"F", "info":"cov(p_phi, p) at vertex in lab frame"},
{"name":"C61", "type":"F", "info":"cov(p, x) at vertex in lab frame"},
{"name":"C62", "type":"F", "info":"cov(p, y) at vertex in lab frame"},
{"name":"C63", "type":"F", "info":"cov(p, z) at vertex in lab frame"},
{"name":"C64", "type":"F", "info":"cov(p, p_theta) at vertex in lab frame"},
{"name":"C65", "type":"F", "info":"cov(p, p_phi) at vertex in lab frame"},
{"name":"C66", "type":"F", "info":"var(p) at vertex in lab frame"}
]
},
},
{
"name": "TimeBasedTrkg::AITrajectory",
"group": 20600,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public String getTrajBank() {

public String getCovmatBank() {
return this.getOutputBank("CovMat");
}
}

public String getRecEventBank() {
return this.getRecBank("Event");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -446,50 +446,69 @@ public DataBank fillHBTracksBank(DataEvent event, List<Track> candlist) {
public DataBank fillHBTrajectoryBank(DataEvent event, List<Track> candlist) {
return this.fillTrajectoryBank(event, candlist);
}

/**
*
* @param event hipo event
* @param candlist tracks
* @return covariance matrix from HB fits to be used for starting TB tracking
* @return covariance matrix for momentum and vertex in lab frame
*/
private DataBank fillTrackCovMatBank(DataEvent event, List<Track> candlist) {
private DataBank fillTrackCovMatLabBank(DataEvent event, List<Track> candlist) {

DataBank bank = event.createBank(bankNames.getCovmatBank(), candlist.size());

for (int i = 0; i < candlist.size(); i++) {
bank.setShort("id", i, (short) candlist.get(i).get_Id());
if(candlist.get(i).get_CovMat()!=null) {
bank.setFloat("C11", i, (float) candlist.get(i).get_CovMat().get(0, 0));
bank.setFloat("C12", i, (float) candlist.get(i).get_CovMat().get(0, 1));
bank.setFloat("C13", i, (float) candlist.get(i).get_CovMat().get(0, 2));
bank.setFloat("C14", i, (float) candlist.get(i).get_CovMat().get(0, 3));
bank.setFloat("C15", i, (float) candlist.get(i).get_CovMat().get(0, 4));
bank.setFloat("C21", i, (float) candlist.get(i).get_CovMat().get(1, 0));
bank.setFloat("C22", i, (float) candlist.get(i).get_CovMat().get(1, 1));
bank.setFloat("C23", i, (float) candlist.get(i).get_CovMat().get(1, 2));
bank.setFloat("C24", i, (float) candlist.get(i).get_CovMat().get(1, 3));
bank.setFloat("C25", i, (float) candlist.get(i).get_CovMat().get(1, 4));
bank.setFloat("C31", i, (float) candlist.get(i).get_CovMat().get(2, 0));
bank.setFloat("C32", i, (float) candlist.get(i).get_CovMat().get(2, 1));
bank.setFloat("C33", i, (float) candlist.get(i).get_CovMat().get(2, 2));
bank.setFloat("C34", i, (float) candlist.get(i).get_CovMat().get(2, 3));
bank.setFloat("C35", i, (float) candlist.get(i).get_CovMat().get(2, 4));
bank.setFloat("C41", i, (float) candlist.get(i).get_CovMat().get(3, 0));
bank.setFloat("C42", i, (float) candlist.get(i).get_CovMat().get(3, 1));
bank.setFloat("C43", i, (float) candlist.get(i).get_CovMat().get(3, 2));
bank.setFloat("C44", i, (float) candlist.get(i).get_CovMat().get(3, 3));
bank.setFloat("C45", i, (float) candlist.get(i).get_CovMat().get(3, 4));
bank.setFloat("C51", i, (float) candlist.get(i).get_CovMat().get(4, 0));
bank.setFloat("C52", i, (float) candlist.get(i).get_CovMat().get(4, 1));
bank.setFloat("C53", i, (float) candlist.get(i).get_CovMat().get(4, 2));
bank.setFloat("C54", i, (float) candlist.get(i).get_CovMat().get(4, 3));
bank.setFloat("C55", i, (float) candlist.get(i).get_CovMat().get(4, 4));
if(candlist.get(i).get_CMInLab()!=null) {
double[][] CM = candlist.get(i).get_CMInLab();
bank.setFloat("C11", i, (float) CM[0][0]);
bank.setFloat("C12", i, (float) CM[0][1]);
bank.setFloat("C13", i, (float) CM[0][2]);
bank.setFloat("C14", i, (float) CM[0][3]);
bank.setFloat("C15", i, (float) CM[0][4]);
bank.setFloat("C16", i, (float) CM[0][5]);

bank.setFloat("C21", i, (float) CM[1][0]);
bank.setFloat("C22", i, (float) CM[1][1]);
bank.setFloat("C23", i, (float) CM[1][2]);
bank.setFloat("C24", i, (float) CM[1][3]);
bank.setFloat("C25", i, (float) CM[1][4]);
bank.setFloat("C26", i, (float) CM[1][5]);

bank.setFloat("C31", i, (float) CM[2][0]);
bank.setFloat("C32", i, (float) CM[2][1]);
bank.setFloat("C33", i, (float) CM[2][2]);
bank.setFloat("C34", i, (float) CM[2][3]);
bank.setFloat("C35", i, (float) CM[2][4]);
bank.setFloat("C36", i, (float) CM[2][5]);

bank.setFloat("C41", i, (float) CM[3][0]);
bank.setFloat("C42", i, (float) CM[3][1]);
bank.setFloat("C43", i, (float) CM[3][2]);
bank.setFloat("C44", i, (float) CM[3][3]);
bank.setFloat("C45", i, (float) CM[3][4]);
bank.setFloat("C46", i, (float) CM[3][5]);

bank.setFloat("C51", i, (float) CM[4][0]);
bank.setFloat("C52", i, (float) CM[4][1]);
bank.setFloat("C53", i, (float) CM[4][2]);
bank.setFloat("C54", i, (float) CM[4][3]);
bank.setFloat("C55", i, (float) CM[4][4]);
bank.setFloat("C56", i, (float) CM[4][5]);

bank.setFloat("C61", i, (float) CM[5][0]);
bank.setFloat("C62", i, (float) CM[5][1]);
bank.setFloat("C63", i, (float) CM[5][2]);
bank.setFloat("C64", i, (float) CM[5][3]);
bank.setFloat("C65", i, (float) CM[5][4]);
bank.setFloat("C66", i, (float) CM[5][5]);

}
}
//bank.show();
return bank;
}

/**
*
* @param event the EvioEvent
Expand Down Expand Up @@ -939,7 +958,7 @@ public void fillAllTBBanks(DataEvent event, List<FittedHit> fhits, List<FittedCl
this.fillTBCrossesBank(event, crosses),
this.fillTBTracksBank(event, trkcands),
this.fillTrajectoryBank(event, trkcands),
this.fillTrackCovMatBank(event, trkcands)
this.fillTrackCovMatLabBank(event, trkcands)
);
}
if (crosses != null && trkcands == null) {
Expand Down
Loading