Skip to content

Commit 687bca9

Browse files
Merge pull request #239 from JeffersonLab/iss221
Iss221: Support readout of inactive Si regions in SVT sensors
2 parents 6700493 + 90f22bb commit 687bca9

18 files changed

Lines changed: 20593 additions & 11 deletions

File tree

analysis/src/main/java/org/hps/analysis/MC/MCFullDetectorTruth.java

Lines changed: 524 additions & 0 deletions
Large diffs are not rendered by default.

analysis/src/main/java/org/hps/analysis/MC/TrackTruthMatching.java

Lines changed: 467 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.hps.analysis.tuple;
2+
3+
import java.util.Arrays;
4+
5+
import org.lcsim.event.EventHeader;
6+
7+
public class FullTruthTupleDriver extends TupleDriver {
8+
9+
@Override
10+
protected void setupVariables() {
11+
tupleVariables.clear();
12+
addEventVariables();
13+
addFullMCTridentVariables();
14+
addFullMCWabVariables();
15+
}
16+
17+
protected void addEventVariables() {
18+
String[] newVars = new String[] {"run/I", "event/I", "tupleevent/I"};
19+
tupleVariables.addAll(Arrays.asList(newVars));
20+
}
21+
22+
@Override
23+
public void process(EventHeader event) {
24+
25+
fillTruthEventVariables(event);
26+
fillMCFullTruthVariables(event);
27+
fillMCWabVariables(event);
28+
29+
if (tupleWriter != null) {
30+
writeTuple();
31+
}
32+
}
33+
}

analysis/src/main/java/org/hps/analysis/tuple/TridentTupleDriver.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
11
package org.hps.analysis.tuple;
22

3+
//import hep.physics.vec.BasicHep3Vector;
4+
//import hep.physics.vec.Hep3Vector;
5+
//import hep.physics.vec.VecOp;
6+
37
import java.util.ArrayList;
48
import java.util.Arrays;
59
import java.util.List;
10+
//import java.util.Map;
11+
//import java.util.Map.Entry;
12+
13+
//import org.hps.analysis.MC.MCFullDetectorTruth;
14+
//import org.hps.analysis.MC.TrackTruthMatching;
615
import org.hps.recon.particle.ReconParticleDriver;
716
import org.hps.recon.tracking.TrackType;
817
import org.hps.recon.vertexing.BilliorTrack;
918
import org.hps.record.triggerbank.AbstractIntData;
1019
import org.hps.record.triggerbank.TIData;
1120
import org.lcsim.event.EventHeader;
1221
import org.lcsim.event.GenericObject;
22+
//import org.lcsim.event.MCParticle;
1323
import org.lcsim.event.ReconstructedParticle;
24+
//import org.lcsim.event.SimCalorimeterHit;
25+
//import org.lcsim.event.SimTrackerHit;
1426
import org.lcsim.event.Track;
1527
import org.lcsim.event.TrackState;
28+
//import org.lcsim.geometry.IDDecoder;
1629

1730
public class TridentTupleDriver extends TupleDriver {
1831

@@ -21,6 +34,8 @@ public class TridentTupleDriver extends TupleDriver {
2134
private final double tupleTrkPCut = 0.9;
2235
private final double tupleMaxSumCut = 1.3;
2336
private boolean getMC = false;
37+
private boolean getFullTruth = false;
38+
private int tupleevent = 0;
2439

2540
@Override
2641
protected void setupVariables() {
@@ -29,6 +44,9 @@ protected void setupVariables() {
2944
addVertexVariables();
3045
addParticleVariables("ele");
3146
addParticleVariables("pos");
47+
if(getFullTruth){
48+
addFullTruthVertexVariables();
49+
}
3250
String[] newVars = new String[]{"minPositiveIso/D", "minNegativeIso/D", "minIso/D"};
3351
tupleVariables.addAll(Arrays.asList(newVars));
3452
if (getMC) {
@@ -39,10 +57,16 @@ protected void setupVariables() {
3957
public void setGetMC(boolean getMC) {
4058
this.getMC = getMC;
4159
}
60+
61+
public void setGetFullTruth(boolean getFullTruth) {
62+
this.getFullTruth = getFullTruth;
63+
}
4264

4365
@Override
4466
public void process(EventHeader event) {
4567
/* make sure everything is there */
68+
tupleevent++;
69+
//tupleMap.put("tupleevent/I",(double) tupleevent);
4670
if (!event.hasCollection(ReconstructedParticle.class, unconstrainedV0CandidatesColName)) {
4771
return;
4872
}
@@ -94,10 +118,15 @@ public void process(EventHeader event) {
94118
tupleMap.put("minPositiveIso/D", minPositiveIso);
95119
tupleMap.put("minNegativeIso/D", minNegativeIso);
96120
tupleMap.put("minIso/D", minIso);
121+
tupleMap.put("tupleevent/I",(double) tupleevent);
97122

98123
if (getMC) {
99124
fillMCTridentVariables(event);
100125
}
126+
127+
if (getFullTruth){
128+
fillFullVertexTruth(event,eleTrack,posTrack);
129+
}
101130

102131
if (tupleWriter != null) {
103132
boolean trkCut = tupleMap.get("eleP/D") < tupleTrkPCut * ebeam && tupleMap.get("posP/D") < tupleTrkPCut * ebeam;

0 commit comments

Comments
 (0)