Author: [log in to unmask]
Date: Wed Oct 7 10:07:49 2015
New Revision: 3787
Log:
Add flag to keep events with epics data.
Modified:
java/trunk/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java
java/trunk/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java
Modified: java/trunk/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java
=============================================================================
--- java/trunk/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java (original)
+++ java/trunk/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java Wed Oct 7 10:07:49 2015
@@ -2,6 +2,7 @@
import static java.lang.Math.abs;
import java.util.List;
+import org.hps.record.epics.EpicsData;
import org.lcsim.event.EventHeader;
import org.lcsim.event.ReconstructedParticle;
@@ -17,7 +18,8 @@
*
* @version $Id:
*/
-public class MollerCandidateFilter extends EventReconFilter {
+public class MollerCandidateFilter extends EventReconFilter
+{
private String _mollerCandidateCollectionName = "TargetConstrainedMollerCandidates";
private double _mollerMomentumSumMin = 0.85;
@@ -26,10 +28,20 @@
private double _clusterTimingCut = 2.5;
private boolean _tight = false;
+ private boolean _keepEpicsDataEvents = false;
@Override
- protected void process(EventHeader event) {
+ protected void process(EventHeader event)
+ {
incrementEventProcessed();
+ if (_keepEpicsDataEvents) {
+ // don't drop any events with EPICS data:
+ final EpicsData data = EpicsData.read(event);
+ if (data != null) {
+ incrementEventPassed();
+ return;
+ }
+ }
if (!event.hasCollection(ReconstructedParticle.class, _mollerCandidateCollectionName)) {
skipEvent();
}
@@ -96,7 +108,8 @@
*
* @param d
*/
- public void setClusterTimingCut(double d) {
+ public void setClusterTimingCut(double d)
+ {
_clusterTimingCut = d;
}
@@ -105,7 +118,8 @@
*
* @param s
*/
- public void setMollerCandidateCollectionName(String s) {
+ public void setMollerCandidateCollectionName(String s)
+ {
_mollerCandidateCollectionName = s;
}
@@ -114,7 +128,8 @@
*
* @param d
*/
- public void setMollerMomentumSumMin(double d) {
+ public void setMollerMomentumSumMin(double d)
+ {
_mollerMomentumSumMin = d;
}
@@ -123,7 +138,8 @@
*
* @param d
*/
- public void setMollerMomentumSumMax(double d) {
+ public void setMollerMomentumSumMax(double d)
+ {
_mollerMomentumSumMax = d;
}
@@ -133,7 +149,8 @@
*
* @param d
*/
- public void setMollerMomentumMax(double d) {
+ public void setMollerMomentumMax(double d)
+ {
_fullEnergyCut = d;
}
@@ -143,7 +160,18 @@
*
* @param b
*/
- public void setTightConstraint(boolean b) {
+ public void setTightConstraint(boolean b)
+ {
_tight = b;
}
+
+ /**
+ * Setting this true keeps ALL events containing EPICS data
+ *
+ * @param b
+ */
+ public void setKeepEpicsDataEvents(boolean b)
+ {
+ _keepEpicsDataEvents = b;
+ }
}
Modified: java/trunk/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java
=============================================================================
--- java/trunk/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java (original)
+++ java/trunk/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java Wed Oct 7 10:07:49 2015
@@ -2,6 +2,7 @@
import static java.lang.Math.abs;
import java.util.List;
+import org.hps.record.epics.EpicsData;
import org.lcsim.event.EventHeader;
import org.lcsim.event.ReconstructedParticle;
@@ -21,10 +22,20 @@
private double _clusterTimingCut = 2.5;
private boolean _tight = false;
+ private boolean _keepEpicsDataEvents = false;
+
@Override
protected void process(EventHeader event) {
incrementEventProcessed();
+ if (_keepEpicsDataEvents) {
+ // don't drop any events with EPICS data:
+ final EpicsData data = EpicsData.read(event);
+ if (data != null) {
+ incrementEventPassed();
+ return;
+ }
+ }
if (!event.hasCollection(ReconstructedParticle.class, _V0CandidateCollectionName)) {
skipEvent();
}
@@ -98,4 +109,14 @@
public void setTightConstraint(boolean b) {
_tight = b;
}
+
+ /**
+ * Setting this true keeps ALL events containing EPICS data
+ *
+ * @param b
+ */
+ public void setKeepEpicsDataEvents(boolean b)
+ {
+ _keepEpicsDataEvents = b;
+ }
}
|