Author: [log in to unmask]
Date: Mon Jun 22 12:39:32 2015
New Revision: 3177
Log:
add epics info to comparison
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBiasMyaDumpReader.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SampleZeroHVBiasChecker.java
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBiasMyaDumpReader.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBiasMyaDumpReader.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/SvtBiasMyaDumpReader.java Mon Jun 22 12:39:32 2015
@@ -36,7 +36,7 @@
private static final SimpleDateFormat DATE_FORMAT = new RunSpreadsheet.AnotherSimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//private static final TimeZone timeZone = TimeZone.getTimeZone("EST");
- private static final double BIASVALUEON = 178.0;
+ public static final double BIASVALUEON = 178.0;
private List<SvtBiasMyaEntry> myaEntries = new ArrayList<SvtBiasMyaEntry>();
private SvtBiasMyaRanges biasRanges = new SvtBiasMyaRanges();
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SampleZeroHVBiasChecker.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SampleZeroHVBiasChecker.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SampleZeroHVBiasChecker.java Mon Jun 22 12:39:32 2015
@@ -23,6 +23,7 @@
import org.hps.conditions.svt.SvtBiasMyaDumpReader.SvtBiasRunRange;
import org.hps.recon.ecal.triggerbank.AbstractIntData;
import org.hps.recon.ecal.triggerbank.HeadBankData;
+import org.hps.record.epics.EpicsData;
import org.hps.util.BasicLogFormatter;
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
import org.lcsim.event.EventHeader;
@@ -74,6 +75,12 @@
private int eventCountHvOff = 0;
private String runSpreadSheetPath;
private String myaDumpPath;
+ private double epicsBiasValue = -1;
+ private boolean hvOnEpics = false;
+ private boolean hvOn = false;
+ private EpicsData epicsData = null;
+ private int eventCountEpicsDisagree = 0;
+
public void setMyaDumpPath(String myaDumpPath) {
@@ -181,12 +188,37 @@
public void process(EventHeader event) {
+ // Read EPICS data if available
+ epicsData = EpicsData.read(event);
+
+ if(epicsData!=null) {
+ logger.info(epicsData.toString());
+ if(epicsData.getUsedNames().contains("SVT:bias:top:0:v_sens")) {
+
+ epicsBiasValue = epicsData.getValue("SVT:bias:top:0:v_sens");
+ logger.info("epicsBiasValue = " + Double.toString(epicsBiasValue));
+
+ if(epicsBiasValue>SvtBiasMyaDumpReader.BIASVALUEON) {
+ hvOnEpics = true;
+ }
+
+ }
+ } else {
+ logger.fine("no epics information in this event");
+ }
+
+
+
+ // Read the timestamp for the event
+ // It comes in on block level so not every event has it, use the latest one throughout a block
Date newEventDate = getEventTimeStamp(event);
if(newEventDate!=null) {
eventDate = newEventDate;
}
-
+
+ // only do this analysis where there is a date availabe.
+
if(eventDate!=null) {
eventCount++;
@@ -198,10 +230,20 @@
}
}
}
- boolean hvOn = runRange.getRanges().includes(eventDate);
+
+ hvOn = runRange.getRanges().includes(eventDate);
+
+ // print the cases where epics and run range do not agree
+ if(hvOn!=hvOnEpics && epicsBiasValue>0.) {
+ logger.warning("hvOn is " + (hvOn?"ON":"OFF") + " hvOnEpics " + (hvOnEpics?"ON":"OFF") + " for Run " + event.getRunNumber() + " Event " + event.getEventNumber() + " date " + eventDate.toString() + " epoch " + eventDate.getTime() + " hvOn " + (hvOn?"YES":"NO") + " hvOnEpics " + (hvOnEpics?"YES":"NO"));
+ pWriter.println("Run " + event.getRunNumber() + " Event " + event.getEventNumber() + " date " + eventDate.toString() + " epoch " + eventDate.getTime() + " hvOn " + (hvOn?"YES":"NO"));
+ eventCountEpicsDisagree++;
+ }
+
+ // print the cases where the HV is OFF
if(!hvOn) {
- logger.info("Run " + event.getRunNumber() + " Event " + event.getEventNumber() + " date " + eventDate.toString() + " epoch " + eventDate.getTime() + " hvOn " + (hvOn?"YES":"NO"));
- pWriter.println("Run " + event.getRunNumber() + " Event " + event.getEventNumber() + " date " + eventDate.toString() + " epoch " + eventDate.getTime() + " hvOn " + (hvOn?"YES":"NO"));
+ logger.info("Run " + event.getRunNumber() + " Event " + event.getEventNumber() + " date " + eventDate.toString() + " epoch " + eventDate.getTime() + " hvOn " + (hvOn?"YES":"NO")+ " hvOnEpics " + (hvOnEpics?"YES":"NO"));
+ pWriter.println("Run " + event.getRunNumber() + " Event " + event.getEventNumber() + " date " + eventDate.toString() + " epoch " + eventDate.getTime() + " hvOn " + (hvOn?"YES":"NO")+ " hvOnEpics " + (hvOnEpics?"YES":"NO"));
eventCountHvOff++;
}
if (event.hasCollection(RawTrackerHit.class, rawTrackerHitCollectionName)) {
@@ -238,8 +280,8 @@
@Override
public void endOfData() {
- logger.info("eventCount " + Integer.toString(eventCount) + " eventCountHvOff " + Integer.toString(eventCountHvOff));
- pWriter.println("eventCount " + Integer.toString(eventCount) + " eventCountHvOff " + Integer.toString(eventCountHvOff));
+ logger.info("eventCount " + Integer.toString(eventCount) + " eventCountHvOff " + Integer.toString(eventCountHvOff) + " eventCountEpicsDisagree " + Integer.toString(eventCountEpicsDisagree));
+ pWriter.println("eventCount " + Integer.toString(eventCount) + " eventCountHvOff " + Integer.toString(eventCountHvOff) + " eventCountEpicsDisagree " + Integer.toString(eventCountEpicsDisagree));
try {
pWriter.close();
|