Print

Print


Author: [log in to unmask]
Date: Fri Sep 25 17:10:09 2015
New Revision: 3718

Log:
A Driver to select trident candidates.

Added:
    java/trunk/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java
      - copied, changed from r3679, java/trunk/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java

Copied: java/trunk/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java (from r3679, 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/V0CandidateFilter.java	Fri Sep 25 17:10:09 2015
@@ -6,22 +6,18 @@
 import org.lcsim.event.ReconstructedParticle;
 
 /**
- * Class to strip off Moller candidates. Currently defined as: e- e- events with
+ * Class to strip off trident candidates. Currently defined as: e+ e- events with
  * tracks matched to clusters. Neither electron can be a full-energy candidate
- * (momentum less than _fullEnergyCut [0.85GeV]) but the momentum sum must be
- * consistent with the beam energy (greater than _mollerMomentumSumMin and less
- * than _mollerMomentumSumMax). The Ecal cluster times must be within _timingCut
- * [2.5ns] of each other.
+ * (momentum less than _fullEnergyCut [0.85GeV]). The Ecal cluster times must be 
+ * within _timingCut [2.5ns] of each other.
  *
  * @author Norman A Graf
  *
  * @version $Id:
  */
-public class MollerCandidateFilter extends EventReconFilter {
+public class V0CandidateFilter extends EventReconFilter {
 
-    private String _mollerCandidateCollectionName = "TargetConstrainedMollerCandidates";
-    private double _mollerMomentumSumMin = 0.85;
-    private double _mollerMomentumSumMax = 1.3;
+    private String _V0CandidateCollectionName = "TargetConstrainedV0Candidates";
     private double _fullEnergyCut = 0.85;
     private double _clusterTimingCut = 2.5;
 
@@ -30,22 +26,22 @@
     @Override
     protected void process(EventHeader event) {
         incrementEventProcessed();
-        if (!event.hasCollection(ReconstructedParticle.class, _mollerCandidateCollectionName)) {
+        if (!event.hasCollection(ReconstructedParticle.class, _V0CandidateCollectionName)) {
             skipEvent();
         }
-        List<ReconstructedParticle> mollerCandidates = event.get(ReconstructedParticle.class, _mollerCandidateCollectionName);
-        if (mollerCandidates.size() == 0) {
+        List<ReconstructedParticle> V0Candidates = event.get(ReconstructedParticle.class, _V0CandidateCollectionName);
+        if (V0Candidates.size() == 0) {
             skipEvent();
         }
 
         // tight requires ONLY ONE real vertex fit 
         if (_tight) {
-            if (mollerCandidates.size() != 2) {
+            if (V0Candidates.size() != 2) {
                 skipEvent();
             }
         }
 
-        for (ReconstructedParticle rp : mollerCandidates) {
+        for (ReconstructedParticle rp : V0Candidates) {
 
             ReconstructedParticle e1 = null;
             ReconstructedParticle e2 = null;
@@ -73,12 +69,6 @@
                 skipEvent();
             }
 
-            // require momentum sum to be approximately the beam energy
-            double pSum = p1 + p2;
-            if (pSum < _mollerMomentumSumMin || pSum > _mollerMomentumSumMax) {
-                skipEvent();
-            }
-
             // calorimeter cluster timing cut
             // first CalorimeterHit in the list is the seed crystal
             double t1 = e1.getClusters().get(0).getCalorimeterHits().get(0).getTime();
@@ -101,30 +91,12 @@
     }
 
     /**
-     * Name of Moller Candidate ReconstructedParticle Collection Name
+     * Name of V0 Candidate ReconstructedParticle Collection Name
      *
      * @param s
      */
-    public void setMollerCandidateCollectionName(String s) {
-        _mollerCandidateCollectionName = s;
-    }
-
-    /**
-     * Minimum value for the sum of the two electron momenta [GeV]
-     *
-     * @param d
-     */
-    public void setMollerMomentumSumMin(double d) {
-        _mollerMomentumSumMin = d;
-    }
-
-    /**
-     * Maximum value for the sum of the two electron momenta [GeV]
-     *
-     * @param d
-     */
-    public void setMollerMomentumSumMax(double d) {
-        _mollerMomentumSumMax = d;
+    public void setV0CandidateCollectionName(String s) {
+        _V0CandidateCollectionName = s;
     }
 
     /**
@@ -133,7 +105,7 @@
      *
      * @param d
      */
-    public void setMollerMomentumMax(double d) {
+    public void setV0MomentumMax(double d) {
         _fullEnergyCut = d;
     }