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