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; }