Author: [log in to unmask]
Date: Thu Feb 11 17:15:20 2016
New Revision: 4207
Log:
Merge to dev branch from trunk.
Added:
java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/examples/VertexAnalysis.java
- copied unchanged from r4202, java/trunk/analysis/src/main/java/org/hps/analysis/examples/VertexAnalysis.java
java/branches/jeremy-dev/analysis/src/test/
- copied from r4202, java/trunk/analysis/src/test/
java/branches/jeremy-dev/detector-data/detectors/HPS-PhysicsRun2016-1_5mm-v4-4/
- copied from r4202, java/trunk/detector-data/detectors/HPS-PhysicsRun2016-1_5mm-v4-4/
java/branches/jeremy-dev/detector-data/detectors/HPS-PhysicsRun2016-2mm-v4-4/
- copied from r4202, java/trunk/detector-data/detectors/HPS-PhysicsRun2016-2mm-v4-4/
java/branches/jeremy-dev/detector-data/detectors/HPS-PhysicsRun2016-3mm-v4-4/
- copied from r4202, java/trunk/detector-data/detectors/HPS-PhysicsRun2016-3mm-v4-4/
java/branches/jeremy-dev/detector-data/detectors/HPS-PhysicsRun2016-4mm-v4-4/
- copied from r4202, java/trunk/detector-data/detectors/HPS-PhysicsRun2016-4mm-v4-4/
java/branches/jeremy-dev/detector-data/detectors/HPS-PhysicsRun2016-Nominal-v4-4/
- copied from r4202, java/trunk/detector-data/detectors/HPS-PhysicsRun2016-Nominal-v4-4/
java/branches/jeremy-dev/detector-data/detectors/HPS-PhysicsRun2016-Nominal-v4-4-fieldmap/
- copied from r4202, java/trunk/detector-data/detectors/HPS-PhysicsRun2016-Nominal-v4-4-fieldmap/
java/branches/jeremy-dev/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalFeeMonitor.java
- copied unchanged from r4202, java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalFeeMonitor.java
java/branches/jeremy-dev/recon/src/main/java/org/hps/recon/filtering/CosmicPMTFilter.java
- copied unchanged from r4202, java/trunk/recon/src/main/java/org/hps/recon/filtering/CosmicPMTFilter.java
java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/users/baltzell/Cosmic.lcsim
- copied unchanged from r4202, java/trunk/steering-files/src/main/resources/org/hps/steering/users/baltzell/Cosmic.lcsim
java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/users/holly/EcalFeeViewer.lcsim
- copied unchanged from r4202, java/trunk/steering-files/src/main/resources/org/hps/steering/users/holly/EcalFeeViewer.lcsim
java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/users/spaul/MollerBeamtilt.lcsim
- copied unchanged from r4202, java/trunk/steering-files/src/main/resources/org/hps/steering/users/spaul/MollerBeamtilt.lcsim
java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/moller/
- copied from r4202, java/trunk/users/src/main/java/org/hps/users/spaul/moller/
Modified:
java/branches/jeremy-dev/ (props changed)
java/branches/jeremy-dev/analysis/pom.xml
java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java
java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java
java/branches/jeremy-dev/conditions/ (props changed)
java/branches/jeremy-dev/conditions/pom.xml
java/branches/jeremy-dev/crawler/pom.xml
java/branches/jeremy-dev/datacat-client/pom.xml
java/branches/jeremy-dev/detector-data/pom.xml
java/branches/jeremy-dev/detector-model/pom.xml
java/branches/jeremy-dev/distribution/ (props changed)
java/branches/jeremy-dev/distribution/pom.xml
java/branches/jeremy-dev/ecal-event-display/pom.xml
java/branches/jeremy-dev/ecal-readout-sim/pom.xml
java/branches/jeremy-dev/ecal-recon/pom.xml
java/branches/jeremy-dev/ecal-recon/src/main/java/org/hps/recon/ecal/FADCGenericHit.java
java/branches/jeremy-dev/evio/pom.xml
java/branches/jeremy-dev/evio/src/main/java/org/hps/evio/EvioToLcio.java
java/branches/jeremy-dev/evio/src/main/java/org/hps/evio/RfFitterDriver.java
java/branches/jeremy-dev/integration-tests/ (props changed)
java/branches/jeremy-dev/integration-tests/pom.xml
java/branches/jeremy-dev/integration-tests/src/test/java/org/hps/test/it/DataQualityMonitorTest.java
java/branches/jeremy-dev/integration-tests/src/test/java/org/hps/test/it/ReconSteeringTest.java
java/branches/jeremy-dev/integration-tests/src/test/resources/org/hps/steering/test/DataQualityTest.lcsim
java/branches/jeremy-dev/job/pom.xml
java/branches/jeremy-dev/logging/pom.xml
java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/logging.properties
java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/test_logging.properties
java/branches/jeremy-dev/monitoring-app/ (props changed)
java/branches/jeremy-dev/monitoring-app/pom.xml
java/branches/jeremy-dev/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java
java/branches/jeremy-dev/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java
java/branches/jeremy-dev/monitoring-drivers/pom.xml
java/branches/jeremy-dev/monitoring-util/pom.xml
java/branches/jeremy-dev/monitoring-util/src/main/java/org/hps/monitoring/plotting/ExportPdf.java
java/branches/jeremy-dev/parent/pom.xml
java/branches/jeremy-dev/plugin/pom.xml
java/branches/jeremy-dev/pom.xml
java/branches/jeremy-dev/recon/pom.xml
java/branches/jeremy-dev/recon/src/main/java/org/hps/recon/utils/TrackClusterMatcher.java
java/branches/jeremy-dev/record-util/pom.xml
java/branches/jeremy-dev/run-database/pom.xml
java/branches/jeremy-dev/steering-files/pom.xml
java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim
java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim (contents, props changed)
java/branches/jeremy-dev/tracking/pom.xml
java/branches/jeremy-dev/users/pom.xml
java/branches/jeremy-dev/users/src/main/java/org/hps/users/meeg/SvtChargeIntegrator.java (contents, props changed)
java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/StyleUtil.java
java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/SumEverything.java
java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/ExtractFormFactors.java
java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/FEESpectrumGenerator.java
java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/MakeHistograms.java
java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/RemoveDuplicateParticles.java
java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/ShowCustomBinningXY.java
java/branches/jeremy-dev/util/pom.xml
Modified: java/branches/jeremy-dev/analysis/pom.xml
=============================================================================
--- java/branches/jeremy-dev/analysis/pom.xml (original)
+++ java/branches/jeremy-dev/analysis/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/analysis/</url>
@@ -21,4 +21,17 @@
<artifactId>hps-recon</artifactId>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/VertexAnalysisTest.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified: java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java
=============================================================================
--- java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java (original)
+++ java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java Thu Feb 11 17:15:20 2016
@@ -165,7 +165,8 @@
IHistogram2D chi2VsLambda;
IHistogram2D chi2VsZ0;
- IHistogram2D beamAngle2D;
+ IHistogram2D beamAngleXY;
+ IHistogram2D beamAngleThetaPhi;
IHistogram1D L1Iso;
IHistogram1D L12Iso;
@@ -288,7 +289,8 @@
chi2VsLambda = aida.histogram2D(plotDir + trackCollectionName + "/" + triggerType + "/" + "chi2 vs lambda", 50, -lambdaCut, lambdaCut, 50, 0.0, 50.0);
chi2VsZ0 = aida.histogram2D(plotDir + trackCollectionName + "/" + triggerType + "/" + "chi2 vs z0", 50, -z0Cut, z0Cut, 50, 0.0, 50.0);
- beamAngle2D = aida.histogram2D(plotDir + trackCollectionName + "/" + triggerType + "/" + "angles around beam axis: theta vs phi", 100, -Math.PI, Math.PI, 100, 0, 0.25);
+ beamAngleXY = aida.histogram2D(plotDir + trackCollectionName + "/" + triggerType + "/" + "angles around beam axis: theta_y vs theta_x", 100, -0.1, 0.1, 100, -0.1, 0.1);
+ beamAngleThetaPhi = aida.histogram2D(plotDir + trackCollectionName + "/" + triggerType + "/" + "angles around beam axis: theta vs phi", 100, -Math.PI, Math.PI, 100, 0, 0.25);
L1Iso = aida.histogram1D(plotDir + trackCollectionName + "/" + triggerType + "/" + "L1 isolation", 100, -5.0, 5.0);
L12Iso = aida.histogram1D(plotDir + trackCollectionName + "/" + triggerType + "/" + "L1-2 isolation", 100, -5.0, 5.0);
@@ -423,7 +425,8 @@
double beamPhi = Math.atan2(dirRotated.y(), dirRotated.x());
double beamTheta = Math.acos(dirRotated.z());
- beamAngle2D.fill(beamPhi, beamTheta);
+ beamAngleXY.fill(dirRotated.x(), dirRotated.y());
+ beamAngleThetaPhi.fill(beamPhi, beamTheta);
Double[] isolations = TrackUtils.getIsolations(trk, hitToStrips, hitToRotated);
double l1Iso = Double.MAX_VALUE;
Modified: java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java
=============================================================================
--- java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java (original)
+++ java/branches/jeremy-dev/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java Thu Feb 11 17:15:20 2016
@@ -135,6 +135,11 @@
IHistogram2D mollerXVsVtxZ;
IHistogram2D mollerYVsVtxZ;
IHistogram2D mollerXVsVtxY;
+
+ IHistogram1D mollerUx;
+ IHistogram1D mollerUy;
+
+
IHistogram1D sumChargeHisto;
IHistogram1D numChargeHisto;
@@ -240,6 +245,12 @@
mollerXVsVtxZ = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Vx vs Vz", 100, -5, 5, 100, -50, 50);
mollerYVsVtxZ = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Vy vs Vz", 100, -2, 2, 100, -50, 50);
mollerXVsVtxY = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Vx vs Vy", 100, -5, 5, 100, -2, 2);
+
+ mollerUx = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Pair Momentum Direction Ux", 100, .025, .035);
+ mollerUy = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Pair Momentum Direction Uy", 100, -.005, .005);
+
+
+
}
@Override
@@ -459,6 +470,10 @@
mollerXVsVtxZ.fill(bv.getPosition().x(), bv.getPosition().z());
mollerYVsVtxZ.fill(bv.getPosition().y(), bv.getPosition().z());
mollerXVsVtxY.fill(bv.getPosition().x(), bv.getPosition().y());
+
+ mollerUx.fill((p1.x()+p2.x())/(p1.z()+p2.z()));
+ mollerUy.fill((p1.y()+p2.y())/(p1.z()+p2.z()));
+
if (Math.abs(bv.getPosition().x()) < 2
&& Math.abs(bv.getPosition().y()) < 0.5) {
mollerMassVtxCut.fill(bv.getParameters().get("invMass"));
Modified: java/branches/jeremy-dev/conditions/pom.xml
=============================================================================
--- java/branches/jeremy-dev/conditions/pom.xml (original)
+++ java/branches/jeremy-dev/conditions/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/conditions/</url>
Modified: java/branches/jeremy-dev/crawler/pom.xml
=============================================================================
--- java/branches/jeremy-dev/crawler/pom.xml (original)
+++ java/branches/jeremy-dev/crawler/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/crawler/</url>
Modified: java/branches/jeremy-dev/datacat-client/pom.xml
=============================================================================
--- java/branches/jeremy-dev/datacat-client/pom.xml (original)
+++ java/branches/jeremy-dev/datacat-client/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/datacat-client/</url>
Modified: java/branches/jeremy-dev/detector-data/pom.xml
=============================================================================
--- java/branches/jeremy-dev/detector-data/pom.xml (original)
+++ java/branches/jeremy-dev/detector-data/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/detector-data/</url>
Modified: java/branches/jeremy-dev/detector-model/pom.xml
=============================================================================
--- java/branches/jeremy-dev/detector-model/pom.xml (original)
+++ java/branches/jeremy-dev/detector-model/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<build>
<plugins>
Modified: java/branches/jeremy-dev/distribution/pom.xml
=============================================================================
--- java/branches/jeremy-dev/distribution/pom.xml (original)
+++ java/branches/jeremy-dev/distribution/pom.xml Thu Feb 11 17:15:20 2016
@@ -13,7 +13,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/distribution/</url>
@@ -80,7 +80,7 @@
<binFileExtensions>
<unix>.sh</unix>
</binFileExtensions>
- <extraJvmArguments>-Djava.util.logging.config.class=org.hps.logging.config.DefaultLoggingConfig</extraJvmArguments>
+ <extraJvmArguments>-Xmx2g -Djava.util.logging.config.class=org.hps.logging.config.DefaultLoggingConfig</extraJvmArguments>
<programs>
<program>
<mainClass>org.hps.evio.EvioToLcio</mainClass>
Modified: java/branches/jeremy-dev/ecal-event-display/pom.xml
=============================================================================
--- java/branches/jeremy-dev/ecal-event-display/pom.xml (original)
+++ java/branches/jeremy-dev/ecal-event-display/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/ecal-event-display/</url>
Modified: java/branches/jeremy-dev/ecal-readout-sim/pom.xml
=============================================================================
--- java/branches/jeremy-dev/ecal-readout-sim/pom.xml (original)
+++ java/branches/jeremy-dev/ecal-readout-sim/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/ecal-readout-sim/</url>
Modified: java/branches/jeremy-dev/ecal-recon/pom.xml
=============================================================================
--- java/branches/jeremy-dev/ecal-recon/pom.xml (original)
+++ java/branches/jeremy-dev/ecal-recon/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/ecal-recon/</url>
Modified: java/branches/jeremy-dev/ecal-recon/src/main/java/org/hps/recon/ecal/FADCGenericHit.java
=============================================================================
--- java/branches/jeremy-dev/ecal-recon/src/main/java/org/hps/recon/ecal/FADCGenericHit.java (original)
+++ java/branches/jeremy-dev/ecal-recon/src/main/java/org/hps/recon/ecal/FADCGenericHit.java Thu Feb 11 17:15:20 2016
@@ -24,6 +24,14 @@
this.slot = slot;
this.channel = channel;
this.data = data;
+ }
+
+ public FADCGenericHit(GenericObject object) {
+ this.readoutMode = getReadoutMode(object);
+ this.crate = getCrate(object);
+ this.slot = getSlot(object);
+ this.channel = getChannel(object);
+ this.data = getData(object);
}
@Override
@@ -114,5 +122,5 @@
data[i] = object.getIntVal(i+4);
}
return data;
- }
+ }
}
Modified: java/branches/jeremy-dev/evio/pom.xml
=============================================================================
--- java/branches/jeremy-dev/evio/pom.xml (original)
+++ java/branches/jeremy-dev/evio/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/evio/</url>
Modified: java/branches/jeremy-dev/evio/src/main/java/org/hps/evio/EvioToLcio.java
=============================================================================
--- java/branches/jeremy-dev/evio/src/main/java/org/hps/evio/EvioToLcio.java (original)
+++ java/branches/jeremy-dev/evio/src/main/java/org/hps/evio/EvioToLcio.java Thu Feb 11 17:15:20 2016
@@ -22,6 +22,7 @@
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.DefaultParser;
+import org.apache.commons.cli.PosixParser;
import org.freehep.record.source.NoSuchRecordException;
import org.hps.conditions.database.DatabaseConditionsManager;
import org.hps.job.JobManager;
@@ -71,7 +72,7 @@
* @author Jeremy McCormick <[log in to unmask]>
* @author Sho Uemura <[log in to unmask]>
*/
-public class EvioToLcio {
+public final class EvioToLcio {
/**
* The default steering resource, which basically does nothing except print event numbers.
@@ -113,6 +114,7 @@
*/
private static Options OPTIONS = new Options();
static {
+ OPTIONS.addOption(new Option("h", false, "print help and exit"));
OPTIONS.addOption(new Option("d", true, "detector name (required)"));
OPTIONS.getOption("d").setRequired(true);
OPTIONS.addOption(new Option("f", true, "text file containing a list of EVIO files"));
@@ -251,19 +253,25 @@
}
public void parse(String[] args) {
- // Parse the command line options.
+
if (args.length == 0) {
this.printUsage();
}
- final CommandLineParser parser = new DefaultParser();
+
+ final CommandLineParser parser = new PosixParser();
CommandLine cl = null;
try {
cl = parser.parse(OPTIONS, args);
} catch (final ParseException e) {
throw new RuntimeException("Problem parsing command line options.", e);
}
+
+ if (cl.hasOption("h")) {
+ this.printUsage();
+ }
// Set the log level.
+ // TODO: Remove this argument; use java logging prop instead.
if (cl.hasOption("L")) {
final Level level = Level.parse(cl.getOptionValue("L").toUpperCase());
Modified: java/branches/jeremy-dev/evio/src/main/java/org/hps/evio/RfFitterDriver.java
=============================================================================
--- java/branches/jeremy-dev/evio/src/main/java/org/hps/evio/RfFitterDriver.java (original)
+++ java/branches/jeremy-dev/evio/src/main/java/org/hps/evio/RfFitterDriver.java Thu Feb 11 17:15:20 2016
@@ -1,9 +1,4 @@
package org.hps.evio;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import hep.aida.IAnalysisFactory;
import hep.aida.IDataPointSet;
@@ -11,7 +6,9 @@
import hep.aida.IFitResult;
import hep.aida.IFitter;
import hep.aida.IFunction;
-import hep.aida.IFunctionFactory;
+
+import java.util.ArrayList;
+import java.util.List;
import org.hps.recon.ecal.FADCGenericHit;
import org.lcsim.event.EventHeader;
@@ -19,145 +16,156 @@
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
-/*
+/**
* Extract RF time from waveform and put into lcsim event.
*/
public class RfFitterDriver extends Driver {
- static final double NOISE=2.0; // units = FADC
- static final int CRATE=46;
- static final int SLOT=13;
- static final int CHANNELS[]={0,1};
- static final double NSPERSAMPLE=4;
-
+ private static final double NOISE = 2.0; // units = FADC
+ private static final int CRATE = 46;
+ private static final int SLOT = 13;
+ private static final int CHANNELS[] = {0, 1};
+ private static final double NSPERSAMPLE = 4;
- // boilerplate:
- AIDA aida = AIDA.defaultInstance();
- IAnalysisFactory analysisFactory = aida.analysisFactory();
- IFunctionFactory functionFactory = analysisFactory.createFunctionFactory(null);
- IFitFactory fitFactory = analysisFactory.createFitFactory();
- IFitter fitter=fitFactory.createFitter();
- IDataPointSet fitData=aida.analysisFactory().createDataPointSetFactory(null).create("RF ADC DataPointSet", 2);
-
+ // boilerplate:
+ private AIDA aida = AIDA.defaultInstance();
+ private IAnalysisFactory analysisFactory = aida.analysisFactory();
+ //private IFunctionFactory functionFactory = analysisFactory.createFunctionFactory(null);
+ private IFitFactory fitFactory = analysisFactory.createFitFactory();
+ private IFitter fitter = fitFactory.createFitter();
+ private IDataPointSet fitData = aida.analysisFactory().createDataPointSetFactory(null).create("RF ADC DataPointSet", 2);
+
// the function used to fit the RF pulse:
- IFunction fitFunction=new RfFitFunction();
+ private IFunction fitFunction = new RfFitFunction();
- /*
+ /**
* Check the event for an RF pulse, and, if found, fit it to get RF time.
*/
- public void process(EventHeader event) {
-
- List <RfHit> rfHits=new ArrayList<RfHit>();
-
- boolean foundRf=false;
- double times[]={-9999,-9999};
-
- if (event.hasCollection(GenericObject.class,"FADCGenericHits")) {
+ public void process(EventHeader event) {
- for (GenericObject gob : event.get(GenericObject.class,"FADCGenericHits")) {
- FADCGenericHit hit=(FADCGenericHit)gob;
+ List<RfHit> rfHits = new ArrayList<RfHit>();
- // ignore hits not from proper RF signals based on crate/slot/channel:
- if (hit.getCrate()!=CRATE || hit.getSlot()!=SLOT) continue;
-
- for (int ii=0; ii<CHANNELS.length; ii++) {
- if (hit.getChannel()==CHANNELS[ii]) {
+ boolean foundRf = false;
+ double times[] = {-9999, -9999};
- // we found a RF readout, fit it:
- foundRf=true;
- times[ii] = fitPulse(hit);
+ if (event.hasCollection(GenericObject.class, "FADCGenericHits")) {
- break;
- }
- }
- }
- }
- if (foundRf) rfHits.add(new RfHit(times));
- event.put("RFHits", rfHits, RfHit.class, 1);
- }
+ for (GenericObject gob : event.get(GenericObject.class, "FADCGenericHits")) {
- /*
- * Perform the fit to the RF pulse:
- */
- public double fitPulse(FADCGenericHit hit) {
- fitData.clear();
- final int adcSamples[]=hit.getData();
- //stores the number of peaks
- int iz=0;
- int peakBin[]={-999,-999};
- final int threshold = 300;
- double fitThresh[]={-999,-999};
- double pedVal[]={-999,-999};
-
- // Look for bins containing the peaks (2-3 peaks)
- for (int ii=4; ii<adcSamples.length; ii++) {
- // After 2 peaks, stop looking for more
- if (iz==2){break;}
- if ((adcSamples[ii+1]>0) && (adcSamples[ii-1]>0) && (adcSamples[ii]>threshold) && ii>8){
- if ((adcSamples[ii]>adcSamples[ii+1]) && (adcSamples[ii]>=adcSamples[ii-1]) ){
-
- peakBin[iz]=ii;
- iz++;
- }
- }
- }
-
-
- int jj=0;
- // Choose peak closest to center of window (second peak, ik=1)
- final int ik=1;
- pedVal[ik] = (adcSamples[peakBin[ik]-6]+adcSamples[peakBin[ik]-7]+adcSamples[peakBin[ik]-8]+adcSamples[peakBin[ik]-9])/4.0;
- fitThresh[ik]= (adcSamples[peakBin[ik]]+pedVal[ik])/3.0;
-
- // Initial values: we find/fit 3 points:
- double itime[] = {-999,-999,-999};
- double ifadc[] = {-999,-999,-999};
-
- // Find the points of the peak bin to peak bin-5
- for (int ll=0; ll<5; ll++){
- if ((adcSamples[peakBin[ik]-5+ll]) > fitThresh[ik]){
- // One point is below fit threshold and two points are above
- if(jj==0 && (adcSamples[peakBin[ik]-6+ll] > pedVal[ik])){
- final int zz=fitData.size();
- fitData.addPoint();
- itime[zz] = peakBin[ik]-6+ll;
- ifadc[zz] = adcSamples[peakBin[ik]-6+ll];
- fitData.point(zz).coordinate(0).setValue(peakBin[ik]-6+ll);
- fitData.point(zz).coordinate(1).setValue(adcSamples[peakBin[ik]-6+ll]);
- fitData.point(zz).coordinate(1).setErrorMinus(NOISE);
- fitData.point(zz).coordinate(1).setErrorPlus(NOISE);
- jj++;
- }
- final int zz=fitData.size();
- fitData.addPoint();
- itime[zz] = peakBin[ik]-5+ll;
- ifadc[zz] = adcSamples[peakBin[ik]-5+ll];
- fitData.point(zz).coordinate(0).setValue(peakBin[ik]-5+ll);
- fitData.point(zz).coordinate(1).setValue(adcSamples[peakBin[ik]-5+ll]);
- fitData.point(zz).coordinate(1).setErrorMinus(NOISE);
- fitData.point(zz).coordinate(1).setErrorPlus(NOISE);
-
- jj++;
- if (jj==3) {break;}
- }
- }
-
- double islope = ((double)(ifadc[2]-ifadc[0]))/(itime[2]-itime[0]);
- double icept = ifadc[1] - islope*itime[1];
- // Initialize fit parameters:
- fitFunction.setParameter("intercept",icept);
- fitFunction.setParameter("slope",islope);
+ FADCGenericHit hit = null;
- // this used to be turned on somewhere else on every event, dunno if it still is:
- //Logger.getLogger("org.freehep.math.minuit").setLevel(Level.OFF);
-
- IFitResult fitResults = fitter.fit(fitData,fitFunction);
-
- // Read the time value at this location on the fit:
- double halfVal = (adcSamples[peakBin[1]]+pedVal[1])/2.0;
-
- return NSPERSAMPLE*(halfVal-fitResults.fittedParameter("intercept"))/fitResults.fittedParameter("slope");
-
- }
-
+ /* Added conversion from GenericObject in case loading back from an LCIO file. --JM */
+ if (gob instanceof FADCGenericHit) {
+ hit = (FADCGenericHit) gob;
+ } else {
+ hit = new FADCGenericHit(gob);
+ }
+
+ // ignore hits not from proper RF signals based on crate/slot/channel:
+ if (hit.getCrate() != CRATE || hit.getSlot() != SLOT)
+ continue;
+
+ for (int ii = 0; ii < CHANNELS.length; ii++) {
+ if (hit.getChannel() == CHANNELS[ii]) {
+
+ // we found a RF readout, fit it:
+ foundRf = true;
+ times[ii] = fitPulse(hit);
+
+ break;
+ }
+ }
+ }
+ }
+ if (foundRf) {
+ rfHits.add(new RfHit(times));
+ }
+ event.put("RFHits", rfHits, RfHit.class, 1);
+ }
+
+ /**
+ * Perform the fit to the RF pulse:
+ */
+ private double fitPulse(FADCGenericHit hit) {
+ fitData.clear();
+ final int adcSamples[] = hit.getData();
+ // stores the number of peaks
+ int iz = 0;
+ int peakBin[] = {-999, -999};
+ final int threshold = 300;
+ double fitThresh[] = {-999, -999};
+ double pedVal[] = {-999, -999};
+
+ // Look for bins containing the peaks (2-3 peaks)
+ for (int ii = 4; ii < adcSamples.length; ii++) {
+ // After 2 peaks, stop looking for more
+ if (iz == 2) {
+ break;
+ }
+ if ((adcSamples[ii + 1] > 0) && (adcSamples[ii - 1] > 0) && (adcSamples[ii] > threshold) && ii > 8) {
+ if ((adcSamples[ii] > adcSamples[ii + 1]) && (adcSamples[ii] >= adcSamples[ii - 1])) {
+
+ peakBin[iz] = ii;
+ iz++;
+ }
+ }
+ }
+
+ int jj = 0;
+ // Choose peak closest to center of window (second peak, ik=1)
+ final int ik = 1;
+ pedVal[ik] = (adcSamples[peakBin[ik] - 6] + adcSamples[peakBin[ik] - 7] + adcSamples[peakBin[ik] - 8] + adcSamples[peakBin[ik] - 9]) / 4.0;
+ fitThresh[ik] = (adcSamples[peakBin[ik]] + pedVal[ik]) / 3.0;
+
+ // Initial values: we find/fit 3 points:
+ double itime[] = {-999, -999, -999};
+ double ifadc[] = {-999, -999, -999};
+
+ // Find the points of the peak bin to peak bin-5
+ for (int ll = 0; ll < 5; ll++) {
+ if ((adcSamples[peakBin[ik] - 5 + ll]) > fitThresh[ik]) {
+ // One point is below fit threshold and two points are above
+ if (jj == 0 && (adcSamples[peakBin[ik] - 6 + ll] > pedVal[ik])) {
+ final int zz = fitData.size();
+ fitData.addPoint();
+ itime[zz] = peakBin[ik] - 6 + ll;
+ ifadc[zz] = adcSamples[peakBin[ik] - 6 + ll];
+ fitData.point(zz).coordinate(0).setValue(peakBin[ik] - 6 + ll);
+ fitData.point(zz).coordinate(1).setValue(adcSamples[peakBin[ik] - 6 + ll]);
+ fitData.point(zz).coordinate(1).setErrorMinus(NOISE);
+ fitData.point(zz).coordinate(1).setErrorPlus(NOISE);
+ jj++;
+ }
+ final int zz = fitData.size();
+ fitData.addPoint();
+ itime[zz] = peakBin[ik] - 5 + ll;
+ ifadc[zz] = adcSamples[peakBin[ik] - 5 + ll];
+ fitData.point(zz).coordinate(0).setValue(peakBin[ik] - 5 + ll);
+ fitData.point(zz).coordinate(1).setValue(adcSamples[peakBin[ik] - 5 + ll]);
+ fitData.point(zz).coordinate(1).setErrorMinus(NOISE);
+ fitData.point(zz).coordinate(1).setErrorPlus(NOISE);
+
+ jj++;
+ if (jj == 3) {
+ break;
+ }
+ }
+ }
+
+ double islope = ((double) (ifadc[2] - ifadc[0])) / (itime[2] - itime[0]);
+ double icept = ifadc[1] - islope * itime[1];
+ // Initialize fit parameters:
+ fitFunction.setParameter("intercept", icept);
+ fitFunction.setParameter("slope", islope);
+
+ // this used to be turned on somewhere else on every event, dunno if it still is:
+ // Logger.getLogger("org.freehep.math.minuit").setLevel(Level.OFF);
+
+ IFitResult fitResults = fitter.fit(fitData, fitFunction);
+
+ // Read the time value at this location on the fit:
+ double halfVal = (adcSamples[peakBin[1]] + pedVal[1]) / 2.0;
+
+ return NSPERSAMPLE * (halfVal - fitResults.fittedParameter("intercept")) / fitResults.fittedParameter("slope");
+ }
}
Modified: java/branches/jeremy-dev/integration-tests/pom.xml
=============================================================================
--- java/branches/jeremy-dev/integration-tests/pom.xml (original)
+++ java/branches/jeremy-dev/integration-tests/pom.xml Thu Feb 11 17:15:20 2016
@@ -23,7 +23,7 @@
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-test-data</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0-SNAPSHOT</version>
<scope>test</scope>
<classifier>archive</classifier>
<type>jar</type>
@@ -31,7 +31,7 @@
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-test-data</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0-SNAPSHOT</version>
<scope>test</scope>
<type>jar</type>
</dependency>
@@ -51,7 +51,8 @@
<version>2.19</version>
<configuration>
<argLine>-server -Xmx2g -XX:MaxPermSize=512m -Djava.util.logging.config.class=org.hps.logging.config.TestLoggingConfig</argLine>
- <forkMode>always</forkMode>
+ <forkCount>1</forkCount>
+ <reuseForks>false</reuseForks>
<includes>
<include>org/hps/test/it/*Test.java</include>
</includes>
Modified: java/branches/jeremy-dev/integration-tests/src/test/java/org/hps/test/it/DataQualityMonitorTest.java
=============================================================================
--- java/branches/jeremy-dev/integration-tests/src/test/java/org/hps/test/it/DataQualityMonitorTest.java (original)
+++ java/branches/jeremy-dev/integration-tests/src/test/java/org/hps/test/it/DataQualityMonitorTest.java Thu Feb 11 17:15:20 2016
@@ -17,16 +17,14 @@
private static final String CLASS_NAME = DataQualityMonitorTest.class.getSimpleName();
private static final File OUTPUT_DIR = new File("./target/test-output/" + CLASS_NAME);
- private static final File OUTPUT_FILE = new File(OUTPUT_DIR.getAbsolutePath() + File.separator + CLASS_NAME);
- private static final File AIDA_FILE = new File(OUTPUT_FILE.getAbsolutePath() + ".aida");
+ private static final File OUTPUT_FILE = new File(OUTPUT_DIR.getAbsolutePath() + File.separator + CLASS_NAME + ".aida");
private static final String STEERING_RESOURCE = "/org/hps/steering/test/DataQualityTest.lcsim";
public void setUp() {
- System.out.println("Setting up DQM Test");
// Delete files if they already exist.
- if (AIDA_FILE.exists())
- AIDA_FILE.delete();
+ if (OUTPUT_FILE.exists())
+ OUTPUT_FILE.delete();
// Create output dir.
OUTPUT_DIR.mkdirs();
@@ -36,11 +34,12 @@
public void testQualityMonitor() {
File dataFile = new TestDataUtility().getTestData("DataQualityMonitorTest.slcio");
- System.out.println("running data quality job with steering resource " + STEERING_RESOURCE);
+ System.out.println("running data quality job with steering resource " + STEERING_RESOURCE + " ...");
JobManager jobManager = new JobManager();
jobManager.addVariableDefinition("outputFile", OUTPUT_FILE.getPath());
jobManager.addInputFile(dataFile);
jobManager.setup(STEERING_RESOURCE);
jobManager.run();
+ System.out.println("Done!");
}
}
Modified: java/branches/jeremy-dev/integration-tests/src/test/java/org/hps/test/it/ReconSteeringTest.java
=============================================================================
--- java/branches/jeremy-dev/integration-tests/src/test/java/org/hps/test/it/ReconSteeringTest.java (original)
+++ java/branches/jeremy-dev/integration-tests/src/test/java/org/hps/test/it/ReconSteeringTest.java Thu Feb 11 17:15:20 2016
@@ -1,100 +1,41 @@
package org.hps.test.it;
import java.io.File;
-import java.io.IOException;
-import java.net.URL;
import junit.framework.TestCase;
import org.hps.data.test.TestDataUtility;
import org.hps.job.JobManager;
-import org.lcsim.util.cache.FileCache;
import org.lcsim.util.test.TestUtil.TestOutputFile;
/**
- * Test that production MC recon steering files are not broken by running an LCSim job on them
- * using an LCIO file.
+ * Run a test job on Eng Run 2015 data.
*
* @author Jeremy McCormick, SLAC
*/
public class ReconSteeringTest extends TestCase {
- /**
- * List of steering files to run.
- */
- final static String[] STEERING_FILES = {
- "EngineeringRun2014EcalRecon_Pass1.lcsim",
- "EngineeringRun2014EcalRecon.lcsim",
- "EngineeringRun2015EcalRecon.lcsim",
- "EngineeringRun2015FullRecon.lcsim",
- "EngineeringRun2015FullRecon_Pass2.lcsim",
- "EngineeringRun2015HitRecon.lcsim",
- "HPSTrackingDefaultsRecon.lcsim"
- };
-
- /**
- * Test recon steering files.
- * @throws Exception if any error occurs running the recon job
- */
- public void testSteeringFiles() {
+ final static String STEERING_RESOURCE = "/org/hps/steering/recon/EngineeringRun2015FullRecon.lcsim";
+
+ public void testReconSteering() throws Exception {
- File inputFile = new TestDataUtility().getTestData("tritrigv1-egsv3-triv2-g4v1_s2d6_HPS-EngRun2015-Nominal-v3_3.4.0_pairs1_1.slcio");
-
- for (String steeringFile : STEERING_FILES) {
-
- // Run the reconstruction steering file.
- File outputFile = null;
- try {
- outputFile = new TestOutputFile(new File(steeringFile).getName().replace(".lcsim", ""));
- runSteering("/org/hps/steering/recon/" + steeringFile, inputFile, outputFile);
- } catch (Throwable e) {
- System.err.println("Job with steering " + steeringFile + " failed!");
- throw new RuntimeException("Recon job failed.", e);
- }
-
- Runtime runtime = Runtime.getRuntime();
-
- int mb = 1024 * 1024;
-
- System.out.println("total memory: " + runtime.totalMemory() / mb);
- System.out.println("free memory: " + runtime.freeMemory() / mb);
- System.out.println("max memory: " + runtime.maxMemory() / mb);
- System.out.println("used memory: " + (runtime.totalMemory() - runtime.freeMemory()) / mb);
-
- System.gc();
-
- // Create DQM output for QA.
- try {
- runDQM(outputFile);
- } catch (Throwable e) {
- throw new RuntimeException("The DQM job failed.", e);
- }
- }
- }
-
- private void runSteering(String steeringFile, File inputFile, File outputFile) {
- System.out.println("Testing steering file " + steeringFile + " ...");
+ File inputFile = new TestDataUtility().getTestData("run_5772_data_only.slcio");
+
+ File outputFile = null;
+ outputFile = new TestOutputFile(new File(STEERING_RESOURCE).getName().replace(".lcsim", ""));
+ System.out.println("Testing steering " + STEERING_RESOURCE + " ...");
JobManager job = new JobManager();
job.addVariableDefinition("outputFile", outputFile.getPath());
- job.addVariableDefinition("detector", "HPS-EngRun2015-Nominal-v3");
- job.addVariableDefinition("run", "5772");
- job.addVariableDefinition("isMC", "true");
job.addInputFile(inputFile);
- job.setup(steeringFile);
+ job.setup(STEERING_RESOURCE);
job.run();
- System.out.println("Job with steering " + steeringFile + " successfully processed " + job.getLCSimLoop().getTotalCountableConsumed() + " events.");
- }
-
- private void runDQM(File outputFile) {
- System.out.println("Running DQM on " + outputFile.getPath() + " ...");
- JobManager job = new JobManager();
- File inputFile = new File(outputFile.getPath() + ".slcio");
- job.addInputFile(inputFile);
- job.addVariableDefinition("outputFile", outputFile.getPath().replace(".slcio", ""));
- job.setup("/org/hps/steering/production/DataQualityRecon.lcsim");
- job.run();
- System.out.println("DQM processed " + job.getLCSimLoop().getTotalCountableConsumed() + " events from " + outputFile + ".");
+ System.out.println("Done processing " + job.getLCSimLoop().getTotalCountableConsumed() + " events.");
+
+ Runtime runtime = Runtime.getRuntime();
+ int mb = 1024 * 1024;
+ System.out.printf("total memory: %d mb\n", runtime.totalMemory() / mb);
+ System.out.printf("free memory: %d mb\n", runtime.freeMemory() / mb);
+ System.out.printf("max memory: %d mb\n", runtime.maxMemory() / mb);
+ System.out.printf("used memory: %d mb\n", (runtime.totalMemory() - runtime.freeMemory()) / mb);
}
}
-
-
Modified: java/branches/jeremy-dev/integration-tests/src/test/resources/org/hps/steering/test/DataQualityTest.lcsim
=============================================================================
--- java/branches/jeremy-dev/integration-tests/src/test/resources/org/hps/steering/test/DataQualityTest.lcsim (original)
+++ java/branches/jeremy-dev/integration-tests/src/test/resources/org/hps/steering/test/DataQualityTest.lcsim Thu Feb 11 17:15:20 2016
@@ -18,13 +18,12 @@
<driver name="CleanupDriver"/>
</execute>
<drivers>
- <!-- <driver name="DQMDatabaseDriver" type="org.hps.analysis.dataquality.DQMDatabaseDriver"/> -->
<driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
- <eventInterval>1</eventInterval>
+ <eventInterval>100</eventInterval>
</driver>
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup"/>
<driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
- <outputFileName>${outputFile}.root</outputFileName>
+ <outputFileName>${outputFile}</outputFileName>
</driver>
<driver name="SVTMonitoring" type="org.hps.analysis.dataquality.SvtMonitoring">
<overwriteDB>false</overwriteDB>
@@ -48,6 +47,5 @@
<overwriteDB>false</overwriteDB>
</driver>
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
-
</drivers>
</lcsim>
Modified: java/branches/jeremy-dev/job/pom.xml
=============================================================================
--- java/branches/jeremy-dev/job/pom.xml (original)
+++ java/branches/jeremy-dev/job/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/job/</url>
Modified: java/branches/jeremy-dev/logging/pom.xml
=============================================================================
--- java/branches/jeremy-dev/logging/pom.xml (original)
+++ java/branches/jeremy-dev/logging/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/logging/</url>
Modified: java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/logging.properties
=============================================================================
--- java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/logging.properties (original)
+++ java/branches/jeremy-dev/logging/src/main/resources/org/hps/logging/config/logging.properties Thu Feb 11 17:15:20 2016
@@ -16,6 +16,9 @@
# configure the console handler
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+# turn minuit logging off
+org.freehep.math.minuit = OFF
# lcsim job
org.lcsim.job.level = CONFIG
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 Thu Feb 11 17:15:20 2016
@@ -16,7 +16,10 @@
# configure the console handler
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
-f
+
+# turn minuit off
+org.freehep.math.minuit = OFF
+
# lcsim job
org.lcsim.job.level = WARNING
org.lcsim.job.EventMarkerDriver.level = OFF
Modified: java/branches/jeremy-dev/monitoring-app/pom.xml
=============================================================================
--- java/branches/jeremy-dev/monitoring-app/pom.xml (original)
+++ java/branches/jeremy-dev/monitoring-app/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/monitoring-app/</url>
Modified: java/branches/jeremy-dev/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java
=============================================================================
--- java/branches/jeremy-dev/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java (original)
+++ java/branches/jeremy-dev/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java Thu Feb 11 17:15:20 2016
@@ -954,7 +954,7 @@
// Add listener to push conditions changes to conditions panel.
final List<ConditionsListener> conditionsListeners = new ArrayList<ConditionsListener>();
- conditionsListeners.add(this.frame.getConditionsPanel().new ConditionsPanelListener());
+ //conditionsListeners.add(this.frame.getConditionsPanel().new ConditionsPanelListener());
// Instantiate the event processing wrapper.
this.processing = new EventProcessing(this, processors, drivers, conditionsListeners);
Modified: java/branches/jeremy-dev/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java
=============================================================================
--- java/branches/jeremy-dev/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java (original)
+++ java/branches/jeremy-dev/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java Thu Feb 11 17:15:20 2016
@@ -37,7 +37,7 @@
/**
* The conditions panel.
*/
- private final ConditionsPanel conditionsPanel;
+ //private final ConditionsPanel conditionsPanel;
/**
* The dashboard panel.
@@ -150,8 +150,8 @@
tableTabbedPane.addTab("Trigger Diagnostics", this.triggerPanel);
// Add the conditions panel.
- this.conditionsPanel = new ConditionsPanel();
- tableTabbedPane.addTab("Detector Conditions", this.conditionsPanel);
+ //this.conditionsPanel = new ConditionsPanel();
+ //tableTabbedPane.addTab("Detector Conditions", this.conditionsPanel);
// Vertical split pane in left panel.
this.leftSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, this.dashboardPanel, tableTabbedPane);
@@ -209,9 +209,9 @@
*
* @return the conditions panel
*/
- ConditionsPanel getConditionsPanel() {
- return this.conditionsPanel;
- }
+ //ConditionsPanel getConditionsPanel() {
+ // return this.conditionsPanel;
+ //}
/**
* Get the panel for the dashboard.
Modified: java/branches/jeremy-dev/monitoring-drivers/pom.xml
=============================================================================
--- java/branches/jeremy-dev/monitoring-drivers/pom.xml (original)
+++ java/branches/jeremy-dev/monitoring-drivers/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/monitoring-drivers/</url>
Modified: java/branches/jeremy-dev/monitoring-util/pom.xml
=============================================================================
--- java/branches/jeremy-dev/monitoring-util/pom.xml (original)
+++ java/branches/jeremy-dev/monitoring-util/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/monitoring-util/</url>
Modified: java/branches/jeremy-dev/monitoring-util/src/main/java/org/hps/monitoring/plotting/ExportPdf.java
=============================================================================
--- java/branches/jeremy-dev/monitoring-util/src/main/java/org/hps/monitoring/plotting/ExportPdf.java (original)
+++ java/branches/jeremy-dev/monitoring-util/src/main/java/org/hps/monitoring/plotting/ExportPdf.java Thu Feb 11 17:15:20 2016
@@ -8,6 +8,9 @@
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import java.util.logging.Logger;
@@ -70,9 +73,23 @@
} catch (DocumentException e) {
throw new IOException(e);
}
+
+ // Sort plotters so output appears the same every time.
+ ArrayList<IPlotter> sortedPlotters = new ArrayList<IPlotter>(plotters);
+ Collections.sort(sortedPlotters, new Comparator<IPlotter>() {
+ public int compare(IPlotter object1, IPlotter object2) {
+ if (object1.title() == null) {
+ return -1;
+ }
+ if (object2.title() == null) {
+ return 1;
+ }
+ return object1.title().compareTo(object2.title());
+ }
+ });
// Write the graphics from each plotter on a new page.
- for (IPlotter plotter : plotters) {
+ for (IPlotter plotter : sortedPlotters) {
plotter.refresh();
document.newPage();
writePage(document, writer, plotter);
Modified: java/branches/jeremy-dev/parent/pom.xml
=============================================================================
--- java/branches/jeremy-dev/parent/pom.xml (original)
+++ java/branches/jeremy-dev/parent/pom.xml Thu Feb 11 17:15:20 2016
@@ -6,13 +6,13 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<packaging>pom</packaging>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
<name>parent</name>
<description>HPS Java parent POM</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.lcsim.cacheDir>${user.home}</org.lcsim.cacheDir>
- <lcsimVersion>3.1.7-SNAPSHOT</lcsimVersion>
+ <lcsimVersion>3.2-SNAPSHOT</lcsimVersion>
<skipSite>false</skipSite>
<skipPlugin>false</skipPlugin>
</properties>
@@ -142,117 +142,117 @@
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-util</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-detector-data</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-detector-model</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-conditions</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-ecal-recon</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-ecal-readout-sim</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-tracking</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-evio</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-recon</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-analysis</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-monitoring-drivers</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-monitoring-app</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-users</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-steering-files</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-distribution</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-ecal-event-display</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-record-util</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-monitoring-util</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-run-database</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-crawler</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-datacat-client</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-job</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hps</groupId>
<artifactId>hps-logging</artifactId>
- <version>${project.version}</version>
+ <version>3.6-SNAPSHOT</version>
</dependency>
<!-- Next are external dependencies used in multiple modules. -->
<dependency>
@@ -283,7 +283,7 @@
<dependency>
<groupId>jfreechart-aida-experimental</groupId>
<artifactId>jfreechart-aida-experimental</artifactId>
- <version>1.8-SNAPSHOT</version>
+ <version>1.8</version>
<exclusions>
<exclusion>
<groupId>jdom</groupId>
@@ -346,7 +346,7 @@
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.17</version>
</plugin>
- <!--
+ <!--
<plugin>
<groupId>org.kuali.maven.plugins</groupId>
<artifactId>graph-maven-plugin</artifactId>
@@ -411,7 +411,7 @@
</lifecycleMappingMetadata>
</configuration>
</plugin>
- <!--
+ <!--
<plugin>
<groupId>org.kuali.maven.plugins</groupId>
<artifactId>graph-maven-plugin</artifactId>
Modified: java/branches/jeremy-dev/plugin/pom.xml
=============================================================================
--- java/branches/jeremy-dev/plugin/pom.xml (original)
+++ java/branches/jeremy-dev/plugin/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/plugin/</url>
Modified: java/branches/jeremy-dev/pom.xml
=============================================================================
--- java/branches/jeremy-dev/pom.xml (original)
+++ java/branches/jeremy-dev/pom.xml Thu Feb 11 17:15:20 2016
@@ -9,7 +9,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>svn://svn.freehep.org/hps/java/trunk/</url>
Modified: java/branches/jeremy-dev/recon/pom.xml
=============================================================================
--- java/branches/jeremy-dev/recon/pom.xml (original)
+++ java/branches/jeremy-dev/recon/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/recon/</url>
Modified: java/branches/jeremy-dev/recon/src/main/java/org/hps/recon/utils/TrackClusterMatcher.java
=============================================================================
--- java/branches/jeremy-dev/recon/src/main/java/org/hps/recon/utils/TrackClusterMatcher.java (original)
+++ java/branches/jeremy-dev/recon/src/main/java/org/hps/recon/utils/TrackClusterMatcher.java Thu Feb 11 17:15:20 2016
@@ -69,7 +69,7 @@
* Rafo's parameterization of cluster-seed x/y position residuals as function of energy.
*
* Derived using GBL/seed tracks, non-analytic extrapolation, uncorrected cluster positions,
- * and EngRun2015-Nominal-v3-4-fieldmap detector.
+ * and EngRun2015-Nominal-v4-4-fieldmap detector.
*
* f = p0+e*(p1+e*(p2+e*(p3+e*(p4+e*p5))))
*/
@@ -83,14 +83,14 @@
private static final double dxMeanBotElecGBL[] = {-6.63558, 83.7763,-460.451, 1275.63,-1702.83, 873.913 };
private static final double dxSigmBotElecGBL[] = { 47.0029,-411.784, 1586.52,-3083.37, 2985.58,-1145.53 };
- private static final double dyMeanTopPosiGBL[] = { 0.71245, 5.57585,-6.50267,-8.21688, 39.8607,-43.9661 };
+ private static final double dyMeanTopPosiGBL[] = { 0.31245, 5.57585,-6.50267,-8.21688, 39.8607,-43.9661 };
private static final double dySigmTopPosiGBL[] = { 33.0213,-275.174, 1168.77,-2642.34, 3045.52,-1406.21 };
- private static final double dyMeanBotPosiGBL[] = {-5.532, 74.9738,-383.972, 977.849,-1250.28, 637.75 };
+ private static final double dyMeanBotPosiGBL[] = {-7.032, 74.9738,-383.972, 977.849,-1250.28, 637.75 };
private static final double dySigmBotPosiGBL[] = { 19.019, -83.9253, 133.813, 119.883,-546.951, 405.207 };
- private static final double dyMeanTopElecGBL[] = { 2.88498,-20.4101, 62.9689, 25.6386,-259.957, 207.145 };
+ private static final double dyMeanTopElecGBL[] = { 2.48498,-20.4101, 62.9689, 25.6386,-259.957, 207.145 };
private static final double dySigmTopElecGBL[] = { 8.65583, 120.676,-1166.43, 3811.72,-5383.19, 2787.42 };
- private static final double dyMeanBotElecGBL[] = {-9.02276, 112.329,-489.761, 953.037,-829.96, 260.772 };
+ private static final double dyMeanBotElecGBL[] = {-10.5228, 112.329,-489.761, 953.037,-829.96, 260.772 };
private static final double dySigmBotElecGBL[] = { 23.4856,-108.19, 158.7, 189.261,-682.034, 459.15 };
private static final double dxMeanTopPosiSeed[] ={ 11.6245,-28.5061, 13.0332, 59.9465,-21.1014,-63.6126 };
@@ -103,17 +103,15 @@
private static final double dxMeanBotElecSeed[] ={-3.44302, 12.4687, 4.09878,-30.0057,-13.3151, 40.2707 };
private static final double dxSigmBotElecSeed[] ={ 48.4089,-385.494, 1341.37,-2271.52, 1814.02,-526.555 };
- private static final double dyMeanTopPosiSeed[] ={-0.127741,10.4944, -18.242,-12.9155, 81.0116,-73.9773 };
+ private static final double dyMeanTopPosiSeed[] ={-0.527741,10.4944, -18.242,-12.9155, 81.0116,-73.9773 };
private static final double dySigmTopPosiSeed[] ={ 37.3097, -357.55, 1607.03,-3709.55, 4282.36,-1957.91 };
- private static final double dyMeanBotPosiSeed[] ={ 2.24392,-55.2003, 405.04,-1250.64, 1731.47,-887.262 };
+ private static final double dyMeanBotPosiSeed[] ={ 0.74392,-55.2003, 405.04,-1250.64, 1731.47,-887.262 };
private static final double dySigmBotPosiSeed[] ={ 25.5776,-199.731, 754.59,-1408.72, 1240.36,-400.912 };
- private static final double dyMeanTopElecSeed[] ={ 3.25429,-24.0858, 69.0145, 34.1213,-297.752, 239.939 };
+ private static final double dyMeanTopElecSeed[] ={ 2.85429,-24.0858, 69.0145, 34.1213,-297.752, 239.939 };
private static final double dySigmTopElecSeed[] ={ 19.9111,-53.2699,-261.915, 1593.2,-2774.01, 1605.54 };
- private static final double dyMeanBotElecSeed[] ={-7.72963, 98.1346, -427.91, 840.225,-751.188, 250.792 };
+ private static final double dyMeanBotElecSeed[] ={-9.22963, 98.1346, -427.91, 840.225,-751.188, 250.792 };
private static final double dySigmBotElecSeed[] ={ 21.7909,-85.4757,-56.9423, 977.522,-1902.05, 1137.92 };
-
-
/**
* Z position to start extrapolation from
*/
Modified: java/branches/jeremy-dev/record-util/pom.xml
=============================================================================
--- java/branches/jeremy-dev/record-util/pom.xml (original)
+++ java/branches/jeremy-dev/record-util/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/record-util/</url>
Modified: java/branches/jeremy-dev/run-database/pom.xml
=============================================================================
--- java/branches/jeremy-dev/run-database/pom.xml (original)
+++ java/branches/jeremy-dev/run-database/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/run-database/</url>
Modified: java/branches/jeremy-dev/steering-files/pom.xml
=============================================================================
--- java/branches/jeremy-dev/steering-files/pom.xml (original)
+++ java/branches/jeremy-dev/steering-files/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/steering-files/</url>
Modified: java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim
=============================================================================
--- java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim (original)
+++ java/branches/jeremy-dev/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim Thu Feb 11 17:15:20 2016
@@ -19,7 +19,7 @@
<driver name="ConditionsDriver" type="org.hps.conditions.ConditionsDriver">
<tag>pass0</tag>
</driver>
- <driver name="DAQConfig" type="org.hps.recon.ecal.daqconfig.DAQConfigDriver"/>
+ <driver name="DAQConfig" type="org.hps.record.daqconfig.DAQConfigDriver"/>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<ecalCollectionName>EcalCalHits</ecalCollectionName>
<use2014Gain>false</use2014Gain>
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 Thu Feb 11 17:15:20 2016
@@ -59,6 +59,7 @@
<driver name="TridentMonitoringGBLPairs1"/>
<!-- -->
<driver name="AidaSaveDriver"/>
+ <driver name="AidaToRootSaveDriver"/>
<driver name="CleanupDriver"/>
</execute>
<drivers>
@@ -68,7 +69,10 @@
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
<readoutCollections>SVTRawTrackerHits</readoutCollections>
</driver>
- <driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
+ <driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
+ <outputFileName>${outputFile}.aida</outputFileName>
+ </driver>
+ <driver name="AidaToRootSaveDriver" type="org.lcsim.job.AidaSaveDriver">
<outputFileName>${outputFile}.root</outputFileName>
</driver>
Modified: java/branches/jeremy-dev/tracking/pom.xml
=============================================================================
--- java/branches/jeremy-dev/tracking/pom.xml (original)
+++ java/branches/jeremy-dev/tracking/pom.xml Thu Feb 11 17:15:20 2016
@@ -8,7 +8,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/tracking/</url>
Modified: java/branches/jeremy-dev/users/pom.xml
=============================================================================
--- java/branches/jeremy-dev/users/pom.xml (original)
+++ java/branches/jeremy-dev/users/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/users/</url>
Modified: java/branches/jeremy-dev/users/src/main/java/org/hps/users/meeg/SvtChargeIntegrator.java
=============================================================================
--- java/branches/jeremy-dev/users/src/main/java/org/hps/users/meeg/SvtChargeIntegrator.java (original)
+++ java/branches/jeremy-dev/users/src/main/java/org/hps/users/meeg/SvtChargeIntegrator.java Thu Feb 11 17:15:20 2016
@@ -129,6 +129,9 @@
if (tiTimeOffset == 0) {
continue;
}
+ if (tiTimeOffset == 0) {
+ continue;
+ }
}
try {
Modified: java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/StyleUtil.java
=============================================================================
--- java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/StyleUtil.java (original)
+++ java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/StyleUtil.java Thu Feb 11 17:15:20 2016
@@ -1,9 +1,16 @@
package org.hps.users.spaul;
+import java.awt.Component;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.io.File;
import java.util.Arrays;
import java.util.Random;
+import javax.imageio.ImageIO;
+
import hep.aida.*;
+import hep.aida.ref.plotter.PlotterUtilities;
public class StyleUtil {
@@ -27,14 +34,16 @@
r.style().yAxisStyle().labelStyle().setFontSize(16);
r.style().yAxisStyle().tickLabelStyle().setFontSize(14);
// r.style().statisticsBoxStyle().set;
- //System.out.println(Arrays.toString());
+ //debugPrint());
r.style().legendBoxStyle().textStyle().setFontSize(16);
+ r.style().statisticsBoxStyle().textStyle().setFontSize(16);
//r.style().dataStyle().showInLegendBox(false);
+
r.style().legendBoxStyle().boxStyle().foregroundStyle().setOpacity(1.0);
r.style().dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow");
r.style().dataStyle().fillStyle().setParameter("showZeroHeightBins", "false");
- System.out.println(Arrays.toString(r.style().statisticsBoxStyle().boxStyle().backgroundStyle().availableParameters()));
+ //debugPrint(r.style().dataStyle().availableParameters()));
//r.style().dataStyle().setParameter("showDataInStatisticsBox", "false");
r.style().setParameter("hist2DStyle", "colorMap");
//r.style().dataBoxStyle()
@@ -62,15 +71,38 @@
region.style().dataStyle().lineStyle().setParameter("colorRotateMethod", "regionOverlayIndex");
region.style().dataStyle().lineStyle().setParameter("colorRotate", "black, red, green, blue");
region.style().dataStyle().lineStyle().setParameter("thickness", "3");
+ region.style().dataStyle().outlineStyle().setParameter("colorRotateMethod", "regionOverlayIndex");
+ //debug = true;
+ debugPrint(region.style().dataStyle().outlineStyle().availableParameters());
+ region.style().dataStyle().outlineStyle().setParameter("colorRotate", "black, red, green, blue");
+ region.style().dataStyle().outlineStyle().setParameter("thickness", "3");
region.style().dataStyle().errorBarStyle().setVisible(false);
- System.out.println(Arrays.toString(region.style().dataStyle().lineStyle().availableParameterOptions("colorRotateMethod")));
+ debugPrint(region.style().dataStyle().lineStyle().availableParameterOptions("colorRotateMethod"));
+ }
+ public static void setSize(IPlotter p, int width, int height){
+ p.setParameter("plotterWidth", width +"");
+ p.setParameter("plotterHeight", height +"");
}
+ public static void setLog(IPlotterRegion r){
+
+ r.style().yAxisStyle().setParameter("scale", "log");
+ r.style().gridStyle().setUnits(100);
+ debugPrint(r.style().gridStyle().availableParameters());
+
+ }
+ static boolean debug = false;
+ static void debugPrint(String[] stuff){
+ if(debug){
+ System.out.println(Arrays.toString(stuff));
+ }
+ }
public static void main(String arg[]){
IAnalysisFactory af = IAnalysisFactory.create();
IHistogramFactory hf = af.createHistogramFactory(af.createTreeFactory().create());
IPlotter p = af.createPlotterFactory().create();
+ debugPrint(p.availableParameters());
p.createRegions(1, 2);
IHistogram1D h1 = hf.createHistogram1D("blah", 100, -5, 5);
IHistogram1D h2 = hf.createHistogram1D("bleh", 100, -5, 5);
@@ -99,9 +131,65 @@
p.show();
+ p = af.createPlotterFactory().create();
+ debugPrint(p.availableParameters());
+ p.createRegions(1, 2);
+
+ p.region(0).plot(h1);
+ setLog(p.region(0));
+
+
+
+ p.show();
}
public static void hideLegendAndStats(IPlotterRegion r){
r.style().statisticsBoxStyle().setVisible(false);
r.style().legendBoxStyle().setVisible(false);
}
+ public static IPlotterStyle smoothCurveStyle(IPlotterFactory pf) {
+ IPlotterStyle style = pf.createPlotterStyle();
+ debugPrint(style.dataStyle().availableParameters());
+
+ style.dataStyle().markerStyle().setVisible(false);
+
+ return style;
+ }
+ public static void writeToFile(IPlotter plotter, String filename, String filetype){
+ //JFrame frame = new JFrame()
+ //if(plotter.)
+ //plotter.hide();
+ //plotter.show();
+ //PlotterUtilities.writeToFile(plotter, filename, filetype, null);
+ try {
+
+
+ //PlotterUtilities.writeToFile(plotter, filename, filetype, null);
+ Thread.sleep(1000);
+ Component c = PlotterUtilities.componentForPlotter(plotter);
+ int width = Integer.parseInt(plotter.parameterValue("plotterWidth"));
+ int height = Integer.parseInt(plotter.parameterValue("plotterHeight"));
+ if(width <= 0){
+ width = 300;
+ plotter.setParameter("plotterWidth", Integer.toString(width));
+ }
+ if(height <= 0){
+ height = 300;
+
+ plotter.setParameter("plotterHeight", Integer.toString(height));
+ }
+
+ c.setSize(width, height);
+ BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
+ Graphics2D graphics2D = image.createGraphics();
+ c.paint(graphics2D);
+ ImageIO.write(image,filetype, new File(filename));
+ Runtime.getRuntime().exec("open " + filename);
+ System.out.println("saved");
+
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
}
Modified: java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/SumEverything.java
=============================================================================
--- java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/SumEverything.java (original)
+++ java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/SumEverything.java Thu Feb 11 17:15:20 2016
@@ -3,6 +3,7 @@
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import hep.aida.IAnalysisFactory;
import hep.aida.IHistogram1D;
@@ -17,12 +18,14 @@
// and put the sums in separate files in a folder called "sums"
public class SumEverything {
public static void main(String arg[]) throws IllegalArgumentException, IOException{
- if(arg.length > 1){
+ if(arg.length == 2){
twoArg(arg[0], arg[1]);
}
- else{
+ else if(arg.length == 1){
oneArg(arg[0]);
}
+ else
+ polyArg(arg);
}
static void oneArg(final String indir) throws IllegalArgumentException, IOException{
File outdir = new File(indir + "/sums");
@@ -64,53 +67,76 @@
}
+
+
static void twoArg(String indir, String out) throws IllegalArgumentException, IOException{
+
+ run(new File(indir).listFiles(), out);
+ }
+ static void run(File[] files, String out) throws IllegalArgumentException, IOException{
+
+ long timeStart = System.currentTimeMillis();
IAnalysisFactory af = IAnalysisFactory.create();
ITreeFactory tf = af.createTreeFactory();
new File(out).delete();
- ITree tree0 = tf.create(out, "xml", false, true);
- IHistogramFactory hf = af.createHistogramFactory(tree0);
-
-
+ ITree outtree = tf.create(out, "xml", false, true);
+ //IHistogramFactory hf = af.createHistogramFactory(outtree);
int j = 0;
- for(File s : new File(indir).listFiles()){
+ String names[] = null;
+ for(File s : files){
if(!s.getAbsolutePath().endsWith("aida"))
continue;
try{
- ITree tree = af.createTreeFactory().create(s.getAbsolutePath(),"xml");
+ ITree tree = tf.create(s.getAbsolutePath(),"xml");
if(j == 0){
- String [] names = tree.listObjectNames();
- tree0.mount("/tmp", tree, "/");
+ names = tree.listObjectNames("/", true);
+ System.out.println(Arrays.toString(names));
+ outtree.mount("/tmp", tree, "/");
for(String name : names){
+ if(name.endsWith("/")){
+ outtree.mkdirs(name);
+ continue;
+ }
Object o = tree.find(name);
if(o instanceof IHistogram1D || o instanceof IHistogram2D)
- tree0.cp("/tmp/" + name, name);
+ outtree.cp("/tmp" + name, name);
}
- tree0.unmount("/tmp");
- tree.close();
+ outtree.unmount("/tmp");
+ //tree.close();
}
else{
//tree.
- String [] names = tree.listObjectNames();
- tree0.mount("/tmp", tree, "/");
+ //String [] names = tree.listObjectNames("/", true);
+ //outtree.mount("/tmp", tree, "/");
+ //System.out.println(Arrays.toString(names));
for(String name : names){
- Object o = tree.find(name);
- if(o instanceof IHistogram1D)
- ((IHistogram1D)tree0.find(name)).add((IHistogram1D)o);
+ if(name.endsWith("/"))
+ continue;
+ Object o = null;
+ try{
+ o = tree.find(name);
+ } catch(IllegalArgumentException e){
+ System.err.println("couldn't find object called " + name + " in file " + s);
+ throw e;
+ }
+ if(o instanceof IHistogram1D){
+ if(((IHistogram1D)o).allEntries() != 0)
+ ((IHistogram1D)outtree.find(name)).add((IHistogram1D)o);
+ }
if(o instanceof IHistogram2D)
- ((IHistogram2D)tree0.find(name)).add((IHistogram2D)o);
+ if(((IHistogram2D)o).allEntries() != 0)
+ ((IHistogram2D)outtree.find(name)).add((IHistogram2D)o);
}
- tree0.unmount("/tmp");
- tree.close();
+ //outtree.unmount("/tmp");
+ //tree.close();
}
tree.close();
j++;
- System.out.println(j + " files have been read");
-
+ System.out.println(j + " files have been read (" +(System.currentTimeMillis()-timeStart)/j + " ms per event");
} catch(IllegalArgumentException e){
//print the filename
@@ -118,7 +144,28 @@
e.printStackTrace();
}
- tree0.commit();
+
+ outtree.commit();
+ System.out.println("summed file " + out +" commited. Total time = " + (System.currentTimeMillis()-timeStart)/1000 + " seconds");
+ }
+ }
+
+ static void polyArg(String[] arg) throws IllegalArgumentException, IOException{
+ ArrayList<File> files = new ArrayList<File>();
+ boolean nextIsOutput = false;
+ for(String a : arg){
+ if(a.equals("-o")){
+ nextIsOutput = true;
+ continue;
+ }
+ if(nextIsOutput){
+ run(files.toArray(new File[0]), a);
+ nextIsOutput = false;
+ files.clear();
+ continue;
+ }
+ files.add(new File(a));
+
}
}
}
Modified: java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/ExtractFormFactors.java
=============================================================================
--- java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/ExtractFormFactors.java (original)
+++ java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/ExtractFormFactors.java Thu Feb 11 17:15:20 2016
@@ -36,7 +36,8 @@
IDataPointSetFactory dpsf = af.createDataPointSetFactory(treeNew);
- IPlotter p = af.createPlotterFactory().create(outpaths[config]);
+ IPlotterFactory pf = af.createPlotterFactory();
+ IPlotter p = pf.create(outpaths[config]);
int Nsets = arg.length/10;
@@ -152,7 +153,9 @@
//p.region(0).plot(dps_iso);
}
- p.region(0).plot(dpsTheory);
+
+ IPlotterStyle style = StyleUtil.smoothCurveStyle(pf);
+ p.region(0).plot(dpsTheory, style);
StyleUtil.stylize(p.region(0), "Form Factors", "Q^2 (GeV^2)", "|F(Q^2)|^2");
p.show();
}
Modified: java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/FEESpectrumGenerator.java
=============================================================================
--- java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/FEESpectrumGenerator.java (original)
+++ java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/FEESpectrumGenerator.java Thu Feb 11 17:15:20 2016
@@ -145,7 +145,7 @@
thetaHist = hf.createHistogram1D("theta", "theta", thetaBins);
- EHist = hf.createHistogram1D("energy", 50, 0, 1.3);
+ EHist = hf.createHistogram1D("energy", 200, 0, 1.3);
IPlotter p = af.createPlotterFactory().create();
p.createRegions(2,1);
p.region(0).plot(thetaHist);
@@ -166,8 +166,9 @@
if(phep[3] > .5*E){
StdhepEvent event = new StdhepEvent(nevhep, nhep, isthep, idhep, jmohep, jdahep, phep, vhep);
+ double smear = .02;
if(display)
- EHist.fill(phep[3]*(1+random.nextGaussian()*.045));
+ EHist.fill(phep[3]*(1+random.nextGaussian()*smear));
writer.writeRecord(event);
}
else{ // if the event has enough energy loss,
Modified: java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/MakeHistograms.java
=============================================================================
--- java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/MakeHistograms.java (original)
+++ java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/MakeHistograms.java Thu Feb 11 17:15:20 2016
@@ -59,7 +59,7 @@
String input = arg[0];
String output = arg[1];
cb = new CustomBinning(new File(arg[2]));
- if(arg.length == 5)
+ if(arg[arg.length -1].equals("display"))
display = true;
IAnalysisFactory af = IAnalysisFactory.create();
ITree tree = af.createTreeFactory().create(output,"xml",false,true);
@@ -73,7 +73,10 @@
hack.setDetectorName("HPS-EngRun2015-Nominal-v3");
hack.setFreeze(true);
hack.setRunNumber(Integer.parseInt(arg[3]));
+
hack.initialize();
+ beamTiltY = Double.parseDouble(arg[4]);
+ beamTiltX = Double.parseDouble(arg[5]);
LCIOReader reader = new LCIOReader(new File(input));
//reader.open(input);
//reader.
@@ -98,13 +101,14 @@
static IHistogram2D h1, h2, h2a, h2b, h2c;
static IHistogram2D h4,h4a;
- static IHistogram1D h3, h3a, h3_t, h3_b;
+ static IHistogram1D h3, /*h3a,*/ h3_t, h3_b;
static IHistogram1D h5, h5a;
- static IHistogram2D h6, h6a;
+ //static IHistogram2D h6, h6a;
static IHistogram1D h7, h7a;
static IHistogram1D h8;
static IHistogram1D h9_t, h9_b;
static IHistogram1D h10_t, h10_b;
+ private static IHistogram1D h4y;
private static void extractHistograms(ITree tree0) {
h1 = (IHistogram2D) tree0.find("theta vs energy");
@@ -115,7 +119,7 @@
h2c = (IHistogram2D) tree0.find("theta vs phi alt");
h3 = (IHistogram1D) tree0.find("theta");
- h3a = (IHistogram1D) tree0.find("theta isolated ");
+ //h3a = (IHistogram1D) tree0.find("theta isolated ");
h3_t = (IHistogram1D) tree0.find("theta top");
h3_b = (IHistogram1D) tree0.find("theta bottom");
@@ -125,8 +129,8 @@
h5 = (IHistogram1D) tree0.find("energy top");
h5 = (IHistogram1D) tree0.find("energy bottom");
- h6 = (IHistogram2D) tree0.find("cluster");
- h6a = (IHistogram2D) tree0.find("cluster matched");
+// h6 = (IHistogram2D) tree0.find("cluster");
+// h6a = (IHistogram2D) tree0.find("cluster matched");
h7 = (IHistogram1D) tree0.find("y top");
h7a = (IHistogram1D) tree0.find("y bottom");
h8 = (IHistogram1D) tree0.find("seed energy");
@@ -176,7 +180,7 @@
h2c = hf.createHistogram2D("theta vs phi alt", "theta vs phi alt", thetaBins, phiBins);
h3 = hf.createHistogram1D("theta", "theta", thetaBins);
- h3a = hf.createHistogram1D("theta isolated ", "theta isolated", thetaBins);
+// h3a = hf.createHistogram1D("theta isolated ", "theta isolated", thetaBins);
h3_t = hf.createHistogram1D("theta top", "theta top", thetaBins);
h3_b = hf.createHistogram1D("theta bottom", "theta bottom", thetaBins);
@@ -184,7 +188,8 @@
h4 = hf.createHistogram2D("px\\/pz vs py\\/pz", 300, -.16, .24, 300, -.2, .2);
h4a = hf.createHistogram2D("px\\/pz vs py\\/pz cut", 300, -.16, .24, 300, -.2, .2);
-
+ h4y = hf.createHistogram1D("py\\pz", 1200, -.06, .06);
+
h5 = hf.createHistogram1D("energy top", 75, 0, 1.5);
h5a = hf.createHistogram1D("energy bottom", 75, 0, 1.5);
@@ -192,8 +197,8 @@
h9_t = hf.createHistogram1D("pz top", 75, 0, 1.5);
h9_b = hf.createHistogram1D("pz bottom", 75, 0, 1.5);
- h6 = hf.createHistogram2D("cluster", 47, -23.5, 23.5, 11, -5.5, 5.5);
- h6a = hf.createHistogram2D("cluster matched", 47, -23.5, 23.5, 11, -5.5, 5.5);
+// h6 = hf.createHistogram2D("cluster", 47, -23.5, 23.5, 11, -5.5, 5.5);
+// h6a = hf.createHistogram2D("cluster matched", 47, -23.5, 23.5, 11, -5.5, 5.5);
h7 = hf.createHistogram1D("y top", 500, 0, 100);
@@ -210,12 +215,15 @@
p.createRegions(2,2);
p.region(0).plot(h2);
StyleUtil.stylize(p.region(0), "theta", "phi");
- p.region(1).plot(h3a);
+// p.region(1).plot(h3a);
StyleUtil.stylize(p.region(1), "theta", "# of particles");
- p.region(2).plot(h3);
- StyleUtil.stylize(p.region(2), "theta", "# of particles");
+ p.region(2).plot(h9_t);
+ p.region(2).plot(h9_b);
+ StyleUtil.noFillHistogramBars(p.region(2));
+ StyleUtil.stylize(p.region(2), "pztilt" ,"pztilt", "# of particles");
p.region(3).plot(h5);
p.region(3).plot(h5a);
+ StyleUtil.noFillHistogramBars(p.region(3));
StyleUtil.stylize(p.region(3), "energy", "# of particles");
p.show();
@@ -252,9 +260,9 @@
IPlotter p6 = pf.create("efficiency");
p6.createRegions(1,2);
- p6.region(0).plot(h6);
+// p6.region(0).plot(h6);
StyleUtil.stylize(p6.region(0), "ix", "iy");
- p6.region(1).plot(h6a);
+// p6.region(1).plot(h6a);
StyleUtil.stylize(p6.region(1), "ix", "iy");
p6.show();
@@ -279,15 +287,22 @@
p9.region(0).plot(h3_b);
StyleUtil.stylize(p9.region(0), "theta", "theta", "# of particles");
StyleUtil.noFillHistogramBars(p9.region(0));
- StyleUtil.stylize(p6.region(1), "ix", "iy");
+ //StyleUtil.stylize(p6.region(1), "ix", "iy");
p9.show();
IPlotter p10 = pf.create("seed energy");
//p6.createRegions(1,2);
+ p10.createRegions(2,1);
p10.region(0).plot(h8);
StyleUtil.stylize(p10.region(0), "seed energy", "seed energy (GeV)", "# of particles");
+
+ p10.region(1).plot(h10_t);
+ p10.region(1).plot(h10_b);
+ StyleUtil.noFillHistogramBars(p10.region(1));
+ StyleUtil.stylize(p10.region(1), "clust size", "n ecal hits", "# of particles");
+
//StyleUtil.noFillHistogramBars(p10.region(0));
- StyleUtil.stylize(p6.region(1), "ix", "iy");
+ //StyleUtil.stylize(p6.region(1), "ix", "iy");
p10.show();
}
@@ -307,80 +322,37 @@
List<ReconstructedParticle> particles = event.get(ReconstructedParticle.class, "FinalStateParticles");
particles = RemoveDuplicateParticles.removeDuplicateParticles(particles);
outer : for(ReconstructedParticle p : particles){
- //check if this is a duplicate particle (ie, different track same cluster)
- /*for(ParticleInfo cand : candidates){
- if(p.getEnergy() == cand.E && cand.isGood == true)
- continue outer;
- }*/
+
boolean isGood = addParticle(p);
- if(!isGood){
- if(p.getClusters().size()!= 0)
- candidates.add(new ParticleInfo(0, p.getEnergy(), p.getClusters().get(0).getCalorimeterHits().get(0).getTime(), false));
-
- }
-
- }
- for(ParticleInfo c : candidates){
- if(c.isGood){
- boolean isIsolated = true;
- for(ParticleInfo c2 :candidates){
- //try to remove events that have possible mollers in them.
- //correct for this later.
- if(Math.abs(c2.t - c.t) < 2.5 && c2.E < .3 && c2 != c){
- isIsolated = false;
- break;
- }
- }
- if(isIsolated){
- h3a.fill(c.theta);
- }
- }
- }
- candidates.clear();
- processEventEfficiency(particles);
- }
-
- private static void processEventEfficiency(List<ReconstructedParticle> parts) {
- for(ReconstructedParticle p : parts){
- if(p.getClusters().size() == 0)
- continue;
- if(!(p.getEnergy() > eMin && p.getEnergy() < eMax))
- continue;
- Cluster c = p.getClusters().get(0);
- if(!EcalUtil.fid_ECal(c) || c.getCalorimeterHits().size() < 3)
- continue;
- //good cluster? now continue
- int ixiy[] = EcalUtil.getCrystalIndex(c);
-
- h6.fill(ixiy[0], ixiy[1]);
- if(p.getTracks().size() == 0)
- continue;
- Track t = p.getTracks().get(0);
- if(t.getChi2()> maxChi2)
- continue;
- h6a.fill(ixiy[0], ixiy[1]);
-
- }
- }
+
+
+ }
+
+ }
+
+
static double eMin = .8;
static double eMax = 1.2;
static double beamEnergy = 1.057;
- static double beamTilt = .03057;
+ static double beamTiltX = .03057;
+ static double beamTiltY;
static double maxChi2 = 50;
//maximum difference between the reconstructed energy and momentum
- static double maxdE = .3;
+ static double maxdE = .5;
static double seedEnergyCut = .4;
- static ArrayList<ParticleInfo> candidates = new ArrayList();
static boolean addParticle(ReconstructedParticle part){
-
-
-
+ if(part.getTracks().size() != 0){
+ if(part.getMomentum().magnitudeSquared() > .8
+ && part.getTracks().get(0).getChi2() > maxChi2){
+ h4y.fill(part.getMomentum().y()/part.getMomentum().z());
+ }
+ }
if(part.getCharge() != -1)
return false;
if(part.getClusters().size() == 0)
@@ -422,6 +394,12 @@
if(EcalUtil.fid_ECal(c)){
+ if(c.getPosition()[1] > 0){
+ h5.fill(c.getEnergy());
+ }
+ else{
+ h5a.fill(c.getEnergy());
+ }
if(part.getTracks().size() == 0)
return false;
Track t = part.getTracks().get(0);
@@ -430,12 +408,7 @@
}
if(!TrackType.isGBL(t.getType()))
return false;
- if(c.getPosition()[1] > 0){
- h5.fill(c.getEnergy());
- }
- else{
- h5a.fill(c.getEnergy());
- }
+
Hep3Vector p = part.getMomentum();
@@ -443,9 +416,12 @@
double px = p.x(), pz = p.z();
- double pxtilt = px*Math.cos(beamTilt)-pz*Math.sin(beamTilt);
+ double pxtilt = px*Math.cos(beamTiltX)-pz*Math.sin(beamTiltX);
double py = p.y();
- double pztilt = pz*Math.cos(beamTilt)+px*Math.sin(beamTilt);
+ double pztilt = pz*Math.cos(beamTiltX)+px*Math.sin(beamTiltX);
+
+ double pytilt = py*Math.cos(beamTiltY)-pztilt*Math.sin(beamTiltY);
+ pztilt = pz*Math.cos(beamTiltY) + pytilt*Math.sin(beamTiltY);
if(Math.abs(pztilt - c.getEnergy()) > maxdE)
return false;
@@ -454,8 +430,8 @@
else
h9_b.fill(pztilt);
- double theta = Math.atan(Math.hypot(pxtilt, py)/pztilt);
- double phi =Math.atan2(py, pxtilt);
+ double theta = Math.atan(Math.hypot(pxtilt, pytilt)/pztilt);
+ double phi =Math.atan2(pytilt, pxtilt);
boolean inRange = cb.inRange(theta, phi);
if(inRange)
h1.fill(theta, c.getEnergy());
@@ -470,6 +446,7 @@
h2c.fill(theta, phi);
h4.fill(px/pz, py/pz);
+ //h4y.fill(py/pz);
if(inRange){
@@ -492,7 +469,6 @@
h4a.fill(px/pz, py/pz);
- candidates.add(new ParticleInfo(theta, c.getEnergy(), c.getCalorimeterHits().get(0).getTime(), true));
}
@@ -502,16 +478,5 @@
}
return false;
}
- static class ParticleInfo{
- double theta;
- double E;
- double t;
- boolean isGood;
- ParticleInfo(double theta, double E, double t, boolean isGood){
- this.theta = theta;
- this.E = E;
- this.t = t;
- this.isGood = isGood;
- }
- }
+
}
Modified: java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/RemoveDuplicateParticles.java
=============================================================================
--- java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/RemoveDuplicateParticles.java (original)
+++ java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/RemoveDuplicateParticles.java Thu Feb 11 17:15:20 2016
@@ -56,7 +56,7 @@
return false;
if(p.getTracks().size() == 1 && p.getTracks().size() == 0)
return true;
- if(TrackType.isGBL(p.getTracks().get(0).getType()) && !TrackType.isGBL(p.getTracks().get(0).getType()))
+ if(TrackType.isGBL(p.getTracks().get(0).getType()) && !TrackType.isGBL(p2.getTracks().get(0).getType()))
return true;
if(p.getTracks().get(0).getChi2() < p2.getTracks().get(0).getChi2()){
Modified: java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/ShowCustomBinningXY.java
=============================================================================
--- java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/ShowCustomBinningXY.java (original)
+++ java/branches/jeremy-dev/users/src/main/java/org/hps/users/spaul/feecc/ShowCustomBinningXY.java Thu Feb 11 17:15:20 2016
@@ -24,28 +24,29 @@
double nK = 10;
for(int sign = -1; sign <=1; sign +=2){
- for(int k = 0; k< nK; k++){
- drawLineFromPolar(theta1, sign*(phi1+(phi2-phi1)*k/nK), theta1, sign*(phi1+(phi2-phi1)*(k+1)/nK),g);
- }
- for(int k = 0; k< nK; k++){
- drawLineFromPolar(theta1 + (theta2-theta1)*k/nK, sign*phi2, theta1 + (theta2-theta1)*(k+1)/nK, sign*phi2,g);
- }
- for(int k = 0; k< nK; k++){
- drawLineFromPolar(theta2, sign*(phi2+(phi1-phi2)*k/nK), theta2, sign*(phi2+(phi1-phi2)*(k+1)/nK),g);
- }
- for(int k = 0; k< nK; k++){
- drawLineFromPolar(theta2 + (theta1-theta2)*k/nK, sign*phi1, theta2 + (theta1-theta2)*(k+1)/nK, sign*phi1,g);
+
+ Polygon p = new Polygon();
+ for(int k = 0; k< nK; k++){
+ drawLineFromPolar(theta1, sign*(phi1+(phi2-phi1)*k/nK), theta1, sign*(phi1+(phi2-phi1)*(k+1)/nK),g,p);
+ }
+ for(int k = 0; k< nK; k++){
+ drawLineFromPolar(theta1 + (theta2-theta1)*k/nK, sign*phi2, theta1 + (theta2-theta1)*(k+1)/nK, sign*phi2,g,p);
+ }
+ for(int k = 0; k< nK; k++){
+ drawLineFromPolar(theta2, sign*(phi2+(phi1-phi2)*k/nK), theta2, sign*(phi2+(phi1-phi2)*(k+1)/nK),g, p);
+ }
+ for(int k = 0; k< nK; k++){
+ drawLineFromPolar(theta2 + (theta1-theta2)*k/nK, sign*phi1, theta2 + (theta1-theta2)*(k+1)/nK, sign*phi1,g, p);
}
- closePolarFigure(g, i%2 == 0 ? altBin1 : altBin2, i%2 == 0 ? fillBin1 : fillBin2);
+ closePolarFigure(g, i%2 == 0 ? altBin1 : altBin2, i%2 == 0 ? fillBin1 : fillBin2, p);
}
}
}
}
- Polygon p = null;
private void drawLineFromPolar(double theta1, double phi1, double theta2,
- double phi2, Graphics g) {
+ double phi2, Graphics g, Polygon p) {
double[] xy1 = toXY(theta1, phi1);
double[] xy2 = toXY(theta2, phi2);
@@ -57,19 +58,24 @@
getY(xy2[1]));*/
p.addPoint(getX(xy2[0]), getY(xy2[1]));
}
- private void closePolarFigure(Graphics g, Color outlineColor, Color fillColor){
+ private void closePolarFigure(Graphics g, Color outlineColor, Color fillColor, Polygon p){
g.setColor(fillColor);
g.fillPolygon(p);
g.setColor(outlineColor);
g.drawPolygon(p);
- p = null;
-
- }
- double tilt = .03057;
+
+ }
+ double xtilt = .0294;
+ double ytilt = -.00082;
double[] toXY(double theta, double phi){
- double ux = Math.cos(phi)*Math.sin(theta)*Math.cos(tilt)+Math.cos(theta)*Math.sin(tilt);
+ double ux = Math.cos(phi)*Math.sin(theta)*Math.cos(xtilt)+Math.cos(theta)*Math.sin(xtilt);
double uy = Math.sin(phi)*Math.sin(theta);
- double uz = Math.cos(theta)*Math.cos(tilt)-Math.cos(phi)*Math.sin(theta)*Math.sin(tilt);
+ double uz = Math.cos(theta)*Math.cos(xtilt)-Math.cos(phi)*Math.sin(theta)*Math.sin(xtilt);
+
+ double temp = Math.cos(ytilt)*uy+Math.sin(ytilt)*uz;
+ uz = Math.cos(ytilt)*uz-Math.sin(ytilt)*uy;
+ uy = temp;
+
double pxpz = ux/uz;
double pypz = uy/uz;
return new double[]{pxpz, pypz};
@@ -224,4 +230,19 @@
g.drawLine(getX(0), getY(i/100.), getX(0) + 5, getY(i/100.));
}
}
+ public void paint(Graphics g){
+ super.paint(g);
+ drawBeamspot(g);
+ }
+
+ void drawBeamspot(Graphics g){
+ g.setColor(Color.red);
+ int x = getX(xtilt), y = getY(ytilt);
+ g.drawLine(x+10, y, x-10, y);
+ g.drawLine(x+10, y+1, x-10, y+1);
+ g.drawLine(x+10, y-1, x-10, y-1);
+ g.drawLine(x, y-10, x, y+10);
+ g.drawLine(x+1, y-10, x+1, y+10);
+ g.drawLine(x-1, y-10, x-1, y+10);
+ }
}
Modified: java/branches/jeremy-dev/util/pom.xml
=============================================================================
--- java/branches/jeremy-dev/util/pom.xml (original)
+++ java/branches/jeremy-dev/util/pom.xml Thu Feb 11 17:15:20 2016
@@ -7,7 +7,7 @@
<groupId>org.hps</groupId>
<artifactId>hps-parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
- <version>3.5-SNAPSHOT</version>
+ <version>3.6-SNAPSHOT</version>
</parent>
<scm>
<url>http://java.freehep.org/svn/repos/hps/list/java/trunk/util/</url>
|