diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f8d6ab22ac..5c46dbf34e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -303,27 +303,6 @@ jobs:
- name: test run-groovy
run: coatjava/bin/run-groovy validation/advanced-tests/test-run-groovy.groovy
- dependency_analysis:
- needs: [ build ]
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v6
- - name: Set up JDK
- uses: actions/setup-java@v5
- with:
- java-version: ${{ env.JAVA_VERSION }}
- distribution: ${{ env.java_distribution }}
- cache: maven
- - uses: actions/download-artifact@v7
- with:
- name: build_ubuntu-latest
- - name: untar build
- run: tar xzvf coatjava.tar.gz
- - name: print dependency tree
- run: libexec/dependency-tree.sh
- - name: dependency analysis
- run: libexec/dependency-analysis.sh
-
# documentation
#############################################################################
@@ -413,7 +392,6 @@ jobs:
final:
needs:
- test_coatjava
- - dependency_analysis
- test_run-groovy
- generate_documentation
runs-on: ubuntu-latest
diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml
deleted file mode 100644
index 6c42d6d924..0000000000
--- a/.github/workflows/validation.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: Validation
-
-on:
- pull_request:
- push:
- branches: [ development ]
- tags: [ '*' ]
- workflow_dispatch:
-
-jobs:
- validation:
- uses: JeffersonLab/clas12-validation/.github/workflows/ci.yml@main
- with:
- matrix_evgen: >-
- [
- "e_p",
- "e_n",
- "e_g",
- "e_pC",
- "eFT_K",
- "e_gFT"
- ]
- matrix_config: >-
- [
- "rgb_fall2019"
- ]
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4ed41cf162..b4cae92810 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -60,13 +60,6 @@ build:
- coatjava.tar.gz
- clara.tar.gz
-.depana:
- allow_failure: true
- stage: build
- script:
- - libexec/dependency-tree.sh
- - libexec/dependency-analysis.sh
-
download:
stage: build
script:
diff --git a/README.md b/README.md
index 41938c803b..90891ffd1b 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# COATJAVA
[](https://github.com/jeffersonlab/coatjava/actions)
-[](https://github.com/JeffersonLab/coatjava/actions/workflows/validation.yml)
+[](https://github.com/JeffersonLab/coatjava/actions/workflows/orca.yml)
[](https://jeffersonlab.github.io/coatjava/jacoco)
| Table of Contents | |
diff --git a/build-coatjava.sh b/build-coatjava.sh
index b0f1f34017..dcb6bdf617 100755
--- a/build-coatjava.sh
+++ b/build-coatjava.sh
@@ -10,7 +10,6 @@ set -o pipefail
################################################################################
cleanBuild=false
-anaDepends=false
runSpotBugs=false
downloadMaps=true
downloadNets=true
@@ -46,7 +45,6 @@ DATA RETRIEVAL OPTIONS
TESTING OPTIONS
--spotbugs also run spotbugs plugin
--unittests also run unit tests
- --depana run dependency analysis (only)
--data download test data (requires option `--lfs`)
MAVEN OPTIONS
@@ -70,7 +68,10 @@ do
--nonets) downloadNets=false ;;
--unittests) runUnitTests=true ;;
--clean) cleanBuild=true ;;
- --depana) anaDepends=true ;;
+ --depana)
+ echo "ERROR: option \`$xx\` has been removed; dependency tree printout and analysis now happen automatically in the Maven build lifecycle" >&2
+ exit 1
+ ;;
--quiet)
mvnArgs+=(--quiet --batch-mode)
wgetArgs+=(--quiet)
@@ -86,7 +87,7 @@ do
--clara) installClara=true ;;
--data) downloadData=true ;;
--xrootd)
- echo "ERROR: option \`$xx\` is deprecated; use \`--help\` for guidance" >&2
+ echo "ERROR: option \`$xx\` has been removed; use \`--help\` for guidance" >&2
exit 1
;;
-h|--help)
@@ -149,13 +150,6 @@ if $cleanBuild || [ "$dataRetrieval" = "wipe" ]; then
exit
fi
-# run dependency analysis and exit
-if $anaDepends; then
- libexec/dependency-analysis.sh
- libexec/dependency-tree.sh
- exit 0
-fi
-
################################################################################
# download field maps, NN models, etc.
@@ -324,9 +318,9 @@ cp external-dependencies/jclara-4.3-SNAPSHOT.jar $prefix_dir/lib/utils
# build (and test)
unset CLAS12DIR
if $runUnitTests; then
- $mvn install # also runs unit tests
+ $mvn install -DskipTests=false
else
- $mvn install -DskipTests
+ $mvn install
fi
# run spotbugs
diff --git a/common-tools/clara-io/pom.xml b/common-tools/clara-io/pom.xml
index 0d1ad3ccb8..9dcb63bf36 100644
--- a/common-tools/clara-io/pom.xml
+++ b/common-tools/clara-io/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clara-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -44,25 +44,25 @@
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-analysis
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-analysis/pom.xml b/common-tools/clas-analysis/pom.xml
index 4452570f9a..7142fc283c 100644
--- a/common-tools/clas-analysis/pom.xml
+++ b/common-tools/clas-analysis/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-analysis
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -38,49 +38,49 @@
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-physics
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-jcsg
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-reco
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
swim-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-decay-tools/pom.xml b/common-tools/clas-decay-tools/pom.xml
index 3853916231..33b067df2c 100644
--- a/common-tools/clas-decay-tools/pom.xml
+++ b/common-tools/clas-decay-tools/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-decay-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -21,54 +21,54 @@
org.jlab.clas
swim-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
cnuphys
swimmer
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
cnuphys
magfield
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas12.detector
clas12detector-vtx
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
clas-reco
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-physics
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-detector/pom.xml b/common-tools/clas-detector/pom.xml
index 21484e9ecf..58d4a7f573 100644
--- a/common-tools/clas-detector/pom.xml
+++ b/common-tools/clas-detector/pom.xml
@@ -4,20 +4,20 @@
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -43,19 +43,19 @@
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-logging
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder.java b/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder.java
index 0ee5a319a6..50b5c8f209 100644
--- a/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder.java
+++ b/common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder.java
@@ -30,6 +30,9 @@
* @author gavalian
*/
public class CLASDecoder {
+
+ // truncate EVIO waveforms longer than this:
+ final static int MAX_BANK_WF_LENGTH = 30;
protected DetectorEventDecoder detectorDecoder = null;
protected SchemaFactory schemaFactory = new SchemaFactory();
@@ -203,7 +206,7 @@ public Bank getDataBankWF(String name, DetectorType type) {
b.putLong( 4, 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; jorg.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-io/pom.xml b/common-tools/clas-io/pom.xml
index 70b41a6b4a..a2fef9a137 100644
--- a/common-tools/clas-io/pom.xml
+++ b/common-tools/clas-io/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -50,7 +50,7 @@
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-jcsg/pom.xml b/common-tools/clas-jcsg/pom.xml
index 6247bb4f9f..7f1095ccde 100644
--- a/common-tools/clas-jcsg/pom.xml
+++ b/common-tools/clas-jcsg/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-jcsg
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -32,17 +32,17 @@
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
java3d
diff --git a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/MUVT/MUVTStripFactory.java b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/MUVT/MUVTStripFactory.java
index 59bc9230eb..1466e29c5b 100644
--- a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/MUVT/MUVTStripFactory.java
+++ b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/MUVT/MUVTStripFactory.java
@@ -24,8 +24,9 @@ public final class MUVTStripFactory extends MPGDTrapezoidStripFactory {
/**
* Build using an already-configured DatabaseConstantProvider.
+ * @param cp
*/
- public MUVTStripFactory(DatabaseConstantProvider cp, String variation) {
+ public MUVTStripFactory(DatabaseConstantProvider cp) {
super(new MUVTConstants(cp));
diff --git a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTConstants.java b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTConstants.java
index b8a271b257..4a5152aee1 100644
--- a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTConstants.java
+++ b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTConstants.java
@@ -8,25 +8,53 @@
*/
public final class URWTConstants extends MPGDTrapezoidConstants {
- private URWTConstants() {
+ private final String variation;
+
+ private URWTConstants(String variation) {
super(
"/test/urwt/", // CCDB base path
"urwt_global", // global table name
"urwt_material", // material table name
"urwt" // detector nams
);
+ this.variation = variation;
}
public URWTConstants(int run, String variation) {
- this();
+ this(variation);
DatabaseConstantProvider cp = new DatabaseConstantProvider(run, variation);
this.load(cp);
cp.disconnect();
}
- public URWTConstants(DatabaseConstantProvider cp) {
- this();
+ public URWTConstants(DatabaseConstantProvider cp, String variation) {
+ this(variation);
this.load(cp);
}
+
+ /**
+ *
+ * @param region
+ * @return
+ */
+ @Override
+ public SectorDimensions getSectorActiveVolumeDimensions(int region) {
+
+ if (variation != null && variation.toLowerCase().contains("proto")) {
+
+ double halfThickness = this.getSectorThickness() / 2.0;
+ double tiltRad = Math.toRadians(THTILT);
+
+ // da vertici (mm)
+ double halfLargeBase = 72.71785;
+ double halfSmallBase = 50.44350;
+ double halfHeight = 24.74554;
+
+ return new SectorDimensions(halfThickness, halfHeight, halfLargeBase, halfSmallBase, tiltRad);
+ }
+
+ return super.getSectorActiveVolumeDimensions(region);
+ }
+
}
diff --git a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTGeant4Factory.java b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTGeant4Factory.java
index 31a0a13d32..e77db56138 100644
--- a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTGeant4Factory.java
+++ b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTGeant4Factory.java
@@ -15,40 +15,13 @@
*/
public final class URWTGeant4Factory extends MPGDTrapezoidGeant4Factory {
- private final String variation;
public URWTGeant4Factory(DatabaseConstantProvider cp, String variation) {
- super(new URWTConstants(cp));
- this.variation = variation;
+ super(new URWTConstants(cp, variation));
}
public URWTGeant4Factory(int run, String variation) {
super(new URWTConstants(run, variation));
- this.variation = variation;
- }
-
- /**
- *
- * @param region
- * @return
- */
- @Override
- public SectorDimensions getSectorActiveVolumeDimensions(int region) {
-
- if (variation != null && variation.toLowerCase().contains("proto")) {
-
- double halfThickness = this.getSectorThickness() / 2.0;
- double tiltRad = Math.toRadians(C.THTILT);
-
- // da vertici (mm)
- double halfLargeBase = 72.71785;
- double halfSmallBase = 50.44350;
- double halfHeight = 24.74554;
-
- return new SectorDimensions(halfThickness, halfHeight, halfLargeBase, halfSmallBase, tiltRad);
- }
-
- return super.getSectorActiveVolumeDimensions(region);
}
/**
diff --git a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTStripFactory.java b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTStripFactory.java
index 2c2a735388..9d634258e6 100644
--- a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTStripFactory.java
+++ b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/URWT/URWTStripFactory.java
@@ -25,9 +25,10 @@ public final class URWTStripFactory extends MPGDTrapezoidStripFactory {
/**
* Build using an already-configured DatabaseConstantProvider.
* @param cp
+ * @param variation
*/
- public URWTStripFactory(DatabaseConstantProvider cp) {
- super(new URWTConstants(cp));
+ public URWTStripFactory(DatabaseConstantProvider cp, String variation) {
+ super(new URWTConstants(cp, variation));
for (Geant4Basic v : geo.getAllVolumes()) {
if (v.getName() != null) {
diff --git a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidConstants.java b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidConstants.java
index 2857345d8a..8d039282b7 100644
--- a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidConstants.java
+++ b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidConstants.java
@@ -1,5 +1,6 @@
package org.jlab.detector.geant4.v2.MPGD.trapezoid;
+import eu.mihosoft.vrl.v3d.Vector3d;
import org.jlab.detector.calib.utils.DatabaseConstantProvider;
import java.util.LinkedHashMap;
@@ -70,6 +71,17 @@ public class MPGDTrapezoidConstants {
public static final double YENLARGEMENT = 0.15; // cm
public static final double ZENLARGEMENT = 0.02; // cm
+
+
+ public static record SectorDimensions(
+ double halfThickness,
+ double halfHeight,
+ double halfLargeBase,
+ double halfSmallBase,
+ double tiltRad
+ ) {
+ }
+
// ------------------------------------------------------------------------
// Material description: (layer, component) -> parameters
// ------------------------------------------------------------------------
@@ -221,4 +233,148 @@ public synchronized void getConstants(DatabaseConstantProvider cp) {
.put(component, info);
}
}
+
+ // ------------------------------------------------------------------------
+ // Sector geometry helpers
+ // ------------------------------------------------------------------------
+ /**
+ * Computes the total thickness (mm) of a sector by summing the thickness of
+ * all material volumes.
+ *
+ * @return
+ */
+ public double getSectorThickness() {
+ return detectorStructure.values()
+ .stream()
+ .flatMap(componentMap -> componentMap.values().stream())
+ .mapToDouble(info -> info.thickness)
+ .sum();
+ }
+
+ /**
+ *
+ * @param region
+ * @return
+ */
+ public SectorDimensions getSectorActiveVolumeDimensions(int region) {
+
+ double baseDistance = this.TGTDET + region * this.DZ;
+
+ double sectorHeight = baseDistance
+ * (Math.tan(Math.toRadians(this.THMAX - this.THTILT))
+ + Math.tan(Math.toRadians(this.THTILT - this.THMIN)));
+
+ double halfThickness = this.getSectorThickness() / 2.0;
+ double halfHeight = sectorHeight / 2.0;
+
+ // Distance from target to the bottom base along the tilted axis
+ double W2TGT = (this.TGTDET + region * this.DZ)
+ / Math.cos(Math.toRadians(this.THTILT - this.THMIN));
+
+ double YMIN = W2TGT * Math.sin(Math.toRadians(this.THMIN)); // distance from beamline (Y)
+ double h = sectorHeight * Math.cos(Math.toRadians(this.THTILT));
+ double halfSmallBase = 0.5 * (YMIN * Math.tan(Math.toRadians(this.THOPEN) / 2));
+
+ double halfLargeBase = halfSmallBase + sectorHeight * Math.tan(Math.toRadians(this.THOPEN / 2.0));
+
+ double tiltRad = Math.toRadians(this.THTILT);
+
+ double twidth_Check = 2 * halfLargeBase * Math.sin(Math.toRadians(this.THOPEN));
+
+ if (MPGDTrapezoidConstants.VERBOSE) {
+ System.out.printf("this.TWIDT=%.3f vs %.3f", this.TWIDTH, twidth_Check);
+
+ System.out.printf("YMIN=%.3f", YMIN);
+
+ System.out.printf(
+ "SectorDimensionsPhysical [%s] region=%d : height=%.3f | halfT=%.3f halfH=%.3f "
+ + "halfLarge=%.3f halfSmall=%.3f tilt(deg)=%.3f%n",
+ this.detectorName, region, sectorHeight,
+ halfThickness, halfHeight,
+ halfLargeBase, halfSmallBase,
+ this.THTILT
+ );
+ }
+
+ return new SectorDimensions(halfThickness, halfHeight, halfLargeBase, halfSmallBase, tiltRad);
+ }
+
+ /**
+ *
+ * @param region
+ * @return
+ */
+ public SectorDimensions getSectorContainerDimensions(int region) {
+
+ SectorDimensions phys = getSectorActiveVolumeDimensions(region);
+
+ double halfThickness = phys.halfThickness() + MPGDTrapezoidConstants.ZENLARGEMENT;
+ double halfHeight = phys.halfHeight() + MPGDTrapezoidConstants.YENLARGEMENT;
+ double halfLargeBase = phys.halfLargeBase() + MPGDTrapezoidConstants.XENLARGEMENT;
+ double halfSmallBase = phys.halfSmallBase() + MPGDTrapezoidConstants.XENLARGEMENT;
+
+ return new SectorDimensions(halfThickness, halfHeight, halfLargeBase, halfSmallBase, phys.tiltRad());
+ }
+
+ /**
+ * Computes the sector height (longitudinal extension in the RZ plane) for a
+ * given region.
+ *
+ * @param region
+ * @return
+ */
+ public double getSectorHeight(int region) {
+
+ double baseDistance = this.TGTDET + region * this.DZ;
+
+ double sectorHeight = baseDistance
+ * (Math.tan(Math.toRadians(this.THMAX - this.THTILT))
+ + Math.tan(Math.toRadians(this.THTILT - this.THMIN)));
+
+ if (MPGDTrapezoidConstants.VERBOSE) {
+ System.out.printf(
+ "SectorHeight [%s] region=%d : baseDistance=%.3f THMIN=%.3f THMAX=%.3f THTILT=%.3f -> height=%.3f%n",
+ this.detectorName,
+ region,
+ baseDistance,
+ this.THMIN, this.THMAX, this.THTILT,
+ sectorHeight
+ );
+ }
+
+ return sectorHeight;
+ }
+
+ /**
+ * Computes the barycenter coordinates of a given sector/region in the
+ * CLAS12 coordinate system.
+ *
+ * @param isector
+ * @param iregion
+ * @return
+ */
+ public Vector3d getCenterCoordinate(int isector, int iregion) {
+
+ Vector3d vCenter = new Vector3d(0, 0, 0);
+
+ // Distance from target to the bottom base along the tilted axis
+ double W2TGT = (this.TGTDET + iregion * this.DZ)
+ / Math.cos(Math.toRadians(this.THTILT - this.THMIN));
+
+ double YMIN = W2TGT * Math.sin(Math.toRadians(this.THMIN)); // distance from beamline (Y)
+ double ZMIN = W2TGT * Math.cos(Math.toRadians(this.THMIN)); // Z of the bottom base
+
+ SectorDimensions dimCont = this.getSectorContainerDimensions(iregion);
+ double sectorHeight = 2 * dimCont.halfHeight();
+
+ vCenter.x = 0.0;
+ vCenter.y = (sectorHeight / 2.0) * Math.cos(Math.toRadians(this.THTILT)) + YMIN;
+ vCenter.z = -(sectorHeight / 2.0) * Math.sin(Math.toRadians(this.THTILT)) + ZMIN;
+
+ // Rotate to the correct sector around Z (assumes 6 sectors, 60° apart)
+ vCenter.rotateZ(-Math.toRadians(90.0 - isector * 60.0));
+
+ return vCenter;
+ }
+
}
diff --git a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidGeant4Factory.java b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidGeant4Factory.java
index 82904ccb61..592e6910f6 100644
--- a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidGeant4Factory.java
+++ b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidGeant4Factory.java
@@ -5,6 +5,7 @@
import org.jlab.detector.volume.G4Trap;
import org.jlab.detector.volume.G4World;
import org.jlab.detector.volume.Geant4Basic;
+import org.jlab.detector.geant4.v2.MPGD.trapezoid.MPGDTrapezoidConstants.SectorDimensions;
import java.util.Map;
@@ -27,16 +28,6 @@ public class MPGDTrapezoidGeant4Factory extends Geant4Factory {
*/
protected final MPGDTrapezoidConstants C;
- public static record SectorDimensions(
- double halfThickness,
- double halfHeight,
- double halfLargeBase,
- double halfSmallBase,
- double tiltRad
- ) {
-
- }
-
/**
* @param constants detector constants (already configured with CCDB
* paths/table names)
@@ -68,149 +59,6 @@ protected final void init() {
}
}
- // ------------------------------------------------------------------------
- // Sector geometry helpers
- // ------------------------------------------------------------------------
- /**
- * Computes the total thickness (mm) of a sector by summing the thickness of
- * all material volumes.
- *
- * @return
- */
- public double getSectorThickness() {
- return C.getDetectorStructure().values()
- .stream()
- .flatMap(componentMap -> componentMap.values().stream())
- .mapToDouble(info -> info.thickness)
- .sum();
- }
-
- /**
- *
- * @param region
- * @return
- */
- public SectorDimensions getSectorActiveVolumeDimensions(int region) {
-
- double baseDistance = C.TGTDET + region * C.DZ;
-
- double sectorHeight = baseDistance
- * (Math.tan(Math.toRadians(C.THMAX - C.THTILT))
- + Math.tan(Math.toRadians(C.THTILT - C.THMIN)));
-
- double halfThickness = this.getSectorThickness() / 2.0;
- double halfHeight = sectorHeight / 2.0;
-
- // Distance from target to the bottom base along the tilted axis
- double W2TGT = (C.TGTDET + region * C.DZ)
- / Math.cos(Math.toRadians(C.THTILT - C.THMIN));
-
- double YMIN = W2TGT * Math.sin(Math.toRadians(C.THMIN)); // distance from beamline (Y)
- double h = sectorHeight * Math.cos(Math.toRadians(C.THTILT));
- double halfSmallBase = 0.5 * (YMIN * Math.tan(Math.toRadians(C.THOPEN) / 2));
-
- double halfLargeBase = halfSmallBase + sectorHeight * Math.tan(Math.toRadians(C.THOPEN / 2.0));
-
- double tiltRad = Math.toRadians(C.THTILT);
-
- double twidth_Check = 2 * halfLargeBase * Math.sin(Math.toRadians(C.THOPEN));
-
- if (MPGDTrapezoidConstants.VERBOSE) {
- System.out.printf("C.TWIDT=%.3f vs %.3f", C.TWIDTH, twidth_Check);
-
- System.out.printf("YMIN=%.3f", YMIN);
-
- System.out.printf(
- "SectorDimensionsPhysical [%s] region=%d : height=%.3f | halfT=%.3f halfH=%.3f "
- + "halfLarge=%.3f halfSmall=%.3f tilt(deg)=%.3f%n",
- C.detectorName, region, sectorHeight,
- halfThickness, halfHeight,
- halfLargeBase, halfSmallBase,
- C.THTILT
- );
- }
-
- return new SectorDimensions(halfThickness, halfHeight, halfLargeBase, halfSmallBase, tiltRad);
- }
-
- /**
- *
- * @param region
- * @return
- */
- public SectorDimensions getSectorContainerDimensions(int region) {
-
- SectorDimensions phys = getSectorActiveVolumeDimensions(region);
-
- double halfThickness = phys.halfThickness() + MPGDTrapezoidConstants.ZENLARGEMENT;
- double halfHeight = phys.halfHeight() + MPGDTrapezoidConstants.YENLARGEMENT;
- double halfLargeBase = phys.halfLargeBase() + MPGDTrapezoidConstants.XENLARGEMENT;
- double halfSmallBase = phys.halfSmallBase() + MPGDTrapezoidConstants.XENLARGEMENT;
-
- return new SectorDimensions(halfThickness, halfHeight, halfLargeBase, halfSmallBase, phys.tiltRad());
- }
-
- /**
- * Computes the sector height (longitudinal extension in the RZ plane) for a
- * given region.
- *
- * @param region
- * @return
- */
- public double getSectorHeight(int region) {
-
- double baseDistance = C.TGTDET + region * C.DZ;
-
- double sectorHeight = baseDistance
- * (Math.tan(Math.toRadians(C.THMAX - C.THTILT))
- + Math.tan(Math.toRadians(C.THTILT - C.THMIN)));
-
- if (MPGDTrapezoidConstants.VERBOSE) {
- System.out.printf(
- "SectorHeight [%s] region=%d : baseDistance=%.3f THMIN=%.3f THMAX=%.3f THTILT=%.3f -> height=%.3f%n",
- C.detectorName,
- region,
- baseDistance,
- C.THMIN, C.THMAX, C.THTILT,
- sectorHeight
- );
- }
-
- return sectorHeight;
- }
-
- /**
- * Computes the barycenter coordinates of a given sector/region in the
- * CLAS12 coordinate system.
- *
- * @param isector
- * @param iregion
- * @return
- */
- public Vector3d getCenterCoordinate(int isector, int iregion) {
-
- Vector3d vCenter = new Vector3d(0, 0, 0);
-
- // Distance from target to the bottom base along the tilted axis
- double W2TGT = (C.TGTDET + iregion * C.DZ)
- / Math.cos(Math.toRadians(C.THTILT - C.THMIN));
-
- double YMIN = W2TGT * Math.sin(Math.toRadians(C.THMIN)); // distance from beamline (Y)
- double ZMIN = W2TGT * Math.cos(Math.toRadians(C.THMIN)); // Z of the bottom base
-
- SectorDimensions dimCont = this.getSectorContainerDimensions(iregion);
- double sectorHeight = 2 * dimCont.halfHeight();
-
- vCenter.x = 0.0;
- vCenter.y = (sectorHeight / 2.0) * Math.cos(Math.toRadians(C.THTILT)) + YMIN;
- vCenter.z = -(sectorHeight / 2.0) * Math.sin(Math.toRadians(C.THTILT)) + ZMIN;
-
- // Rotate to the correct sector around Z (assumes 6 sectors, 60° apart)
- vCenter.rotateZ(-Math.toRadians(90.0 - isector * 60.0));
-
- return vCenter;
- }
-
// ------------------------------------------------------------------------
// Sector + material volume construction
// ------------------------------------------------------------------------
@@ -223,8 +71,8 @@ public Vector3d getCenterCoordinate(int isector, int iregion) {
*/
public Geant4Basic createSector(int isector, int iregion) {
- SectorDimensions dimPhys = this.getSectorActiveVolumeDimensions(iregion);
- SectorDimensions dimCont = this.getSectorContainerDimensions(iregion);
+ SectorDimensions dimPhys = C.getSectorActiveVolumeDimensions(iregion);
+ SectorDimensions dimCont = C.getSectorContainerDimensions(iregion);
Geant4Basic sectorVolume = createSectorVolume(isector, iregion, dimCont);
populateSectorWithDetectorStructure(sectorVolume, isector, iregion, dimPhys);
@@ -250,7 +98,7 @@ protected Geant4Basic createSectorVolume(int isector,
double sectorDX0 = dimSect.halfSmallBase();
double sectorTtilt = dimSect.tiltRad();
- Vector3d vCenter = this.getCenterCoordinate(isector, iregion);
+ Vector3d vCenter = C.getCenterCoordinate(isector, iregion);
Geant4Basic sectorVolume = new G4Trap(
"region_" + C.detectorName + "_" + (iregion + 1) + "_s" + (isector + 1),
diff --git a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidStripFactory.java b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidStripFactory.java
index 283adf2b21..e8adb34945 100644
--- a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidStripFactory.java
+++ b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidStripFactory.java
@@ -12,6 +12,7 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
+import org.jlab.detector.geant4.v2.MPGD.trapezoid.MPGDTrapezoidConstants.SectorDimensions;
/**
* Base class implementing strip/surface/plane geometry for trapezoidal MPGD
@@ -253,7 +254,7 @@ protected Vector3d toGlobalSensitive(int region, int sector, int layer, Vector3d
// ------------------------------------------------------------------------
/**
* Build StripConstants using: - XY trapezoid from
- * geo.getSectorDimensionsPhysical(region) (NOT enlarged) - zReadoutLocal
+ * C.getSectorActiveVolumeDimensions(region) (NOT enlarged) - zReadoutLocal
* from CCDB sensitive thickness (findReadoutZLocal) - pitch/width/stereo
* from CCDB
*
@@ -263,8 +264,8 @@ protected Vector3d toGlobalSensitive(int region, int sector, int layer, Vector3d
*/
protected StripConstants buildStripConstants(int region, int layer) {
- MPGDTrapezoidGeant4Factory.SectorDimensions phys
- = geo.getSectorActiveVolumeDimensions(region - 1);
+ SectorDimensions phys
+ = C.getSectorActiveVolumeDimensions(region - 1);
StripConstants sc = new StripConstants();
sc.yHalf = phys.halfHeight();
diff --git a/common-tools/clas-logging/pom.xml b/common-tools/clas-logging/pom.xml
index 3bac5a595c..d42153a52b 100644
--- a/common-tools/clas-logging/pom.xml
+++ b/common-tools/clas-logging/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-logging
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-math/pom.xml b/common-tools/clas-math/pom.xml
index 3d0019dc74..1ba26e2200 100644
--- a/common-tools/clas-math/pom.xml
+++ b/common-tools/clas-math/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-math
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-physics/pom.xml b/common-tools/clas-physics/pom.xml
index 7dd79bd5c1..bbbd60ed91 100644
--- a/common-tools/clas-physics/pom.xml
+++ b/common-tools/clas-physics/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-physics
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-reco/pom.xml b/common-tools/clas-reco/pom.xml
index 30e803cdef..7f8b211a89 100644
--- a/common-tools/clas-reco/pom.xml
+++ b/common-tools/clas-reco/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-reco
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -50,43 +50,43 @@
cnuphys
magfield
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
cnuphys
swimmer
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-physics
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-tracking/pom.xml b/common-tools/clas-tracking/pom.xml
index 5634bffc0d..835e1ea5a8 100644
--- a/common-tools/clas-tracking/pom.xml
+++ b/common-tools/clas-tracking/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-tracking
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -33,23 +33,23 @@
org.jlab.clas
swim-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-physics
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-utils/pom.xml b/common-tools/clas-utils/pom.xml
index b7f80ec74f..fca61f16d2 100644
--- a/common-tools/clas-utils/pom.xml
+++ b/common-tools/clas-utils/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -22,7 +22,7 @@
org.jlab.clas
clas-logging
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionParser.java b/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionParser.java
index d0e1f26b9f..9b6f34f68d 100644
--- a/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionParser.java
+++ b/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionParser.java
@@ -7,7 +7,7 @@
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import java.util.TreeMap;
+import java.util.LinkedHashMap;
import java.util.logging.Logger;
import java.util.logging.Level;
import org.jlab.logging.SplitLogManager;
@@ -19,9 +19,9 @@
*/
public class OptionParser {
- private Map optionsDescriptors = new TreeMap<>();
- private Map requiredOptions = new TreeMap<>();
- private Map parsedOptions = new TreeMap<>();
+ private Map optionsDescriptors = new LinkedHashMap<>();
+ private Map requiredOptions = new LinkedHashMap<>();
+ private Map parsedOptions = new LinkedHashMap<>();
private Set overridenOptions = new HashSet<>();
private List parsedInputList = new ArrayList<>();
private String program = "undefined";
@@ -129,13 +129,7 @@ public String getUsageString(){
}
public void printUsage(){
- System.out.println("\n\n");
- System.out.println("*******************************************");
- System.out.println("* PROGRAM USAGE : by OptionParser *");
- System.out.println("*******************************************");
- System.out.println("\n\n");
System.out.println(this.getUsageString());
- System.out.println("\n\n");
}
public void parse(String... args) {
diff --git a/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionValue.java b/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionValue.java
index b354151844..5ffcac4963 100644
--- a/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionValue.java
+++ b/common-tools/clas-utils/src/main/java/org/jlab/utils/options/OptionValue.java
@@ -53,4 +53,8 @@ public boolean parse(List arguments){
arguments.remove(index);
return true;
}
+
+ public boolean isDefault() {
+ return this.optionValue.equals(this.optionDefault);
+ }
}
diff --git a/common-tools/cnuphys/magfield/pom.xml b/common-tools/cnuphys/magfield/pom.xml
index 8d494872b6..843e28760d 100644
--- a/common-tools/cnuphys/magfield/pom.xml
+++ b/common-tools/cnuphys/magfield/pom.xml
@@ -4,13 +4,13 @@
cnuphys
magfield
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
cnuphys
clas12
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/cnuphys/pom.xml b/common-tools/cnuphys/pom.xml
index 13e80db741..5d3c0d47da 100644
--- a/common-tools/cnuphys/pom.xml
+++ b/common-tools/cnuphys/pom.xml
@@ -4,13 +4,13 @@
cnuphys
clas12
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
pom
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/cnuphys/snr/pom.xml b/common-tools/cnuphys/snr/pom.xml
index 248cb77c51..3331057b14 100644
--- a/common-tools/cnuphys/snr/pom.xml
+++ b/common-tools/cnuphys/snr/pom.xml
@@ -4,13 +4,13 @@
cnuphys
snr
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
cnuphys
clas12
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/cnuphys/splot/pom.xml b/common-tools/cnuphys/splot/pom.xml
index ac70bd5373..843b3084d1 100644
--- a/common-tools/cnuphys/splot/pom.xml
+++ b/common-tools/cnuphys/splot/pom.xml
@@ -4,13 +4,13 @@
cnuphys
splot
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
cnuphys
clas12
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/cnuphys/swimmer/pom.xml b/common-tools/cnuphys/swimmer/pom.xml
index 3f93373dda..c84ab05e7d 100644
--- a/common-tools/cnuphys/swimmer/pom.xml
+++ b/common-tools/cnuphys/swimmer/pom.xml
@@ -4,26 +4,26 @@
cnuphys
swimmer
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
cnuphys
clas12
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
cnuphys
magfield
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
cnuphys
splot
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/coat-libs/pom.xml b/common-tools/coat-libs/pom.xml
index e677ce799b..f0dc712f96 100644
--- a/common-tools/coat-libs/pom.xml
+++ b/common-tools/coat-libs/pom.xml
@@ -4,13 +4,13 @@
org.jlab.coat
coat-libs
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -66,91 +66,91 @@
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clara-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-logging
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-reco
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-jcsg
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-analysis
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-math
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-physics
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
swim-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-tracking
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-decay-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
cnuphys
snr
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -257,6 +257,15 @@
maven-deploy-plugin
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+ true
+
+
+
diff --git a/common-tools/pom.xml b/common-tools/pom.xml
index e840983921..42e9a842f2 100644
--- a/common-tools/pom.xml
+++ b/common-tools/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
pom
org.jlab.clas
coatjava
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/common-tools/swim-tools/pom.xml b/common-tools/swim-tools/pom.xml
index ad267d7634..f18005dde5 100644
--- a/common-tools/swim-tools/pom.xml
+++ b/common-tools/swim-tools/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas
swim-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas
common-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -21,37 +21,37 @@
org.jlab.clas
clas-reco
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
cnuphys
magfield
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
cnuphys
swimmer
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/etc/bankdefs/hipo4/alert.json b/etc/bankdefs/hipo4/alert.json
index 8400034b57..64d4faeec1 100644
--- a/etc/bankdefs/hipo4/alert.json
+++ b/etc/bankdefs/hipo4/alert.json
@@ -65,6 +65,38 @@
{"name": "trackid", "type": "I", "info": "track id"},
{"name": "matched_atof_hit_id", "type": "I", "info": "id of the matched ATOF hit, -1 if no hit was matched"}
]
+ },
+ {
+ "name": "ALERT::ai:prepid",
+ "group": 23000,
+ "item": 33,
+ "info": "ALERT AI-assisted PrePID to be used for Kalman Filter",
+ "entries": [
+ {"name":"trackid", "type":"I", "info":"AHDC trackid"},
+ {"name":"clusterid", "type":"I", "info":"ATOF cluster id"},
+ {"name":"prepid", "type":"I", "info":"argmax PID"},
+ {"name":"p2212", "type":"F", "info":"P(pid=2212)"},
+ {"name":"p45", "type":"F", "info":"P(pid=45)"},
+ {"name":"p46", "type":"F", "info":"P(pid=46)"},
+ {"name":"p47", "type":"F", "info":"P(pid=47)"},
+ {"name":"p49", "type":"F", "info":"P(pid=49)"}
+ ]
+ },
+ {
+ "name": "ALERT::ai:pid",
+ "group": 23000,
+ "item": 34,
+ "info": "AI-assisted PID for ALERT",
+ "entries": [
+ {"name":"trackid", "type":"I", "info":"AHDC trackid"},
+ {"name":"clusterid", "type":"I", "info":"ATOF cluster id"},
+ {"name":"pid", "type":"I", "info":"argmax PID"},
+ {"name":"prob_2212", "type":"F", "info":"P(pid=2212)"},
+ {"name":"prob_45", "type":"F", "info":"P(pid=45)"},
+ {"name":"prob_46", "type":"F", "info":"P(pid=46)"},
+ {"name":"prob_47", "type":"F", "info":"P(pid=47)"},
+ {"name":"prob_49", "type":"F", "info":"P(pid=49)"}
+ ]
},
{
"name": "ATOF::hits",
@@ -200,7 +232,7 @@
"name": "time",
"type": "D",
"info": "calibrated time (ns)"
- }, {
+ }, {
"name": "adc",
"type": "I",
"info": "calibrated ADC"
@@ -440,5 +472,19 @@
{"name": "x", "type": "F", "info": "x info (mm)"},
{"name": "y", "type": "F", "info": "y info (mm)"}
]
+ },
+ {
+ "name": "AHDC::docaclusters",
+ "group": 23000,
+ "item": 126,
+ "info": "Doca-refined cluster space points",
+ "entries": [
+ {"name": "x", "type": "F", "info": "refined x (mm)"},
+ {"name": "y", "type": "F", "info": "refined y (mm)"},
+ {"name": "z", "type": "F", "info": "refined z (mm)"},
+ {"name": "weight", "type": "F", "info": "refined point weight"},
+ {"name": "pattern", "type": "I", "info": "hit pattern: 11,12,21,22"},
+ {"name": "idx", "type": "I", "info": "index of original AHDC::clusters row"}
+ ]
}
]
diff --git a/etc/data/nnet b/etc/data/nnet
index f43cee9e39..efa89e44d0 160000
--- a/etc/data/nnet
+++ b/etc/data/nnet
@@ -1 +1 @@
-Subproject commit f43cee9e391eb1db30f61f125ecc7f7d3f3cf37e
+Subproject commit efa89e44d0c68e2107105cc39096b41d98bba590
diff --git a/libexec/dependency-analysis.sh b/libexec/dependency-analysis.sh
deleted file mode 100755
index 9330057e2a..0000000000
--- a/libexec/dependency-analysis.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-# analyze maven dependencies
-# NOTE: skips `coat-libs`, since shaded JAR dependencies are "unused" according to `dependency:analyze`
-set -euo pipefail
-mvn dependency:analyze -DfailOnWarning=true -pl '!org.jlab.coat:coat-libs' --no-transfer-progress
diff --git a/libexec/dependency-tree.sh b/libexec/dependency-tree.sh
deleted file mode 100755
index 056976afdb..0000000000
--- a/libexec/dependency-tree.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-# print the maven dependency tree
-set -euo pipefail
-mvn dependency:tree -Ddetail=true --no-transfer-progress
diff --git a/pom.xml b/pom.xml
index 75403d19eb..8e488499bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
org.jlab.clas
coatjava
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
pom
@@ -29,6 +29,18 @@
+
+
+ skip-tests
+
+ true
+
+
+ true
+
+
+
+
@@ -251,6 +263,29 @@
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.6.2
+
+
+ enforce-java
+
+ enforce
+
+
+
+
+ [21,)
+
+
+
+
+
+
+
+
com.github.spotbugs
spotbugs-maven-plugin
@@ -260,6 +295,7 @@
+
org.apache.maven.plugins
maven-javadoc-plugin
@@ -280,6 +316,7 @@
+
org.apache.maven.plugins
maven-compiler-plugin
@@ -289,7 +326,6 @@
UTF-8
-
org.apache.maven.plugins
maven-resources-plugin
@@ -299,6 +335,7 @@
+
org.apache.maven.plugins
maven-jar-plugin
@@ -323,6 +360,35 @@
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.10.0
+
+
+ analyze
+ verify
+
+ tree
+ analyze-only
+
+
+ true
+
+
+ ai.djl:model-zoo
+ ai.djl.pytorch:pytorch-model-zoo
+ ai.djl.pytorch:pytorch-engine
+ ai.djl.pytorch:pytorch-native-cpu
+ ai.djl.pytorch:pytorch-jni
+
+
+
+
+
+
+
org.apache.maven.plugins
maven-enforcer-plugin
@@ -347,6 +413,7 @@
+
org.jacoco
jacoco-maven-plugin
diff --git a/reconstruction/ai/pom.xml b/reconstruction/ai/pom.xml
index 15bc439eae..fc8fbefa32 100644
--- a/reconstruction/ai/pom.xml
+++ b/reconstruction/ai/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas12.detector
clas12detector-ai
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas12
reconstruction
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -18,19 +18,19 @@
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-reco
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
diff --git a/reconstruction/alert/pom.xml b/reconstruction/alert/pom.xml
index da37a38210..7eca04c76c 100644
--- a/reconstruction/alert/pom.xml
+++ b/reconstruction/alert/pom.xml
@@ -4,13 +4,13 @@
org.jlab.clas12.detector
clas12detector-alert
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
jar
org.jlab.clas12
reconstruction
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
@@ -30,54 +30,54 @@
org.jlab.clas
clas-reco
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
org.jlab.clas
clas-io
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
compile
org.jlab.clas
clas-analysis
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
test
org.jlab.clas
clas-tracking
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
compile
org.jlab.clas
clas-geometry
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
compile
org.jlab.clas
clas-utils
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
compile
org.jlab.clas
clas-detector
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
compile
org.jlab.clas
clas-physics
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
compile
org.jlab.clas
swim-tools
- 13.7.0-SNAPSHOT
+ 13.7.1-SNAPSHOT
compile
@@ -127,7 +127,7 @@
org.apache.maven.plugins
maven-dependency-plugin
- 3.9.0
+ 3.10.0
copy-dependencies
@@ -141,15 +141,6 @@
-
-
- ai.djl:model-zoo
- ai.djl.pytorch:pytorch-model-zoo
- ai.djl.pytorch:pytorch-engine
- ai.djl.pytorch:pytorch-native-cpu
- ai.djl.pytorch:pytorch-jni
-
-
diff --git a/reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Banks/RecoBankWriter.java b/reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Banks/RecoBankWriter.java
index 6adf5a1ce4..0218dec350 100644
--- a/reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Banks/RecoBankWriter.java
+++ b/reconstruction/alert/src/main/java/org/jlab/rec/ahdc/Banks/RecoBankWriter.java
@@ -5,11 +5,13 @@
import org.jlab.rec.ahdc.AI.InterCluster;
import org.jlab.rec.ahdc.AI.TrackPrediction;
import org.jlab.rec.ahdc.Cluster.Cluster;
+import org.jlab.rec.ahdc.Cluster.DocaCluster;
import org.jlab.rec.ahdc.Hit.Hit;
import org.jlab.rec.ahdc.PreCluster.PreCluster;
import org.jlab.rec.ahdc.Track.Track;
import java.util.ArrayList;
+import java.util.List;
public class RecoBankWriter {
@@ -120,6 +122,7 @@ public DataBank fillAHDCTrackBank(DataEvent event, ArrayList