Skip to content

Commit 789362d

Browse files
baltzelltongtongcao
authored andcommitted
Add uber services (#896)
* add uber engines * abort asap * use rg-d
1 parent f76669a commit 789362d

14 files changed

Lines changed: 471 additions & 7 deletions

File tree

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
package org.jlab.clas.reco;
2+
3+
import java.util.ArrayList;
4+
import org.jlab.clara.engine.EngineData;
5+
import org.jlab.io.base.DataEvent;
6+
7+
/**
8+
* A ReconstructionEngine that is a chain of ReconstructionEngines.
9+
*
10+
* @author baltzell
11+
*/
12+
public abstract class UberEngine extends ReconstructionEngine {
13+
14+
private final ArrayList<ReconstructionEngine> engines = new ArrayList<>();
15+
16+
public UberEngine(String name, String author, String version) {
17+
super(name,author,version);
18+
}
19+
20+
/**
21+
* Add engines to the chain.
22+
* @param e
23+
*/
24+
protected void add(ReconstructionEngine... e) {
25+
for (int i=0; i<e.length; ++i) {
26+
if (UberEngine.class.isInstance(e[i]))
27+
throw new RuntimeException("UberEngine cannot contain an UberEngine.");
28+
engines.add(e[i]);
29+
}
30+
}
31+
32+
@Override
33+
public boolean processDataEvent(DataEvent event) {
34+
throw new RuntimeException("UberEngine does not implement processDataEvent.");
35+
}
36+
37+
/**
38+
* Process one event through the chain of engines.
39+
* @param event
40+
*/
41+
@Override
42+
public final void filterEvent(DataEvent event) {
43+
for (ReconstructionEngine e : engines)
44+
e.filterEvent(event);
45+
}
46+
47+
/**
48+
* Run all engines' init methods.
49+
* @return
50+
*/
51+
@Override
52+
public final boolean init() {
53+
boolean ret = true;
54+
for (ReconstructionEngine e : engines)
55+
if (!e.init()) ret = false;
56+
return ret;
57+
}
58+
59+
/**
60+
* Run all engines' configure methods.
61+
* @param ed
62+
* @return
63+
*/
64+
@Override
65+
public EngineData configure(EngineData ed) {
66+
for (ReconstructionEngine e : engines) {
67+
e.configure(ed);
68+
}
69+
return ed;
70+
}
71+
72+
/**
73+
* Run all engines' execute methods.
74+
* @param ed
75+
* @return
76+
*/
77+
@Override
78+
public EngineData execute(EngineData ed) {
79+
for (ReconstructionEngine e : engines)
80+
ed = e.execute(ed);
81+
return ed;
82+
}
83+
}

etc/services/data-ai-uber.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
configuration:
2+
global:
3+
variation: rgd_fall2023
4+
#dcMinistagger: "NOTONREFWIRE"
5+
#dcFeedthroughs: "OFF"
6+
io-services:
7+
writer:
8+
schema_dir: dst
9+
services:
10+
1ST:
11+
magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat
12+
magfieldTorusMap: Full_torus_r251_phi181_z251_25Jan2021.dat
13+
HB:
14+
run: "19000"
15+
io-services:
16+
reader:
17+
class: org.jlab.io.clara.DecoderReader
18+
name: DecoderReader
19+
writer:
20+
class: org.jlab.io.clara.DecoderWriter
21+
name: DecoderWriter
22+
services:
23+
- class: org.jlab.service.uber.Uber$First
24+
name: 1ST
25+
- class: org.jlab.service.uber.Uber$ForwardTagger
26+
name: FT
27+
- class: org.jlab.service.uber.Uber$Central
28+
name: CD
29+
- class: org.jlab.service.uber.Uber$HitBasedAI
30+
name: HB
31+
- class: org.jlab.service.uber.Uber$TimeBasedCV
32+
name: TB
33+
- class: org.jlab.service.uber.Uber$Last
34+
name: NTH
35+
mime-types:
36+
- binary/data-hipo

etc/services/data-ai.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ configuration:
7272
# dcFeedthroughs: "OFF"
7373
io-services:
7474
writer:
75-
schema_dir: data-ai
75+
schema_dir: dst
7676
services:
7777
MAGFIELDS:
7878
magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat

etc/services/data-aicv-uber.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
configuration:
2+
global:
3+
variation: rgd_fall2023
4+
# dcMinistagger: "NOTONREFWIRE"
5+
# dcFeedthroughs: "OFF"
6+
io-services:
7+
writer:
8+
schema_dir: dst
9+
services:
10+
1ST:
11+
magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat
12+
magfieldTorusMap: Full_torus_r251_phi181_z251_25Jan2021.dat
13+
HB:
14+
run: "19000"
15+
io-services:
16+
reader:
17+
class: org.jlab.io.clara.DecoderReader
18+
name: DecoderReader
19+
writer:
20+
class: org.jlab.io.clara.DecoderWriter
21+
name: DecoderWriter
22+
services:
23+
- class: org.jlab.service.uber.Uber$First
24+
name: 1ST
25+
- class: org.jlab.service.uber.Uber$ForwardTagger
26+
name: FT
27+
- class: org.jlab.service.uber.Uber$Central
28+
name: CD
29+
- class: org.jlab.service.uber.Uber$HitBasedAICV
30+
name: HB
31+
- class: org.jlab.service.uber.Uber$TimeBasedAICV
32+
name: TB
33+
- class: org.jlab.service.uber.Uber$Last
34+
name: NTH
35+
mime-types:
36+
- binary/data-hipo

etc/services/data-aicv.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,14 @@ services:
7676
name: CALIB
7777
configuration:
7878
global:
79-
variation: rgb_spring2019
79+
variation: rgd_fall2023
8080
# timestamp: 12/31/2020-00:00:00
8181
## uncomment the following two lines for compatibility with alignments before the DC fixes
8282
# dcMinistagger: "NOTONREFWIRE"
8383
# dcFeedthroughs: "OFF"
8484
io-services:
8585
writer:
86-
schema_dir: data-aicv
86+
schema_dir: dst
8787
#schema_dir: "/home/clas12-1/chef/myClara/plugins/clas12/etc/bankdefs/dst"
8888
services:
8989
MAGFIELDS:

etc/services/data-cv-uber.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
configuration:
2+
global:
3+
variation: rgd_fall2023
4+
io-services:
5+
writer:
6+
schema_dir: dst
7+
services:
8+
1ST:
9+
magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat
10+
magfieldTorusMap: Full_torus_r251_phi181_z251_25Jan2021.dat
11+
HB:
12+
run: "19000"
13+
io-services:
14+
reader:
15+
class: org.jlab.io.clara.DecoderReader
16+
name: DecoderReader
17+
writer:
18+
class: org.jlab.io.clara.DecoderWriter
19+
name: DecoderWriter
20+
services:
21+
- class: org.jlab.service.uber.Uber$First
22+
name: 1ST
23+
- class: org.jlab.service.uber.Uber$ForwardTagger
24+
name: FT
25+
- class: org.jlab.service.uber.Uber$Central
26+
name: CD
27+
- class: org.jlab.service.uber.Uber$HitBasedCV
28+
name: HB
29+
- class: org.jlab.service.uber.Uber$TimeBasedCV
30+
name: TB
31+
- class: org.jlab.service.uber.Uber$Last
32+
name: NTH
33+
mime-types:
34+
- binary/data-hipo

etc/services/data-cv.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ services:
6363
name: CALIB
6464
configuration:
6565
global:
66-
variation: rgb_spring2019
66+
variation: rgd_fall2023
6767
# timestamp: 12/31/2020-00:00:00
6868
# triggerMask: "0x1"
6969
## uncomment the following two lines for compatibility with alignments before the DC fixes
7070
# dcMinistagger: "NOTONREFWIRE"
7171
# dcFeedthroughs: "OFF"
7272
io-services:
7373
writer:
74-
schema_dir: data-cv
74+
schema_dir: dst
7575
services:
7676
MAGFIELDS:
7777
magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat

etc/services/mc-ai.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ configuration:
7171
# dcFeedthroughs: "OFF"
7272
io-services:
7373
writer:
74-
schema_dir: mc-ai
74+
schema_dir: dst
7575
#schema_dir: "/home/clas12-1/chef/myClara/plugins/clas12/etc/bankdefs/dst"
7676
services:
7777
MAGFIELDS:

etc/services/mc-cv.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ configuration:
6868
# dcFeedthroughs: "OFF"
6969
io-services:
7070
writer:
71-
schema_dir: mc-cv
71+
schema_dir: dst
7272
services:
7373
MAGFIELDS:
7474
magfieldSolenoidMap: Symm_solenoid_r601_phi1_z1201_13June2018.dat

reconstruction/dc/src/main/java/org/jlab/service/dc/DCHBPostClusterAI.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ public DCHBPostClusterAI() {
3939
this.getBanks().init("HitBasedTrkg", "", "AI");
4040
}
4141

42+
public DCHBPostClusterAI(String outputBankPrefix) {
43+
super("DCHAI");
44+
this.getBanks().init("HitBasedTrkg", "", outputBankPrefix);
45+
}
4246

4347
@Override
4448
public void setDropBanks() {

0 commit comments

Comments
 (0)