diff --git a/.containers/coatjava.Dockerfile b/.containers/coatjava.Dockerfile
index dbe73116a0..513e16c0a1 100644
--- a/.containers/coatjava.Dockerfile
+++ b/.containers/coatjava.Dockerfile
@@ -22,4 +22,5 @@ ARG REF_NAME=development
# build coatjava
RUN java --version && cd /opt && \
git clone https://code.jlab.org/hallb/alert/coatjava.git && cd coatjava && \
- git fetch origin && git checkout ${REF_NAME} && ./build-coatjava.sh --quiet
+ git fetch origin && git checkout ${REF_NAME} && ./build-coatjava.sh --quiet && \
+ ./install-clara /opt/clara
diff --git a/.containers/coatjava.def b/.containers/coatjava.def
new file mode 100644
index 0000000000..8dc1962ac8
--- /dev/null
+++ b/.containers/coatjava.def
@@ -0,0 +1,14 @@
+Bootstrap: docker
+From: codecr.jlab.org/hallb/alert/coatjava/coatjava:{{ REF_NAME }}
+
+
+%environment
+ export CLAS12DIR=/opt/coatjava/coatjava
+
+%help
+ This is a clas12 coatjava container used to run coatjava on HPC systems
+ and do rapid development.
+
+%labels
+ Author Whitney Armstrong warmstrong@anl.gov
+ REF_NAME {{ REF_NAME }}
diff --git a/etc/bankdefs/util/dumpBankIDs.rb b/.github/make_banks_readme.rb
similarity index 92%
rename from etc/bankdefs/util/dumpBankIDs.rb
rename to .github/make_banks_readme.rb
index 1f6ac8dc5f..ca67af8768 100755
--- a/etc/bankdefs/util/dumpBankIDs.rb
+++ b/.github/make_banks_readme.rb
@@ -51,13 +51,8 @@
# dump a table
puts """# Bank Group and Item IDs
-This file was generated by
-```bash
-#{$0} #{ARGV.join ' '}
-```
-
-> [!IMPORTANT]
-> Please re-run this script if you modify any of the bank definitions.
+> [!NOTE]
+> Iguana banks, which are defined in the Iguana repository, use group number 30000.
"""
diff --git a/.github/make_banks_readme_precommit.sh b/.github/make_banks_readme_precommit.sh
new file mode 100755
index 0000000000..d2fed8649f
--- /dev/null
+++ b/.github/make_banks_readme_precommit.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env sh
+.github/make_banks_readme.rb etc/bankdefs/hipo4 > etc/bankdefs/hipo4/README.md
diff --git a/.gitignore b/.gitignore
index 77c0fd6ff3..900361e56b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,6 +32,12 @@ hs_err_pid*
*.iml
.idea
+# eclipse JDT language server
+.classpath
+.factorypath
+.project
+.settings
+
# no log files:
*.log
*.evio
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index da31aa64a8..db9ad01fa8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,6 +9,7 @@ workflow:
variables:
KUBERNETES_MEMORY_LIMIT: "8Gi"
+ REF_NAME: ${CI_COMMIT_REF_NAME}
default:
image: ubuntu:noble
@@ -69,3 +70,16 @@ shared_for_alert_tests:
project: hallb/alert/atof/shared_for_alert
strategy: depend
+coatjava:singularity:
+ image: eicweb.phy.anl.gov:4567/containers/image_recipes/ubuntu_dind:latest
+ tags:
+ - silicon
+ allow_failure: true
+ script:
+ - apptainer build --build-arg REF_NAME=${REF_NAME} coatjava.sif .containers/coatjava.def
+ - ls -lrth
+ artifacts:
+ paths:
+ - coatjava.sif
+
+
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000000..a482a3ca64
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,8 @@
+repos:
+- repo: local
+ hooks:
+ - id: make_banks_readme
+ name: make banks readme
+ entry: .github/make_banks_readme_precommit.sh
+ language: script
+ pass_filenames: false
diff --git a/README.md b/README.md
index 932aa457cd..6d5f89bd5e 100644
--- a/README.md
+++ b/README.md
@@ -58,3 +58,6 @@ http://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-
-->
+
+[Coatjava Apptainer](https://code.jlab.org/hallb/alert/coatjava/-/jobs/artifacts/development/raw/coatjava.sif?job=coatjava%3Asingularity)
+
diff --git a/common-tools/clara-io/pom.xml b/common-tools/clara-io/pom.xml
index 829ad4a1bd..4655074b88 100644
--- a/common-tools/clara-io/pom.xml
+++ b/common-tools/clara-io/pom.xml
@@ -3,14 +3,14 @@
4.0.0
org.jlab.clas
clara-io
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
jar
org.jlab.clas
clas12rec
../../parent/pom.xml
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
diff --git a/common-tools/clas-analysis/pom.xml b/common-tools/clas-analysis/pom.xml
index fd3f5efb02..1d6ea9031e 100644
--- a/common-tools/clas-analysis/pom.xml
+++ b/common-tools/clas-analysis/pom.xml
@@ -3,63 +3,63 @@
4.0.0
org.jlab.clas
clas-analysis
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
jar
org.jlab.clas
clas12rec
../../parent/pom.xml
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-utils
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-physics
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-io
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-geometry
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-jcsg
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
swim-tools
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-detector
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-reco
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
diff --git a/common-tools/clas-detector/pom.xml b/common-tools/clas-detector/pom.xml
index 635bc38466..f8ec3304fb 100644
--- a/common-tools/clas-detector/pom.xml
+++ b/common-tools/clas-detector/pom.xml
@@ -3,21 +3,21 @@
4.0.0
org.jlab.clas
clas-detector
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
jar
org.jlab.clas
clas12rec
../../parent/pom.xml
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-utils
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
@@ -29,13 +29,13 @@
org.jlab.clas
clas-io
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
org.jlab.clas
clas-geometry
- 11.1.2-SNAPSHOT
+ 12.0.1t-SNAPSHOT
diff --git a/common-tools/clas-detector/src/main/java/org/jlab/detector/banks/RawBank.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/banks/RawBank.java
index fffc360b58..19482d6005 100644
--- a/common-tools/clas-detector/src/main/java/org/jlab/detector/banks/RawBank.java
+++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/banks/RawBank.java
@@ -74,9 +74,9 @@ public static enum OrderType {
BGADDED_NOISE1 ( 70), // background hits retained by level-1 denoising
BGADDED_NOISE2 ( 80), // background hits retained by level-2 denoising
BGADDED_NOISE3 ( 90), // background hits retained by level-3 denoising
- USER1 (100),
- USER2 (110),
- USER3 (120);
+ DECREMOVED (100), // hits removed during decoding
+ USER1 (110),
+ USER2 (120);
private final int rawOrderId;
private OrderType(int id){ rawOrderId = id; }
public int getTypeId() { return rawOrderId; }
diff --git a/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java
index 763042a2d4..9db665354f 100644
--- a/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java
+++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java
@@ -139,6 +139,7 @@ public void initEvent(DataEvent event){
detectorDecoder.translate(dataList);
detectorDecoder.fitPulses(dataList);
+ detectorDecoder.filterTDCs(dataList);
if(this.decoderDebugMode>0){
System.out.println("\n>>>>>>>>> TRANSLATED data");
for(DetectorDataDgtz data : dataList){
@@ -260,6 +261,7 @@ public Bank getDataBankWF(String name, DetectorType type) {
b.putShort("component", i, (short) a.get(i).getDescriptor().getComponent());
b.putByte("order", i, (byte) a.get(i).getDescriptor().getOrder());
b.putLong("timestamp", i, a.get(i).getADCData(0).getTimeStamp());
+ b.putInt("time", i, (int)a.get(i).getADCData(0).getTime());
DetectorDataDgtz.ADCData xxx = a.get(i).getADCData(0);
for (int j=0; j getDataEntries_57622(Integer crate, EvioNode node
}
}
} catch (EvioException ex) {
- //Logger.getLogger(EvioRawDataSource.class.getName()).log(Level.SEVERE, null, ex);
+ Logger.getLogger(CodaEventDecoder.class.getName()).log(Level.SEVERE, null, ex);
} catch (IndexOutOfBoundsException ex){
- //System.out.println("[ERROR] ----> ERROR DECODING COMPOSITE DATA FOR ONE EVENT");
+ Logger.getLogger(CodaEventDecoder.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+ }
+ return entries;
+ }
+
+ /**
+ * Bank TAG=57648 used for DC (Drift Chambers) TDC and ToT values.
+ * @param crate
+ * @param node
+ * @param event
+ * @return
+ */
+ public List getDataEntries_57648(Integer crate, EvioNode node, EvioDataEvent event){
+ List entries = new ArrayList<>();
+ if(node.getTag()==57648){
+ try {
+ ByteBuffer compBuffer = node.getByteData(true);
+ CompositeData compData = new CompositeData(compBuffer.array(),event.getByteOrder());
+ //List cdatatypes = compData.getTypes();
+ List