diff --git a/.gitignore b/.gitignore index d88c305087..0bdf3fdcef 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ target /docs/javadoc/* /clara-home tmp +/common-tools/clas-io/src/main/java/org/jlab/io/banks # deployment /myLocalMvnRepo diff --git a/common-tools/clas-detector/src/main/java/org/jlab/detector/banks/FilteredBank.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/banks/FilteredBank.java index 436d49fedb..0e28cee757 100644 --- a/common-tools/clas-detector/src/main/java/org/jlab/detector/banks/FilteredBank.java +++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/banks/FilteredBank.java @@ -35,7 +35,6 @@ public FilteredBank(Schema schema, int allocate, String variableName){ filterVar = variableName; } - /** * @param schema schema for the bank to filter * @param variableName name of the variable to filter on @@ -99,6 +98,16 @@ public int getByte(String varName, int index ){ return bank.getByte(varName, indexList.get(index)); } + /** + * + * @param column + * @param index + * @return + */ + public int getByte(int column, int index ){ + return bank.getByte(column, indexList.get(index)); + } + /** * @param varName name of the bank variable * @param index filtered index to retrieve @@ -108,6 +117,16 @@ public int getShort(String varName, int index ){ return bank.getShort(varName, indexList.get(index)); } + /** + * + * @param column + * @param index + * @return + */ + public int getShort(int column, int index ){ + return bank.getShort(column, indexList.get(index)); + } + /** * @param varName name of the bank variable * @param index filtered index to retrieve @@ -116,6 +135,16 @@ public int getShort(String varName, int index ){ public int getInt(String varName, int index ){ return bank.getInt(varName, indexList.get(index)); } + + /** + * + * @param column + * @param index + * @return + */ + public int getInt(int column, int index) { + return bank.getInt(column, indexList.get(index)); + } /** * @param varName name of the bank variable @@ -126,6 +155,16 @@ public long getLong(String varName, int index ){ return bank.getLong(varName, indexList.get(index)); } + /** + * + * @param column + * @param index + * @return + */ + public long getLong(int column, int index ){ + return bank.getLong(column, indexList.get(index)); + } + /** * @param varName name of the bank variable * @param index filtered index to retrieve @@ -135,6 +174,16 @@ public float getFloat(String varName, int index ){ return bank.getFloat(varName, indexList.get(index)); } + /** + * + * @param column + * @param index + * @return + */ + public float getFloat(int column, int index ){ + return bank.getFloat(column, indexList.get(index)); + } + /** * @param index filtered index to retrieve * @return true bank row index corresponding to the filtered index diff --git a/libexec/bank-schema-enums b/libexec/bank-schema-enums new file mode 100755 index 0000000000..e349f9514b --- /dev/null +++ b/libexec/bank-schema-enums @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 +import os,glob,json +idir = 'etc/bankdefs/hipo4' +odir = 'common-tools/clas-io/src/main/java/org/jlab/io/banks' +os.makedirs(odir, exist_ok=True) +for x in glob.glob(f'{idir}/*.json'): + for bank in json.load(open(x,'r')): + class_name = bank['name'].replace(':','_'); + with open(f'{odir}/{class_name}.java','w') as f: + f.write('package org.jlab.io.banks;\n') + f.write(f'public class {class_name} {{\n') + for i,entry in enumerate(bank['entries']): + var_name = entry['name'] + f.write(f' public static final short {var_name} = {i};\n') + f.write('}\n') + f.close() diff --git a/pom.xml b/pom.xml index 834fe121ad..b936e993b1 100644 --- a/pom.xml +++ b/pom.xml @@ -263,6 +263,30 @@ + + + org.apache.maven.plugins + maven-antrun-plugin + 3.1.0 + + + bank-schema-enums + validate + + run + + false + + + + + + + + + + + com.github.spotbugs @@ -428,6 +452,22 @@ + + + maven-clean-plugin + 3.4.0 + + + + common-tools/clas-io/src/main/java/org/jlab/io/banks + + **/*.java + + + + + + org.codehaus.mojo diff --git a/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java b/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java index deec994fb9..a0849f866a 100644 --- a/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java +++ b/reconstruction/ai/src/main/java/org/jlab/service/ai/DCClsComboEngine.java @@ -24,6 +24,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.jlab.clas.reco.ReconstructionEngine; +import org.jlab.io.banks.HitBasedTrkg__Clusters; import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.utils.system.ClasUtilsFile; @@ -128,11 +129,11 @@ public boolean processDataEvent(DataEvent event) { int rows = bank.rows(); for (int r = 0; r < rows; r++) { - int id = bank.getInt("id", r); - int sector = bank.getByte("sector", r); - int superlayer = bank.getByte("superlayer", r); - float avgWire = bank.getFloat("avgWire", r); - float fitSlope = bank.getFloat("fitSlope", r); + int id = bank.getInt(HitBasedTrkg__Clusters.id, r); + int sector = bank.getByte(HitBasedTrkg__Clusters.sector, r); + int superlayer = bank.getByte(HitBasedTrkg__Clusters.superlayer, r); + float avgWire = bank.getFloat(HitBasedTrkg__Clusters.avgWire, r); + float fitSlope = bank.getFloat(HitBasedTrkg__Clusters.fitSlope, r); DCCluster cls = new DCCluster(id, sector, superlayer, avgWire, fitSlope); allClusterList.add(cls); diff --git a/reconstruction/cvt/src/main/java/org/jlab/rec/cvt/banks/HitReader.java b/reconstruction/cvt/src/main/java/org/jlab/rec/cvt/banks/HitReader.java index 86174629b7..f7596fadb6 100644 --- a/reconstruction/cvt/src/main/java/org/jlab/rec/cvt/banks/HitReader.java +++ b/reconstruction/cvt/src/main/java/org/jlab/rec/cvt/banks/HitReader.java @@ -9,6 +9,8 @@ import org.jlab.detector.banks.RawDataBank; import org.jlab.detector.base.DetectorDescriptor; import org.jlab.detector.base.DetectorType; +import org.jlab.io.banks.BMT__adc; +import org.jlab.io.banks.BST__adc; import org.jlab.io.base.DataEvent; import org.jlab.rec.cvt.Constants; import org.jlab.rec.cvt.Geometry; @@ -112,11 +114,11 @@ public void fetch_BMTHits(DataEvent event, Swim swim, IndexedTable status, //if (bankDGTZ.getInt("ADC", i) < 1) { //continue; // gemc assigns strip value -1 for inefficiencies, we only consider strips with values between 1 to the maximum strip number for a given detector //} - int sector = bankDGTZ.getByte("sector", i); - int layer = bankDGTZ.getByte("layer", i); - int strip = bankDGTZ.getShort("component", i); - double ADCtoEdep = bankDGTZ.getInt("ADC", i); - double time = bankDGTZ.getFloat("time", i); + int sector = bankDGTZ.getByte(BMT__adc.sector, i); + int layer = bankDGTZ.getByte(BMT__adc.layer, i); + int strip = bankDGTZ.getShort(BMT__adc.component, i); + double ADCtoEdep = bankDGTZ.getInt(BMT__adc.ADC, i); + double time = bankDGTZ.getFloat(BMT__adc.time, i); int order = bankDGTZ.trueOrder(i); //if (order == 1) { // continue; @@ -248,8 +250,8 @@ public void fetch_SVTHits(DataEvent event, int omitLayer, int omitHemisphere, //The value adcStatus in ccdb is 1 for runs where ADC=-1 is not permitted and 0 for runs where ADC=-1 is permitted int adcStat = adcStatus.getIntValue("adcstatus", 0, 0, 0); - for (int i = 0; i < rows; i++) { - int ADC = bankDGTZ.getInt("ADC", i); + for (int i = 0; i < rows; i++) { + int ADC = bankDGTZ.getInt(BST__adc.ADC, i); if(ADCConvertor.isEventUnCorrupted(ADC, adcStat)==false) { return; } @@ -259,11 +261,11 @@ public void fetch_SVTHits(DataEvent event, int omitLayer, int omitHemisphere, // first get tdcs Map tdcs = new HashMap<>(); for (int i = 0; i < rows; i++) { - if(bankDGTZ.getInt("ADC", i) < 0) { - int sector = bankDGTZ.getByte("sector", i); - int layer = bankDGTZ.getByte("layer", i); - int strip = bankDGTZ.getShort("component", i); - double time = bankDGTZ.getFloat("time", i); + if(bankDGTZ.getInt(BST__adc.ADC, i) < 0) { + int sector = bankDGTZ.getByte(BST__adc.sector, i); + int layer = bankDGTZ.getByte(BST__adc.layer, i); + int strip = bankDGTZ.getShort(BST__adc.component, i); + double time = bankDGTZ.getFloat(BST__adc.time, i); //if (order == 1) { // continue; @@ -283,15 +285,15 @@ public void fetch_SVTHits(DataEvent event, int omitLayer, int omitHemisphere, // then get real hits for (int i = 0; i < rows; i++) { - if (bankDGTZ.getInt("ADC", i) < 0) { + if (bankDGTZ.getInt(BST__adc.ADC, i) < 0) { continue; // ignore hits TDC hits with ADC==-1 } - int order = bankDGTZ.getByte("order", i); + int order = bankDGTZ.getByte(BST__adc.order, i); + int sector = bankDGTZ.getByte(BST__adc.sector, i); + int layer = bankDGTZ.getByte(BST__adc.layer, i); + int strip = bankDGTZ.getShort(BST__adc.component, i); + int ADC = bankDGTZ.getInt(BST__adc.ADC, i); int id = i + 1; - int sector = bankDGTZ.getByte("sector", i); - int layer = bankDGTZ.getByte("layer", i); - int strip = bankDGTZ.getShort("component", i); - int ADC = bankDGTZ.getInt("ADC", i); double time = 0;//bankDGTZ.getFloat("time", i); int tdcstrip = 1; if(strip>128) tdcstrip = 129; diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java index eaa35990c4..89dd8b6832 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java @@ -20,6 +20,13 @@ import org.jlab.rec.dc.Constants; import org.jlab.utils.groups.IndexedTable; +import org.jlab.io.banks.DC__jitter; +import org.jlab.io.banks.DC__tdc; +import org.jlab.io.banks.HitBasedTrkg__HBHitTrkId; +import org.jlab.io.banks.HitBasedTrkg__Hits; +import org.jlab.io.banks.REC__Track; +import org.jlab.io.banks.ai__tracks; + /** * A class to fill in lists of hits corresponding to DC reconstructed hits * characterized by the wire, its location in the detector (superlayer, layer, @@ -128,9 +135,9 @@ private void getDCRBJitters(boolean swapBits) { DataBank bankTS = event.getBank(bankNames.getTimeStampBank()); for(int i=0; i>24)|((timestamp&0x0000000000ffffffL)<<24)); } @@ -186,13 +193,13 @@ public void fetch_DCHits(DataEvent event) { this.set_NumTDCBankRows(bankFiltered.rows()); for (int i = 0; i < bankFiltered.rows(); i++) { - int sector = bankFiltered.getByte("sector", i); - int layer = (bankFiltered.getByte("layer", i)-1)%6 + 1; - int superlayer = (bankFiltered.getByte("layer", i)-1)/6 + 1; - int wire = bankFiltered.getShort("component", i); + int sector = bankFiltered.getByte(DC__tdc.sector, i); + int layer = (bankFiltered.getByte(DC__tdc.layer, i)-1)%6 + 1; + int superlayer = (bankFiltered.getByte(DC__tdc.layer, i)-1)/6 + 1; + int wire = bankFiltered.getShort(DC__tdc.component, i); int order = bankFiltered.trueOrder(i); - int jitter = this.getJitter(sector, bankFiltered.getByte("layer", i), wire, order); - int tdc = bankFiltered.getInt("TDC", i) - jitter; + int jitter = this.getJitter(sector, bankFiltered.getByte(DC__tdc.layer, i), wire, order); + int tdc = bankFiltered.getInt(DC__tdc.TDC, i) - jitter; int index = bankFiltered.trueIndex(i); boolean passHit = true; @@ -246,15 +253,15 @@ private Map> read_Hits() { List hits = new ArrayList<>(); for (int i = 0; i < rows; i++) { - int id = bank.getShort("id", i); - int sector = bank.getByte("sector", i); - int slayer = bank.getByte("superlayer", i); - int layer = bank.getByte("layer", i); - int wire = bank.getShort("wire", i); - int tdc = bank.getInt("TDC", i); - int jitter = bank.getByte("jitter", i); - int LR = bank.getByte("LR", i); - int clusterID = bank.getShort("clusterID", i); + int id = bank.getShort(HitBasedTrkg__Hits.id, i); + int sector = bank.getByte(HitBasedTrkg__Hits.sector, i); + int slayer = bank.getByte(HitBasedTrkg__Hits.superlayer, i); + int layer = bank.getByte(HitBasedTrkg__Hits.layer, i); + int wire = bank.getShort(HitBasedTrkg__Hits.wire, i); + int tdc = bank.getInt(HitBasedTrkg__Hits.TDC, i); + int jitter = bank.getByte(HitBasedTrkg__Hits.jitter, i); + int LR = bank.getByte(HitBasedTrkg__Hits.LR, i); + int clusterID = bank.getShort(HitBasedTrkg__Hits.clusterID, i); //use only hits that have been fit to a track if (clusterID == -1) { @@ -331,10 +338,10 @@ private void read_HBHits(TimeToDistanceEstimator tde) { DataBank pbank = event.getBank(pointName); for (int i = 0; i < pbank.rows(); i++) { - id2tid.put((int)pbank.getShort("id", i), (int)pbank.getShort("tid", i)); - id2tidB.put((int)pbank.getShort("id", i), (double)pbank.getFloat("B", i)); - id2tidtFlight.put((int)pbank.getShort("id", i), (double)pbank.getFloat("TFlight", i)); - id2tidtProp.put((int)pbank.getShort("id", i), (double)pbank.getFloat("TProp", i)); + id2tid.put((int)pbank.getShort(HitBasedTrkg__HBHitTrkId.id, i), (int)pbank.getShort(HitBasedTrkg__HBHitTrkId.tid, i)); + id2tidB.put((int)pbank.getShort(HitBasedTrkg__HBHitTrkId.id, i), (double)pbank.getFloat(HitBasedTrkg__HBHitTrkId.B, i)); + id2tidtFlight.put((int)pbank.getShort(HitBasedTrkg__HBHitTrkId.id, i), (double)pbank.getFloat(HitBasedTrkg__HBHitTrkId.TFlight, i)); + id2tidtProp.put((int)pbank.getShort(HitBasedTrkg__HBHitTrkId.id, i), (double)pbank.getFloat(HitBasedTrkg__HBHitTrkId.TProp, i)); } DataBank bank = event.getBank(bankName); @@ -357,19 +364,18 @@ private void read_HBHits(TimeToDistanceEstimator tde) { double[] trkDoca = new double[rows]; for (int i = 0; i < rows; i++) { - id[i] = bank.getShort("id", i); - status[i] = bank.getShort("status", i); - sector[i] = bank.getByte("sector", i); - slayer[i] = bank.getByte("superlayer", i); - layer[i] = bank.getByte("layer", i); - wire[i] = bank.getShort("wire", i); - tdc[i] = bank.getInt("TDC", i); - jitter[i] = bank.getByte("jitter", i); - id[i] = bank.getShort("id", i); - LR[i] = bank.getByte("LR", i); - - trkDoca[i] = bank.getFloat("trkDoca", i); - clusterID[i] = bank.getShort("clusterID", i); + id[i] = bank.getShort(HitBasedTrkg__Hits.id, i); + status[i] = bank.getShort(HitBasedTrkg__Hits.status, i); + sector[i] = bank.getByte(HitBasedTrkg__Hits.sector, i); + slayer[i] = bank.getByte(HitBasedTrkg__Hits.superlayer, i); + layer[i] = bank.getByte(HitBasedTrkg__Hits.layer, i); + wire[i] = bank.getShort(HitBasedTrkg__Hits.wire, i); + tdc[i] = bank.getInt(HitBasedTrkg__Hits.TDC, i); + jitter[i] = bank.getByte(HitBasedTrkg__Hits.jitter, i); + id[i] = bank.getShort(HitBasedTrkg__Hits.id, i); + LR[i] = bank.getByte(HitBasedTrkg__Hits.LR, i); + trkDoca[i] = bank.getFloat(HitBasedTrkg__Hits.trkDoca, i); + clusterID[i] = bank.getShort(HitBasedTrkg__Hits.clusterID, i); trkID[i] = -1; if(this.id2tid.containsKey(id[i]) ){ trkID[i] = this.id2tid.get(id[i]); @@ -493,17 +499,17 @@ private void read_NNHits() { for (int j = 0; j < bankAI.rows(); j++) { Ids = new int[6]; tPars = new double[4]; - Ids[0] = (int)bankAI.getShort("c1", j); // clusId in superlayer 1 - Ids[1] = (int)bankAI.getShort("c2", j); - Ids[2] = (int)bankAI.getShort("c3", j); - Ids[3] = (int)bankAI.getShort("c4", j); - Ids[4] = (int)bankAI.getShort("c5", j); - Ids[5] = (int)bankAI.getShort("c6", j); // clusId in superlayer 6 + Ids[0] = (int)bankAI.getShort(ai__tracks.c1, j); // clusId in superlayer 1 + Ids[1] = (int)bankAI.getShort(ai__tracks.c2, j); + Ids[2] = (int)bankAI.getShort(ai__tracks.c3, j); + Ids[3] = (int)bankAI.getShort(ai__tracks.c4, j); + Ids[4] = (int)bankAI.getShort(ai__tracks.c5, j); + Ids[5] = (int)bankAI.getShort(ai__tracks.c6, j); // clusId in superlayer 6 - tPars[0] = (double)bankAI.getFloat("p", j); - tPars[1] = (double)bankAI.getFloat("theta", j); - tPars[2] = (double)bankAI.getFloat("phi", j); - tPars[3] = (double)bankAI.getByte("id", j); + tPars[0] = (double)bankAI.getFloat(ai__tracks.p, j); + tPars[1] = (double)bankAI.getFloat(ai__tracks.theta, j); + tPars[2] = (double)bankAI.getFloat(ai__tracks.phi, j); + tPars[3] = (double)bankAI.getByte(ai__tracks.id, j); aimatch.clear(); for (int k = 0; k < 6; k++) { @@ -515,9 +521,14 @@ private void read_NNHits() { if(clusterID>0) { if(this.aimatch.containsKey(clusterID)) { - Hit hit = new Hit(bank.getByte("sector", i), bank.getByte("superlayer", i), - bank.getByte("layer", i), bank.getShort("wire", i), bank.getInt("TDC", i), bank.getByte("jitter", i), bank.getShort("id", i)); - hit.set_Id(bank.getShort("id", i)); + Hit hit = new Hit(bank.getByte(HitBasedTrkg__Hits.sector, i), + bank.getByte(HitBasedTrkg__Hits.superlayer, i), + bank.getByte(HitBasedTrkg__Hits.layer, i), + bank.getShort(HitBasedTrkg__Hits.wire, i), + bank.getInt(HitBasedTrkg__Hits.TDC, i), + bank.getByte(HitBasedTrkg__Hits.jitter, i), + bank.getShort(HitBasedTrkg__Hits.id, i)); + hit.set_Id(bank.getShort(HitBasedTrkg__Hits.id, i)); hit.calc_CellSize(detector); double posError = hit.get_CellSize() / Math.sqrt(12.); hit.set_DocaErr(posError); @@ -619,14 +630,14 @@ private void setToPionHypothesis(DataEvent event, int trkId, FittedHit hit) { int rows = bank.rows(); for (int i = 0; i < rows; i++) { - if (bank.getByte("detector", i) == 6 && - bank.getShort("index", i) == trkId - 1) { + if (bank.getByte(REC__Track.detector, i) == 6 && + bank.getShort(REC__Track.index, i) == trkId - 1) { px = event.getBank(partBankName).getFloat("px", - bank.getShort("pindex", i)); + bank.getShort(REC__Track.pindex, i)); py = event.getBank(partBankName).getFloat("py", - bank.getShort("pindex", i)); + bank.getShort(REC__Track.pindex, i)); pz = event.getBank(partBankName).getFloat("pz", - bank.getShort("pindex", i)); + bank.getShort(REC__Track.pindex, i)); } } diff --git a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/RecoBankWriter.java b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/RecoBankWriter.java index 01e734df15..6afe2c0948 100644 --- a/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/RecoBankWriter.java +++ b/reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/RecoBankWriter.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.List; import org.jlab.detector.base.DetectorType; - import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.rec.dc.cluster.FittedCluster; @@ -12,8 +11,22 @@ import org.jlab.rec.dc.hit.Hit; import org.jlab.rec.dc.segment.Segment; import org.jlab.rec.dc.track.Track; +import trackfitter.fitter.utilities.ProbChi2perNDF; + +import org.jlab.io.banks.HitBasedTrkg__HBCrosses; +import org.jlab.io.banks.HitBasedTrkg__HBHitTrkId; +import org.jlab.io.banks.HitBasedTrkg__HBSegments; +import org.jlab.io.banks.HitBasedTrkg__HBTracks; +import org.jlab.io.banks.HitBasedTrkg__Hits; +import org.jlab.io.banks.HitBasedTrkg__Clusters; +import org.jlab.io.banks.TimeBasedTrkg__TBClusters; +import org.jlab.io.banks.TimeBasedTrkg__TBCovMat; +import org.jlab.io.banks.TimeBasedTrkg__TBCrosses; +import org.jlab.io.banks.TimeBasedTrkg__TBHits; +import org.jlab.io.banks.TimeBasedTrkg__TBSegments; +import org.jlab.io.banks.TimeBasedTrkg__TBTracks; +import org.jlab.io.banks.TimeBasedTrkg__Trajectory; -import trackfitter.fitter.utilities.*; /** * A class to fill the reconstructed DC banks @@ -100,7 +113,6 @@ public DataBank fillHitsBank(DataEvent event, List hitlist) { public DataBank fillHBHitsBank(DataEvent event, List hitlist) { String name = bankNames.getHitsBank(); - int rejCnt = 0; for (int i = 0; i < hitlist.size(); i++) { // if (hitlist.get(i).get_Id() == -1 /*|| hitlist.get(i).get_Id()==0*/) { //PASS1 @@ -115,29 +127,27 @@ public DataBank fillHBHitsBank(DataEvent event, List hitlist) { if (hitlist.get(i).get_Id() == -1 || hitlist.get(i).get_Id()==0) { rejCnt++; continue; - } + } - bank.setShort("id", i-rejCnt, (short) hitlist.get(i).get_Id()); - bank.setShort("status", i-rejCnt, (short) hitlist.get(i).get_QualityFac()); - bank.setByte("superlayer", i-rejCnt, (byte) hitlist.get(i).get_Superlayer()); - bank.setByte("layer", i-rejCnt, (byte) hitlist.get(i).get_Layer()); - bank.setByte("sector", i-rejCnt, (byte) hitlist.get(i).get_Sector()); - bank.setShort("wire", i-rejCnt, (short) hitlist.get(i).get_Wire()); - bank.setFloat("docaError", i-rejCnt, (float) hitlist.get(i).get_DocaErr()); - bank.setFloat("trkDoca", i-rejCnt, (float) hitlist.get(i).get_ClusFitDoca()); - bank.setFloat("LocX", i-rejCnt, (float) hitlist.get(i).get_lX()); - bank.setFloat("LocY", i-rejCnt, (float) hitlist.get(i).get_lY()); - bank.setFloat("X", i-rejCnt, (float) hitlist.get(i).get_X()); - bank.setFloat("Z", i-rejCnt, (float) hitlist.get(i).get_Z()); - bank.setByte("LR", i-rejCnt, (byte) hitlist.get(i).get_LeftRightAmb()); - bank.setShort("clusterID", i-rejCnt, (short) hitlist.get(i).get_AssociatedClusterID()); - bank.setInt("TDC",i-rejCnt,hitlist.get(i).get_TDC()); - bank.setByte("jitter",i, (byte) hitlist.get(i).getJitter()); + bank.setShort(HitBasedTrkg__Hits.id, i-rejCnt, (short) hitlist.get(i).get_Id()); + bank.setShort(HitBasedTrkg__Hits.status, i-rejCnt, (short) hitlist.get(i).get_QualityFac()); + bank.setByte(HitBasedTrkg__Hits.superlayer, i-rejCnt, (byte) hitlist.get(i).get_Superlayer()); + bank.setByte(HitBasedTrkg__Hits.layer, i-rejCnt, (byte) hitlist.get(i).get_Layer()); + bank.setByte(HitBasedTrkg__Hits.sector, i-rejCnt, (byte) hitlist.get(i).get_Sector()); + bank.setShort(HitBasedTrkg__Hits.wire, i-rejCnt, (short) hitlist.get(i).get_Wire()); + bank.setFloat(HitBasedTrkg__Hits.docaError, i-rejCnt, (float) hitlist.get(i).get_DocaErr()); + bank.setFloat(HitBasedTrkg__Hits.trkDoca, i-rejCnt, (float) hitlist.get(i).get_ClusFitDoca()); + bank.setFloat(HitBasedTrkg__Hits.LocX, i-rejCnt, (float) hitlist.get(i).get_lX()); + bank.setFloat(HitBasedTrkg__Hits.LocY, i-rejCnt, (float) hitlist.get(i).get_lY()); + bank.setFloat(HitBasedTrkg__Hits.X, i-rejCnt, (float) hitlist.get(i).get_X()); + bank.setFloat(HitBasedTrkg__Hits.Z, i-rejCnt, (float) hitlist.get(i).get_Z()); + bank.setByte(HitBasedTrkg__Hits.LR, i-rejCnt, (byte) hitlist.get(i).get_LeftRightAmb()); + bank.setShort(HitBasedTrkg__Hits.clusterID, i-rejCnt, (short) hitlist.get(i).get_AssociatedClusterID()); + bank.setInt(HitBasedTrkg__Hits.TDC,i-rejCnt,hitlist.get(i).get_TDC()); + bank.setByte(HitBasedTrkg__Hits.jitter,i, (byte) hitlist.get(i).getJitter()); + } - } - - return bank; - + return bank; } public DataBank fillHBHitsTrkIdBank(DataEvent event, List hitlist) { @@ -162,11 +172,11 @@ public DataBank fillHBHitsTrkIdBank(DataEvent event, List hitlist) { rejCnt++; continue; } - bank.setShort("id", i-rejCnt, (short) hitlist.get(i).get_Id()); - bank.setShort("tid", i-rejCnt, (short) hitlist.get(i).get_AssociatedHBTrackID()); - bank.setFloat("B", i-rejCnt, (float) hitlist.get(i).getB()); - bank.setFloat("TProp", i-rejCnt, (float) hitlist.get(i).getTProp()); - bank.setFloat("TFlight", i-rejCnt, (float) hitlist.get(i).getTFlight()); + bank.setShort(HitBasedTrkg__HBHitTrkId.id, i-rejCnt, (short) hitlist.get(i).get_Id()); + bank.setShort(HitBasedTrkg__HBHitTrkId.tid, i-rejCnt, (short) hitlist.get(i).get_AssociatedHBTrackID()); + bank.setFloat(HitBasedTrkg__HBHitTrkId.B, i-rejCnt, (float) hitlist.get(i).getB()); + bank.setFloat(HitBasedTrkg__HBHitTrkId.TProp, i-rejCnt, (float) hitlist.get(i).getTProp()); + bank.setFloat(HitBasedTrkg__HBHitTrkId.TFlight, i-rejCnt, (float) hitlist.get(i).getTFlight()); // if(i>0 && hitlist.get(i).getSector()==hitlist.get(i-1).getSector() && // hitlist.get(i).get_Superlayer()==hitlist.get(i-1).get_Superlayer() && // hitlist.get(i).get_Layer()==hitlist.get(i-1).get_Layer() && @@ -215,24 +225,24 @@ public DataBank fillHBClustersBank(DataEvent event, List cluslist } double chi2 = 0; - bank.setShort("id", i, (short) cluslist.get(i).get_Id()); + bank.setShort(HitBasedTrkg__Clusters.id, i, (short) cluslist.get(i).get_Id()); int status = 0; if(cluslist.get(i).size()<6) status = 1; - bank.setShort("status", i, (short) status); - bank.setByte("superlayer", i, (byte) cluslist.get(i).get_Superlayer()); - bank.setByte("sector", i, (byte) cluslist.get(i).get_Sector()); + bank.setShort(HitBasedTrkg__Clusters.status, i, (short) status); + bank.setByte(HitBasedTrkg__Clusters.superlayer, i, (byte) cluslist.get(i).get_Superlayer()); + bank.setByte(HitBasedTrkg__Clusters.sector, i, (byte) cluslist.get(i).get_Sector()); - bank.setFloat("avgWire", i, (float) cluslist.get(i).getAvgwire()); - bank.setByte("size", i, (byte) cluslist.get(i).size()); + bank.setFloat(HitBasedTrkg__Clusters.avgWire, i, (float) cluslist.get(i).getAvgwire()); + bank.setByte(HitBasedTrkg__Clusters.size, i, (byte) cluslist.get(i).size()); double fitSlope = cluslist.get(i).get_clusterLineFitSlope(); double fitInterc = cluslist.get(i).get_clusterLineFitIntercept(); - bank.setFloat("fitSlope", i, (float) fitSlope); - bank.setFloat("fitSlopeErr", i, (float) cluslist.get(i).get_clusterLineFitSlopeErr()); - bank.setFloat("fitInterc", i, (float) fitInterc); - bank.setFloat("fitIntercErr", i, (float) cluslist.get(i).get_clusterLineFitInterceptErr()); + bank.setFloat(HitBasedTrkg__Clusters.fitSlope, i, (float) fitSlope); + bank.setFloat(HitBasedTrkg__Clusters.fitSlopeErr, i, (float) cluslist.get(i).get_clusterLineFitSlopeErr()); + bank.setFloat(HitBasedTrkg__Clusters.fitInterc, i, (float) fitInterc); + bank.setFloat(HitBasedTrkg__Clusters.fitIntercErr, i, (float) cluslist.get(i).get_clusterLineFitInterceptErr()); for (int j = 0; j < cluslist.get(i).size(); j++) { if (j < hitIdxArray.length) { @@ -242,7 +252,7 @@ public DataBank fillHBClustersBank(DataEvent event, List cluslist double residual = cluslist.get(i).get(j).get_ClusFitDoca() / (cluslist.get(i).get(j).get_CellSize() / Math.sqrt(12.)); chi2 += residual * residual; } - bank.setFloat("fitChisqProb", i, (float) ProbChi2perNDF.prob(chi2, cluslist.get(i).size() - 2)); + bank.setFloat(HitBasedTrkg__Clusters.fitChisqProb, i, (float) ProbChi2perNDF.prob(chi2, cluslist.get(i).size() - 2)); for (int j = 0; j < hitIdxArray.length; j++) { String hitStrg = "Hit"; @@ -279,25 +289,25 @@ public DataBank fillHBSegmentsBank(DataEvent event, List seglist) { double chi2 = 0; - bank.setShort("id", i, (short) seglist.get(i).get_Id()); - bank.setByte("superlayer", i, (byte) seglist.get(i).get_Superlayer()); - bank.setByte("sector", i, (byte) seglist.get(i).get_Sector()); + bank.setShort(HitBasedTrkg__HBSegments.id, i, (short) seglist.get(i).get_Id()); + bank.setByte(HitBasedTrkg__HBSegments.superlayer, i, (byte) seglist.get(i).get_Superlayer()); + bank.setByte(HitBasedTrkg__HBSegments.sector, i, (byte) seglist.get(i).get_Sector()); FittedCluster cls = seglist.get(i).get_fittedCluster(); - bank.setShort("Cluster_ID", i, (short) cls.get_Id()); + bank.setShort(HitBasedTrkg__HBSegments.Cluster_ID, i, (short) cls.get_Id()); - bank.setFloat("avgWire", i, (float) cls.getAvgwire()); - bank.setByte("size", i, (byte) seglist.get(i).size()); + bank.setFloat(HitBasedTrkg__HBSegments.avgWire, i, (float) cls.getAvgwire()); + bank.setByte(HitBasedTrkg__HBSegments.size, i, (byte) seglist.get(i).size()); - bank.setFloat("fitSlope", i, (float) cls.get_clusterLineFitSlope()); - bank.setFloat("fitSlopeErr", i, (float) cls.get_clusterLineFitSlopeErr()); - bank.setFloat("fitInterc", i, (float) cls.get_clusterLineFitIntercept()); - bank.setFloat("fitIntercErr", i, (float) cls.get_clusterLineFitInterceptErr()); + bank.setFloat(HitBasedTrkg__HBSegments.fitSlope, i, (float) cls.get_clusterLineFitSlope()); + bank.setFloat(HitBasedTrkg__HBSegments.fitSlopeErr, i, (float) cls.get_clusterLineFitSlopeErr()); + bank.setFloat(HitBasedTrkg__HBSegments.fitInterc, i, (float) cls.get_clusterLineFitIntercept()); + bank.setFloat(HitBasedTrkg__HBSegments.fitIntercErr, i, (float) cls.get_clusterLineFitInterceptErr()); - bank.setFloat("SegEndPoint1X", i, (float) seglist.get(i).get_SegmentEndPoints()[0]); - bank.setFloat("SegEndPoint1Z", i, (float) seglist.get(i).get_SegmentEndPoints()[1]); - bank.setFloat("SegEndPoint2X", i, (float) seglist.get(i).get_SegmentEndPoints()[2]); - bank.setFloat("SegEndPoint2Z", i, (float) seglist.get(i).get_SegmentEndPoints()[3]); + bank.setFloat(HitBasedTrkg__HBSegments.SegEndPoint1X, i, (float) seglist.get(i).get_SegmentEndPoints()[0]); + bank.setFloat(HitBasedTrkg__HBSegments.SegEndPoint1Z, i, (float) seglist.get(i).get_SegmentEndPoints()[1]); + bank.setFloat(HitBasedTrkg__HBSegments.SegEndPoint2X, i, (float) seglist.get(i).get_SegmentEndPoints()[2]); + bank.setFloat(HitBasedTrkg__HBSegments.SegEndPoint2Z, i, (float) seglist.get(i).get_SegmentEndPoints()[3]); for (int j = 0; j < seglist.get(i).size(); j++) { if (seglist.get(i).get_Id() == -1) { @@ -310,7 +320,7 @@ public DataBank fillHBSegmentsBank(DataEvent event, List seglist) { double residual = seglist.get(i).get(j).get_ClusFitDoca() / (seglist.get(i).get(j).get_CellSize() / Math.sqrt(12.)); chi2 += residual * residual; } - bank.setFloat("fitChisqProb", i, (float) ProbChi2perNDF.prob(chi2, seglist.get(i).size() - 2)); + bank.setFloat(HitBasedTrkg__HBSegments.fitChisqProb, i, (float) ProbChi2perNDF.prob(chi2, seglist.get(i).size() - 2)); for (int j = 0; j < hitIdxArray.length; j++) { String hitStrg = "Hit"; @@ -343,24 +353,24 @@ public DataBank fillHBCrossesBank(DataEvent event, List crosslist) { int index=0; for (Cross aCrosslist : crosslist) { if (aCrosslist.get_Id() != -1) { - bank.setShort("id", index, (short) aCrosslist.get_Id()); - bank.setShort("status", index, (short) 0); - bank.setByte("sector", index, (byte) aCrosslist.get_Sector()); - bank.setByte("region", index, (byte) aCrosslist.get_Region()); - bank.setFloat("x", index, (float) aCrosslist.get_Point().x()); - bank.setFloat("y", index, (float) aCrosslist.get_Point().y()); - bank.setFloat("z", index, (float) aCrosslist.get_Point().z()); - bank.setFloat("err_x", index, (float) aCrosslist.get_PointErr().x()); - bank.setFloat("err_y", index, (float) aCrosslist.get_PointErr().y()); - bank.setFloat("err_z", index, (float) aCrosslist.get_PointErr().z()); - bank.setFloat("ux", index, (float) aCrosslist.get_Dir().x()); - bank.setFloat("uy", index, (float) aCrosslist.get_Dir().y()); - bank.setFloat("uz", index, (float) aCrosslist.get_Dir().z()); - bank.setFloat("err_ux", index, (float) aCrosslist.get_DirErr().x()); - bank.setFloat("err_uy", index, (float) aCrosslist.get_DirErr().y()); - bank.setFloat("err_uz", index, (float) aCrosslist.get_DirErr().z()); - bank.setShort("Segment1_ID", index, (short) aCrosslist.get_Segment1().get_Id()); - bank.setShort("Segment2_ID", index, (short) aCrosslist.get_Segment2().get_Id()); + bank.setShort(HitBasedTrkg__HBCrosses.id, index, (short) aCrosslist.get_Id()); + bank.setShort(HitBasedTrkg__HBCrosses.status, index, (short) 0); + bank.setByte(HitBasedTrkg__HBCrosses.sector, index, (byte) aCrosslist.get_Sector()); + bank.setByte(HitBasedTrkg__HBCrosses.region, index, (byte) aCrosslist.get_Region()); + bank.setFloat(HitBasedTrkg__HBCrosses.x, index, (float) aCrosslist.get_Point().x()); + bank.setFloat(HitBasedTrkg__HBCrosses.y, index, (float) aCrosslist.get_Point().y()); + bank.setFloat(HitBasedTrkg__HBCrosses.z, index, (float) aCrosslist.get_Point().z()); + bank.setFloat(HitBasedTrkg__HBCrosses.err_x, index, (float) aCrosslist.get_PointErr().x()); + bank.setFloat(HitBasedTrkg__HBCrosses.err_y, index, (float) aCrosslist.get_PointErr().y()); + bank.setFloat(HitBasedTrkg__HBCrosses.err_z, index, (float) aCrosslist.get_PointErr().z()); + bank.setFloat(HitBasedTrkg__HBCrosses.ux, index, (float) aCrosslist.get_Dir().x()); + bank.setFloat(HitBasedTrkg__HBCrosses.uy, index, (float) aCrosslist.get_Dir().y()); + bank.setFloat(HitBasedTrkg__HBCrosses.uz, index, (float) aCrosslist.get_Dir().z()); + bank.setFloat(HitBasedTrkg__HBCrosses.err_ux, index, (float) aCrosslist.get_DirErr().x()); + bank.setFloat(HitBasedTrkg__HBCrosses.err_uy, index, (float) aCrosslist.get_DirErr().y()); + bank.setFloat(HitBasedTrkg__HBCrosses.err_uz, index, (float) aCrosslist.get_DirErr().z()); + bank.setShort(HitBasedTrkg__HBCrosses.Segment1_ID, index, (short) aCrosslist.get_Segment1().get_Id()); + bank.setShort(HitBasedTrkg__HBCrosses.Segment2_ID, index, (short) aCrosslist.get_Segment2().get_Id()); index++; } } @@ -372,42 +382,42 @@ public DataBank fillHBTracksBank(DataEvent event, List candlist) { DataBank bank = event.createBank(name, candlist.size()); for (int i = 0; i < candlist.size(); i++) { - bank.setShort("id", i, (short) candlist.get(i).get_Id()); - bank.setByte("sector", i, (byte) candlist.get(i).getSector()); - bank.setByte("q", i, (byte) candlist.get(i).get_Q()); - //bank.setShort("status", i, (short) (100+candlist.get(i).get_Status()*10+candlist.get(i).get_MissingSuperlayer())); - bank.setShort("status", i, (short) candlist.get(i).getBitStatus()); + bank.setShort(HitBasedTrkg__HBTracks.id, i, (short) candlist.get(i).get_Id()); + bank.setByte(HitBasedTrkg__HBTracks.sector, i, (byte) candlist.get(i).getSector()); + bank.setByte(HitBasedTrkg__HBTracks.q, i, (byte) candlist.get(i).get_Q()); + //bank.setShort(HitBasedTrkg__HBTracks.status, i, (short) (100+candlist.get(i).get_Status()*10+candlist.get(i).get_MissingSuperlayer())); + bank.setShort(HitBasedTrkg__HBTracks.status, i, (short) candlist.get(i).getBitStatus()); if(candlist.get(i).get_PreRegion1CrossPoint()!=null) { - bank.setFloat("c1_x", i, (float) candlist.get(i).get_PreRegion1CrossPoint().x()); - bank.setFloat("c1_y", i, (float) candlist.get(i).get_PreRegion1CrossPoint().y()); - bank.setFloat("c1_z", i, (float) candlist.get(i).get_PreRegion1CrossPoint().z()); - bank.setFloat("c1_ux", i, (float) candlist.get(i).get_PreRegion1CrossDir().x()); - bank.setFloat("c1_uy", i, (float) candlist.get(i).get_PreRegion1CrossDir().y()); - bank.setFloat("c1_uz", i, (float) candlist.get(i).get_PreRegion1CrossDir().z()); + bank.setFloat(HitBasedTrkg__HBTracks.c1_x, i, (float) candlist.get(i).get_PreRegion1CrossPoint().x()); + bank.setFloat(HitBasedTrkg__HBTracks.c1_y, i, (float) candlist.get(i).get_PreRegion1CrossPoint().y()); + bank.setFloat(HitBasedTrkg__HBTracks.c1_z, i, (float) candlist.get(i).get_PreRegion1CrossPoint().z()); + bank.setFloat(HitBasedTrkg__HBTracks.c1_ux, i, (float) candlist.get(i).get_PreRegion1CrossDir().x()); + bank.setFloat(HitBasedTrkg__HBTracks.c1_uy, i, (float) candlist.get(i).get_PreRegion1CrossDir().y()); + bank.setFloat(HitBasedTrkg__HBTracks.c1_uz, i, (float) candlist.get(i).get_PreRegion1CrossDir().z()); } if(candlist.get(i).get_PostRegion3CrossPoint()!=null) { - bank.setFloat("c3_x", i, (float) candlist.get(i).get_PostRegion3CrossPoint().x()); - bank.setFloat("c3_y", i, (float) candlist.get(i).get_PostRegion3CrossPoint().y()); - bank.setFloat("c3_z", i, (float) candlist.get(i).get_PostRegion3CrossPoint().z()); - bank.setFloat("c3_ux", i, (float) candlist.get(i).get_PostRegion3CrossDir().x()); - bank.setFloat("c3_uy", i, (float) candlist.get(i).get_PostRegion3CrossDir().y()); - bank.setFloat("c3_uz", i, (float) candlist.get(i).get_PostRegion3CrossDir().z()); + bank.setFloat(HitBasedTrkg__HBTracks.c3_x, i, (float) candlist.get(i).get_PostRegion3CrossPoint().x()); + bank.setFloat(HitBasedTrkg__HBTracks.c3_y, i, (float) candlist.get(i).get_PostRegion3CrossPoint().y()); + bank.setFloat(HitBasedTrkg__HBTracks.c3_z, i, (float) candlist.get(i).get_PostRegion3CrossPoint().z()); + bank.setFloat(HitBasedTrkg__HBTracks.c3_ux, i, (float) candlist.get(i).get_PostRegion3CrossDir().x()); + bank.setFloat(HitBasedTrkg__HBTracks.c3_uy, i, (float) candlist.get(i).get_PostRegion3CrossDir().y()); + bank.setFloat(HitBasedTrkg__HBTracks.c3_uz, i, (float) candlist.get(i).get_PostRegion3CrossDir().z()); } if(candlist.get(i).get_Region1TrackX()!=null) { - bank.setFloat("t1_x", i, (float) candlist.get(i).get_Region1TrackX().x()); - bank.setFloat("t1_y", i, (float) candlist.get(i).get_Region1TrackX().y()); - bank.setFloat("t1_z", i, (float) candlist.get(i).get_Region1TrackX().z()); - bank.setFloat("t1_px", i, (float) candlist.get(i).get_Region1TrackP().x()); - bank.setFloat("t1_py", i, (float) candlist.get(i).get_Region1TrackP().y()); - bank.setFloat("t1_pz", i, (float) candlist.get(i).get_Region1TrackP().z()); - } - bank.setFloat("pathlength", i, (float) candlist.get(i).get_TotPathLen()); - bank.setFloat("Vtx0_x", i, (float) candlist.get(i).get_Vtx0().x()); - bank.setFloat("Vtx0_y", i, (float) candlist.get(i).get_Vtx0().y()); - bank.setFloat("Vtx0_z", i, (float) candlist.get(i).get_Vtx0().z()); - bank.setFloat("p0_x", i, (float) candlist.get(i).get_pAtOrig().x()); - bank.setFloat("p0_y", i, (float) candlist.get(i).get_pAtOrig().y()); - bank.setFloat("p0_z", i, (float) candlist.get(i).get_pAtOrig().z()); + bank.setFloat(HitBasedTrkg__HBTracks.t1_x, i, (float) candlist.get(i).get_Region1TrackX().x()); + bank.setFloat(HitBasedTrkg__HBTracks.t1_y, i, (float) candlist.get(i).get_Region1TrackX().y()); + bank.setFloat(HitBasedTrkg__HBTracks.t1_z, i, (float) candlist.get(i).get_Region1TrackX().z()); + bank.setFloat(HitBasedTrkg__HBTracks.t1_px, i, (float) candlist.get(i).get_Region1TrackP().x()); + bank.setFloat(HitBasedTrkg__HBTracks.t1_py, i, (float) candlist.get(i).get_Region1TrackP().y()); + bank.setFloat(HitBasedTrkg__HBTracks.t1_pz, i, (float) candlist.get(i).get_Region1TrackP().z()); + } + bank.setFloat(HitBasedTrkg__HBTracks.pathlength, i, (float) candlist.get(i).get_TotPathLen()); + bank.setFloat(HitBasedTrkg__HBTracks.Vtx0_x, i, (float) candlist.get(i).get_Vtx0().x()); + bank.setFloat(HitBasedTrkg__HBTracks.Vtx0_y, i, (float) candlist.get(i).get_Vtx0().y()); + bank.setFloat(HitBasedTrkg__HBTracks.Vtx0_z, i, (float) candlist.get(i).get_Vtx0().z()); + bank.setFloat(HitBasedTrkg__HBTracks.p0_x, i, (float) candlist.get(i).get_pAtOrig().x()); + bank.setFloat(HitBasedTrkg__HBTracks.p0_y, i, (float) candlist.get(i).get_pAtOrig().y()); + bank.setFloat(HitBasedTrkg__HBTracks.p0_z, i, (float) candlist.get(i).get_pAtOrig().z()); //fill associated IDs for(int r = 0; r < 3; r++) { bank.setShort("Cross"+String.valueOf(r+1)+"_ID", @@ -430,16 +440,15 @@ public DataBank fillHBTracksBank(DataEvent event, List candlist) { i, (short) candlist.get(i).getSingleSuperlayer().get_fittedCluster().get_Id()); } - bank.setFloat("chi2", i, (float) candlist.get(i).get_FitChi2()); - bank.setShort("ndf", i, (short) candlist.get(i).get_FitNDF()); - bank.setFloat("x", i, (float) candlist.get(i).getFinalStateVec().x()); - bank.setFloat("y", i, (float) candlist.get(i).getFinalStateVec().y()); - bank.setFloat("z", i, (float) candlist.get(i).getFinalStateVec().getZ()); - bank.setFloat("tx", i, (float) candlist.get(i).getFinalStateVec().tanThetaX()); - bank.setFloat("ty", i, (float) candlist.get(i).getFinalStateVec().tanThetaY()); + bank.setFloat(HitBasedTrkg__HBTracks.chi2, i, (float) candlist.get(i).get_FitChi2()); + bank.setShort(HitBasedTrkg__HBTracks.ndf, i, (short) candlist.get(i).get_FitNDF()); + bank.setFloat(HitBasedTrkg__HBTracks.x, i, (float) candlist.get(i).getFinalStateVec().x()); + bank.setFloat(HitBasedTrkg__HBTracks.y, i, (float) candlist.get(i).getFinalStateVec().y()); + bank.setFloat(HitBasedTrkg__HBTracks.z, i, (float) candlist.get(i).getFinalStateVec().getZ()); + bank.setFloat(HitBasedTrkg__HBTracks.tx, i, (float) candlist.get(i).getFinalStateVec().tanThetaX()); + bank.setFloat(HitBasedTrkg__HBTracks.ty, i, (float) candlist.get(i).getFinalStateVec().tanThetaY()); } - //bank.show(); return bank; } @@ -458,54 +467,52 @@ private DataBank fillTrackCovMatLabBank(DataEvent event, List 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()); + bank.setShort(TimeBasedTrkg__TBCovMat.id, i, (short) candlist.get(i).get_Id()); 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(TimeBasedTrkg__TBCovMat.C11, i, (float) CM[0][0]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C12, i, (float) CM[0][1]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C13, i, (float) CM[0][2]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C14, i, (float) CM[0][3]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C15, i, (float) CM[0][4]); + bank.setFloat(TimeBasedTrkg__TBCovMat.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(TimeBasedTrkg__TBCovMat.C21, i, (float) CM[1][0]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C22, i, (float) CM[1][1]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C23, i, (float) CM[1][2]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C24, i, (float) CM[1][3]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C25, i, (float) CM[1][4]); + bank.setFloat(TimeBasedTrkg__TBCovMat.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(TimeBasedTrkg__TBCovMat.C31, i, (float) CM[2][0]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C32, i, (float) CM[2][1]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C33, i, (float) CM[2][2]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C34, i, (float) CM[2][3]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C35, i, (float) CM[2][4]); + bank.setFloat(TimeBasedTrkg__TBCovMat.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(TimeBasedTrkg__TBCovMat.C41, i, (float) CM[3][0]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C42, i, (float) CM[3][1]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C43, i, (float) CM[3][2]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C44, i, (float) CM[3][3]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C45, i, (float) CM[3][4]); + bank.setFloat(TimeBasedTrkg__TBCovMat.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(TimeBasedTrkg__TBCovMat.C51, i, (float) CM[4][0]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C52, i, (float) CM[4][1]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C53, i, (float) CM[4][2]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C54, i, (float) CM[4][3]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C55, i, (float) CM[4][4]); + bank.setFloat(TimeBasedTrkg__TBCovMat.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.setFloat(TimeBasedTrkg__TBCovMat.C61, i, (float) CM[5][0]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C62, i, (float) CM[5][1]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C63, i, (float) CM[5][2]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C64, i, (float) CM[5][3]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C65, i, (float) CM[5][4]); + bank.setFloat(TimeBasedTrkg__TBCovMat.C66, i, (float) CM[5][5]); } } - //bank.show(); return bank; } @@ -525,61 +532,61 @@ private DataBank fillTBHitsBank(DataEvent event, List hitlist) { } if(hitlist.get(i).get_TrkResid()==999) hitlist.get(i).set_AssociatedTBTrackID(-1); - bank.setShort("id", i, (short) hitlist.get(i).get_Id()); - bank.setShort("status", i, (short) hitlist.get(i).get_QualityFac()); - bank.setByte("superlayer", i, (byte) hitlist.get(i).get_Superlayer()); - bank.setByte("layer", i, (byte) hitlist.get(i).get_Layer()); - bank.setByte("sector", i, (byte) hitlist.get(i).get_Sector()); - bank.setShort("wire", i, (short) hitlist.get(i).get_Wire()); + bank.setShort(TimeBasedTrkg__TBHits.id, i, (short) hitlist.get(i).get_Id()); + bank.setShort(TimeBasedTrkg__TBHits.status, i, (short) hitlist.get(i).get_QualityFac()); + bank.setByte(TimeBasedTrkg__TBHits.superlayer, i, (byte) hitlist.get(i).get_Superlayer()); + bank.setByte(TimeBasedTrkg__TBHits.layer, i, (byte) hitlist.get(i).get_Layer()); + bank.setByte(TimeBasedTrkg__TBHits.sector, i, (byte) hitlist.get(i).get_Sector()); + bank.setShort(TimeBasedTrkg__TBHits.wire, i, (short) hitlist.get(i).get_Wire()); - bank.setFloat("X", i, (float) hitlist.get(i).get_X()); - bank.setFloat("Z", i, (float) hitlist.get(i).get_Z()); - bank.setByte("LR", i, (byte) hitlist.get(i).get_LeftRightAmb()); + bank.setFloat(TimeBasedTrkg__TBHits.X, i, (float) hitlist.get(i).get_X()); + bank.setFloat(TimeBasedTrkg__TBHits.Z, i, (float) hitlist.get(i).get_Z()); + bank.setByte(TimeBasedTrkg__TBHits.LR, i, (byte) hitlist.get(i).get_LeftRightAmb()); if(bank.getDescriptor().hasEntry("time")){ - bank.setFloat("time", i, (float) (hitlist.get(i).get_Time() - hitlist.get(i).get_DeltaTimeBeta())); + bank.setFloat(TimeBasedTrkg__TBHits.time, i, (float) (hitlist.get(i).get_Time() - hitlist.get(i).get_DeltaTimeBeta())); } if(bank.getDescriptor().hasEntry("tBeta")){ - bank.setFloat("tBeta", i, (float) hitlist.get(i).get_DeltaTimeBeta()); + bank.setFloat(TimeBasedTrkg__TBHits.tBeta, i, (float) hitlist.get(i).get_DeltaTimeBeta()); } if(bank.getDescriptor().hasEntry("dDoca")){ - bank.setFloat("dDoca", i, (float) hitlist.get(i).get_DeltaDocaBeta()); + bank.setFloat(TimeBasedTrkg__TBHits.dDoca, i, (float) hitlist.get(i).get_DeltaDocaBeta()); } if(bank.getDescriptor().hasEntry("fitResidual")){ - bank.setFloat("fitResidual", i, (float) hitlist.get(i).get_TrkResid()); + bank.setFloat(TimeBasedTrkg__TBHits.fitResidual, i, (float) hitlist.get(i).get_TrkResid()); } if(bank.getDescriptor().hasEntry("Alpha")){ - bank.setFloat("Alpha", i, (float) hitlist.get(i).getAlpha()); + bank.setFloat(TimeBasedTrkg__TBHits.Alpha, i, (float) hitlist.get(i).getAlpha()); } - bank.setFloat("doca", i, (float) hitlist.get(i).get_Doca()); - bank.setFloat("docaError", i, (float) hitlist.get(i).get_DocaErr()); - bank.setFloat("trkDoca", i, (float) hitlist.get(i).get_ClusFitDoca()); + bank.setFloat(TimeBasedTrkg__TBHits.doca, i, (float) hitlist.get(i).get_Doca()); + bank.setFloat(TimeBasedTrkg__TBHits.docaError, i, (float) hitlist.get(i).get_DocaErr()); + bank.setFloat(TimeBasedTrkg__TBHits.trkDoca, i, (float) hitlist.get(i).get_ClusFitDoca()); - bank.setShort("clusterID", i, (short) hitlist.get(i).get_AssociatedClusterID()); - bank.setByte("trkID", i, (byte) hitlist.get(i).get_AssociatedTBTrackID()); - bank.setFloat("timeResidual", i, (float) hitlist.get(i).get_TimeResidual()); - bank.setFloat("DAFWeight", i, (float) hitlist.get(i).getDAFWeight()); + bank.setShort(TimeBasedTrkg__TBHits.clusterID, i, (short) hitlist.get(i).get_AssociatedClusterID()); + bank.setByte(TimeBasedTrkg__TBHits.trkID, i, (byte) hitlist.get(i).get_AssociatedTBTrackID()); + bank.setFloat(TimeBasedTrkg__TBHits.timeResidual, i, (float) hitlist.get(i).get_TimeResidual()); + bank.setFloat(TimeBasedTrkg__TBHits.DAFWeight, i, (float) hitlist.get(i).getDAFWeight()); - bank.setInt("TDC",i,hitlist.get(i).get_TDC()); - bank.setByte("jitter",i, (byte) hitlist.get(i).getJitter()); - bank.setFloat("B", i, (float) hitlist.get(i).getB()); - bank.setFloat("TProp", i, (float) hitlist.get(i).getTProp()); - bank.setFloat("TFlight", i, (float) hitlist.get(i).getTFlight()); - bank.setFloat("T0", i, (float) hitlist.get(i).getT0()); - bank.setFloat("TStart", i, (float) hitlist.get(i).getTStart()); + bank.setInt(TimeBasedTrkg__TBHits.TDC,i,hitlist.get(i).get_TDC()); + bank.setByte(TimeBasedTrkg__TBHits.jitter,i, (byte) hitlist.get(i).getJitter()); + bank.setFloat(TimeBasedTrkg__TBHits.B, i, (float) hitlist.get(i).getB()); + bank.setFloat(TimeBasedTrkg__TBHits.TProp, i, (float) hitlist.get(i).getTProp()); + bank.setFloat(TimeBasedTrkg__TBHits.TFlight, i, (float) hitlist.get(i).getTFlight()); + bank.setFloat(TimeBasedTrkg__TBHits.T0, i, (float) hitlist.get(i).getT0()); + bank.setFloat(TimeBasedTrkg__TBHits.TStart, i, (float) hitlist.get(i).getTStart()); if(bank.getDescriptor().hasEntry("beta")){ - bank.setFloat("beta", i, (float) hitlist.get(i).get_Beta()); + bank.setFloat(TimeBasedTrkg__TBHits.beta, i, (float) hitlist.get(i).get_Beta()); } if(hitlist.get(i).get_AssociatedTBTrackID()>-1 && !event.hasBank("MC::Particle")) { if(hitlist.get(i).getSignalPropagTimeAlongWire()==0 || hitlist.get(i).get_AssociatedTBTrackID()<1) { - bank.setFloat("TProp", i, (float) hitlist.get(i).getTProp()); //old value if track fit failed + bank.setFloat(TimeBasedTrkg__TBHits.TProp, i, (float) hitlist.get(i).getTProp()); //old value if track fit failed } else { - bank.setFloat("TProp", i, (float) hitlist.get(i).getSignalPropagTimeAlongWire()); //new calculated value + bank.setFloat(TimeBasedTrkg__TBHits.TProp, i, (float) hitlist.get(i).getSignalPropagTimeAlongWire()); //new calculated value } if(hitlist.get(i).getSignalTimeOfFlight()==0 || hitlist.get(i).get_AssociatedTBTrackID()<1) { - bank.setFloat("TFlight", i, (float) hitlist.get(i).getTFlight()); + bank.setFloat(TimeBasedTrkg__TBHits.TFlight, i, (float) hitlist.get(i).getTFlight()); } else { - bank.setFloat("TFlight", i, (float) hitlist.get(i).getSignalTimeOfFlight()); + bank.setFloat(TimeBasedTrkg__TBHits.TFlight, i, (float) hitlist.get(i).getSignalTimeOfFlight()); } } @@ -608,24 +615,21 @@ private DataBank fillTBClustersBank(DataEvent event, List cluslis } double chi2 = 0; - bank.setShort("id", i, (short) cluslist.get(i).get_Id()); -// int status =0; -// if(cluslist.get(i).size()<6) -// status = 1; - bank.setShort("status", i, (short) 0); - bank.setByte("superlayer", i, (byte) cluslist.get(i).get_Superlayer()); - bank.setByte("sector", i, (byte) cluslist.get(i).get_Sector()); + bank.setShort(TimeBasedTrkg__TBClusters.id, i, (short) cluslist.get(i).get_Id()); + bank.setShort(TimeBasedTrkg__TBClusters.status, i, (short) 0); + bank.setByte(TimeBasedTrkg__TBClusters.superlayer, i, (byte) cluslist.get(i).get_Superlayer()); + bank.setByte(TimeBasedTrkg__TBClusters.sector, i, (byte) cluslist.get(i).get_Sector()); - bank.setFloat("avgWire", i, (float) cluslist.get(i).getAvgwire()); - bank.setByte("size", i, (byte) cluslist.get(i).size()); + bank.setFloat(TimeBasedTrkg__TBClusters.avgWire, i, (float) cluslist.get(i).getAvgwire()); + bank.setByte(TimeBasedTrkg__TBClusters.size, i, (byte) cluslist.get(i).size()); double fitSlope = cluslist.get(i).get_clusterLineFitSlope(); double fitInterc = cluslist.get(i).get_clusterLineFitIntercept(); - bank.setFloat("fitSlope", i, (float) fitSlope); - bank.setFloat("fitSlopeErr", i, (float) cluslist.get(i).get_clusterLineFitSlopeErr()); - bank.setFloat("fitInterc", i, (float) fitInterc); - bank.setFloat("fitIntercErr", i, (float) cluslist.get(i).get_clusterLineFitInterceptErr()); + bank.setFloat(TimeBasedTrkg__TBClusters.fitSlope, i, (float) fitSlope); + bank.setFloat(TimeBasedTrkg__TBClusters.fitSlopeErr, i, (float) cluslist.get(i).get_clusterLineFitSlopeErr()); + bank.setFloat(TimeBasedTrkg__TBClusters.fitInterc, i, (float) fitInterc); + bank.setFloat(TimeBasedTrkg__TBClusters.fitIntercErr, i, (float) cluslist.get(i).get_clusterLineFitInterceptErr()); for (int j = 0; j < cluslist.get(i).size(); j++) { if (j < hitIdxArray.length) { @@ -635,7 +639,7 @@ private DataBank fillTBClustersBank(DataEvent event, List cluslis double residual = cluslist.get(i).get(j).get_ClusFitDoca() / (cluslist.get(i).get(j).get_CellSize() / Math.sqrt(12.)); chi2 += residual * residual; } - bank.setFloat("fitChisqProb", i, (float) ProbChi2perNDF.prob(chi2, cluslist.get(i).size() - 2)); + bank.setFloat(TimeBasedTrkg__TBClusters.fitChisqProb, i, (float) ProbChi2perNDF.prob(chi2, cluslist.get(i).size() - 2)); for (int j = 0; j < hitIdxArray.length; j++) { String hitStrg = "Hit"; @@ -646,7 +650,6 @@ private DataBank fillTBClustersBank(DataEvent event, List cluslis } return bank; - } /** @@ -671,25 +674,25 @@ private DataBank fillTBSegmentsBank(DataEvent event, List seglist) { double chi2 = 0; - bank.setShort("id", i, (short) seglist.get(i).get_Id()); - bank.setShort("status", i, (short) seglist.get(i).get_Status()); - bank.setByte("superlayer", i, (byte) seglist.get(i).get_Superlayer()); - bank.setByte("sector", i, (byte) seglist.get(i).get_Sector()); + bank.setShort(TimeBasedTrkg__TBSegments.id, i, (short) seglist.get(i).get_Id()); + bank.setShort(TimeBasedTrkg__TBSegments.status, i, (short) seglist.get(i).get_Status()); + bank.setByte(TimeBasedTrkg__TBSegments.superlayer, i, (byte) seglist.get(i).get_Superlayer()); + bank.setByte(TimeBasedTrkg__TBSegments.sector, i, (byte) seglist.get(i).get_Sector()); FittedCluster cls = seglist.get(i).get_fittedCluster(); - bank.setShort("Cluster_ID", i, (short) cls.get_Id()); - - bank.setFloat("avgWire", i, (float) cls.getAvgwire()); - bank.setByte("size", i, (byte) seglist.get(i).size()); - bank.setFloat("fitSlope", i, (float) cls.get_clusterLineFitSlope()); - bank.setFloat("fitSlopeErr", i, (float) cls.get_clusterLineFitSlopeErr()); - bank.setFloat("fitInterc", i, (float) cls.get_clusterLineFitIntercept()); - bank.setFloat("fitIntercErr", i, (float) cls.get_clusterLineFitInterceptErr()); - bank.setFloat("resiSum", i, (float) seglist.get(i).get_ResiSum()); - bank.setFloat("timeSum", i, (float) seglist.get(i).get_TimeSum()); - bank.setFloat("SegEndPoint1X", i, (float) seglist.get(i).get_SegmentEndPoints()[0]); - bank.setFloat("SegEndPoint1Z", i, (float) seglist.get(i).get_SegmentEndPoints()[1]); - bank.setFloat("SegEndPoint2X", i, (float) seglist.get(i).get_SegmentEndPoints()[2]); - bank.setFloat("SegEndPoint2Z", i, (float) seglist.get(i).get_SegmentEndPoints()[3]); + bank.setShort(TimeBasedTrkg__TBSegments.Cluster_ID, i, (short) cls.get_Id()); + + bank.setFloat(TimeBasedTrkg__TBSegments.avgWire, i, (float) cls.getAvgwire()); + bank.setByte(TimeBasedTrkg__TBSegments.size, i, (byte) seglist.get(i).size()); + bank.setFloat(TimeBasedTrkg__TBSegments.fitSlope, i, (float) cls.get_clusterLineFitSlope()); + bank.setFloat(TimeBasedTrkg__TBSegments.fitSlopeErr, i, (float) cls.get_clusterLineFitSlopeErr()); + bank.setFloat(TimeBasedTrkg__TBSegments.fitInterc, i, (float) cls.get_clusterLineFitIntercept()); + bank.setFloat(TimeBasedTrkg__TBSegments.fitIntercErr, i, (float) cls.get_clusterLineFitInterceptErr()); + bank.setFloat(TimeBasedTrkg__TBSegments.resiSum, i, (float) seglist.get(i).get_ResiSum()); + bank.setFloat(TimeBasedTrkg__TBSegments.timeSum, i, (float) seglist.get(i).get_TimeSum()); + bank.setFloat(TimeBasedTrkg__TBSegments.SegEndPoint1X, i, (float) seglist.get(i).get_SegmentEndPoints()[0]); + bank.setFloat(TimeBasedTrkg__TBSegments.SegEndPoint1Z, i, (float) seglist.get(i).get_SegmentEndPoints()[1]); + bank.setFloat(TimeBasedTrkg__TBSegments.SegEndPoint2X, i, (float) seglist.get(i).get_SegmentEndPoints()[2]); + bank.setFloat(TimeBasedTrkg__TBSegments.SegEndPoint2Z, i, (float) seglist.get(i).get_SegmentEndPoints()[3]); for (int j = 0; j < seglist.get(i).size(); j++) { if (j < hitIdxArray.length) { @@ -699,7 +702,7 @@ private DataBank fillTBSegmentsBank(DataEvent event, List seglist) { double residual = seglist.get(i).get(j).get_ClusFitDoca() / (seglist.get(i).get(j).get_CellSize() / Math.sqrt(12.)); chi2 += residual * residual; } - bank.setFloat("fitChisqProb", i, (float) ProbChi2perNDF.prob(chi2, seglist.get(i).size() - 2)); + bank.setFloat(TimeBasedTrkg__TBSegments.fitChisqProb, i, (float) ProbChi2perNDF.prob(chi2, seglist.get(i).size() - 2)); for (int j = 0; j < hitIdxArray.length; j++) { String hitStrg = "Hit"; @@ -731,24 +734,24 @@ private DataBank fillTBCrossesBank(DataEvent event, List crosslist) { int index=0; for (Cross aCrosslist : crosslist) { if (aCrosslist.get_Id() != -1) { - bank.setShort("id", index, (short) aCrosslist.get_Id()); - bank.setShort("status", index, (short) (aCrosslist.get_Segment1().get_Status() + aCrosslist.get_Segment2().get_Status())); - bank.setByte("sector", index, (byte) aCrosslist.get_Sector()); - bank.setByte("region", index, (byte) aCrosslist.get_Region()); - bank.setFloat("x", index, (float) aCrosslist.get_Point().x()); - bank.setFloat("y", index, (float) aCrosslist.get_Point().y()); - bank.setFloat("z", index, (float) aCrosslist.get_Point().z()); - bank.setFloat("err_x", index, (float) aCrosslist.get_PointErr().x()); - bank.setFloat("err_y", index, (float) aCrosslist.get_PointErr().y()); - bank.setFloat("err_z", index, (float) aCrosslist.get_PointErr().z()); - bank.setFloat("ux", index, (float) aCrosslist.get_Dir().x()); - bank.setFloat("uy", index, (float) aCrosslist.get_Dir().y()); - bank.setFloat("uz", index, (float) aCrosslist.get_Dir().z()); - bank.setFloat("err_ux", index, (float) aCrosslist.get_DirErr().x()); - bank.setFloat("err_uy", index, (float) aCrosslist.get_DirErr().y()); - bank.setFloat("err_uz", index, (float) aCrosslist.get_DirErr().z()); - bank.setShort("Segment1_ID", index, (short) aCrosslist.get_Segment1().get_Id()); - bank.setShort("Segment2_ID", index, (short) aCrosslist.get_Segment2().get_Id()); + bank.setShort(TimeBasedTrkg__TBCrosses.id, index, (short) aCrosslist.get_Id()); + bank.setShort(TimeBasedTrkg__TBCrosses.status, index, (short) (aCrosslist.get_Segment1().get_Status() + aCrosslist.get_Segment2().get_Status())); + bank.setByte(TimeBasedTrkg__TBCrosses.sector, index, (byte) aCrosslist.get_Sector()); + bank.setByte(TimeBasedTrkg__TBCrosses.region, index, (byte) aCrosslist.get_Region()); + bank.setFloat(TimeBasedTrkg__TBCrosses.x, index, (float) aCrosslist.get_Point().x()); + bank.setFloat(TimeBasedTrkg__TBCrosses.y, index, (float) aCrosslist.get_Point().y()); + bank.setFloat(TimeBasedTrkg__TBCrosses.z, index, (float) aCrosslist.get_Point().z()); + bank.setFloat(TimeBasedTrkg__TBCrosses.err_x, index, (float) aCrosslist.get_PointErr().x()); + bank.setFloat(TimeBasedTrkg__TBCrosses.err_y, index, (float) aCrosslist.get_PointErr().y()); + bank.setFloat(TimeBasedTrkg__TBCrosses.err_z, index, (float) aCrosslist.get_PointErr().z()); + bank.setFloat(TimeBasedTrkg__TBCrosses.ux, index, (float) aCrosslist.get_Dir().x()); + bank.setFloat(TimeBasedTrkg__TBCrosses.uy, index, (float) aCrosslist.get_Dir().y()); + bank.setFloat(TimeBasedTrkg__TBCrosses.uz, index, (float) aCrosslist.get_Dir().z()); + bank.setFloat(TimeBasedTrkg__TBCrosses.err_ux, index, (float) aCrosslist.get_DirErr().x()); + bank.setFloat(TimeBasedTrkg__TBCrosses.err_uy, index, (float) aCrosslist.get_DirErr().y()); + bank.setFloat(TimeBasedTrkg__TBCrosses.err_uz, index, (float) aCrosslist.get_DirErr().z()); + bank.setShort(TimeBasedTrkg__TBCrosses.Segment1_ID, index, (short) aCrosslist.get_Segment1().get_Id()); + bank.setShort(TimeBasedTrkg__TBCrosses.Segment2_ID, index, (short) aCrosslist.get_Segment2().get_Id()); index++; } } @@ -768,42 +771,42 @@ private DataBank fillTBTracksBank(DataEvent event, List candlist) { bank.setShort("id", i, (short) candlist.get(i).get_Id()); //bank.setShort("status", i, (short) (100+candlist.get(i).get_Status()*10+candlist.get(i).get_MissingSuperlayer())); - bank.setShort("status", i, (short) candlist.get(i).getBitStatus()); - bank.setByte("sector", i, (byte) candlist.get(i).getSector()); - bank.setByte("q", i, (byte) candlist.get(i).get_Q()); - //bank.setFloat("p", i, (float) candlist.get(i).get_P()); + bank.setShort(TimeBasedTrkg__TBTracks.status, i, (short) candlist.get(i).getBitStatus()); + bank.setByte(TimeBasedTrkg__TBTracks.sector, i, (byte) candlist.get(i).getSector()); + bank.setByte(TimeBasedTrkg__TBTracks.q, i, (byte) candlist.get(i).get_Q()); + //bank.setFloat(TimeBasedTrkg__TBTracks.p, i, (float) candlist.get(i).get_P()); if(candlist.get(i).get_PreRegion1CrossPoint()!=null) { - bank.setFloat("c1_x", i, (float) candlist.get(i).get_PreRegion1CrossPoint().x()); - bank.setFloat("c1_y", i, (float) candlist.get(i).get_PreRegion1CrossPoint().y()); - bank.setFloat("c1_z", i, (float) candlist.get(i).get_PreRegion1CrossPoint().z()); - bank.setFloat("c1_ux", i, (float) candlist.get(i).get_PreRegion1CrossDir().x()); - bank.setFloat("c1_uy", i, (float) candlist.get(i).get_PreRegion1CrossDir().y()); - bank.setFloat("c1_uz", i, (float) candlist.get(i).get_PreRegion1CrossDir().z()); + bank.setFloat(TimeBasedTrkg__TBTracks.c1_x, i, (float) candlist.get(i).get_PreRegion1CrossPoint().x()); + bank.setFloat(TimeBasedTrkg__TBTracks.c1_y, i, (float) candlist.get(i).get_PreRegion1CrossPoint().y()); + bank.setFloat(TimeBasedTrkg__TBTracks.c1_z, i, (float) candlist.get(i).get_PreRegion1CrossPoint().z()); + bank.setFloat(TimeBasedTrkg__TBTracks.c1_ux, i, (float) candlist.get(i).get_PreRegion1CrossDir().x()); + bank.setFloat(TimeBasedTrkg__TBTracks.c1_uy, i, (float) candlist.get(i).get_PreRegion1CrossDir().y()); + bank.setFloat(TimeBasedTrkg__TBTracks.c1_uz, i, (float) candlist.get(i).get_PreRegion1CrossDir().z()); } if(candlist.get(i).get_PostRegion3CrossPoint()!=null) { - bank.setFloat("c3_x", i, (float) candlist.get(i).get_PostRegion3CrossPoint().x()); - bank.setFloat("c3_y", i, (float) candlist.get(i).get_PostRegion3CrossPoint().y()); - bank.setFloat("c3_z", i, (float) candlist.get(i).get_PostRegion3CrossPoint().z()); - bank.setFloat("c3_ux", i, (float) candlist.get(i).get_PostRegion3CrossDir().x()); - bank.setFloat("c3_uy", i, (float) candlist.get(i).get_PostRegion3CrossDir().y()); - bank.setFloat("c3_uz", i, (float) candlist.get(i).get_PostRegion3CrossDir().z()); + bank.setFloat(TimeBasedTrkg__TBTracks.c3_x, i, (float) candlist.get(i).get_PostRegion3CrossPoint().x()); + bank.setFloat(TimeBasedTrkg__TBTracks.c3_y, i, (float) candlist.get(i).get_PostRegion3CrossPoint().y()); + bank.setFloat(TimeBasedTrkg__TBTracks.c3_z, i, (float) candlist.get(i).get_PostRegion3CrossPoint().z()); + bank.setFloat(TimeBasedTrkg__TBTracks.c3_ux, i, (float) candlist.get(i).get_PostRegion3CrossDir().x()); + bank.setFloat(TimeBasedTrkg__TBTracks.c3_uy, i, (float) candlist.get(i).get_PostRegion3CrossDir().y()); + bank.setFloat(TimeBasedTrkg__TBTracks.c3_uz, i, (float) candlist.get(i).get_PostRegion3CrossDir().z()); } if(candlist.get(i).get_Region1TrackX()!=null) { - bank.setFloat("t1_x", i, (float) candlist.get(i).get_Region1TrackX().x()); - bank.setFloat("t1_y", i, (float) candlist.get(i).get_Region1TrackX().y()); - bank.setFloat("t1_z", i, (float) candlist.get(i).get_Region1TrackX().z()); - bank.setFloat("t1_px", i, (float) candlist.get(i).get_Region1TrackP().x()); - bank.setFloat("t1_py", i, (float) candlist.get(i).get_Region1TrackP().y()); - bank.setFloat("t1_pz", i, (float) candlist.get(i).get_Region1TrackP().z()); + bank.setFloat(TimeBasedTrkg__TBTracks.t1_x, i, (float) candlist.get(i).get_Region1TrackX().x()); + bank.setFloat(TimeBasedTrkg__TBTracks.t1_y, i, (float) candlist.get(i).get_Region1TrackX().y()); + bank.setFloat(TimeBasedTrkg__TBTracks.t1_z, i, (float) candlist.get(i).get_Region1TrackX().z()); + bank.setFloat(TimeBasedTrkg__TBTracks.t1_px, i, (float) candlist.get(i).get_Region1TrackP().x()); + bank.setFloat(TimeBasedTrkg__TBTracks.t1_py, i, (float) candlist.get(i).get_Region1TrackP().y()); + bank.setFloat(TimeBasedTrkg__TBTracks.t1_pz, i, (float) candlist.get(i).get_Region1TrackP().z()); } - bank.setFloat("pathlength", i, (float) candlist.get(i).get_TotPathLen()); - bank.setFloat("Vtx0_x", i, (float) candlist.get(i).get_Vtx0().x()); - bank.setFloat("Vtx0_y", i, (float) candlist.get(i).get_Vtx0().y()); - bank.setFloat("Vtx0_z", i, (float) candlist.get(i).get_Vtx0().z()); - bank.setFloat("p0_x", i, (float) candlist.get(i).get_pAtOrig().x()); - bank.setFloat("p0_y", i, (float) candlist.get(i).get_pAtOrig().y()); - bank.setFloat("p0_z", i, (float) candlist.get(i).get_pAtOrig().z()); + bank.setFloat(TimeBasedTrkg__TBTracks.pathlength, i, (float) candlist.get(i).get_TotPathLen()); + bank.setFloat(TimeBasedTrkg__TBTracks.Vtx0_x, i, (float) candlist.get(i).get_Vtx0().x()); + bank.setFloat(TimeBasedTrkg__TBTracks.Vtx0_y, i, (float) candlist.get(i).get_Vtx0().y()); + bank.setFloat(TimeBasedTrkg__TBTracks.Vtx0_z, i, (float) candlist.get(i).get_Vtx0().z()); + bank.setFloat(TimeBasedTrkg__TBTracks.p0_x, i, (float) candlist.get(i).get_pAtOrig().x()); + bank.setFloat(TimeBasedTrkg__TBTracks.p0_y, i, (float) candlist.get(i).get_pAtOrig().y()); + bank.setFloat(TimeBasedTrkg__TBTracks.p0_z, i, (float) candlist.get(i).get_pAtOrig().z()); //fill associated IDs for(int r = 0; r < 3; r++) { bank.setShort("Cross"+String.valueOf(r+1)+"_ID", @@ -863,20 +866,20 @@ private DataBank fillTrajectoryBank(DataEvent event, List tracks) { if (track.getTrajectory().get(j).getDetector() == DetectorType.DC.getDetectorId() && (track.getTrajectory().get(j).getLayer() - 6) % 6 != 0) continue; // save the last layer in a superlayer - bank.setShort("id", i1, (short) track.get_Id()); - bank.setByte("detector", i1, (byte) track.getTrajectory().get(j).getDetector()); - bank.setByte("sector", i1, (byte) track.getSector()); - bank.setByte("layer", i1, (byte) track.getTrajectory().get(j).getLayer()); - bank.setFloat("x", i1, (float) track.getTrajectory().get(j).getPoint().x()); - bank.setFloat("y", i1, (float) track.getTrajectory().get(j).getPoint().y()); - bank.setFloat("z", i1, (float) track.getTrajectory().get(j).getPoint().z()); - bank.setFloat("tx", i1, (float) track.getTrajectory().get(j).getDirection().x()); - bank.setFloat("ty", i1, (float) track.getTrajectory().get(j).getDirection().y()); - bank.setFloat("tz", i1, (float) track.getTrajectory().get(j).getDirection().z()); - bank.setFloat("B", i1, (float) track.getTrajectory().get(j).getiBdl()); - bank.setFloat("path", i1, (float) track.getTrajectory().get(j).getPath()); - bank.setFloat("dx", i1, (float) track.getTrajectory().get(j).getDx()); - bank.setFloat("edge", i1, (float) track.getTrajectory().get(j).getEdge()); + bank.setShort(TimeBasedTrkg__Trajectory.id, i1, (short) track.get_Id()); + bank.setByte(TimeBasedTrkg__Trajectory.detector, i1, (byte) track.getTrajectory().get(j).getDetector()); + bank.setByte(TimeBasedTrkg__Trajectory.sector, i1, (byte) track.getSector()); + bank.setByte(TimeBasedTrkg__Trajectory.layer, i1, (byte) track.getTrajectory().get(j).getLayer()); + bank.setFloat(TimeBasedTrkg__Trajectory.x, i1, (float) track.getTrajectory().get(j).getPoint().x()); + bank.setFloat(TimeBasedTrkg__Trajectory.y, i1, (float) track.getTrajectory().get(j).getPoint().y()); + bank.setFloat(TimeBasedTrkg__Trajectory.z, i1, (float) track.getTrajectory().get(j).getPoint().z()); + bank.setFloat(TimeBasedTrkg__Trajectory.tx, i1, (float) track.getTrajectory().get(j).getDirection().x()); + bank.setFloat(TimeBasedTrkg__Trajectory.ty, i1, (float) track.getTrajectory().get(j).getDirection().y()); + bank.setFloat(TimeBasedTrkg__Trajectory.tz, i1, (float) track.getTrajectory().get(j).getDirection().z()); + bank.setFloat(TimeBasedTrkg__Trajectory.B, i1, (float) track.getTrajectory().get(j).getiBdl()); + bank.setFloat(TimeBasedTrkg__Trajectory.path, i1, (float) track.getTrajectory().get(j).getPath()); + bank.setFloat(TimeBasedTrkg__Trajectory.dx, i1, (float) track.getTrajectory().get(j).getDx()); + bank.setFloat(TimeBasedTrkg__Trajectory.edge, i1, (float) track.getTrajectory().get(j).getEdge()); i1++; } } diff --git a/reconstruction/ec/src/main/java/org/jlab/service/ec/ECCommon.java b/reconstruction/ec/src/main/java/org/jlab/service/ec/ECCommon.java index 96b0286891..b4049d7560 100644 --- a/reconstruction/ec/src/main/java/org/jlab/service/ec/ECCommon.java +++ b/reconstruction/ec/src/main/java/org/jlab/service/ec/ECCommon.java @@ -13,6 +13,8 @@ import org.jlab.geom.component.ScintillatorPaddle; import org.jlab.groot.data.H1F; import org.jlab.groot.data.H2F; +import org.jlab.io.banks.ECAL__adc; +import org.jlab.io.banks.ECAL__tdc; import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.utils.groups.IndexedList; @@ -338,12 +340,11 @@ public static List readStripsHipo(DataEvent event, int run, ConstantsM if(event.hasBank("ECAL::tdc")==true){ RawDataBank bank = new RawDataBank("ECAL::tdc"); bank.read(event); - //DataBank bank = event.getBank("ECAL::tdc"); for(int i = 0; i < bank.rows(); i++){ - int is = bank.getByte("sector",i); - int il = bank.getByte("layer",i); - int ip = bank.getShort("component",i); - int tdc = bank.getInt("TDC",i); + int is = bank.getByte(ECAL__tdc.sector,i); + int il = bank.getByte(ECAL__tdc.layer,i); + int ip = bank.getShort(ECAL__tdc.component,i); + int tdc = bank.getInt(ECAL__tdc.TDC,i); int istatus = status.getIntValue("status",is,il,ip); @@ -359,14 +360,14 @@ public static List readStripsHipo(DataEvent event, int run, ConstantsM if(event.hasBank("ECAL::adc")==true){ RawDataBank bank = new RawDataBank("ECAL::adc"); bank.read(event); - //DataBank bank = event.getBank("ECAL::adc"); for(int i = 0; i < bank.rows(); i++){ - int is = bank.getByte("sector", i); - int il = bank.getByte("layer", i); - int ip = bank.getShort("component", i); - int adc = bank.getInt("ADC", i); - float t = bank.getFloat("time", i) + (float) tmf.getDoubleValue("offset",is,il,ip) // TDC-FADC offset (sector, layer, PMT) - + (float) fo.getDoubleValue("offset",is,il,0); // TDC-FADC offset (sector, layer) + int is = bank.getByte(ECAL__adc.sector, i); + int il = bank.getByte(ECAL__adc.layer, i); + int ip = bank.getShort(ECAL__adc.component, i); + int adc = bank.getInt(ECAL__adc.ADC, i); + float t = bank.getFloat(ECAL__adc.time, i) + + (float) tmf.getDoubleValue("offset",is,il,ip) // TDC-FADC offset (sector, layer, PMT) + + (float) fo.getDoubleValue("offset",is,il,0); // TDC-FADC offset (sector, layer) int istatus = status.getIntValue("status",is,il,ip); diff --git a/reconstruction/fmt/src/main/java/org/jlab/rec/fmt/hit/Hit.java b/reconstruction/fmt/src/main/java/org/jlab/rec/fmt/hit/Hit.java index f70be409f0..37e10fc5fd 100644 --- a/reconstruction/fmt/src/main/java/org/jlab/rec/fmt/hit/Hit.java +++ b/reconstruction/fmt/src/main/java/org/jlab/rec/fmt/hit/Hit.java @@ -6,6 +6,7 @@ import org.jlab.detector.banks.RawDataBank; import org.jlab.geom.prim.Line3D; import org.jlab.geom.prim.Point3D; +import org.jlab.io.banks.FMT__adc; import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.rec.fmt.Constants; @@ -270,11 +271,11 @@ public static List fetchHits(DataEvent event, IndexedTable timecuts, Indexe bankDGTZ.read(event); int rows = bankDGTZ.rows(); for (int i = 0; i < rows; i++) { - int sector = bankDGTZ.getByte("sector", i); - int layer = bankDGTZ.getByte("layer", i); - int strip = bankDGTZ.getShort("component", i); - int ADC = bankDGTZ.getInt("ADC", i); - double time = bankDGTZ.getFloat("time", i); + int sector = bankDGTZ.getByte(FMT__adc.sector, i); + int layer = bankDGTZ.getByte(FMT__adc.layer, i); + int strip = bankDGTZ.getShort(FMT__adc.component, i); + int ADC = bankDGTZ.getInt(FMT__adc.ADC, i); + double time = bankDGTZ.getFloat(FMT__adc.time, i); if (strip == -1 || ADC == 0) continue; diff --git a/reconstruction/ft/src/main/java/org/jlab/rec/ft/cal/FTCALReconstruction.java b/reconstruction/ft/src/main/java/org/jlab/rec/ft/cal/FTCALReconstruction.java index fd9f113a1d..53949f022e 100644 --- a/reconstruction/ft/src/main/java/org/jlab/rec/ft/cal/FTCALReconstruction.java +++ b/reconstruction/ft/src/main/java/org/jlab/rec/ft/cal/FTCALReconstruction.java @@ -5,6 +5,7 @@ import java.util.List; import org.jlab.detector.banks.RawDataBank; import org.jlab.detector.calib.utils.ConstantsManager; +import org.jlab.io.banks.FTCAL__adc; import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.io.evio.EvioDataBank; @@ -210,11 +211,11 @@ public List readRawHitsHipo(DataEvent event, IndexedTable charge2Energ bankDGTZ.read(event); int nrows = bankDGTZ.rows(); for(int row = 0; row < nrows; row++){ - int isector = bankDGTZ.getByte("sector",row); - int ilayer = bankDGTZ.getByte("layer",row); - int icomponent = bankDGTZ.getShort("component",row); - int adc = bankDGTZ.getInt("ADC",row); - float time = bankDGTZ.getFloat("time",row); + int isector = bankDGTZ.getByte(FTCAL__adc.sector,row); + int ilayer = bankDGTZ.getByte(FTCAL__adc.layer,row); + int icomponent = bankDGTZ.getShort(FTCAL__adc.component,row); + int adc = bankDGTZ.getInt(FTCAL__adc.ADC,row); + float time = bankDGTZ.getFloat(FTCAL__adc.time,row); if(ilayer==0) ilayer=1; // fix for wrong layer in TT if(adc!=-1 && time!=-1 && status.getIntValue("status", isector, ilayer, icomponent)==0){ FTCALHit hit = new FTCALHit(bankDGTZ.trueIndex(row),icomponent, adc, time, charge2Energy, timeOffsets, timeWalk, cluster); diff --git a/reconstruction/mc/src/main/java/org/jlab/service/mc/TruthMatch.java b/reconstruction/mc/src/main/java/org/jlab/service/mc/TruthMatch.java index a8c4b9b189..18418b9ea2 100644 --- a/reconstruction/mc/src/main/java/org/jlab/service/mc/TruthMatch.java +++ b/reconstruction/mc/src/main/java/org/jlab/service/mc/TruthMatch.java @@ -8,6 +8,7 @@ import java.util.*; import java.util.logging.Level; import java.util.logging.Logger; +import org.jlab.io.banks.MC__True; /** * @@ -510,14 +511,14 @@ Map> getMCHits(DataBank mctrue, Map mcp for (int i = 0; i < mctrue.rows(); i++) { MCHit hit = new MCHit(); - hit.pid = mctrue.getInt("pid", i); - hit.otid = mctrue.getInt("otid", i) - 1; - hit.hitn = mctrue.getInt("hitn", i) - 1; - hit.detector = mctrue.getByte("detector", i); + hit.pid = mctrue.getInt(MC__True.pid, i); + hit.otid = mctrue.getInt(MC__True.otid, i) - 1; + hit.hitn = mctrue.getInt(MC__True.hitn, i) - 1; + hit.detector = mctrue.getByte(MC__True.detector, i); - int tid = mctrue.getInt("tid", i) - 1; // in MC::True tid starts + int tid = mctrue.getInt(MC__True.tid, i) - 1; // in MC::True tid starts // from one, so subtracting 1 to match to the row number in the MC::Particle bank - int mtid = mctrue.getInt("mtid", i); + int mtid = mctrue.getInt(MC__True.mtid, i); /** * In the original version of Truth Matching, before adding the diff --git a/reconstruction/rich/src/main/java/org/jlab/rec/rich/RICHPMTReconstruction.java b/reconstruction/rich/src/main/java/org/jlab/rec/rich/RICHPMTReconstruction.java index 31ad6280ae..eda3f3a586 100644 --- a/reconstruction/rich/src/main/java/org/jlab/rec/rich/RICHPMTReconstruction.java +++ b/reconstruction/rich/src/main/java/org/jlab/rec/rich/RICHPMTReconstruction.java @@ -2,20 +2,14 @@ import java.util.ArrayList; import java.util.Collections; -import java.util.List; -import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; -import org.jlab.io.evio.EvioDataBank; import org.jlab.io.evio.EvioDataEvent; import org.jlab.io.hipo.HipoDataEvent; -import javax.swing.JFrame; import org.jlab.detector.banks.RawDataBank; -import org.jlab.groot.graphics.EmbeddedCanvas; -import org.jlab.groot.data.H1F; -import org.jlab.groot.data.H2F; import org.jlab.detector.geom.RICH.RICHGeoFactory; +import org.jlab.io.banks.RICH__tdc; public class RICHPMTReconstruction { @@ -182,11 +176,11 @@ public ArrayList read_RawEdgesHIPO(DataEvent event) { bankDGTZ.read(event); int nrows = bankDGTZ.rows(); for(int row = 0; row < nrows; row++){ - int isector = bankDGTZ.getByte("sector",row); - int ilayer = bankDGTZ.getByte("layer",row); - int icomponent = bankDGTZ.getShort("component",row); + int isector = bankDGTZ.getByte(RICH__tdc.sector,row); + int ilayer = bankDGTZ.getByte(RICH__tdc.layer,row); + int icomponent = bankDGTZ.getShort(RICH__tdc.component,row); int iorder = bankDGTZ.trueOrder(row); - int itdc = bankDGTZ.getInt("TDC",row); + int itdc = bankDGTZ.getInt(RICH__tdc.TDC,row); if(ilayer<0)ilayer=ilayer+256; if(debugMode>=2)System.out.print(" --> Edge "+row+" sec "+isector+" lay "+ilayer+" comp "+icomponent+" order "+iorder+" tdc "+itdc+"\n"); if(itdc!=-1){ diff --git a/reconstruction/tof/src/main/java/org/jlab/rec/tof/banks/BaseHitReader.java b/reconstruction/tof/src/main/java/org/jlab/rec/tof/banks/BaseHitReader.java index a6580fb6ca..b34ae3ed9c 100644 --- a/reconstruction/tof/src/main/java/org/jlab/rec/tof/banks/BaseHitReader.java +++ b/reconstruction/tof/src/main/java/org/jlab/rec/tof/banks/BaseHitReader.java @@ -7,6 +7,8 @@ import java.util.Map; import java.util.Set; import org.jlab.detector.banks.RawDataBank; +import org.jlab.io.banks.FTOF__adc; +import org.jlab.io.banks.FTOF__tdc; import org.jlab.io.base.DataEvent; import org.jlab.utils.groups.IndexedTable; @@ -99,13 +101,13 @@ public Map> get_Hits(DataEvent event, ADCIdx2 = new int[bankSize]; for (int i = 0; i < bankSize; i++) { - sectorADC[i] = bank.getByte("sector", i); - layerADC[i] = bank.getByte("layer", i); - componentADC[i] = bank.getShort("component", i); + sectorADC[i] = bank.getByte(FTOF__adc.sector, i); + layerADC[i] = bank.getByte(FTOF__adc.layer, i); + componentADC[i] = bank.getShort(FTOF__adc.component, i); int order = bank.trueOrder(i); - int ADC = bank.getInt("ADC", i); - double time = bank.getFloat("time", i); - int pedestalADC = bank.getShort("ped", i); + int ADC = bank.getInt(FTOF__adc.ADC, i); + double time = bank.getFloat(FTOF__adc.time, i); + int pedestalADC = bank.getShort(FTOF__adc.ped, i); ADC1[i] = -1; ADC2[i] = -1; @@ -163,11 +165,11 @@ public Map> get_Hits(DataEvent event, TDCIdx2 = new int[bankSize]; for (int i = 0; i < bankSize; i++) { - sectorTDC[i] = bank.getByte("sector", i); - layerTDC[i] = bank.getByte("layer", i); - componentTDC[i] = bank.getShort("component", i); + sectorTDC[i] = bank.getByte(FTOF__tdc.sector, i); + layerTDC[i] = bank.getByte(FTOF__tdc.layer, i); + componentTDC[i] = bank.getShort(FTOF__tdc.component, i); int order = bank.trueOrder(i); - int TDC = bank.getInt("TDC", i); + int TDC = bank.getInt(FTOF__tdc.TDC, i); TDC1[i] = -1; TDC2[i] = -1; diff --git a/reconstruction/vtx/src/main/java/org/jlab/rec/vtx/banks/Reader.java b/reconstruction/vtx/src/main/java/org/jlab/rec/vtx/banks/Reader.java index 51ed9811e7..24cd27af6a 100644 --- a/reconstruction/vtx/src/main/java/org/jlab/rec/vtx/banks/Reader.java +++ b/reconstruction/vtx/src/main/java/org/jlab/rec/vtx/banks/Reader.java @@ -4,6 +4,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.jlab.io.banks.REC__Particle; +import org.jlab.io.banks.REC__Track; +import org.jlab.io.banks.REC__UTrack; import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.rec.vtx.Particle; @@ -55,13 +58,13 @@ public void readDataBanks(DataEvent event) { if(utrkBankEB!=null) { int nrows2 = utrkBankEB.rows(); for(int loop = 0; loop < nrows2; loop++){ - int uindex = utrkBankEB.getInt("index", loop); - double px = utrkBankEB.getFloat("px", loop); - double py = utrkBankEB.getFloat("py", loop); - double pz = utrkBankEB.getFloat("pz", loop); - double vx = utrkBankEB.getFloat("vx", loop); - double vy = utrkBankEB.getFloat("vy", loop); - double vz = utrkBankEB.getFloat("vz", loop); + int uindex = utrkBankEB.getInt(REC__UTrack.index, loop); + double px = utrkBankEB.getFloat(REC__UTrack.px, loop); + double py = utrkBankEB.getFloat(REC__UTrack.py, loop); + double pz = utrkBankEB.getFloat(REC__UTrack.pz, loop); + double vx = utrkBankEB.getFloat(REC__UTrack.vx, loop); + double vy = utrkBankEB.getFloat(REC__UTrack.vy, loop); + double vz = utrkBankEB.getFloat(REC__UTrack.vz, loop); double[] t = new double[]{px,py,pz,vx,vy,vz}; uTrkMap.put(uindex, t); } @@ -69,12 +72,12 @@ public void readDataBanks(DataEvent event) { if(recBankEB!=null) { int nrows = recBankEB.rows(); for(int loop = 0; loop < nrows; loop++){ - double px = recBankEB.getFloat("px", loop); - double py = recBankEB.getFloat("py", loop); - double pz = recBankEB.getFloat("pz", loop); - double vx = recBankEB.getFloat("vx", loop); - double vy = recBankEB.getFloat("vy", loop); - double vz = recBankEB.getFloat("vz", loop); + double px = recBankEB.getFloat(REC__Particle.px, loop); + double py = recBankEB.getFloat(REC__Particle.py, loop); + double pz = recBankEB.getFloat(REC__Particle.pz, loop); + double vx = recBankEB.getFloat(REC__Particle.vx, loop); + double vy = recBankEB.getFloat(REC__Particle.vy, loop); + double vz = recBankEB.getFloat(REC__Particle.vz, loop); double[] t = new double[]{px,py,pz,vx,vy,vz}; pTrkMap.put(loop, t); } @@ -82,13 +85,13 @@ public void readDataBanks(DataEvent event) { if(trkBankEB!=null) { int nrows2 = trkBankEB.rows(); for(int loop = 0; loop < nrows2; loop++){ - int pindex = trkBankEB.getInt("pindex", loop); - int detector = trkBankEB.getInt("detector", loop); - qMap.put(pindex, trkBankEB.getInt("q", loop)); + int pindex = trkBankEB.getInt(REC__Track.pindex, loop); + int detector = trkBankEB.getInt(REC__Track.detector, loop); + qMap.put(pindex, trkBankEB.getInt(REC__Track.q, loop)); if(detector!=5) continue; - int index = trkBankEB.getInt("index", loop); + int index = trkBankEB.getInt(REC__Track.index, loop); if(uTrkMap.containsKey(index) && pTrkMap.containsKey(pindex)) { pTrkMap.put(pindex, uTrkMap.get(index)); } @@ -97,17 +100,17 @@ public void readDataBanks(DataEvent event) { if(recBankEB!=null && trkBankEB!=null) { int nrows = recBankEB.rows(); for(int loop = 0; loop < nrows; loop++){ - int pid = recBankEB.getInt("pid", loop); + int pid = recBankEB.getInt(REC__Particle.pid, loop); int q = 0; if(qMap.containsKey(loop)) q = qMap.get(loop); if(q==0) continue; - double px = recBankEB.getFloat("px", loop); - double py = recBankEB.getFloat("py", loop); - double pz = recBankEB.getFloat("pz", loop); - double vx = recBankEB.getFloat("vx", loop); - double vy = recBankEB.getFloat("vy", loop); - double vz = recBankEB.getFloat("vz", loop); + double px = recBankEB.getFloat(REC__Particle.px, loop); + double py = recBankEB.getFloat(REC__Particle.py, loop); + double pz = recBankEB.getFloat(REC__Particle.pz, loop); + double vx = recBankEB.getFloat(REC__Particle.vx, loop); + double vy = recBankEB.getFloat(REC__Particle.vy, loop); + double vz = recBankEB.getFloat(REC__Particle.vz, loop); if(this.updateWithUTrack && pTrkMap.containsKey(loop)) { double[] t = pTrkMap.get(loop); px = t[0]; diff --git a/reconstruction/vtx/src/main/java/org/jlab/rec/vtx/banks/Writer.java b/reconstruction/vtx/src/main/java/org/jlab/rec/vtx/banks/Writer.java index 14edc8b852..7a95503893 100644 --- a/reconstruction/vtx/src/main/java/org/jlab/rec/vtx/banks/Writer.java +++ b/reconstruction/vtx/src/main/java/org/jlab/rec/vtx/banks/Writer.java @@ -1,11 +1,7 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package org.jlab.rec.vtx.banks; import java.util.List; +import org.jlab.io.banks.REC__VertDoca; import org.jlab.io.base.DataBank; import org.jlab.io.base.DataEvent; import org.jlab.rec.vtx.Vertex; @@ -20,27 +16,26 @@ public DataBank VtxBank(DataEvent event, List vtx) { DataBank bank = event.createBank("REC::VertDoca", vtx.size()); for (int i = 0; i < vtx.size(); i++) { - bank.setShort("index1", i, (short) vtx.get(i).getP1().getIndex()); - bank.setShort("index2", i, (short) vtx.get(i).getP2().getIndex()); - bank.setFloat("x", i, (float) vtx.get(i).getP0().getVx()); - bank.setFloat("y", i, (float) vtx.get(i).getP0().getVy()); - bank.setFloat("z", i, (float) vtx.get(i).getP0().getVz()); - bank.setFloat("x1", i, (float) vtx.get(i).getP1().getVx()); - bank.setFloat("y1", i, (float) vtx.get(i).getP1().getVy()); - bank.setFloat("z1", i, (float) vtx.get(i).getP1().getVz()); - bank.setFloat("cx1", i, (float) vtx.get(i).getP1().getPx()); - bank.setFloat("cy1", i, (float) vtx.get(i).getP1().getPy()); - bank.setFloat("cz1", i, (float) vtx.get(i).getP1().getPz()); - bank.setFloat("x2", i, (float) vtx.get(i).getP2().getVx()); - bank.setFloat("y2", i, (float) vtx.get(i).getP2().getVy()); - bank.setFloat("z2", i, (float) vtx.get(i).getP2().getVz()); - bank.setFloat("cx2", i, (float) vtx.get(i).getP2().getPx()); - bank.setFloat("cy2", i, (float) vtx.get(i).getP2().getPy()); - bank.setFloat("cz2", i, (float) vtx.get(i).getP2().getPz()); - bank.setFloat("r", i, (float) vtx.get(i).getR()); + bank.setShort(REC__VertDoca.index1, i, (short) vtx.get(i).getP1().getIndex()); + bank.setShort(REC__VertDoca.index2, i, (short) vtx.get(i).getP2().getIndex()); + bank.setFloat(REC__VertDoca.x, i, (float) vtx.get(i).getP0().getVx()); + bank.setFloat(REC__VertDoca.y, i, (float) vtx.get(i).getP0().getVy()); + bank.setFloat(REC__VertDoca.z, i, (float) vtx.get(i).getP0().getVz()); + bank.setFloat(REC__VertDoca.x1, i, (float) vtx.get(i).getP1().getVx()); + bank.setFloat(REC__VertDoca.y1, i, (float) vtx.get(i).getP1().getVy()); + bank.setFloat(REC__VertDoca.z1, i, (float) vtx.get(i).getP1().getVz()); + bank.setFloat(REC__VertDoca.cx1, i, (float) vtx.get(i).getP1().getPx()); + bank.setFloat(REC__VertDoca.cy1, i, (float) vtx.get(i).getP1().getPy()); + bank.setFloat(REC__VertDoca.cz1, i, (float) vtx.get(i).getP1().getPz()); + bank.setFloat(REC__VertDoca.x2, i, (float) vtx.get(i).getP2().getVx()); + bank.setFloat(REC__VertDoca.y2, i, (float) vtx.get(i).getP2().getVy()); + bank.setFloat(REC__VertDoca.z2, i, (float) vtx.get(i).getP2().getVz()); + bank.setFloat(REC__VertDoca.cx2, i, (float) vtx.get(i).getP2().getPx()); + bank.setFloat(REC__VertDoca.cy2, i, (float) vtx.get(i).getP2().getPy()); + bank.setFloat(REC__VertDoca.cz2, i, (float) vtx.get(i).getP2().getPz()); + bank.setFloat(REC__VertDoca.r, i, (float) vtx.get(i).getR()); } - //bank.show(); return bank; } }