Print

Print


Author: [log in to unmask]
Date: Wed Jan 27 07:00:05 2016
New Revision: 4149

Log:
fix crate#, adjust cuts, add histo

Modified:
    java/trunk/recon/src/main/java/org/hps/recon/filtering/CosmicPMTFilter.java

Modified: java/trunk/recon/src/main/java/org/hps/recon/filtering/CosmicPMTFilter.java
 =============================================================================
--- java/trunk/recon/src/main/java/org/hps/recon/filtering/CosmicPMTFilter.java	(original)
+++ java/trunk/recon/src/main/java/org/hps/recon/filtering/CosmicPMTFilter.java	Wed Jan 27 07:00:05 2016
@@ -3,7 +3,9 @@
 import org.hps.recon.ecal.FADCGenericHit;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.GenericObject;
+import org.lcsim.geometry.Detector;
 import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
 
 public class CosmicPMTFilter extends Driver {
 	
@@ -11,18 +13,25 @@
 	static final String CLASSNAME="FADCGenericHits";
 
 	// hardware location of PMTs:
-	static final int CRATE=39;
+	static final int CRATE=2; // this is hps2, crate #37 in EVIO
 	static final int SLOT=20;
 	static final int CHANNELS[]={13,14};
 	
 	// cuts on pulse integrals for cosmic signals (units ADC):
-	static final float CUTS[]={1534,3242};
+	static final float CUTS[]={2000,4000};
 
 	// number of samples to use at beginning of window for pedestal:
 	static final int NPEDSAMP=20;
+
+	AIDA aida = AIDA.defaultInstance();
+    
+	public void detectorChanged(Detector detector) {
+    	aida.tree().cd("/");
+    	aida.histogram2D("CosmicPMTs",400,0,10000,400,0,10000);
+    }
+
+	public void process(EventHeader event) {
 	
-	public void process(EventHeader event) {
-		
 		// find PMT data:
 		FADCGenericHit pmt1=null,pmt2=null;
 		if (!event.hasCollection(GenericObject.class,CLASSNAME))
@@ -35,10 +44,13 @@
 			}
 		}
 		if (pmt1==null || pmt2==null) throw new Driver.NextEventException();
-		
-		// put cuts on pulse integrals:
+	
+		// calculate and histogram pulse integrals:
 		float pulse1=getPulseIntegral(pmt1);
 		float pulse2=getPulseIntegral(pmt2);
+        aida.histogram2D("CosmicPMTs").fill(pulse1,pulse2);
+		
+        // cut on pulse integrals:
 		if (pulse1<CUTS[0] || pulse2<CUTS[1]) throw new Driver.NextEventException();
 	}