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