Skip to content

Commit 7788464

Browse files
First attempt at writing Si inactive hits from readout sim.
1 parent c1c4405 commit 7788464

3 files changed

Lines changed: 58 additions & 2 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.hps.readout.ecal;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
import org.lcsim.event.EventHeader;
7+
import org.lcsim.event.SimTrackerHit;
8+
import org.lcsim.event.base.BaseSimTrackerHit;
9+
import org.lcsim.lcio.LCIOConstants;
10+
11+
public class InactiveSiHitReadout extends TriggerableDriver {
12+
13+
private static String COLLNAME = "TrackerHits_Inactive";
14+
private List<SimTrackerHit> hits = new ArrayList<SimTrackerHit>();
15+
static final int FLAG = (1 << LCIOConstants.THBIT_MOMENTUM);
16+
17+
public void process(EventHeader event) {
18+
if (event.hasCollection(SimTrackerHit.class, COLLNAME)) {
19+
List<SimTrackerHit> hits = event.get(SimTrackerHit.class, COLLNAME);
20+
for (SimTrackerHit hit : hits) {
21+
double hitTime = hit.getTime();
22+
hitTime += ClockSingleton.getTime();
23+
((BaseSimTrackerHit)hit).setTime(hitTime);
24+
}
25+
hits.addAll(hits);
26+
}
27+
checkTrigger(event);
28+
}
29+
30+
@Override
31+
protected void processTrigger(EventHeader event) {
32+
event.put(COLLNAME, hits, SimTrackerHit.class, FLAG, "TrackerHits");
33+
hits.clear();
34+
}
35+
36+
@Override
37+
public int getTimestampType() {
38+
return ReadoutTimestamp.SYSTEM_TRACKER;
39+
}
40+
}

evio/src/main/java/org/hps/evio/TestRunTriggeredReconToLcio.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,12 @@ public class TestRunTriggeredReconToLcio extends TriggerableDriver {
5656
List<SimTrackerHit> triggerTrackerHits = null;
5757
List<SimCalorimeterHit> triggerECalHits = null;
5858
List<SimTrackerHit> triggerECalScoringPlaneHits = null;
59+
List<SimTrackerHit> inactiveSiHits = null;
5960
static final String ecalCollectionName = "EcalHits";
6061
static final String trackerCollectionName = "TrackerHits";
6162
private final String relationCollectionName = "SVTTrueHitRelations";
6263
String ecalScoringPlaneHitsCollectionName = "TrackerHitsECal";
64+
static final String inactiveSiCollectionName = "TrackerHits_Inactive";
6365
private int verbosity = 1;
6466
private boolean writeSvtData = true;
6567
private boolean writeEcalData = true;
@@ -214,6 +216,9 @@ protected void process(EventHeader event) {
214216
if (event.hasCollection(SimTrackerHit.class, ecalScoringPlaneHitsCollectionName)) {
215217
triggerECalScoringPlaneHits = event.get(SimTrackerHit.class, ecalScoringPlaneHitsCollectionName);
216218
}
219+
if (event.hasCollection(SimTrackerHit.class, inactiveSiCollectionName)) {
220+
inactiveSiHits = event.get(SimTrackerHit.class, inactiveSiCollectionName);
221+
}
217222
} else {
218223
triggerMCParticles = null;
219224
triggerECalHits = null;
@@ -338,7 +343,16 @@ protected void processTrigger(EventHeader event) {
338343
System.out.println("Adding " + triggerECalScoringPlaneHits.size() + " ECalTrackerHits");
339344
}
340345
}
341-
}
346+
// iss221: Write inactive Si hits. --JM
347+
if (inactiveSiHits != null) {
348+
lcsimEvent.put(inactiveSiCollectionName, this.inactiveSiHits, SimTrackerHit.class, 0xc0000000);
349+
if (verbosity >= 1) {
350+
System.out.println("Adding " + this.inactiveSiHits.size() + " to " + inactiveSiCollectionName);
351+
}
352+
}
353+
354+
}
355+
342356
lcsimEvent.put(ReadoutTimestamp.collectionName, event.get(ReadoutTimestamp.class, ReadoutTimestamp.collectionName));
343357
++eventNum;
344358
}

steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1_Pass2.lcsim

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<driver name="EcalClustererGTP"/>
1313
<driver name="PairTrigger1"/>
1414
<driver name="SimpleSVTReadout" />
15+
<driver name="InactiveSiHitReadout" />
1516
<driver name="TestRunReconToLcio"/>
1617
<driver name="AidaSaveDriver"/>
1718
<driver name="ClockDriver"/>
@@ -72,7 +73,7 @@
7273
<energySlopeLow>0.600</energySlopeLow>
7374
<prescale>1</prescale>
7475
<outputFileName>${outputFile}.triggers.pairs1</outputFileName>
75-
<!--<verbose>true</verbose>-->
76+
<verbose>true</verbose>
7677
</driver>
7778
<driver name="SimpleSVTReadout" type="org.hps.readout.svt.SimpleSvtReadout">
7879
<enablePileupCut>false</enablePileupCut>
@@ -91,5 +92,6 @@
9192
<writeSvtData>true</writeSvtData>
9293
<ecalMode>1</ecalMode>
9394
</driver>
95+
<driver name="InactiveSiHitReadout" type="org.hps.readout.ecal.InactiveSiHitReadout" />
9496
</drivers>
9597
</lcsim>

0 commit comments

Comments
 (0)