Skip to content

Commit 0464d51

Browse files
authored
Merge branch 'development' into iss349-postproc-noheldel
2 parents dc68fa8 + 387ae54 commit 0464d51

File tree

99 files changed

+1105
-4125
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+1105
-4125
lines changed

.containers/coatjava.Dockerfile

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#syntax=docker/dockerfile:1
2+
3+
FROM ubuntu:noble
4+
5+
LABEL name="coatjava"
6+
LABEL maintainer="Whitney Armstrong <[email protected]>"
7+
LABEL architecture="amd64"
8+
9+
USER root
10+
11+
12+
RUN apt update && apt upgrade -y
13+
RUN apt install cmake vim maven groovy git ca-certificates wget curl python-is-python3 \
14+
openjdk-17-jdk openjdk-17-jre openjdk-17-jdk-headless openjdk-17-jre-headless \
15+
python3-sqlalchemy -y && update-ca-certificates
16+
17+
# CA certificates
18+
ADD https://pki.jlab.org/JLabCA.crt /etc/ssl/certs/JLabCA.crt
19+
#RUN trust anchor --store /image/JLabCA.crt
20+
21+
ARG REF_NAME=development
22+
# build coatjava
23+
RUN java --version && cd /opt && \
24+
git clone https://code.jlab.org/hallb/alert/coatjava.git && cd coatjava && \
25+
git fetch origin && git checkout ${REF_NAME} && ./build-coatjava.sh --nomaps

.gitlab-ci.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
workflow:
2+
rules:
3+
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
4+
- if: '$CI_PIPELINE_SOURCE == "web"'
5+
- if: '$CI_PIPELINE_SOURCE == "webide"'
6+
- if: '$CI_COMMIT_BRANCH == "master"'
7+
- if: '$CI_COMMIT_BRANCH == "development"'
8+
- if: '$CI_COMMIT_TAG'
9+
10+
default:
11+
image: ubuntu:noble
12+
retry: 2
13+
14+
coatjava_build:
15+
image: gcr.io/kaniko-project/executor:debug
16+
script:
17+
- echo "${CI_COMMIT_REF_NAME}"
18+
- >-
19+
/kaniko/executor
20+
--context $CI_PROJECT_DIR/docker
21+
--dockerfile $CI_PROJECT_DIR/.containers/coatjava.Dockerfile
22+
--destination $CI_REGISTRY_IMAGE/coatjava:${CI_COMMIT_REF_NAME}
23+
--build-arg REF_NAME=${CI_COMMIT_REF_NAME}
24+
25+
alert_testing:
26+
needs: ["coatjava_build"]
27+
variables:
28+
REF_NAME: "$CI_COMMIT_REF_NAME"
29+
trigger:
30+
project: hallb/alert/c12
31+
strategy: depend

bin/run-clara

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ do
3434
p) prefix=$OPTARG ;;
3535
c) CLARA_HOME=$OPTARG ;;
3636
t) threads=$OPTARG && echo $threads | grep -q -E '^[0-9]+$' || error "-t must be an integer, threads" ;;
37-
n) nevents="-e $OPTARG" && echo $nevents | grep -q -E '^-e [0-9]+$' || error "-n must be an integer, events" ;;
37+
n) nevents="-e $OPTARG" && echo "$nevents" | grep -q -E '^-e [0-9]+$' || error "-n must be an integer, events" ;;
3838
m) merge=1 ;;
3939
h) echo -e "\n$usage" && echo -e $info && exit 0 ;;
4040
esac

common-tools/clara-io/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.jlab.clas</groupId>
55
<artifactId>clara-io</artifactId>
6-
<version>11.0.3-SNAPSHOT</version>
6+
<version>11.0.5-SNAPSHOT</version>
77
<packaging>jar</packaging>
88

99
<parent>
1010
<groupId>org.jlab.clas</groupId>
1111
<artifactId>clas12rec</artifactId>
1212
<relativePath>../../parent/pom.xml</relativePath>
13-
<version>11.0.3-SNAPSHOT</version>
13+
<version>11.0.5-SNAPSHOT</version>
1414
</parent>
1515

1616
<dependencies>

common-tools/clas-analysis/pom.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,63 +3,63 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.jlab.clas</groupId>
55
<artifactId>clas-analysis</artifactId>
6-
<version>11.0.3-SNAPSHOT</version>
6+
<version>11.0.5-SNAPSHOT</version>
77
<packaging>jar</packaging>
88

99
<parent>
1010
<groupId>org.jlab.clas</groupId>
1111
<artifactId>clas12rec</artifactId>
1212
<relativePath>../../parent/pom.xml</relativePath>
13-
<version>11.0.3-SNAPSHOT</version>
13+
<version>11.0.5-SNAPSHOT</version>
1414
</parent>
1515

1616
<dependencies>
1717
<dependency>
1818
<groupId>org.jlab.clas</groupId>
1919
<artifactId>clas-utils</artifactId>
20-
<version>11.0.3-SNAPSHOT</version>
20+
<version>11.0.5-SNAPSHOT</version>
2121
</dependency>
2222

2323
<dependency>
2424
<groupId>org.jlab.clas</groupId>
2525
<artifactId>clas-physics</artifactId>
26-
<version>11.0.3-SNAPSHOT</version>
26+
<version>11.0.5-SNAPSHOT</version>
2727
</dependency>
2828

2929
<dependency>
3030
<groupId>org.jlab.clas</groupId>
3131
<artifactId>clas-io</artifactId>
32-
<version>11.0.3-SNAPSHOT</version>
32+
<version>11.0.5-SNAPSHOT</version>
3333
</dependency>
3434

3535
<dependency>
3636
<groupId>org.jlab.clas</groupId>
3737
<artifactId>clas-geometry</artifactId>
38-
<version>11.0.3-SNAPSHOT</version>
38+
<version>11.0.5-SNAPSHOT</version>
3939
</dependency>
4040

4141
<dependency>
4242
<groupId>org.jlab.clas</groupId>
4343
<artifactId>clas-jcsg</artifactId>
44-
<version>11.0.3-SNAPSHOT</version>
44+
<version>11.0.5-SNAPSHOT</version>
4545
</dependency>
4646

4747
<dependency>
4848
<groupId>org.jlab.clas</groupId>
4949
<artifactId>swim-tools</artifactId>
50-
<version>11.0.3-SNAPSHOT</version>
50+
<version>11.0.5-SNAPSHOT</version>
5151
</dependency>
5252

5353
<dependency>
5454
<groupId>org.jlab.clas</groupId>
5555
<artifactId>clas-detector</artifactId>
56-
<version>11.0.3-SNAPSHOT</version>
56+
<version>11.0.5-SNAPSHOT</version>
5757
</dependency>
5858

5959
<dependency>
6060
<groupId>org.jlab.clas</groupId>
6161
<artifactId>clas-reco</artifactId>
62-
<version>11.0.3-SNAPSHOT</version>
62+
<version>11.0.5-SNAPSHOT</version>
6363
</dependency>
6464
</dependencies>
6565

common-tools/clas-detector/pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.jlab.clas</groupId>
55
<artifactId>clas-detector</artifactId>
6-
<version>11.0.3-SNAPSHOT</version>
6+
<version>11.0.5-SNAPSHOT</version>
77
<packaging>jar</packaging>
88

99
<parent>
1010
<groupId>org.jlab.clas</groupId>
1111
<artifactId>clas12rec</artifactId>
1212
<relativePath>../../parent/pom.xml</relativePath>
13-
<version>11.0.3-SNAPSHOT</version>
13+
<version>11.0.5-SNAPSHOT</version>
1414
</parent>
1515

1616
<dependencies>
1717
<dependency>
1818
<groupId>org.jlab.clas</groupId>
1919
<artifactId>clas-utils</artifactId>
20-
<version>11.0.3-SNAPSHOT</version>
20+
<version>11.0.5-SNAPSHOT</version>
2121
</dependency>
2222

2323
<dependency>
@@ -29,13 +29,13 @@
2929
<dependency>
3030
<groupId>org.jlab.clas</groupId>
3131
<artifactId>clas-io</artifactId>
32-
<version>11.0.3-SNAPSHOT</version>
32+
<version>11.0.5-SNAPSHOT</version>
3333
</dependency>
3434

3535
<dependency>
3636
<groupId>org.jlab.clas</groupId>
3737
<artifactId>clas-geometry</artifactId>
38-
<version>11.0.3-SNAPSHOT</version>
38+
<version>11.0.5-SNAPSHOT</version>
3939
</dependency>
4040
</dependencies>
4141

common-tools/clas-detector/src/main/java/org/jlab/detector/base/DetectorType.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public enum DetectorType {
2929
BAND (21, "BAND"),
3030
RASTER (22, "RASTER"),
3131
URWELL (23, "URWELL"),
32+
AHDC (24, "AHDC"),
33+
ATOF (25, "ATOF"),
3234
TARGET (100, "TARGET"),
3335
MAGNETS (101, "MAGNETS"),
3436
ECIN (110, "ECIN"),

common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CLASDecoder4.java

Lines changed: 68 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ public List<DetectorDataDgtz> getEntriesADC(DetectorType type,
181181
public List<DetectorDataDgtz> getEntriesTDC(DetectorType type){
182182
return getEntriesTDC(type,dataList);
183183
}
184+
184185
/**
185186
* returns TDC entries from decoded data for given detector type
186187
* @param type detector type
@@ -290,6 +291,31 @@ public Bank getDataBankTDC(String name, DetectorType type){
290291
return tdcBANK;
291292
}
292293

294+
public Bank getDataBankTDCPetiroc(String name, DetectorType type){
295+
296+
List<DetectorDataDgtz> tdcDGTZ = this.getEntriesTDC(type);
297+
if(schemaFactory.hasSchema(name)==false){
298+
System.out.println("WARNING: No schema for TDC type : " + type);
299+
return null;
300+
}
301+
Bank tdcBANK = new Bank(schemaFactory.getSchema(name), tdcDGTZ.size());
302+
303+
if(tdcBANK==null) return null;
304+
305+
// Not sure why the schemea information isn't used here.
306+
for(int i = 0; i < tdcDGTZ.size(); i++){
307+
tdcBANK.putByte("sector", i, (byte) tdcDGTZ.get(i).getDescriptor().getSector());
308+
tdcBANK.putByte("layer", i, (byte) tdcDGTZ.get(i).getDescriptor().getLayer());
309+
tdcBANK.putShort("component", i, (short) tdcDGTZ.get(i).getDescriptor().getComponent());
310+
tdcBANK.putByte("order", i, (byte) tdcDGTZ.get(i).getDescriptor().getOrder());
311+
tdcBANK.putInt("TDC", i, tdcDGTZ.get(i).getTDCData(0).getTime());
312+
tdcBANK.putInt("ToT", i, tdcDGTZ.get(i).getTDCData(0).getToT());
313+
//System.err.println("event: " + tdcDGTZ.get(i).toString());
314+
}
315+
return tdcBANK;
316+
}
317+
318+
293319
public Bank getDataBankTimeStamp(String name, DetectorType type) {
294320

295321
List<DetectorDataDgtz> tdcDGTZ = this.getEntriesTDC(type);
@@ -300,7 +326,8 @@ public Bank getDataBankTimeStamp(String name, DetectorType type) {
300326
int hash = ((desc.getCrate()<<8)&0xFF00) | (desc.getSlot()&0x00FF);
301327
if(tsMap.containsKey(hash)) {
302328
if(tsMap.get(hash).getTimeStamp() != tdc.getTimeStamp())
303-
System.out.println("WARNING: inconsistent timestamp for DCRB crate/slot " + desc.getCrate() + "/" + desc.getSlot());
329+
System.out.println("WARNING: inconsistent timestamp for DCRB crate/slot "
330+
+ desc.getCrate() + "/" + desc.getSlot());
304331
}
305332
else {
306333
tsMap.put(hash, tdc);
@@ -393,16 +420,29 @@ public Event getDataEvent(){
393420

394421
Event event = new Event();
395422

396-
String[] adcBankNames = new String[]{"FTOF::adc","ECAL::adc","FTCAL::adc","FTHODO::adc","FTTRK::adc",
397-
"HTCC::adc","BST::adc","CTOF::adc","CND::adc","LTCC::adc","BMT::adc",
398-
"FMT::adc","HEL::adc","RF::adc","BAND::adc","RASTER::adc"};
399-
DetectorType[] adcBankTypes = new DetectorType[]{DetectorType.FTOF,DetectorType.ECAL,DetectorType.FTCAL,DetectorType.FTHODO,DetectorType.FTTRK,
400-
DetectorType.HTCC,DetectorType.BST,DetectorType.CTOF,DetectorType.CND,DetectorType.LTCC,DetectorType.BMT,
401-
DetectorType.FMT,DetectorType.HEL,DetectorType.RF,DetectorType.BAND, DetectorType.RASTER};
402-
403-
String[] tdcBankNames = new String[]{"FTOF::tdc","ECAL::tdc","DC::tdc","HTCC::tdc","LTCC::tdc","CTOF::tdc","CND::tdc","RF::tdc","RICH::tdc","BAND::tdc"};
404-
DetectorType[] tdcBankTypes = new DetectorType[]{DetectorType.FTOF,DetectorType.ECAL,
405-
DetectorType.DC,DetectorType.HTCC,DetectorType.LTCC,DetectorType.CTOF,DetectorType.CND,DetectorType.RF,DetectorType.RICH,DetectorType.BAND};
423+
String[] adcBankNames = new String[]{"FTOF::adc","ECAL::adc","FTCAL::adc",
424+
"FTHODO::adc", "FTTRK::adc",
425+
"HTCC::adc","BST::adc","CTOF::adc",
426+
"CND::adc","LTCC::adc","BMT::adc",
427+
"FMT::adc","HEL::adc","RF::adc",
428+
"BAND::adc","RASTER::adc",
429+
"AHDC::adc"};
430+
DetectorType[] adcBankTypes = new DetectorType[]{DetectorType.FTOF,DetectorType.ECAL,DetectorType.FTCAL,
431+
DetectorType.FTHODO,DetectorType.FTTRK,
432+
DetectorType.HTCC,DetectorType.BST,DetectorType.CTOF,
433+
DetectorType.CND,DetectorType.LTCC,DetectorType.BMT,
434+
DetectorType.FMT,DetectorType.HEL,DetectorType.RF,
435+
DetectorType.BAND, DetectorType.RASTER,
436+
DetectorType.AHDC};
437+
438+
String[] tdcBankNames = new String[]{"FTOF::tdc","ECAL::tdc","DC::tdc",
439+
"HTCC::tdc","LTCC::tdc","CTOF::tdc",
440+
"CND::tdc","RF::tdc","RICH::tdc",
441+
"BAND::tdc"};
442+
DetectorType[] tdcBankTypes = new DetectorType[]{DetectorType.FTOF,DetectorType.ECAL,
443+
DetectorType.DC,DetectorType.HTCC,DetectorType.LTCC,
444+
DetectorType.CTOF,DetectorType.CND,DetectorType.RF,
445+
DetectorType.RICH,DetectorType.BAND};
406446

407447
for(int i = 0; i < adcBankTypes.length; i++){
408448
Bank adcBank = getDataBankADC(adcBankNames[i],adcBankTypes[i]);
@@ -421,6 +461,18 @@ public Event getDataEvent(){
421461
}
422462
}
423463
}
464+
try {
465+
// Do ATOF
466+
Bank tdcBank = getDataBankTDCPetiroc("ATOF::tdc",DetectorType.ATOF);
467+
if(tdcBank!=null){
468+
if(tdcBank.getRows()>0){
469+
event.write(tdcBank);
470+
}
471+
}
472+
} catch(Exception e) {
473+
e.printStackTrace();
474+
}
475+
424476

425477
try {
426478
Bank tsBank = getDataBankTimeStamp("DC::jitter", DetectorType.DC);
@@ -432,10 +484,10 @@ public Event getDataEvent(){
432484
} catch(Exception e) {
433485
e.printStackTrace();
434486
}
487+
435488
/**
436489
* Adding un-decoded banks to the event
437490
*/
438-
439491
try {
440492
Bank adcBankUD = this.getDataBankUndecodedADC("RAW::adc", DetectorType.UNDEFINED);
441493
if(adcBankUD!=null){
@@ -671,6 +723,8 @@ public Bank createHelicityDecoderBank(EvioDataEvent event) {
671723
public static void main(String[] args){
672724

673725
OptionParser parser = new OptionParser("decoder");
726+
727+
parser.setDescription("CLAS12 Data Decoder");
674728
parser.addOption("-n", "-1", "maximum number of events to process");
675729
parser.addOption("-c", "2", "compression type (0-NONE, 1-LZ4 Fast, 2-LZ4 Best, 3-GZIP)");
676730
parser.addOption("-d", "0","debug mode, set >0 for more verbose output");
@@ -721,8 +775,8 @@ public static void main(String[] args){
721775
writer.setCompressionType(compression);
722776
writer.getSchemaFactory().initFromDirectory(ClasUtilsFile.getResourceDir("CLAS12DIR", "etc/bankdefs/hipo4"));
723777

724-
Bank rawScaler = new Bank(writer.getSchemaFactory().getSchema("RAW::scaler"));
725-
Bank rawRunConf = new Bank(writer.getSchemaFactory().getSchema("RUN::config"));
778+
Bank rawScaler = new Bank(writer.getSchemaFactory().getSchema("RAW::scaler"));
779+
Bank rawRunConf = new Bank(writer.getSchemaFactory().getSchema("RUN::config"));
726780
Bank helicityAdc = new Bank(writer.getSchemaFactory().getSchema("HEL::adc"));
727781
Event scalerEvent = new Event();
728782

0 commit comments

Comments
 (0)