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  March 2015

HPS-SVN March 2015

Subject:

r2331 - in /java/branches/prod: ./ conditions/src/main/java/org/hps/conditions/ conditions/src/main/java/org/hps/conditions/ecal/ detector-data/detectors/HPS-ECalCommissioning-v2/ evio/src/main/java/org/hps/evio/ monitoring-app/ monitoring-app/src/main/java/org/hps/monitoring/application/ monitoring-app/src/main/java/org/hps/monitoring/application/model/ monitoring-drivers/src/main/java/org/hps/monitoring/drivers/ecal/ monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/ record-util/src/main/java/org/hps/record/composite/ record-util/src/main/java/org/hps/record/evio/ steering-files/src/main/resources/org/hps/steering/monitoring/ steering-files/src/main/resources/org/hps/steering/monitoring/ecal/ steering-files/src/main/resources/org/hps/steering/readout/ steering-files/src/main/resources/org/hps/steering/users/mgraham/ tracking/src/main/resources/org/hps/recon/tracking/strategies/

From:

[log in to unmask]

Reply-To:

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

Date:

Sat, 7 Mar 2015 06:53:11 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (906 lines)

Author: [log in to unmask]
Date: Fri Mar  6 22:52:58 2015
New Revision: 2331

Log:
Merge r2312 through r2330 into prod branch.

Added:
    java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/TriggerDiagnosticsPanel.java
      - copied unchanged from r2330, java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/TriggerDiagnosticsPanel.java
    java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationListener.java
      - copied unchanged from r2330, java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationListener.java
    java/branches/prod/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/ecal/
      - copied from r2330, java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/ecal/
    java/branches/prod/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/SVTOpeningAlignment.java
      - copied unchanged from r2330, java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/SVTOpeningAlignment.java
    java/branches/prod/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim
      - copied unchanged from r2330, java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim
    java/branches/prod/steering-files/src/main/resources/org/hps/steering/monitoring/ecal/
      - copied from r2330, java/trunk/steering-files/src/main/resources/org/hps/steering/monitoring/ecal/
    java/branches/prod/steering-files/src/main/resources/org/hps/steering/users/mgraham/AlignmentMonitorTest.lcsim
      - copied unchanged from r2330, java/trunk/steering-files/src/main/resources/org/hps/steering/users/mgraham/AlignmentMonitorTest.lcsim
    java/branches/prod/tracking/src/main/resources/org/hps/recon/tracking/strategies/HPS-Full-3Hit.xml
      - copied unchanged from r2330, java/trunk/tracking/src/main/resources/org/hps/recon/tracking/strategies/HPS-Full-3Hit.xml
Modified:
    java/branches/prod/   (props changed)
    java/branches/prod/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java
    java/branches/prod/conditions/src/main/java/org/hps/conditions/ecal/EcalCrystalChannelMap.java
    java/branches/prod/detector-data/detectors/HPS-ECalCommissioning-v2/compact.xml
    java/branches/prod/evio/src/main/java/org/hps/evio/LCSimTestRunEventBuilder.java
    java/branches/prod/monitoring-app/   (props changed)
    java/branches/prod/monitoring-app/pom.xml
    java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/DataSourceComboBox.java
    java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/EventProcessing.java
    java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java
    java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java
    java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java
    java/branches/prod/record-util/src/main/java/org/hps/record/composite/CompositeLoop.java
    java/branches/prod/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java
    java/branches/prod/steering-files/src/main/resources/org/hps/steering/readout/CommRun2014LoosePairs.lcsim

Modified: java/branches/prod/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java
 =============================================================================
--- java/branches/prod/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java	(original)
+++ java/branches/prod/conditions/src/main/java/org/hps/conditions/ConditionsDriver.java	Fri Mar  6 22:52:58 2015
@@ -39,7 +39,6 @@
  */
 public class ConditionsDriver extends Driver {
 
-    DatabaseConditionsManager conditionsManager;
     String detectorName = null;
     String tag = null;
     String xmlConfigResource = null;
@@ -50,7 +49,6 @@
      * Default constructor.
      */
     public ConditionsDriver() {
-        conditionsManager = new DatabaseConditionsManager();
     }
     
     /**
@@ -107,6 +105,9 @@
      * @throws RuntimeException If there is a problem setting up the conditions system.
      */
     public void initialize() {
+        
+        DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
+        
         if (xmlConfigResource != null) {
             // Set a custom XML configuration resource.
             conditionsManager.setXmlConfig(xmlConfigResource);

Modified: java/branches/prod/conditions/src/main/java/org/hps/conditions/ecal/EcalCrystalChannelMap.java
 =============================================================================
--- java/branches/prod/conditions/src/main/java/org/hps/conditions/ecal/EcalCrystalChannelMap.java	(original)
+++ java/branches/prod/conditions/src/main/java/org/hps/conditions/ecal/EcalCrystalChannelMap.java	Fri Mar  6 22:52:58 2015
@@ -10,13 +10,14 @@
 
 /**
  * This is a convenience utility for associating the geometric crystal
- * objects with the conditions system channel information.  
+ * objects with the conditions system channel information and vice versa.  
  * 
  * @author Jeremy McCormick <[log in to unmask]>
  */
 final class EcalCrystalChannelMap {
     
     Map<EcalCrystal, EcalChannel> crystalMap = new HashMap<EcalCrystal, EcalChannel>();
+    Map<EcalChannel, EcalCrystal> channelMap = new HashMap<EcalChannel, EcalCrystal>();
     
     /**
      * Creates the map between crystals and channels.
@@ -24,13 +25,23 @@
      * @param channels The list of channels.
      */
     EcalCrystalChannelMap(HPSEcalAPI api, EcalChannelCollection channels) {
-        List<EcalCrystal> crystals = api.getCrystals();        
-        for (EcalCrystal crystal : crystals) {
+                        
+        // Map crystals to channels.
+        for (EcalCrystal crystal : api.getCrystals()) {
             EcalChannel channel = channels.findGeometric(crystal.getIdentifier().getValue());
             if (channel == null) {
                 throw new RuntimeException("ECAL channel was not found for ID: " + crystal.getExpandedIdentifier());
             }
             crystalMap.put(crystal, channel);
+        }
+        
+        // Map channels to crystals.
+        for (EcalChannel channel : channels) {
+            EcalCrystal crystal = api.getCrystal(channel.getX(), channel.getY());
+            if (crystal == null) {
+                throw new RuntimeException("ECAl crystal was not found for channel X Y: " + channel.getX() + " " + channel.getY());
+            }
+            channelMap.put(channel, crystal);
         }
     }
     
@@ -42,4 +53,13 @@
     EcalChannel getEcalChannel(EcalCrystal crystal) {
         return crystalMap.get(crystal);
     }    
+    
+    /**
+     * Get a channel from a crystal.
+     * @param crystal The geometry object.
+     * @return The channel information or null if does not exist.
+     */
+    EcalCrystal getEcalCrystal(EcalChannel channel) {
+        return channelMap.get(channel);
+    } 
 }

Modified: java/branches/prod/detector-data/detectors/HPS-ECalCommissioning-v2/compact.xml
 =============================================================================
--- java/branches/prod/detector-data/detectors/HPS-ECalCommissioning-v2/compact.xml	(original)
+++ java/branches/prod/detector-data/detectors/HPS-ECalCommissioning-v2/compact.xml	Fri Mar  6 22:52:58 2015
@@ -2,7 +2,7 @@
        xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
        xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
     
-    <info name="HPS-ECalCommissioning-v3">
+    <info name="HPS-ECalCommissioning-v2">
         <comment>HPS ECal commissioning for pass2 with no SVT, By=-0.3309  </comment>
     </info>
 

Modified: java/branches/prod/evio/src/main/java/org/hps/evio/LCSimTestRunEventBuilder.java
 =============================================================================
--- java/branches/prod/evio/src/main/java/org/hps/evio/LCSimTestRunEventBuilder.java	(original)
+++ java/branches/prod/evio/src/main/java/org/hps/evio/LCSimTestRunEventBuilder.java	Fri Mar  6 22:52:58 2015
@@ -127,9 +127,10 @@
             eventID = new int[3];
         } else {
             logger.finest("Read EVIO event number " + eventID[0]);
-            if (eventID[1] != 1) {
-                logger.warning("Trigger code is usually 1; got " + eventID[1]);
-            }
+            // Stop hardcoding event tags.
+            //if (eventID[1] != 1) {
+            //    logger.warning("Trigger code is usually 1; got " + eventID[1]);
+            //}
             if (eventID[2] != 0) {
                 logger.warning("Readout status is usually 0; got " + eventID[2]);
             }

Modified: java/branches/prod/monitoring-app/pom.xml
 =============================================================================
--- java/branches/prod/monitoring-app/pom.xml	(original)
+++ java/branches/prod/monitoring-app/pom.xml	Fri Mar  6 22:52:58 2015
@@ -115,6 +115,10 @@
         </dependency>       
         <dependency>
             <groupId>org.hps</groupId>
+            <artifactId>hps-monitoring-util</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hps</groupId>
             <artifactId>hps-steering-files</artifactId>
         </dependency>
         <dependency>

Modified: java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/DataSourceComboBox.java
 =============================================================================
--- java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/DataSourceComboBox.java	(original)
+++ java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/DataSourceComboBox.java	Fri Mar  6 22:52:58 2015
@@ -11,6 +11,7 @@
 import javax.swing.JComboBox;
 
 import org.hps.monitoring.application.DataSourceComboBox.DataSourceItem;
+import org.hps.monitoring.application.model.ConfigurationListener;
 import org.hps.monitoring.application.model.ConfigurationModel;
 import org.hps.monitoring.application.model.ConnectionStatus;
 import org.hps.monitoring.application.model.ConnectionStatusModel;
@@ -27,7 +28,7 @@
  * 
  * @author Jeremy McCormick <[log in to unmask]>
  */
-class DataSourceComboBox extends JComboBox<DataSourceItem> implements PropertyChangeListener, ActionListener {
+class DataSourceComboBox extends JComboBox<DataSourceItem> implements PropertyChangeListener, ActionListener, ConfigurationListener {
 
     ConnectionStatusModel connectionModel;
     ConfigurationModel configurationModel;
@@ -62,29 +63,13 @@
         setActionCommand(Commands.DATA_SOURCE_CHANGED);
         setPreferredSize(new Dimension(400, this.getPreferredSize().height));
         setEditable(false);
-        connectionModel.addPropertyChangeListener(this);        
         this.configurationModel = configurationModel;
-    }
-    
-    void initialize() {
-        
-        // Add the default ET item.
-        addItem(new DataSourceItem(configurationModel.getEtPath(), DataSourceType.ET_SERVER));
-        
-        // Add a file source if one has been provided.
-        if (configurationModel.getDataSourcePath() != null) {
-            addItem(new DataSourceItem(configurationModel.getDataSourcePath(), getDataSourceType(configurationModel.getDataSourcePath())));
-        }
-        
-        // Set the initially selected item.
-        setSelectedItem();
-        
-        // Don't add as the property listener until after initialization.
-        configurationModel.addPropertyChangeListener(this);
-    }
-    
+        connectionModel.addPropertyChangeListener(this);                
+        configurationModel.addConfigurationListener(this);
+    }
+            
     void setSelectedItem() {
-        DataSourceItem item = findItem(configurationModel.getDataSourcePath(), configurationModel.getDataSourceType());
+        DataSourceItem item = findItem(configurationModel.getDataSourcePath(), getDataSourceType(configurationModel.getDataSourcePath()));
         if (item != null) {
             setSelectedItem(item);
         }
@@ -96,26 +81,31 @@
 
     @Override
     public void propertyChange(PropertyChangeEvent evt) {
-        if (evt.getPropertyName().equals(ConnectionStatusModel.CONNECTION_STATUS_PROPERTY)) {
-            ConnectionStatus status = (ConnectionStatus) evt.getNewValue();
-            if (status.equals(ConnectionStatus.DISCONNECTED)) {
-                setEnabled(true);
-            } else {
-                setEnabled(false);
-            }
-        } else if (evt.getPropertyName().equals(ConfigurationModel.DATA_SOURCE_PATH_PROPERTY)) {
-            String path = configurationModel.getDataSourcePath();
-            DataSourceType type = getDataSourceType(path);
-            addDataSourceItem(path, type);
-            setSelectedItem();
-        } else if (evt.getPropertyName().equals(ConfigurationModel.DATA_SOURCE_TYPE_PROPERTY)) {
-            setSelectedItem();
-        } else if (evt.getPropertyName().equals(ConfigurationModel.HOST_PROPERTY)) {
-            updateEtItem();
-        } else if (evt.getPropertyName().equals(ConfigurationModel.ET_NAME_PROPERTY)) {
-            updateEtItem();
-        } else if (evt.getPropertyName().equals(ConfigurationModel.PORT_PROPERTY)) {
-            updateEtItem();
+        configurationModel.removePropertyChangeListener(this);
+        try {
+            if (evt.getPropertyName().equals(ConnectionStatusModel.CONNECTION_STATUS_PROPERTY)) {
+                ConnectionStatus status = (ConnectionStatus) evt.getNewValue();
+                if (status.equals(ConnectionStatus.DISCONNECTED)) {
+                    setEnabled(true);
+                } else {
+                    setEnabled(false);
+                }
+            } else if (evt.getPropertyName().equals(ConfigurationModel.DATA_SOURCE_PATH_PROPERTY)) {
+                String path = configurationModel.getDataSourcePath();
+                DataSourceType type = getDataSourceType(path);
+                addDataSourceItem(path, type);
+                setSelectedItem();
+            } else if (evt.getPropertyName().equals(ConfigurationModel.DATA_SOURCE_TYPE_PROPERTY)) {
+                setSelectedItem();
+            } else if (evt.getPropertyName().equals(ConfigurationModel.HOST_PROPERTY)) {
+                updateEtItem();
+            } else if (evt.getPropertyName().equals(ConfigurationModel.ET_NAME_PROPERTY)) {
+                updateEtItem();
+            } else if (evt.getPropertyName().equals(ConfigurationModel.PORT_PROPERTY)) {
+                updateEtItem();
+            }
+        } finally {
+            configurationModel.addPropertyChangeListener(this);
         }
     }
     
@@ -142,7 +132,37 @@
             } finally {
                 configurationModel.addPropertyChangeListener(this);
             }
-        }
+        } 
+    }
+    
+    public void configurationChanged(ConfigurationModel configurationModel) {
+               
+        // Clear the data source list.
+        removeAllItems();
+        
+        // Add the default ET item.
+        this.removeActionListener(this);
+        try {
+            addItem(new DataSourceItem(configurationModel.getEtPath(), DataSourceType.ET_SERVER));
+                
+            // Add a file source if one has been provided.
+            if (configurationModel.getDataSourcePath() != null) {
+                // Add an item for this data source.
+                DataSourceItem newItem = new DataSourceItem(configurationModel.getDataSourcePath(), configurationModel.getDataSourceType());
+                //System.out.println("adding new item " + newItem.name + " " + newItem.type);
+                addItem(newItem);            
+                if (configurationModel.getDataSourceType().isFile()) {
+                    //System.out.println("setting selected");
+                    setSelectedItem(newItem);
+                }
+            }
+        } finally {
+            this.addActionListener(this);    
+        }
+        
+        // Don't add as property change listener until after configuration has been initialized.
+        configurationModel.removePropertyChangeListener(this);
+        configurationModel.addPropertyChangeListener(this);
     }
 
     public void addItem(DataSourceItem item) {

Modified: java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/EventProcessing.java
 =============================================================================
--- java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/EventProcessing.java	(original)
+++ java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/EventProcessing.java	Fri Mar  6 22:52:58 2015
@@ -40,6 +40,7 @@
     Logger logger;
     SessionState sessionState;
     List<CompositeRecordProcessor> processors;
+    List<Driver> drivers;
     
     /**
      * This class is used to organize the objects for an event processing session.
@@ -62,11 +63,13 @@
      */
     EventProcessing(
             MonitoringApplication application, 
-            List<CompositeRecordProcessor> processors) {
+            List<CompositeRecordProcessor> processors,
+            List<Driver> drivers) {
         this.application = application;
-        this.sessionState = new SessionState();
+        this.sessionState = new SessionState();        
+        this.logger = MonitoringApplication.logger;
         this.processors = processors;
-        this.logger = MonitoringApplication.logger;
+        this.drivers = drivers;
     }
     
     /**
@@ -173,8 +176,7 @@
             .setProcessingStage(configurationModel.getProcessingStage())
             .setEtConnection(sessionState.connection)
             .setFilePath(configurationModel.getDataSourcePath())
-            .setLCSimEventBuilder(sessionState.eventBuilder)
-            .setDetectorName(configurationModel.getDetectorName());
+            .setLCSimEventBuilder(sessionState.eventBuilder);
 
         if (configurationModel.hasValidProperty(ConfigurationModel.MAX_EVENTS_PROPERTY)) {
             long maxEvents = configurationModel.getMaxEvents();
@@ -185,26 +187,37 @@
         }
         
         // Add all Drivers from the JobManager.
-        for (Driver driver : sessionState.jobManager.getDriverExecList()) {
+        for (Driver driver : sessionState.jobManager.getDriverExecList()) {            
             loopConfig.add(driver);
+            logger.config("added Driver " + driver.getName() + " to job");
         }
 
         // Using ET server?
         if (configurationModel.getDataSourceType().equals(DataSourceType.ET_SERVER)) {
 
             // ET system monitor.
+            logger.config("added EtSystemMonitor to job");
             loopConfig.add(new EtSystemMonitor());
 
             // ET system strip charts.
+            logger.config("added EtSystemStripCharts to job");
             loopConfig.add(new EtSystemStripCharts());
         }
 
         // Add extra CompositeRecordProcessors to the loop config.
-        for (CompositeRecordProcessor processor : processors) {
+        for (CompositeRecordProcessor processor : processors) {            
             loopConfig.add(processor);   
+            logger.config("added extra processor " + processor.getClass().getSimpleName() + " to job");
+        }
+        
+        // Add extra Drivers to the loop config.
+        for (Driver driver : drivers) {            
+            loopConfig.add(driver);
+            logger.config("added extra Driver " + driver.getName() + " to job");
         }
                 
         // Enable conditions system activation from EVIO event information.
+        logger.config("added EvioDetectorConditionsProcessor to job with detector " + configurationModel.getDetectorName());
         loopConfig.add(new EvioDetectorConditionsProcessor(configurationModel.getDetectorName()));
 
         // Create the CompositeLoop with the configuration.
@@ -240,6 +253,11 @@
      */
     synchronized void stop() {
 
+        logger.info("event processing is stopping");
+        
+        // Disconnect from ET system.
+        disconnect();
+        
         // Is the event processing thread not null?
         if (sessionState.processingThread != null) {
 
@@ -250,8 +268,10 @@
                 sessionState.loop.execute(Command.STOP);
 
                 try {
+                    logger.info("waiting for event processing thread to finish");
                     // This should always work, because the ET system is disconnected before this.
                     sessionState.processingThread.join();
+                    logger.info("event processing thread finished");
                 } catch (InterruptedException e) {
                     // Don't know when this would ever happen.
                     e.printStackTrace();
@@ -269,6 +289,8 @@
 
         // Set the loop to null as a new one will be created for next session.
         sessionState.loop = null;
+        
+        logger.info("event processing stopped");
     }    
            
     /**
@@ -276,6 +298,8 @@
      * and start the watchdog thread.
      */
     synchronized void start() {
+        
+        logger.fine("event processing threads are starting");
         
         // Start the event processing thread.
         sessionState.processingThread = new EventProcessingThread(sessionState.loop);
@@ -283,45 +307,54 @@
         
         // Start the watchdog thread which will auto-disconnect when event processing is done.
         sessionState.sessionWatchdogThread = new SessionWatchdogThread(sessionState.processingThread);
-        sessionState.sessionWatchdogThread.start();        
+        sessionState.sessionWatchdogThread.start();
+        
+        logger.fine("started event processing threads");
     }
     
     /**
      * Notify the event processor to pause processing.
      */
     synchronized void pause() {
+        logger.finest("pausing");
         if (!application.connectionModel.getPaused()) {
             sessionState.loop.pause();
             application.connectionModel.setPaused(true);
         }
+        logger.finest("paused");
     }
     
     /**
      * Get next event if in pause mode.
      */
     synchronized void next() {
+        logger.finest("getting next event");
         if (application.connectionModel.getPaused()) {
             application.connectionModel.setPaused(false);
             sessionState.loop.execute(Command.GO_N, 1L, true);
             application.connectionModel.setPaused(true);
         }
+        logger.finest("got next event");
     }
     
     /**
      * Resume processing events from pause mode.
      */
     synchronized void resume() {
+        logger.finest("resuming");
         if (application.connectionModel.getPaused()) {
             // Notify event processor to continue.
             sessionState.loop.resume();        
             application.connectionModel.setPaused(false);
         }
+        logger.finest("resumed");
     }
     
     /**
      * Interrupt and join to the processing watchdog thread.
      */
     synchronized void killWatchdogThread() {
+        logger.fine("killing watchdog thread");
         // Is the session watchdog thread not null?
         if (sessionState.sessionWatchdogThread != null) {
             // Is the thread still alive?
@@ -339,18 +372,21 @@
             // Set the thread object to null.
             sessionState.sessionWatchdogThread = null;
         }
+        logger.fine("watchdog thread killed");
     }
     
     /**
      * Cleanup the ET connection.
      */
     synchronized void closeEtConnection() {
+        logger.fine("closing ET connection");
         if (sessionState.connection != null) {
             if (sessionState.connection.getEtSystem().alive()) {
                 sessionState.connection.cleanup();
             }
             sessionState.connection = null;
-        }        
+        }
+        logger.fine("ET connection closed");
     }
     
     /**
@@ -364,8 +400,8 @@
     /**
      * Connect to the ET system using the current connection settings.
      */
-    void connect() throws IOException {
-
+    synchronized void connect() throws IOException {
+        logger.fine("connecting to ET system");
         // Setup the network connection if using an ET server.
         if (usingEtServer()) {
             // Create a connection to the ET server.
@@ -378,6 +414,7 @@
             // This is when a direct file source is used and ET is not needed.
             application.connectionModel.setConnectionStatus(ConnectionStatus.CONNECTED);
         }
+        logger.fine("ET system is connected");
     }
     
     /**
@@ -409,16 +446,20 @@
      * Disconnect from the current ET session with a particular status.
      * @param status The connection status.
      */
-    void disconnect() {
+    synchronized void disconnect() {
+        
+        logger.fine("disconnecting");
         
         // Kill the session watch dog thread.
         killWatchdogThread();
 
         // Cleanup the ET connection.
         closeEtConnection();
-
+                              
         // Change application state to disconnected.
         application.connectionModel.setConnectionStatus(ConnectionStatus.DISCONNECTED);
+        
+        logger.fine("disconnected");
     }    
                
     /**
@@ -446,4 +487,4 @@
             }            
         }
     }
-}
+}

Modified: java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java
 =============================================================================
--- java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java	(original)
+++ java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java	Fri Mar  6 22:52:58 2015
@@ -32,6 +32,7 @@
 import javax.swing.filechooser.FileFilter;
 import javax.swing.filechooser.FileNameExtensionFilter;
 
+import org.hps.conditions.database.DatabaseConditionsManager;
 import org.hps.monitoring.application.DataSourceComboBox.DataSourceItem;
 import org.hps.monitoring.application.LogTable.LogRecordModel;
 import org.hps.monitoring.application.model.Configuration;
@@ -50,6 +51,7 @@
 import org.hps.monitoring.subsys.SystemStatusRegistry;
 import org.hps.record.composite.CompositeRecordProcessor;
 import org.hps.record.enums.DataSourceType;
+import org.lcsim.util.Driver;
 import org.lcsim.util.aida.AIDA;
 import org.lcsim.util.log.DefaultLogFormatter;
 
@@ -156,10 +158,7 @@
                                       
         // Load the configuration.
         loadConfiguration(this.configuration);
-        
-        // Setup the data source combo box.
-        frame.dataSourceComboBox.initialize();
-        
+                
         logger.info("application initialized successfully");
     }
     
@@ -189,19 +188,9 @@
 
         String cmd = e.getActionCommand();
         if (Commands.CONNECT.equals(cmd)) {
-            // Run the start session method on a separate thread.
-            new Thread() {
-                public void run() {
-                    startSession();
-                }
-            }.start();
+            startSession();
         } else if (Commands.DISCONNECT.equals(cmd)) {
-            // Run the stop session method on a separate thread.
-            new Thread() {
-                public void run() {
-                    stopSession();
-                }
-            }.start();
+            processing.stop();
         } else if (Commands.SAVE_PLOTS.equals(cmd)) {
             savePlots();
         } else if (Commands.EXIT.equals(cmd)) {
@@ -357,18 +346,14 @@
     }
     
     /**
-     * <p>
      * Start a new monitoring session.
-     * <p> 
-     * This method is executed in a separate thread from the EDT within {@link #actionPerformed(ActionEvent)} 
-     * so that GUI updates are not blocked while the session is being setup.
-     */
-    void startSession() {
+     */
+    synchronized void startSession() {
         
         logger.info("starting new session");
 
         try {
-            
+                        
             // Reset the plot panel and global AIDA state.
             resetPlots();
 
@@ -381,8 +366,11 @@
             List<CompositeRecordProcessor> processors = new ArrayList<CompositeRecordProcessor>();
             processors.add(frame.runPanel.new RunPanelUpdater());
             
+            List<Driver> drivers = new ArrayList<Driver>();
+            drivers.add(frame.triggerPanel.new TriggerDiagnosticGUIDriver());
+            
             // Initialize event processing with the list of processors and reference to the application.
-            processing = new EventProcessing(this, processors);
+            processing = new EventProcessing(this, processors, drivers);
             
             // Connect to the ET system, if applicable.
             processing.connect();
@@ -412,31 +400,13 @@
             logger.severe("failed to start new session");
         }
     }
-    
-    /**
-     * Stop the session by disconnecting from the ET system and stopping the event processing.
-     */
-    void stopSession() {
-        
-        logger.info("stopping the session");
-        
-        // Disconnect from ET system, if using the ET server, and set the proper disconnected GUI state.
-        processing.disconnect();
-
-        // Stop the event processing, which is called after the ET system goes down to avoid hanging in calls to ET system.
-        processing.stop(); 
-        
-        logger.info("session was stopped");
-    }
-    
+           
     /**
      * Exit from the application.
      */
     void exit() {        
-        // Cleanup ET system if necessary.
         if (processing != null && processing.isActive()) {
-            logger.info("killing active ET connection");
-            processing.closeEtConnection();
+            processing.stop();
         }
         frame.setVisible(false);
         logger.info("exiting the application");

Modified: java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java
 =============================================================================
--- java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java	(original)
+++ java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java	Fri Mar  6 22:52:58 2015
@@ -29,6 +29,7 @@
     LogPanel logPanel;
     SystemStatusTable systemStatusTable;
     JPanel buttonsPanel;
+    TriggerDiagnosticsPanel triggerPanel;
     
     JSplitPane mainSplitPane;
     JSplitPane rightSplitPane;
@@ -113,6 +114,10 @@
         systemStatusTable = new SystemStatusTable();
         tableTabbedPane.addTab("System Status Monitor", new JScrollPane(systemStatusTable));
         
+        // Add the trigger diagnostics tables.
+        triggerPanel = new TriggerDiagnosticsPanel();
+        tableTabbedPane.addTab("Trigger Diagnostics", triggerPanel);
+        
         // Vertical split pane in left panel.
         leftSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, runPanel, tableTabbedPane);
         leftPanel.add(leftSplitPane, BorderLayout.CENTER);
@@ -132,11 +137,12 @@
         // Create the right panel vertical split pane for displaying plots and their information and statistics.
         rightSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, plotPanel, plotInfoPanel);
         setProportionalSize(rightSplitPane, RIGHT_PANEL_WIDTH, FULL_SIZE);
-        rightSplitPane.setResizeWeight(0.9);
+        rightSplitPane.setResizeWeight(0.8);
         rightPanel.add(rightSplitPane, BorderLayout.CENTER);
                        
         // Create the main horizontal split pane for dividing the left and right panels.
         mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, rightPanel);
+        mainSplitPane.setResizeWeight(0.15);
         bottomPanel.add(mainSplitPane, BorderLayout.CENTER);
         
         // Create the menu bar.
@@ -174,9 +180,13 @@
         component.setPreferredSize(scaledDimension);
     }           
     
+    /**
+     * Restore default window settings.
+     */
     void restoreDefaults() {
+        setExtendedState(JFrame.MAXIMIZED_BOTH);
         mainSplitPane.resetToPreferredSizes();
         leftSplitPane.resetToPreferredSizes();
-        rightSplitPane.resetToPreferredSizes();
+        rightSplitPane.resetToPreferredSizes();        
     }    
 }

Modified: java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java
 =============================================================================
--- java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java	(original)
+++ java/branches/prod/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java	Fri Mar  6 22:52:58 2015
@@ -1,6 +1,5 @@
 package org.hps.monitoring.application.model;
 
-import java.awt.event.ActionListener;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
@@ -17,6 +16,8 @@
 public final class ConfigurationModel extends AbstractModel {
 
     Configuration configuration;    
+    
+    List<ConfigurationListener> listeners = new ArrayList<ConfigurationListener>();
     
     // Job setting properties.
     public static final String DETECTOR_NAME_PROPERTY = "DetectorName";
@@ -53,6 +54,9 @@
     public static final String WAIT_MODE_PROPERTY = "WaitMode";
     public static final String WAIT_TIME_PROPERTY = "WaitTime";
     public static final String PRESCALE_PROPERTY = "Prescale";
+    
+    // Action command to get notified after configuration change is performed.
+    public static final String CONFIGURATION_CHANGED = "configurationChanged";
 
     static final String[] CONFIG_PROPERTIES = AbstractModel.getPropertyNames(ConfigurationModel.class);
 
@@ -64,10 +68,21 @@
         this.configuration = configuration;
         fireModelChanged();
     }
+    
+    public void addConfigurationListener(ConfigurationListener listener) {
+        listeners.add(listener);
+    }
 
     public void setConfiguration(Configuration configuration) {
         this.configuration = configuration;
         fireModelChanged();
+        fireConfigurationChanged();
+    }
+    
+    void fireConfigurationChanged() {        
+        for (ConfigurationListener listener : listeners) {
+            listener.configurationChanged(this);
+        }
     }
     
     public Configuration getConfiguration() {

Modified: java/branches/prod/record-util/src/main/java/org/hps/record/composite/CompositeLoop.java
 =============================================================================
--- java/branches/prod/record-util/src/main/java/org/hps/record/composite/CompositeLoop.java	(original)
+++ java/branches/prod/record-util/src/main/java/org/hps/record/composite/CompositeLoop.java	Fri Mar  6 22:52:58 2015
@@ -18,10 +18,8 @@
 import org.hps.record.et.EtEventSource.EtSourceException;
 import org.hps.record.evio.EvioEventProcessor;
 import org.hps.record.evio.EvioFileSource;
-import org.lcsim.conditions.ConditionsManager;
 import org.lcsim.util.Driver;
 import org.lcsim.util.loop.LCIOEventSource;
-import org.lcsim.util.loop.LCSimConditionsManagerImplementation;
 
 /**
  * Implementation of a composite record loop for processing
@@ -265,7 +263,6 @@
         
         // Configure ET system.
         if (config.sourceType == DataSourceType.ET_SERVER) {
-            //System.out.println("compositeLoop.addAdapter(etAdapter)");
             addAdapter(etAdapter);
         }
         
@@ -274,28 +271,17 @@
             if (config.sourceType.ordinal() <= DataSourceType.EVIO_FILE.ordinal()) {
                 if (evioAdapter == null)
                     evioAdapter = new EvioEventAdapter();
-                //System.out.println("compositeLoop.addAdapter(evioAdapter)");
                 addAdapter(evioAdapter);
             }
         }
         
         // Configure LCIO processing.
         if (config.processingStage.ordinal() >= ProcessingStage.LCIO.ordinal()) {
-            if (lcioAdapter == null)
+            if (lcioAdapter == null) {
                 lcioAdapter = new LcioEventAdapter();
-            //System.out.println("compositeLoop.addAdapter(lcioAdapter)");
+            }
             addAdapter(lcioAdapter);
             if (config.eventBuilder != null) {
-                if (config.detectorName != null) {
-                    // Is LCSim ConditionsManager installed yet?
-                    if (!ConditionsManager.isSetup()) {
-                        // Setup default LCSim conditions system if not already.
-                        LCSimConditionsManagerImplementation.register();
-                    }
-                    //config.eventBuilder.setDetectorName(config.detectorName);
-                } else {
-                    throw new IllegalArgumentException("Missing detectorName in configuration.");
-                }
                 lcioAdapter.setLCSimEventBuilder(config.eventBuilder);
             } else {
                 throw new IllegalArgumentException("Missing an LCSimEventBuilder in configuration.");

Modified: java/branches/prod/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java
 =============================================================================
--- java/branches/prod/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java	(original)
+++ java/branches/prod/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java	Fri Mar  6 22:52:58 2015
@@ -12,4 +12,9 @@
     public static final int EVENTID_BANK_TAG = 0xC000;
     
     public static final int HEAD_BANK_TAG = 0xe10F;
+  
+    public static final int EPICS_EVENT_TAG = 31;
+    public static final int EPICS_BANK_TAG_2s = -1;
+    public static final int EPICS_BANK_TAG_20s = -1;
+    
 }

Modified: java/branches/prod/steering-files/src/main/resources/org/hps/steering/readout/CommRun2014LoosePairs.lcsim
 =============================================================================
--- java/branches/prod/steering-files/src/main/resources/org/hps/steering/readout/CommRun2014LoosePairs.lcsim	(original)
+++ java/branches/prod/steering-files/src/main/resources/org/hps/steering/readout/CommRun2014LoosePairs.lcsim	Fri Mar  6 22:52:58 2015
@@ -47,16 +47,18 @@
             <inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
             <clusterWindow>1</clusterWindow>
         </driver>
-        <driver name="PairTrigger0" type="org.hps.readout.ecal.FADCPrimaryTriggerDriver">
+        <driver name="PairTrigger1" type="org.hps.readout.ecal.FADCPrimaryTriggerDriver">
             <clusterCollectionName>EcalClusters</clusterCollectionName>
             <deadTime>10</deadTime>
             <pairCoincidence>4</pairCoincidence>
-            <minHitCount>2</minHitCount>
+            <minHitCount>3</minHitCount>
             <energySumHigh>2.0</energySumHigh>
-            <energySumLow>0.0</energySumLow>
+            <energySumLow>1.0</energySumLow>
             <energyDifferenceHigh>1.2</energyDifferenceHigh>
-            <coplanarityHigh>90</coplanarityHigh>
+            <coplanarityHigh>40</coplanarityHigh>
             <seedEnergyLow>0.1</seedEnergyLow>
+            <energySlopeParamF>0.005500</energySlopeParamF>
+            <energySlopeLow>0.4</energySlopeLow>
             <outputFileName>${outputFile}.triggers</outputFileName>
         </driver>	      
         <driver name="AidaSaveDriver"

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