LISTSERV mailing list manager LISTSERV 16.5

Help for HPS-SVN Archives


HPS-SVN Archives

HPS-SVN Archives


HPS-SVN@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

HPS-SVN Home

HPS-SVN Home

HPS-SVN  January 2016

HPS-SVN January 2016

Subject:

r4139 - in /java/branches/jeremy-dev: analysis/src/main/java/org/hps/analysis/plots/ conditions/src/main/java/org/hps/conditions/run/ crawler/src/main/java/org/hps/crawler/ logging/src/main/resources/org/hps/logging/config/ record-util/src/main/java/org/hps/record/daqconfig/ record-util/src/main/java/org/hps/record/scalers/ record-util/src/main/java/org/hps/record/svt/ record-util/src/main/java/org/hps/record/triggerbank/ run-database/src/main/java/org/hps/run/database/ steering-files/src/main/resources/org/hps/steering/production/

From:

[log in to unmask]

Reply-To:

Notification of commits to the hps svn repository <[log in to unmask]>

Date:

Wed, 27 Jan 2016 02:16:49 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (1226 lines)

Author: [log in to unmask]
Date: Tue Jan 26 18:16:25 2016
New Revision: 4139

Log:
Updates to dev branch.

Added:
    java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/plots/
    java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/daqconfig/TriggerConfigEvioProcessor.java
      - copied, changed from r4065, java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/daqconfig/DAQConfigEvioProcessor.java
    java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/triggerbank/TriggerConfigData.java
      - copied, changed from r4065, java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfig.java
Removed:
    java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/daqconfig/DAQConfigEvioProcessor.java
    java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfig.java
Modified:
    java/branches/jeremy-dev/conditions/src/main/java/org/hps/conditions/run/RunSpreadsheet.java
    java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatCrawler.java
    java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/EvioMetadataReader.java
    java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/test_logging.properties
    java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/scalers/ScalerUtilities.java
    java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/svt/SvtConfigEvioProcessor.java
    java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/EpicsDataDaoImpl.java
    java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunDatabaseBuilder.java
    java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunManager.java
    java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunSummaryDaoImpl.java
    java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/ScalerDataDaoImpl.java
    java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfigDao.java
    java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfigDaoImpl.java
    java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim
    java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon_Pass2.lcsim

Modified: java/branches/jeremy-dev/conditions/src/main/java/org/hps/conditions/run/RunSpreadsheet.java
 =============================================================================
--- java/branches/jeremy-dev/conditions/src/main/java/org/hps/conditions/run/RunSpreadsheet.java	(original)
+++ java/branches/jeremy-dev/conditions/src/main/java/org/hps/conditions/run/RunSpreadsheet.java	Tue Jan 26 18:16:25 2016
@@ -264,7 +264,7 @@
                 try {
                     addRunData(new RunData(record));
                 } catch (NumberFormatException e) {
-                    e.printStackTrace();
+                    //e.printStackTrace();
                 }
             }
         }

Modified: java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatCrawler.java
 =============================================================================
--- java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatCrawler.java	(original)
+++ java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/DatacatCrawler.java	Tue Jan 26 18:16:25 2016
@@ -243,7 +243,7 @@
 
         // Check that there is at least one file format enabled for filtering.
         if (this.config.getFileFormats().isEmpty()) {
-            throw new IllegalStateException("At least one file format must be provided with the -f switch.");
+            throw new IllegalStateException("At least one file format must be provided with the -o switch.");
         }
 
         LOGGER.info("Done parsing command line options.");

Modified: java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/EvioMetadataReader.java
 =============================================================================
--- java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/EvioMetadataReader.java	(original)
+++ java/branches/jeremy-dev/crawler/src/main/java/org/hps/crawler/EvioMetadataReader.java	Tue Jan 26 18:16:25 2016
@@ -29,6 +29,8 @@
  * 
  * @author Jeremy McCormick, SLAC
  */
+// TODO: add physics events count
+// TODO: remove trigger rate and TI time offset 
 final class EvioMetadataReader implements FileMetadataReader {
 
     /**
@@ -56,6 +58,7 @@
     public Map<String, Object> getMetadata(final File file) throws IOException {
         
         long events = 0;
+        int physicsEvents = 0;
         int badEvents = 0;
         int blinded = 0;
         Long run = null;
@@ -63,7 +66,7 @@
         Integer lastHeadTimestamp = null;
         Integer lastPhysicsEvent = null;
         Integer firstPhysicsEvent = null;
-        double triggerRate = 0;
+        Double triggerRate = null;
         long lastTI = 0;
         long minTIDelta = 0;
         long maxTIDelta = 0;
@@ -188,6 +191,8 @@
                                 LOGGER.finer("set first physics event " + firstPhysicsEvent);
                             }
                         }
+                        
+                        ++physicsEvents;
                     }
 
                     // Count trigger types for this event.
@@ -201,7 +206,8 @@
                     // Activate TI time offset processor.
                     tiProcessor.process(evioEvent);
                     
-                } catch (IOException | EvioException e) {
+                //} catch (IOException | NegativeArraySizeException | EvioException e) {
+                } catch (Exception e) {  
                     // Trap event processing errors.
                     badEvents++;
                     LOGGER.warning("error processing EVIO event " + evioEvent.getEventNumber());
@@ -237,6 +243,14 @@
         // Create and fill the metadata map.
         final Map<String, Object> metadataMap = new LinkedHashMap<String, Object>();
 
+        try {
+            if (run == null) {
+                run = new Long(EvioFileUtilities.getRunFromName(file));
+            }
+        } catch (Exception e) {
+            throw new RuntimeException("Unable to determine run number from data or file name.", e);
+        }
+
         // Set built-in system metadata.
         metadataMap.put("runMin", run);
         metadataMap.put("runMax", run);
@@ -251,28 +265,56 @@
         metadataMap.put("BLINDED", blinded);
 
         // First and last timestamps which may come from control or physics events.
-        metadataMap.put("FIRST_HEAD_TIMESTAMP", firstHeadTimestamp);
-        metadataMap.put("LAST_HEAD_TIMESTAMP", lastHeadTimestamp);
+        if (firstHeadTimestamp != null) {
+            metadataMap.put("FIRST_HEAD_TIMESTAMP", firstHeadTimestamp);
+        } else {
+            metadataMap.put("FIRST_HEAD_TIMESTAMP", 0L);
+        }
+        
+        if (lastHeadTimestamp != null) {
+            metadataMap.put("LAST_HEAD_TIMESTAMP", lastHeadTimestamp);
+        } else {
+            metadataMap.put("LAST_HEAD_TIMESTAMP", 0L);
+        }
 
         // First and last physics event numbers.
-        metadataMap.put("FIRST_PHYSICS_EVENT", firstPhysicsEvent);
-        metadataMap.put("LAST_PHYSICS_EVENT", lastPhysicsEvent);
+        if (firstPhysicsEvent != null) {
+            metadataMap.put("FIRST_PHYSICS_EVENT", firstPhysicsEvent);
+        } else {
+            metadataMap.put("FIRST_PHYSICS_EVENT", 0L);
+        }
+        
+        if (lastPhysicsEvent != null) {
+            metadataMap.put("LAST_PHYSICS_EVENT", lastPhysicsEvent);
+        } else {
+            metadataMap.put("LAST_PHYSICS_EVENT", 0L);
+        }
 
         // TI times and offset.
         metadataMap.put("FIRST_TI_TIME", firstTI);
         metadataMap.put("LAST_TI_TIME", lastTI);
         metadataMap.put("TI_TIME_DELTA", maxTIDelta - minTIDelta);
         
-        // TI time offset (stored as string because of bug in MySQL datacat backend).
-        metadataMap.put("TI_TIME_OFFSET", tiProcessor.getTiTimeOffset());
+        // TI time offset.
+        //metadataMap.put("TI_TIME_OFFSET", tiProcessor.getTiTimeOffset());
 
         // Event counts.
         metadataMap.put("BAD_EVENTS", badEvents);
         
-        // Trigger rate in KHz.
-        DecimalFormat df = new DecimalFormat("#.##");
-        df.setRoundingMode(RoundingMode.CEILING);
-        metadataMap.put("TRIGGER_RATE", Double.parseDouble(df.format(triggerRate)));
+        // Physics event count.
+        metadataMap.put("PHYSICS_EVENTS",  physicsEvents);
+        
+        // Trigger rate in Hz to 2 decimal places.
+        /*
+        if (triggerRate != null && !Double.isInfinite(triggerRate) && !Double.isNaN(triggerRate)) {
+            DecimalFormat df = new DecimalFormat("#.##");
+            df.setRoundingMode(RoundingMode.CEILING);
+            LOGGER.info("setting trigger rate " + triggerRate);
+            metadataMap.put("TRIGGER_RATE", Double.parseDouble(df.format(triggerRate)));
+        } else {
+            metadataMap.put("TRIGGER_RATE", 0);
+        }
+        */
 
         // Trigger type counts.
         for (Entry<TriggerType, Integer> entry : triggerCounts.entrySet()) {

Modified: java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/test_logging.properties
 =============================================================================
--- java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/test_logging.properties	(original)
+++ java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/test_logging.properties	Tue Jan 26 18:16:25 2016
@@ -59,7 +59,7 @@
 org.hps.record.evio.level = WARNING
 org.hps.record.scalers.level = WARNING
 org.hps.record.triggerbank.level = WARNING
-org.hps.record.svt.level = WARNING
+org.hps.record.svt.level = INFO
 
 # tracking
 org.hps.recon.tracking.level = WARNING

Copied: java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/daqconfig/TriggerConfigEvioProcessor.java (from r4065, java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/daqconfig/DAQConfigEvioProcessor.java)
 =============================================================================
--- java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/daqconfig/DAQConfigEvioProcessor.java	(original)
+++ java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/daqconfig/TriggerConfigEvioProcessor.java	Tue Jan 26 18:16:25 2016
@@ -8,6 +8,8 @@
 import org.hps.record.evio.EvioBankTag;
 import org.hps.record.evio.EvioEventProcessor;
 import org.hps.record.evio.EvioEventUtilities;
+import org.hps.record.triggerbank.TriggerConfigData;
+import org.hps.record.triggerbank.TriggerConfigData.Crate;
 import org.jlab.coda.jevio.BaseStructure;
 import org.jlab.coda.jevio.EvioEvent;
 
@@ -19,19 +21,13 @@
  * 
  * @author Jeremy McCormick, SLAC
  */
-public class DAQConfigEvioProcessor extends EvioEventProcessor {
+public class TriggerConfigEvioProcessor extends EvioEventProcessor {
 
-    private Logger LOGGER = Logger.getLogger(DAQConfigEvioProcessor.class.getPackage().getName());
-        
-    private DAQConfig daqConfig = null;
-    
-    private Map<Integer, String> stringData = new HashMap<Integer, String>();
-    
+    private Logger LOGGER = Logger.getLogger(TriggerConfigEvioProcessor.class.getPackage().getName());
+            
+    private TriggerConfigData triggerConfig = null;    
     private Integer run = null;
-    
-    private int timestamp;
-    
-    private int currentTimestamp;
+    private int timestamp = 0;
 
     /**
      * Process EVIO events to extract DAQ config data.
@@ -55,22 +51,13 @@
                 BaseStructure headBank = EvioEventUtilities.getHeadBank(evioEvent);
                 if (headBank != null) {
                     if (headBank.getIntData()[3] != 0) {
-                        currentTimestamp = headBank.getIntData()[3];
-                        LOGGER.finest("set timestamp " + currentTimestamp + " from head bank");
+                        timestamp = headBank.getIntData()[3];
+                        LOGGER.finest("set timestamp " + timestamp + " from head bank");
                     }
                 }
-                                
+                
                 // Parse config data from the EVIO banks.
-                EvioDAQParser evioParser = parseEvioData(evioEvent);
-            
-                // Was there a valid config created from the EVIO event?
-                if (evioParser != null) {            
-                    // Set the current DAQ config object.
-                    ConfigurationManager.updateConfiguration(evioParser);
-                    daqConfig = ConfigurationManager.getInstance();
-                    timestamp = currentTimestamp;
-                }
-                                
+                parseEvioData(evioEvent);                                                          
             }
         } catch (Exception e) {
             LOGGER.log(Level.WARNING, "Error parsing DAQ config from EVIO.", e);
@@ -83,9 +70,8 @@
      * @param evioEvent the EVIO event
      * @return a parser object if the event has valid config data; otherwise <code>null</code>
      */
-    private EvioDAQParser parseEvioData(EvioEvent evioEvent) {
-        EvioDAQParser parser = null;
-        int configBanks = 0;
+    private void parseEvioData(EvioEvent evioEvent) {
+        Map<Crate, String> stringData = null;
         for (BaseStructure bank : evioEvent.getChildrenList()) {
             if (bank.getChildCount() <= 0) {
                 continue;
@@ -97,57 +83,35 @@
                         LOGGER.warning("Trigger config bank is missing string data.");
                     } else {
                         try { 
-                            if (parser == null) {
-                                parser = new EvioDAQParser();
-                                stringData.clear();
+                            if (stringData == null) {
+                                stringData = new HashMap<Crate, String>();
                             }
-                            LOGGER.fine("raw string data" + subBank.getStringData()[0]);
-                            stringData.put(crate, subBank.getStringData()[0]);
-                            LOGGER.info("Parsing DAQ config from crate " + crate + ".");
-                            parser.parse(crate, run, subBank.getStringData());
-                            ++configBanks;
+                            //LOGGER.fine("got raw trigger config string data ..." + '\n' + subBank.getStringData()[0]);
+                            stringData.put(TriggerConfigData.Crate.fromCrateNumber(crate), subBank.getStringData()[0]);
                         } catch (Exception e) {
-                            LOGGER.log(Level.WARNING, "Failed to parse DAQ config.", e);
+                            LOGGER.log(Level.WARNING, "Failed to parse crate " + crate + " config.", e);
                         }
                     }
                 }
             }
         }
-        if (configBanks >= 4 || parser == null) {
-            if (parser != null) {
-                LOGGER.info("DAQ config was created from event " + evioEvent.getEventNumber() + " with " + configBanks + " banks.");
+        if (stringData != null) {
+            TriggerConfigData currentConfig = new TriggerConfigData(stringData, timestamp);
+            if (currentConfig.isValid()) {
+                triggerConfig = currentConfig;
+                LOGGER.warning("Found valid config in event num " + evioEvent.getEventNumber());
+            } else {
+                LOGGER.warning("Skipping invalid config from event num "  + evioEvent.getEventNumber());
             }
-            return parser;
-        } else {
-            LOGGER.warning("Not enough banks were found to build DAQ config.");
-            return null;
         }
     }
-
-    /**
-     * Get the DAQ config.
-     * 
-     * @return the DAQ config
-     */
-    public DAQConfig getDAQConfig() {
-        return this.daqConfig;
-    }
-    
+   
     /**
      * Get a map of bank number to string data for the current config.
      * 
      * @return a map of bank to trigger config data
      */
-    public Map<Integer, String> getTriggerConfigData() {
-        return this.stringData;
-    }
-    
-    /**
-     * Get the timestamp associated with the config.
-     * 
-     * @return the timestamp
-     */
-    public int getTimestamp() {
-        return timestamp;
+    public TriggerConfigData getTriggerConfigData() {
+        return this.triggerConfig;
     }
 }

Modified: java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/scalers/ScalerUtilities.java
 =============================================================================
--- java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/scalers/ScalerUtilities.java	(original)
+++ java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/scalers/ScalerUtilities.java	Tue Jan 26 18:16:25 2016
@@ -74,7 +74,6 @@
         // [67]/[68] = CLOCK
         final double clock = (double) clockGated / (double) clockUngated;
 
-        // Compute the live times.
         final double[] liveTimes = new double[3];
         liveTimes[LiveTimeIndex.FCUP_TDC.ordinal()] = fcupTdc;
         liveTimes[LiveTimeIndex.FCUP_TRG.ordinal()] = fcupTrg;

Modified: java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/svt/SvtConfigEvioProcessor.java
 =============================================================================
--- java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/svt/SvtConfigEvioProcessor.java	(original)
+++ java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/svt/SvtConfigEvioProcessor.java	Tue Jan 26 18:16:25 2016
@@ -58,12 +58,18 @@
                                     config = new SvtConfigData(timestamp);
                                 }
                                 if (stringData.length > 0) {
+                                    System.out.println("found string data with length " + stringData.length);
+                                    for (int i = 0; i < stringData.length; i++) {
+                                        System.out.println("Printing raw string data " + i + " ...");
+                                        System.out.println(stringData[i]);
+                                        System.out.println("End print raw string data");
+                                    }                                                                       
                                     if (!stringData[0].trim().isEmpty()) {
-                                        LOGGER.info("Adding SVT config data with len " + stringData[0].length() + " ..." + '\n' + stringData[0]);
+                                        LOGGER.info("Adding SVT config data with len " + stringData[0].length() + " ..." + '\n' + stringData[0]);                                        
                                         config.setData(RocTag.fromTag(bank.getHeader().getTag()), stringData[0]);
                                         ++configBanks;
                                     } else {
-                                        LOGGER.warning("String data has no XML content.");
+                                        LOGGER.warning("String data has no content.");
                                     }
                                 } else {
                                     LOGGER.warning("String data has zero len.");
@@ -73,7 +79,7 @@
                     }
                 }
             }
-        } 
+        }
         if (config != null) {
             LOGGER.info("Adding SVT config " + evioEvent.getEventNumber() + " with " + configBanks
                     + " banks and timestamp " + timestamp + " from event " + evioEvent.getEventNumber());

Copied: java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/triggerbank/TriggerConfigData.java (from r4065, java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfig.java)
 =============================================================================
--- java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfig.java	(original)
+++ java/branches/jeremy-dev/record-util/src/main/java/org/hps/record/triggerbank/TriggerConfigData.java	Tue Jan 26 18:16:25 2016
@@ -1,4 +1,4 @@
-package org.hps.run.database;
+package org.hps.record.triggerbank;
 
 import java.util.Map;
 import java.util.Map.Entry;
@@ -12,27 +12,40 @@
  * 
  * @author Jeremy McCormick, SLAC
  */
-final class TriggerConfig {
+public final class TriggerConfigData {
+        
+    public enum Crate {
+        CONFIG1(37),
+        CONFIG2(39),
+        CONFIG3(46),
+        CONFIG4(58);
+        
+        private int crate;
+        
+        private Crate(int crate) {
+            this.crate = crate;
+        }
+        
+        public int crate() {
+            return crate;
+        }
+        
+        public static Crate fromCrateNumber(int crateNumber) {
+            for (Crate crate : Crate.values()) {
+                if (crate.crate() == crateNumber) {
+                    return crate;
+                }
+            }
+            return null;
+        }
+    }
+              
+    private int timestamp;
+    private Map<Crate, String> data;
     
-    /**
-     * Expected number of string banks in trigger config.
-     */
-    static final int DATA_LENGTH = 4;
-    
-    /*
-     * Mapping of trigger config database fields to their crate numbers.
-     */
-    static final int CONFIG1 = 37;
-    static final int CONFIG2 = 39;
-    static final int CONFIG3 = 46;
-    static final int CONFIG4 = 58;
-        
-    private int timestamp;
-    private Map<Integer, String> data;
-    
-    TriggerConfig(Map<Integer, String> data, int timestamp) {
+    public TriggerConfigData(Map<Crate, String> data, int timestamp) {
         if (data == null) {
-            throw new RuntimeException("The data is null.");
+            throw new RuntimeException("The data map is null.");
         }
         this.data = data;
         this.timestamp = timestamp;
@@ -43,28 +56,38 @@
      * 
      * @return the config's timestamp
      */
-    int getTimestamp() {
+    public int getTimestamp() {
         return timestamp;
     }
     
     /**
-     * Get the config data as a map from bank numbers to strings.
+     * Get the config data as a map from crates to strings.
      * 
      * @return the config data
      */
-    Map<Integer, String> getData() {
+    public Map<Crate, String> getData() {
         return data;
     }
     
     /**
-     * Return <code>true</code> if the config is valid which means it has 
-     * four, non-null string data banks.
+     * Return <code>true</code> if the config is valid which means it has four string banks with the correct crate 
+     * numbers and non-null data strings.
      *  
      * @return <code>true</code> if config is valid
      */
-    boolean isValid() {
-        return data.size() == DATA_LENGTH && data.get(CONFIG1) != null && data.get(CONFIG2) != null
-                && data.get(CONFIG3) != null && data.get(CONFIG4) != null;
+    public boolean isValid() {
+        if (data.size() != Crate.values().length) {
+            return false;
+        }
+        for (Crate crate : Crate.values()) {
+            if (!data.containsKey(crate)) {
+                return false;
+            }
+            if (data.get(crate) == null) {
+                return false;
+            }
+        }
+        return true;
     }
          
     /**
@@ -73,10 +96,10 @@
      * @param the run number (needed by configuration manager)
      * @return the DAQ config object
      */
-    DAQConfig loadDAQConfig(int run) {
+    public DAQConfig loadDAQConfig(int run) {
         EvioDAQParser parser = new EvioDAQParser();
-        for (Entry<Integer, String> entry : data.entrySet()) {
-            parser.parse(entry.getKey(), run, new String[] {entry.getValue()});
+        for (Entry<Crate, String> entry : data.entrySet()) {
+            parser.parse(entry.getKey().crate(), run, new String[] {entry.getValue()});
         }
         ConfigurationManager.updateConfiguration(parser);
         return ConfigurationManager.getInstance();

Modified: java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/EpicsDataDaoImpl.java
 =============================================================================
--- java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/EpicsDataDaoImpl.java	(original)
+++ java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/EpicsDataDaoImpl.java	Tue Jan 26 18:16:25 2016
@@ -152,7 +152,7 @@
             final List<EpicsVariable> variables = epicsVariableDao.getEpicsVariables(epicsType);
             selectEpicsData = connection.prepareStatement("SELECT * FROM " + epicsType.getTableName() 
                     + " LEFT JOIN epics_headers ON " + epicsType.getTableName() + ".epics_header_id = epics_headers.id"
-                    + " WHERE epics_headers.run = ?");
+                    + " WHERE epics_headers.run = ? ORDER BY epics_headers.sequence");
             selectEpicsData.setInt(1, run);
             ResultSet resultSet = selectEpicsData.executeQuery();
             while (resultSet.next()) {

Modified: java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunDatabaseBuilder.java
 =============================================================================
--- java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunDatabaseBuilder.java	(original)
+++ java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunDatabaseBuilder.java	Tue Jan 26 18:16:25 2016
@@ -11,12 +11,11 @@
 import java.util.logging.Logger;
 
 import org.hps.conditions.database.ConnectionParameters;
-import org.hps.conditions.database.DatabaseConditionsManager;
 import org.hps.conditions.run.RunSpreadsheet;
 import org.hps.conditions.run.RunSpreadsheet.RunData;
 import org.hps.record.AbstractRecordProcessor;
 import org.hps.record.daqconfig.DAQConfig;
-import org.hps.record.daqconfig.DAQConfigEvioProcessor;
+import org.hps.record.daqconfig.TriggerConfigEvioProcessor;
 import org.hps.record.epics.EpicsData;
 import org.hps.record.epics.EpicsRunProcessor;
 import org.hps.record.evio.EventTagConstant;
@@ -28,16 +27,15 @@
 import org.hps.record.scalers.ScalerUtilities;
 import org.hps.record.scalers.ScalerUtilities.LiveTimeIndex;
 import org.hps.record.scalers.ScalersEvioProcessor;
-import org.hps.record.svt.SvtConfigData;
-import org.hps.record.svt.SvtConfigEvioProcessor;
 import org.hps.record.triggerbank.AbstractIntData.IntBankDefinition;
 import org.hps.record.triggerbank.HeadBankData;
 import org.hps.record.triggerbank.TiTimeOffsetEvioProcessor;
+import org.hps.record.triggerbank.TriggerConfigData;
+import org.hps.record.triggerbank.TriggerConfigData.Crate;
 import org.jlab.coda.jevio.BaseStructure;
 import org.jlab.coda.jevio.EvioEvent;
 import org.jlab.coda.jevio.EvioException;
 import org.jlab.coda.jevio.EvioReader;
-import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
 import org.srs.datacat.client.Client;
 import org.srs.datacat.model.DatasetModel;
 import org.srs.datacat.model.DatasetResultSetModel;
@@ -119,12 +117,12 @@
     /**
      * List of SVT configuration bank data.
      */
-    private List<SvtConfigData> svtConfigs;
+    //private List<SvtConfigData> svtConfigs;
     
     /**
      * The trigger config object.
      */
-    private TriggerConfig config;
+    private TriggerConfigData config;
     
     /**
      * Reload run data after insert for debugging.
@@ -164,8 +162,8 @@
         List<ScalerData> scalerData = runManager.getScalerData();
         LOGGER.info("loaded " + scalerData.size() + " scaler records");
 
-        List<SvtConfigData> svtConfigs = runManager.getSvtConfigData();
-        LOGGER.info("loaded " + svtConfigs.size() + " SVT configurations");
+        //List<SvtConfigData> svtConfigs = runManager.getSvtConfigData();
+        //LOGGER.info("loaded " + svtConfigs.size() + " SVT configurations");
             
         LOGGER.info("printing DAQ config ...");
         DAQConfig daqConfig = runManager.getDAQConfig();
@@ -262,7 +260,7 @@
         runFactory.getRunSummaryDao().insertRunSummary(runSummary);
 
         // Insert the EPICS data.
-        if (epicsData != null) {
+        if (epicsData != null && !epicsData.isEmpty()) {
             LOGGER.info("inserting EPICS data");
             runFactory.getEpicsDataDao().insertEpicsData(epicsData);
         } else {
@@ -278,19 +276,19 @@
         }
 
         // Insert SVT config data.
-        if (this.svtConfigs != null) {
-            LOGGER.info("inserting SVT config");
-            runFactory.getSvtConfigDao().insertSvtConfigs(svtConfigs, getRun());
-        } else {
-            LOGGER.warning("no SVT config to insert");
-        }
+        //if (this.svtConfigs != null) {
+        //    LOGGER.info("inserting SVT config");
+        //    runFactory.getSvtConfigDao().insertSvtConfigs(svtConfigs, getRun());
+        //} else {
+        //    LOGGER.warning("no SVT config to insert");
+        //}
         
         // Insert trigger config data.
         if (this.config != null) {
             LOGGER.info("inserting trigger config");
             runFactory.getTriggerConfigDao().insertTriggerConfig(config, getRun());
         } else {
-            LOGGER.warning("no trigger config to inesrt");
+            LOGGER.warning("no trigger config to insert");
         }
                        
         LOGGER.info("done inserting run " + getRun());
@@ -311,6 +309,7 @@
         } else {
             LOGGER.info("no scaler data");
         }
+        /*
         if (svtConfigs != null) {
             for (SvtConfigData config : svtConfigs) {
                 try {
@@ -322,8 +321,9 @@
         } else {
             LOGGER.info("no SVT config");
         }
+        */
         if (config != null) {
-            for (Entry<Integer, String> entry : config.getData().entrySet()) {
+            for (Entry<Crate, String> entry : config.getData().entrySet()) {
                 LOGGER.info("trigger config data " + entry.getKey() + " with timestamp " + config.getTimestamp() + " ..." + entry.getValue());
             }
         } else {
@@ -343,6 +343,7 @@
         }
 
         // Initialize the conditions system because the DAQ config processor needs it.
+        /*
         try {
             DatabaseConditionsManager dbManager = DatabaseConditionsManager.getInstance();
             DatabaseConditionsManager.getInstance().setDetector(detectorName, runSummary.getRun());
@@ -350,6 +351,7 @@
         } catch (ConditionsNotFoundException e) {
             throw new RuntimeException(e);
         }
+        */
 
         // List of processors to execute in the job.
         ArrayList<AbstractRecordProcessor<EvioEvent>> processors = new ArrayList<AbstractRecordProcessor<EvioEvent>>();
@@ -368,12 +370,12 @@
         processors.add(tiProcessor);
 
         // Processor for getting DAQ config.
-        DAQConfigEvioProcessor daqProcessor = new DAQConfigEvioProcessor();
+        TriggerConfigEvioProcessor daqProcessor = new TriggerConfigEvioProcessor();
         processors.add(daqProcessor);
 
         // Processor for getting the SVT XML config.
-        SvtConfigEvioProcessor svtProcessor = new SvtConfigEvioProcessor();
-        processors.add(svtProcessor);
+        //SvtConfigEvioProcessor svtProcessor = new SvtConfigEvioProcessor();
+        //processors.add(svtProcessor);
 
         // Run the job using the EVIO loop.
         EvioLoop loop = new EvioLoop();
@@ -398,12 +400,10 @@
         scalerData = scalersProcessor.getScalerData();
 
         // Set SVT config data strings.
-        svtConfigs = svtProcessor.getSvtConfigs();
+        //svtConfigs = svtProcessor.getSvtConfigs();
         
         // Set trigger config object.
-        if (!daqProcessor.getTriggerConfigData().isEmpty()) {            
-            config = new TriggerConfig(daqProcessor.getTriggerConfigData(), daqProcessor.getTimestamp());
-        }
+        config = daqProcessor.getTriggerConfigData();
 
         LOGGER.info("done processing EVIO files");
     }
@@ -558,6 +558,12 @@
         return this;
     }
     
+    /**
+     * Set the datacat site.
+     * 
+     * @param site the datacat site
+     * @return this object
+     */
     RunDatabaseBuilder setSite(String site) {
         this.site = site;
         return this;
@@ -734,16 +740,17 @@
     private void updateLivetimes(ScalersEvioProcessor scalersProcessor) {
         LOGGER.fine("updating livetime calculations");
         ScalerData scalers = scalersProcessor.getCurrentScalerData();
-        if (scalers == null) {
-            throw new IllegalStateException("No scaler data was found by the EVIO processor.");
-        }
-        double[] livetimes = ScalerUtilities.getLiveTimes(scalers);
-        runSummary.setLivetimeClock(livetimes[LiveTimeIndex.CLOCK.ordinal()]);
-        runSummary.setLivetimeFcupTdc(livetimes[LiveTimeIndex.FCUP_TDC.ordinal()]);
-        runSummary.setLivetimeFcupTrg(livetimes[LiveTimeIndex.FCUP_TRG.ordinal()]);
-        LOGGER.info("clock livetime = " + runSummary.getLivetimeClock());
-        LOGGER.info("fcup tdc livetime = " + runSummary.getLivetimeFcupTdc());
-        LOGGER.info("fcup trg livetime = " + runSummary.getLivetimeFcupTrg());
+        if (scalers != null) {
+            double[] livetimes = ScalerUtilities.getLiveTimes(scalers);
+            runSummary.setLivetimeClock(livetimes[LiveTimeIndex.CLOCK.ordinal()]);
+            runSummary.setLivetimeFcupTdc(livetimes[LiveTimeIndex.FCUP_TDC.ordinal()]);
+            runSummary.setLivetimeFcupTrg(livetimes[LiveTimeIndex.FCUP_TRG.ordinal()]);
+            LOGGER.info("clock livetime = " + runSummary.getLivetimeClock());
+            LOGGER.info("fcup tdc livetime = " + runSummary.getLivetimeFcupTdc());
+            LOGGER.info("fcup trg livetime = " + runSummary.getLivetimeFcupTrg());
+        } else {
+            LOGGER.warning("Could not calculate livetimes; no scaler data was found by the EVIO processor.");
+        }
     }
 
     /**

Modified: java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunManager.java
 =============================================================================
--- java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunManager.java	(original)
+++ java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunManager.java	Tue Jan 26 18:16:25 2016
@@ -10,6 +10,7 @@
 import org.hps.record.epics.EpicsData;
 import org.hps.record.scalers.ScalerData;
 import org.hps.record.svt.SvtConfigData;
+import org.hps.record.triggerbank.TriggerConfigData;
 import org.lcsim.conditions.ConditionsEvent;
 import org.lcsim.conditions.ConditionsListener;
 
@@ -220,7 +221,7 @@
      */
     public DAQConfig getDAQConfig() {
         this.checkRunNumber();
-        TriggerConfig config = factory.getTriggerConfigDao().getTriggerConfig(run);
+        TriggerConfigData config = factory.getTriggerConfigDao().getTriggerConfig(run);
         return config.loadDAQConfig(run);
     }
      

Modified: java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunSummaryDaoImpl.java
 =============================================================================
--- java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunSummaryDaoImpl.java	(original)
+++ java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/RunSummaryDaoImpl.java	Tue Jan 26 18:16:25 2016
@@ -51,13 +51,6 @@
     RunSummaryDaoImpl(final Connection connection) {
         if (connection == null) {
             throw new IllegalArgumentException("The connection is null.");
-        }
-        try {
-            if (connection.isClosed()) {
-                throw new IllegalArgumentException("The connection is closed.");
-            }
-        } catch (SQLException e) {
-            throw new RuntimeException(e);
         }
         this.connection = connection;
     }

Modified: java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/ScalerDataDaoImpl.java
 =============================================================================
--- java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/ScalerDataDaoImpl.java	(original)
+++ java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/ScalerDataDaoImpl.java	Tue Jan 26 18:16:25 2016
@@ -96,7 +96,8 @@
         PreparedStatement selectScalers = null;
         final List<ScalerData> scalerDataList = new ArrayList<ScalerData>();
         try {
-            selectScalers = this.connection.prepareStatement("SELECT * FROM scalers WHERE run = ? ORDER BY event");
+            selectScalers = this.connection.prepareStatement("SELECT * FROM sc"
+                    + "alers WHERE run = ? ORDER BY event");
             selectScalers.setInt(1, run);
             final ResultSet resultSet = selectScalers.executeQuery();
             while (resultSet.next()) {

Modified: java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfigDao.java
 =============================================================================
--- java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfigDao.java	(original)
+++ java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfigDao.java	Tue Jan 26 18:16:25 2016
@@ -1,7 +1,9 @@
 package org.hps.run.database;
 
+import org.hps.record.triggerbank.TriggerConfigData;
+
 /**
- * Database interface for getting raw trigger config data.
+ * Database interface for getting raw trigger config data and inserting into run db.
  * 
  * @author Jeremy McCormick, SLAC
  */
@@ -13,7 +15,7 @@
      * @param run the run number
      * @return the trigger config
      */
-    TriggerConfig getTriggerConfig(int run);
+    TriggerConfigData getTriggerConfig(int run);
     
     /**
      * Insert a trigger config.
@@ -21,7 +23,7 @@
      * @param config the trigger config
      * @param run the run number
      */
-    void insertTriggerConfig(TriggerConfig config, int run);
+    void insertTriggerConfig(TriggerConfigData config, int run);
             
     /**
      * Delete a trigger config by run.

Modified: java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfigDaoImpl.java
 =============================================================================
--- java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfigDaoImpl.java	(original)
+++ java/branches/jeremy-dev/run-database/src/main/java/org/hps/run/database/TriggerConfigDaoImpl.java	Tue Jan 26 18:16:25 2016
@@ -7,6 +7,9 @@
 import java.sql.SQLException;
 import java.util.LinkedHashMap;
 import java.util.Map;
+
+import org.hps.record.triggerbank.TriggerConfigData;
+import org.hps.record.triggerbank.TriggerConfigData.Crate;
 
 final class TriggerConfigDaoImpl implements TriggerConfigDao {
       
@@ -37,7 +40,7 @@
     
 
     @Override
-    public void insertTriggerConfig(TriggerConfig config, int run) {
+    public void insertTriggerConfig(TriggerConfigData config, int run) {
         if (!config.isValid()) {
             throw new RuntimeException("The trigger config is not valid.");
         }
@@ -46,14 +49,14 @@
             preparedStatement = connection.prepareStatement(INSERT);
             preparedStatement.setInt(1, run);
             preparedStatement.setInt(2, config.getTimestamp());
-            Map<Integer, String> data = config.getData();
-            if (data.size() != TriggerConfig.DATA_LENGTH) {
+            Map<Crate, String> data = config.getData();
+            if (data.size() != TriggerConfigData.Crate.values().length) {
                 throw new IllegalArgumentException("The trigger config data has the wrong length.");
             }
-            preparedStatement.setBytes(3, data.get(TriggerConfig.CONFIG1).getBytes());
-            preparedStatement.setBytes(4, data.get(TriggerConfig.CONFIG2).getBytes());
-            preparedStatement.setBytes(5, data.get(TriggerConfig.CONFIG3).getBytes());
-            preparedStatement.setBytes(6, data.get(TriggerConfig.CONFIG4).getBytes());
+            preparedStatement.setBytes(3, data.get(TriggerConfigData.Crate.CONFIG1).getBytes());
+            preparedStatement.setBytes(4, data.get(TriggerConfigData.Crate.CONFIG2).getBytes());
+            preparedStatement.setBytes(5, data.get(TriggerConfigData.Crate.CONFIG3).getBytes());
+            preparedStatement.setBytes(6, data.get(TriggerConfigData.Crate.CONFIG4).getBytes());
             preparedStatement.executeUpdate();
         } catch (SQLException e) {
             throw new RuntimeException(e);
@@ -87,33 +90,33 @@
     }
     
     @Override
-    public TriggerConfig getTriggerConfig(int run) {
+    public TriggerConfigData getTriggerConfig(int run) {
         PreparedStatement preparedStatement = null;
-        TriggerConfig config = null;
+        TriggerConfigData config = null;
         try {
             preparedStatement = connection.prepareStatement(SELECT);
             preparedStatement.setInt(1, run);
             ResultSet resultSet = preparedStatement.executeQuery();
             if (resultSet.next()) {
-                Map<Integer, String> data = new LinkedHashMap<Integer, String>();
+                Map<Crate, String> data = new LinkedHashMap<Crate, String>();
                 int timestamp = resultSet.getInt("timestamp");
                 Clob clob = resultSet.getClob("config1");
                 if (clob != null) {
-                    data.put(TriggerConfig.CONFIG1, clob.getSubString(1, (int) clob.length()));
+                    data.put(TriggerConfigData.Crate.CONFIG1, clob.getSubString(1, (int) clob.length()));
                 }
                 clob = resultSet.getClob("config2");
                 if (clob != null) {
-                    data.put(TriggerConfig.CONFIG2, clob.getSubString(1, (int) clob.length()));
+                    data.put(TriggerConfigData.Crate.CONFIG2, clob.getSubString(1, (int) clob.length()));
                 }
                 clob = resultSet.getClob("config3");
                 if (clob != null) {
-                    data.put(TriggerConfig.CONFIG3, clob.getSubString(1, (int) clob.length()));
+                    data.put(TriggerConfigData.Crate.CONFIG3, clob.getSubString(1, (int) clob.length()));
                 }
                 clob = resultSet.getClob("config4");
                 if (clob != null) {
-                    data.put(TriggerConfig.CONFIG4, clob.getSubString(1, (int) clob.length()));
+                    data.put(TriggerConfigData.Crate.CONFIG4, clob.getSubString(1, (int) clob.length()));
                 }
-                config = new TriggerConfig(data, timestamp);
+                config = new TriggerConfigData(data, timestamp);
             }
         } catch (SQLException e) {
             throw new RuntimeException(e);

Modified: java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim
 =============================================================================
--- java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim	(original)
+++ java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim	Tue Jan 26 18:16:25 2016
@@ -15,43 +15,53 @@
         <driver name="FinalStateMonitoring"/>          
         <driver name="V0Monitoring"/>          
         <driver name="TridentMonitoring"/>
-<!-- Singles0 -->
+        <driver name="TrackingMonitoringGBL"/>  
+        <driver name="FinalStateMonitoringGBL"/>          
+        <driver name="V0MonitoringGBL"/>          
+        <driver name="TridentMonitoringGBL"/>
+        <!-- Singles0 -->
         <driver name="EcalMonitoringSingles0"/>  
-<!--        <driver name="SVTMonitoringSingles0"/>   -->
         <driver name="TrackingMonitoringSingles0"/>  
+        <driver name="TrackingMonitoringGBLSingles0"/>  
         <driver name="TrackingResidualsSingles0"/>
         <driver name="FinalStateMonitoringSingles0"/>          
         <driver name="V0MonitoringSingles0"/>          
         <driver name="TridentMonitoringSingles0"/>
-<!-- Singles1 -->
+        <!-- Singles1 -->
         <driver name="EcalMonitoringSingles1"/>  
- <!--       <driver name="SVTMonitoringSingles1"/>  -->
         <driver name="TrackingMonitoringSingles1"/>  
+        <driver name="TrackingMonitoringGBLSingles1"/>  
         <driver name="TrackingResidualsSingles1"/>
         <driver name="FinalStateMonitoringSingles1"/>          
         <driver name="V0MonitoringSingles1"/>          
         <driver name="TridentMonitoringSingles1"/>
-<!-- Pairs0 -->
+         <driver name="FinalStateMonitoringGBLSingles1"/>          
+        <driver name="V0MonitoringGBLSingles1"/>          
+        <driver name="TridentMonitoringGBLSingles1"/>
+        <!-- Pairs0 -->
         <driver name="EcalMonitoringPairs0"/>  
- <!--       <driver name="SVTMonitoringPairs0"/>  -->
         <driver name="TrackingMonitoringPairs0"/>  
+        <driver name="TrackingMonitoringGBLPairs0"/>  
         <driver name="TrackingResidualsPairs0"/>
         <driver name="FinalStateMonitoringPairs0"/>          
         <driver name="V0MonitoringPairs0"/>          
         <driver name="TridentMonitoringPairs0"/>
-<!-- Pairs1 -->
+        <!-- Pairs1 -->
         <driver name="EcalMonitoringPairs1"/>  
- <!--       <driver name="SVTMonitoringPairs1"/>  -->
         <driver name="TrackingMonitoringPairs1"/>  
+        <driver name="TrackingMonitoringGBLPairs1"/>  
         <driver name="TrackingResidualsPairs1"/>
-        <driver name="FinalStateMonitoringPairs1"/>          
+        <driver name="FinalStateMonitoringPairs1"/>               
         <driver name="V0MonitoringPairs1"/>          
-        <driver name="TridentMonitoringPairs1"/>
+        <driver name="TridentMonitoringPairs1"/>     
+         <driver name="FinalStateMonitoringGBLPairs1"/>               
+        <driver name="V0MonitoringGBLPairs1"/>          
+        <driver name="TridentMonitoringGBLPairs1"/>     
+        <!--           -->
         <driver name="AidaSaveDriver"/>
         <driver name="CleanupDriver"/>
     </execute>    
     <drivers>    
-        <!--    <driver name="DQMDatabaseDriver" type="org.hps.analysis.dataquality.DQMDatabaseDriver"/> -->
         <driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
             <eventInterval>1000</eventInterval>
         </driver>        
@@ -59,10 +69,10 @@
             <readoutCollections>SVTRawTrackerHits</readoutCollections>
         </driver>
         <driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
-            <outputFileName>${outputFile}.root</outputFileName>
-        </driver>
-
-<!-- all triggers  -->
+            <outputFileName>${outputFile}</outputFileName>
+        </driver>
+
+        <!-- all triggers  -->
         <driver name="EcalMonitoring" type="org.hps.analysis.dataquality.EcalMonitoring">         
             <triggerType>all</triggerType>
         </driver>
@@ -70,9 +80,9 @@
             <triggerType>all</triggerType>
         </driver>      
         <driver name="TrackingMonitoring" type="org.hps.analysis.dataquality.TrackingMonitoring">
-            <overwriteDB>false</overwriteDB>
-            <triggerType>all</triggerType>
-        </driver>
+            <triggerType>all</triggerType>
+        </driver>
+     
         <driver name="TrackingResiduals" type="org.hps.analysis.dataquality.TrackingResiduals">
             <triggerType>all</triggerType>
         </driver>
@@ -80,21 +90,40 @@
             <triggerType>all</triggerType>
         </driver>
         <driver name="V0Monitoring" type="org.hps.analysis.dataquality.V0Monitoring">
-           <triggerType>all</triggerType>
+            <triggerType>all</triggerType>
         </driver>
         <driver name="TridentMonitoring" type="org.hps.analysis.dataquality.TridentMonitoring">
             <triggerType>all</triggerType>
         </driver>
-
-<!-- singles0 triggers  -->
+       <driver name="TrackingMonitoringGBL" type="org.hps.analysis.dataquality.TrackingMonitoring">
+            <trackCollectionName>GBLTracks</trackCollectionName>
+            <triggerType>all</triggerType>
+        </driver>    
+        <driver name="FinalStateMonitoringGBL" type="org.hps.analysis.dataquality.FinalStateMonitoring">
+            <triggerType>all</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+        <driver name="V0MonitoringGBL" type="org.hps.analysis.dataquality.V0Monitoring">
+            <triggerType>all</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+        <driver name="TridentMonitoringGBL" type="org.hps.analysis.dataquality.TridentMonitoring">
+            <triggerType>all</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+
+        <!-- singles0 triggers  -->
         <driver name="EcalMonitoringSingles0" type="org.hps.analysis.dataquality.EcalMonitoring">         
             <triggerType>singles0</triggerType>
         </driver>
         <driver name="SVTMonitoringSingles0" type="org.hps.analysis.dataquality.SvtMonitoring">         
             <triggerType>singles0</triggerType>
         </driver>      
+        <driver name="TrackingMonitoringGBLSingles0" type="org.hps.analysis.dataquality.TrackingMonitoring">
+            <trackCollectionName>GBLTracks</trackCollectionName>
+            <triggerType>singles0</triggerType>
+        </driver>
         <driver name="TrackingMonitoringSingles0" type="org.hps.analysis.dataquality.TrackingMonitoring">
-            <overwriteDB>false</overwriteDB>
             <triggerType>singles0</triggerType>
         </driver>
         <driver name="TrackingResidualsSingles0" type="org.hps.analysis.dataquality.TrackingResiduals">
@@ -104,21 +133,24 @@
             <triggerType>singles0</triggerType>
         </driver>
         <driver name="V0MonitoringSingles0" type="org.hps.analysis.dataquality.V0Monitoring">
-           <triggerType>singles0</triggerType>
+            <triggerType>singles0</triggerType>
         </driver>
         <driver name="TridentMonitoringSingles0" type="org.hps.analysis.dataquality.TridentMonitoring">
             <triggerType>singles0</triggerType>
         </driver>
 
-<!-- singles1 triggers  -->
+        <!-- singles1 triggers  -->
         <driver name="EcalMonitoringSingles1" type="org.hps.analysis.dataquality.EcalMonitoring">         
             <triggerType>singles1</triggerType>
         </driver>
         <driver name="SVTMonitoringSingles1" type="org.hps.analysis.dataquality.SvtMonitoring">         
             <triggerType>singles1</triggerType>
-        </driver>      
-        <driver name="TrackingMonitoringSingles1" type="org.hps.analysis.dataquality.TrackingMonitoring">
-            <overwriteDB>false</overwriteDB>
+        </driver>   
+        <driver name="TrackingMonitoringSingles1" type="org.hps.analysis.dataquality.TrackingMonitoring">           
+            <triggerType>singles1</triggerType>
+        </driver>   
+        <driver name="TrackingMonitoringGBLSingles1" type="org.hps.analysis.dataquality.TrackingMonitoring">
+            <trackCollectionName>GBLTracks</trackCollectionName>
             <triggerType>singles1</triggerType>
         </driver>
         <driver name="TrackingResidualsSingles1" type="org.hps.analysis.dataquality.TrackingResiduals">
@@ -127,22 +159,37 @@
         <driver name="FinalStateMonitoringSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">
             <triggerType>singles1</triggerType>
         </driver>
-        <driver name="V0MonitoringSingles1" type="org.hps.analysis.dataquality.V0Monitoring">
-           <triggerType>singles1</triggerType>
+         <driver name="V0MonitoringSingles1" type="org.hps.analysis.dataquality.V0Monitoring">
+            <triggerType>singles1</triggerType>
         </driver>
         <driver name="TridentMonitoringSingles1" type="org.hps.analysis.dataquality.TridentMonitoring">
-            <triggerType>singles1</triggerType>
-        </driver>
-
-<!-- pairs0 triggers  -->
+            <triggerType>singles1</triggerType>            
+        </driver>
+       <driver name="FinalStateMonitoringGBLSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">
+               <triggerType>singles1</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+        <driver name="V0MonitoringGBLSingles1" type="org.hps.analysis.dataquality.V0Monitoring">
+            <triggerType>singles1</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+        <driver name="TridentMonitoringGBLSingles1" type="org.hps.analysis.dataquality.TridentMonitoring">
+            <triggerType>singles1</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+ 
+        <!-- pairs0 triggers  -->
         <driver name="EcalMonitoringPairs0" type="org.hps.analysis.dataquality.EcalMonitoring">         
             <triggerType>pairs0</triggerType>
         </driver>
         <driver name="SVTMonitoringPairs0" type="org.hps.analysis.dataquality.SvtMonitoring">         
             <triggerType>pairs0</triggerType>
         </driver>      
-        <driver name="TrackingMonitoringPairs0" type="org.hps.analysis.dataquality.TrackingMonitoring">
-            <overwriteDB>false</overwriteDB>
+        <driver name="TrackingMonitoringPairs0" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <triggerType>pairs0</triggerType>
+        </driver>
+        <driver name="TrackingMonitoringGBLPairs0" type="org.hps.analysis.dataquality.TrackingMonitoring">
+            <trackCollectionName>GBLTracks</trackCollectionName>
             <triggerType>pairs0</triggerType>
         </driver>
         <driver name="TrackingResidualsPairs0" type="org.hps.analysis.dataquality.TrackingResiduals">
@@ -152,23 +199,25 @@
             <triggerType>pairs0</triggerType>
         </driver>
         <driver name="V0MonitoringPairs0" type="org.hps.analysis.dataquality.V0Monitoring">
-           <triggerType>pairs0</triggerType>
+            <triggerType>pairs0</triggerType>
         </driver>
         <driver name="TridentMonitoringPairs0" type="org.hps.analysis.dataquality.TridentMonitoring">
             <triggerType>pairs0</triggerType>
         </driver>
 
 
-
-<!-- pairs1 triggers  -->
+        <!-- pairs1 triggers  -->
         <driver name="EcalMonitoringPairs1" type="org.hps.analysis.dataquality.EcalMonitoring">         
             <triggerType>pairs1</triggerType>
         </driver>
         <driver name="SVTMonitoringPairs1" type="org.hps.analysis.dataquality.SvtMonitoring">         
             <triggerType>pairs1</triggerType>
         </driver>      
-        <driver name="TrackingMonitoringPairs1" type="org.hps.analysis.dataquality.TrackingMonitoring">
-            <overwriteDB>false</overwriteDB>
+        <driver name="TrackingMonitoringPairs1" type="org.hps.analysis.dataquality.TrackingMonitoring">         
+            <triggerType>pairs1</triggerType>
+        </driver>
+        <driver name="TrackingMonitoringGBLPairs1" type="org.hps.analysis.dataquality.TrackingMonitoring">
+            <trackCollectionName>GBLTracks</trackCollectionName>
             <triggerType>pairs1</triggerType>
         </driver>
         <driver name="TrackingResidualsPairs1" type="org.hps.analysis.dataquality.TrackingResiduals">
@@ -178,11 +227,24 @@
             <triggerType>pairs1</triggerType>
         </driver>
         <driver name="V0MonitoringPairs1" type="org.hps.analysis.dataquality.V0Monitoring">
-           <triggerType>pairs1</triggerType>
+            <triggerType>pairs1</triggerType>
         </driver>
         <driver name="TridentMonitoringPairs1" type="org.hps.analysis.dataquality.TridentMonitoring">
             <triggerType>pairs1</triggerType>
         </driver>
+    <driver name="FinalStateMonitoringGBLPairs1" type="org.hps.analysis.dataquality.FinalStateMonitoring">
+            <triggerType>pairs1</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+        <driver name="V0MonitoringGBLPairs1" type="org.hps.analysis.dataquality.V0Monitoring">
+            <triggerType>pairs1</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+        <driver name="TridentMonitoringGBLPairs1" type="org.hps.analysis.dataquality.TridentMonitoring">
+            <triggerType>pairs1</triggerType>
+            <isGBL>true</isGBL>
+        </driver>
+
         <driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
 
     </drivers>

Modified: java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon_Pass2.lcsim
 =============================================================================
--- java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon_Pass2.lcsim	(original)
+++ java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon_Pass2.lcsim	Tue Jan 26 18:16:25 2016
@@ -69,7 +69,7 @@
             <readoutCollections>SVTRawTrackerHits</readoutCollections>
         </driver>
         <driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
-            <outputFileName>${outputFile}.root</outputFileName>
+            <outputFileName>${outputFile}</outputFileName>
         </driver>
 
         <!-- all triggers  -->

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

November 2017
August 2017
July 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use