Author: [log in to unmask]
Date: Tue Jun 28 15:36:38 2016
New Revision: 4411
Log:
added simple cluster selection criteria
Modified:
java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/examples/StripEventDriver.java Tue Jun 28 15:36:38 2016
@@ -1,6 +1,7 @@
package org.hps.analysis.examples;
import java.util.List;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.Track;
import org.lcsim.event.TrackerHit;
@@ -22,6 +23,12 @@
private int _minNumberOfUnconstrainedV0Vertices = 0;
private int _minNumberOfStripHits = 0;
private int _maxNumberOfStripHits = Integer.MAX_VALUE;
+ private int _minNumberOfClusters = 0;
+ private int _maxNumberOfClusters = Integer.MAX_VALUE;
+ private double _minClusterEnergy = 0.;
+ private double _maxClusterEnergy = 12.;
+
+ private String _clusterCollectionName = "EcalClusters";
@Override
protected void process(EventHeader event)
@@ -49,13 +56,32 @@
skipEvent = true;
}
}
- if(event.hasCollection(TrackerHit.class, "StripClusterer_SiTrackerHitStrip1D")) {
+ if (event.hasCollection(TrackerHit.class, "StripClusterer_SiTrackerHitStrip1D")) {
int nHits = event.get(TrackerHit.class, "StripClusterer_SiTrackerHitStrip1D").size();
if (nHits < _minNumberOfStripHits) {
skipEvent = true;
}
if (nHits > _maxNumberOfStripHits) {
skipEvent = true;
+ }
+ }
+ if (event.hasCollection(Cluster.class, _clusterCollectionName)) {
+ List<Cluster> clusters = event.get(Cluster.class, _clusterCollectionName);
+ int nclusters = clusters.size();
+ if (nclusters < _minNumberOfClusters) {
+ skipEvent = true;
+ }
+ if (nclusters > _maxNumberOfClusters) {
+ skipEvent = true;
+ }
+ for (Cluster clus : clusters) {
+ double e = clus.getEnergy();
+ if (e < _minClusterEnergy) {
+ skipEvent = true;
+ }
+ if (e > _maxClusterEnergy) {
+ skipEvent = true;
+ }
}
}
if (skipEvent) {
@@ -85,15 +111,40 @@
{
_minNumberOfUnconstrainedV0Vertices = nVertices;
}
-
+
public void setMinNumberOfStripHits(int n)
{
_minNumberOfStripHits = n;
}
-
+
public void setMaxNumberOfStripHits(int n)
{
_maxNumberOfStripHits = n;
}
+ public void setMinNumberOfClusters(int n)
+ {
+ _minNumberOfClusters = n;
+ }
+
+ public void setMaxNumberOfClusters(int n)
+ {
+ _maxNumberOfClusters = n;
+ }
+
+ public void setMinClusterEnergy(double e)
+ {
+ _minClusterEnergy = e;
+ }
+
+ public void setMaxClusterEnergy(double e)
+ {
+ _maxClusterEnergy = e;
+ }
+
+ public void setClusterCollectionName(String s)
+ {
+ _clusterCollectionName = s;
+ }
+
}
|