Skip to content

Commit c0fc069

Browse files
authored
Merge pull request #29 from JeffersonLab/iss28
new steering file and driver to deal with 2016 event flag filtering f…
2 parents d5e6468 + 27b3c78 commit c0fc069

2 files changed

Lines changed: 182 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
2+
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
3+
<execute>
4+
<driver name="EventMarkerDriver"/>
5+
<driver name="CleanupDriver"/>
6+
<driver name="RewriteFlagsDriver"/>
7+
<driver name="EventFlagFilter"/>
8+
<driver name="RawTrackerHitSensorSetup"/>
9+
10+
<driver name="TridentTuple"/>
11+
<driver name="MollerTuple"/>
12+
<driver name="FEETuple"/>
13+
</execute>
14+
<drivers>
15+
<driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
16+
<eventInterval>1000</eventInterval>
17+
</driver>
18+
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
19+
<driver name="RewriteFlagsDriver" type = "org.hps.users.holly.RewriteFlagsDriver" />
20+
<driver name="EventFlagFilter" type="org.hps.recon.filtering.EventFlagFilter">
21+
<flagNames>svt_bias_good svt_burstmode_noise_good svt_event_header_good svt_latency_good</flagNames>
22+
</driver>
23+
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
24+
<readoutCollections>SVTRawTrackerHits</readoutCollections>
25+
</driver>
26+
27+
<driver name="TridentTuple" type="org.hps.analysis.tuple.TridentTupleDriver">
28+
<triggerType>all</triggerType>
29+
<isGBL>true</isGBL>
30+
<tupleFile>${outputFile}_tri.txt</tupleFile>
31+
<cutTuple>true</cutTuple>
32+
</driver>
33+
<driver name="MollerTuple" type="org.hps.analysis.tuple.MollerTupleDriver">
34+
<triggerType>all</triggerType>
35+
<isGBL>true</isGBL>
36+
<tupleFile>${outputFile}_moller.txt</tupleFile>
37+
<cutTuple>true</cutTuple>
38+
</driver>
39+
<driver name="FEETuple" type="org.hps.analysis.tuple.FEETupleDriver">
40+
<triggerType>all</triggerType>
41+
<isGBL>true</isGBL>
42+
<tupleFile>${outputFile}_fee.txt</tupleFile>
43+
<cutTuple>true</cutTuple>
44+
</driver>
45+
</drivers>
46+
</lcsim>
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
package org.hps.users.holly;
2+
3+
4+
5+
import java.util.Date;
6+
7+
import java.util.List;
8+
9+
10+
11+
import org.hps.conditions.database.DatabaseConditionsManager;
12+
13+
14+
import org.hps.conditions.svt.SvtBiasConstant;
15+
16+
import org.hps.record.triggerbank.AbstractIntData;
17+
18+
import org.hps.record.triggerbank.HeadBankData;
19+
20+
import org.lcsim.event.EventHeader;
21+
22+
import org.lcsim.event.GenericObject;
23+
24+
import org.lcsim.geometry.Detector;
25+
26+
import org.lcsim.util.Driver;
27+
28+
29+
30+
public class RewriteFlagsDriver extends Driver {
31+
32+
@Override
33+
34+
public void detectorChanged(Detector detector){
35+
36+
initialize();
37+
38+
}
39+
40+
41+
42+
SvtBiasConstant.SvtBiasConstantCollection svtBiasConstants = null;
43+
44+
boolean biasGood = false;
45+
46+
@Override
47+
48+
public void process(EventHeader event){
49+
50+
Date eventDate = getEventTimeStamp(event);
51+
52+
if (eventDate != null) {
53+
54+
biasGood = false;
55+
56+
if (svtBiasConstants != null) {
57+
58+
SvtBiasConstant biasConstant = svtBiasConstants.find(eventDate);
59+
60+
if (biasConstant != null) {
61+
62+
biasGood = true;
63+
64+
}
65+
66+
}
67+
68+
69+
70+
71+
72+
73+
74+
}
75+
76+
event.getIntegerParameters().put("svt_bias_good", new int[]{biasGood ? 1 : 0});
77+
78+
79+
80+
81+
82+
}
83+
84+
private Date getEventTimeStamp(EventHeader event) {
85+
86+
//long timestamp = event.getTimeStamp();
87+
88+
89+
90+
91+
92+
List<GenericObject> intDataCollection = event.get(GenericObject.class, "TriggerBank");
93+
94+
for (GenericObject data : intDataCollection) {
95+
96+
if (AbstractIntData.getTag(data) == HeadBankData.BANK_TAG) {
97+
98+
Date date = HeadBankData.getDate(data);
99+
100+
if (date != null) {
101+
102+
//System.out.printf("%d %d\n", date.getTime(),timestamp);
103+
104+
return date;
105+
106+
}
107+
108+
}
109+
110+
}
111+
112+
return null;
113+
114+
// return new Date(timestamp/1000000 + 1457322909477L);
115+
116+
}
117+
118+
public void initialize() {
119+
120+
try {
121+
122+
svtBiasConstants = DatabaseConditionsManager.getInstance().getCachedConditions(SvtBiasConstant.SvtBiasConstantCollection.class, "svt_bias_constants").getCachedData();
123+
124+
} catch (Exception e) {
125+
126+
svtBiasConstants = null;
127+
128+
}
129+
130+
131+
132+
133+
134+
}
135+
136+
}

0 commit comments

Comments
 (0)