Author: [log in to unmask] Date: Fri Oct 9 20:16:44 2015 New Revision: 3836 Log: Updated trident analysis plotting logic. Modified: java/trunk/users/src/main/java/org/hps/users/kmccarty/MTEAnalysis.java java/trunk/users/src/main/java/org/hps/users/kmccarty/RafoAnalysis.java java/trunk/users/src/main/java/org/hps/users/kmccarty/plots/formatter/TriggerPlotsFormat.java Modified: java/trunk/users/src/main/java/org/hps/users/kmccarty/MTEAnalysis.java ============================================================================= --- java/trunk/users/src/main/java/org/hps/users/kmccarty/MTEAnalysis.java (original) +++ java/trunk/users/src/main/java/org/hps/users/kmccarty/MTEAnalysis.java Fri Oct 9 20:16:44 2015 @@ -66,8 +66,8 @@ private IHistogram1D trTimeCoincidenceFiducial = aida.histogram1D("Trident/Time Coincidence (Fiducial Region)", 300, -15.0, 15.0); private IHistogram1D trEnergySumAll = aida.histogram1D("Trident/Energy Sum", 300, 0.0, 1.5); private IHistogram1D trEnergySumFiducial = aida.histogram1D("Trident/Energy Sum (Fiducial Region)", 300, 0.0, 1.5); - private IHistogram2D trEnergySum2DAll = aida.histogram2D("Trident/First Cluster Energy vs. Second Cluster Energy", 300, 0, 1.5, 220, 0, 1.5); - private IHistogram2D trEnergySum2DFiducial = aida.histogram2D("Trident/First Cluster Energy vs. Second Cluster Energy (Fiducial Region)", 300, 0, 1.5, 220, 0, 1.5); + private IHistogram2D trEnergySum2DAll = aida.histogram2D("Trident/First Cluster Energy vs. Second Cluster Energy", 300, 0, 1.5, 300, 0, 1.5); + private IHistogram2D trEnergySum2DFiducial = aida.histogram2D("Trident/First Cluster Energy vs. Second Cluster Energy (Fiducial Region)", 300, 0, 1.5, 300, 0, 1.5); private IHistogram2D trSumCoplanarityAll = aida.histogram2D("Trident/Hardware Coplanarity vs. Energy Sum", 300, 0, 1.5, 115, 0, 180); private IHistogram2D trSumCoplanarityFiducial = aida.histogram2D("Trident/Hardware Coplanarity vs. Energy Sum (Fiducial Region)", 300, 0, 1.5, 115, 0, 180); private IHistogram2D trSumCoplanarityCalcAll = aida.histogram2D("Trident/Calculated Coplanarity vs. Energy Sum", 300, 0, 1.5, 115, 130, 230); Modified: java/trunk/users/src/main/java/org/hps/users/kmccarty/RafoAnalysis.java ============================================================================= --- java/trunk/users/src/main/java/org/hps/users/kmccarty/RafoAnalysis.java (original) +++ java/trunk/users/src/main/java/org/hps/users/kmccarty/RafoAnalysis.java Fri Oct 9 20:16:44 2015 @@ -23,11 +23,11 @@ private AIDA aida = AIDA.defaultInstance(); private IHistogram1D t0TimeCoincidenceAll = aida.histogram1D("Tier 0/Time Coincidence", 300, -15.0, 15.0); private IHistogram1D t0TimeCoincidenceFiducial = aida.histogram1D("Tier 0/Time Coincidence (Fiducial Region)", 300, -15.0, 15.0); - private IHistogram1D t0EnergySumAll = aida.histogram1D("Tier 0/Energy Sum", 220, 0.0, 1.1); - private IHistogram1D t0EnergySumFiducial = aida.histogram1D("Tier 0/Energy Sum (Fiducial Region)", 220, 0.0, 1.1); + private IHistogram1D t0EnergySumAll = aida.histogram1D("Tier 0/Energy Sum", 300, 0.0, 1.5); + private IHistogram1D t0EnergySumFiducial = aida.histogram1D("Tier 0/Energy Sum (Fiducial Region)", 300, 0.0, 1.5); private IHistogram1D t0InvariantMassAll = aida.histogram1D("Tier 0/Invariant Mass", 2200, 0.0, 1.1); - private IHistogram2D t0EnergySum2DAll = aida.histogram2D("Tier 0/Top Cluster Energy vs. Bottom Cluster Energy", 300, 0, 1.5, 220, 0, 1.1); - private IHistogram2D t0EnergySum2DFiducial = aida.histogram2D("Tier 0/Top Cluster Energy vs. Bottom Cluster Energy (Fiducial Region)", 300, 0, 1.5, 220, 0, 1.1); + private IHistogram2D t0EnergySum2DAll = aida.histogram2D("Tier 0/Top Cluster Energy vs. Bottom Cluster Energy", 300, 0, 1.5, 300, 0, 1.5); + private IHistogram2D t0EnergySum2DFiducial = aida.histogram2D("Tier 0/Top Cluster Energy vs. Bottom Cluster Energy (Fiducial Region)", 300, 0, 1.5, 300, 0, 1.5); private IHistogram2D t0SumCoplanarityAll = aida.histogram2D("Tier 0/Hardware Coplanarity vs. Energy Sum", 300, 0, 1.5, 115, 0, 230); private IHistogram2D t0SumCoplanarityFiducial = aida.histogram2D("Tier 0/Hardware Coplanarity vs. Energy Sum (Fiducial Region)", 300, 0, 1.5, 115, 0, 230); private IHistogram2D t0SumCoplanarityCalcAll = aida.histogram2D("Tier 0/Calculated Coplanarity vs. Energy Sum", 300, 0, 1.5, 115, 130, 230); @@ -37,11 +37,11 @@ private IHistogram1D t1TimeCoincidenceAll = aida.histogram1D("Tier 1/Time Coincidence", 300, -15.0, 15.0); private IHistogram1D t1TimeCoincidenceFiducial = aida.histogram1D("Tier 1/Time Coincidence (Fiducial Region)", 300, -15.0, 15.0); - private IHistogram1D t1EnergySumAll = aida.histogram1D("Tier 1/Energy Sum", 220, 0.0, 1.1); - private IHistogram1D t1EnergySumFiducial = aida.histogram1D("Tier 1/Energy Sum (Fiducial Region)", 220, 0.0, 1.1); + private IHistogram1D t1EnergySumAll = aida.histogram1D("Tier 1/Energy Sum", 300, 0.0, 1.5); + private IHistogram1D t1EnergySumFiducial = aida.histogram1D("Tier 1/Energy Sum (Fiducial Region)", 300, 0.0, 1.5); private IHistogram1D t1InvariantMassAll = aida.histogram1D("Tier 1/Invariant Mass", 2200, 0.0, 1.1); - private IHistogram2D t1EnergySum2DAll = aida.histogram2D("Tier 1/Top Cluster Energy vs. Bottom Cluster Energy", 300, 0, 1.5, 220, 0, 1.1); - private IHistogram2D t1EnergySum2DFiducial = aida.histogram2D("Tier 1/Top Cluster Energy vs. Bottom Cluster Energy (Fiducial Region)", 300, 0, 1.5, 220, 0, 1.1); + private IHistogram2D t1EnergySum2DAll = aida.histogram2D("Tier 1/Top Cluster Energy vs. Bottom Cluster Energy", 300, 0, 1.5, 300, 0, 1.5); + private IHistogram2D t1EnergySum2DFiducial = aida.histogram2D("Tier 1/Top Cluster Energy vs. Bottom Cluster Energy (Fiducial Region)", 300, 0, 1.5, 300, 0, 1.5); private IHistogram2D t1SumCoplanarityAll = aida.histogram2D("Tier 1/Hardware Coplanarity vs. Energy Sum", 300, 0, 1.5, 115, 0, 230); private IHistogram2D t1SumCoplanarityFiducial = aida.histogram2D("Tier 1/Hardware Coplanarity vs. Energy Sum (Fiducial Region)", 300, 0, 1.5, 115, 0, 230); private IHistogram2D t1SumCoplanarityCalcAll = aida.histogram2D("Tier 1/Calculated Coplanarity vs. Energy Sum", 300, 0, 1.5, 115, 130, 230); @@ -51,11 +51,11 @@ private IHistogram1D t2TimeCoincidenceAll = aida.histogram1D("Tier 2/Time Coincidence", 300, -15.0, 15.0); private IHistogram1D t2TimeCoincidenceFiducial = aida.histogram1D("Tier 2/Time Coincidence (Fiducial Region)", 300, -15.0, 15.0); - private IHistogram1D t2EnergySumAll = aida.histogram1D("Tier 2/Energy Sum", 220, 0.0, 1.1); - private IHistogram1D t2EnergySumFiducial = aida.histogram1D("Tier 2/Energy Sum (Fiducial Region)", 220, 0.0, 1.1); + private IHistogram1D t2EnergySumAll = aida.histogram1D("Tier 2/Energy Sum", 300, 0.0, 1.5); + private IHistogram1D t2EnergySumFiducial = aida.histogram1D("Tier 2/Energy Sum (Fiducial Region)", 300, 0.0, 1.5); private IHistogram1D t2InvariantMassAll = aida.histogram1D("Tier 2/Invariant Mass", 2200, 0.0, 1.1); - private IHistogram2D t2EnergySum2DAll = aida.histogram2D("Tier 2/Top Cluster Energy vs. Bottom Cluster Energy", 300, 0, 1.5, 220, 0, 1.1); - private IHistogram2D t2EnergySum2DFiducial = aida.histogram2D("Tier 2/Top Cluster Energy vs. Bottom Cluster Energy (Fiducial Region)", 300, 0, 1.5, 220, 0, 1.1); + private IHistogram2D t2EnergySum2DAll = aida.histogram2D("Tier 2/Top Cluster Energy vs. Bottom Cluster Energy", 300, 0, 1.5, 300, 0, 1.5); + private IHistogram2D t2EnergySum2DFiducial = aida.histogram2D("Tier 2/Top Cluster Energy vs. Bottom Cluster Energy (Fiducial Region)", 300, 0, 1.5, 300, 0, 1.5); private IHistogram2D t2SumCoplanarityAll = aida.histogram2D("Tier 2/Hardware Coplanarity vs. Energy Sum", 300, 0, 1.5, 115, 0, 230); private IHistogram2D t2SumCoplanarityFiducial = aida.histogram2D("Tier 2/Hardware Coplanarity vs. Energy Sum (Fiducial Region)", 300, 0, 1.5, 115, 0, 230); private IHistogram2D t2SumCoplanarityCalcAll = aida.histogram2D("Tier 2/Calculated Coplanarity vs. Energy Sum", 300, 0, 1.5, 115, 130, 230); @@ -109,7 +109,7 @@ // Perform tier 1 analysis. This requires that there be at // least one top/bottom cluster pair with a time difference // of less then 4 ns. - double t1TimeThreshold = 2.5; + double t1TimeThreshold = 1.5; // Get a list of cluster pairs. List<Cluster[]> pairList = getClusterPairs(clusterList); @@ -214,6 +214,11 @@ } for(Cluster[] pair : pairList) { + // Only include clusters that pass the time coincidence. + if(TriggerModule.getValueTimeCoincidence(pair) > t1TimeThreshold) { + continue; + } + // Fill the all pairs plots. double pairEnergy = pair[0].getEnergy() + pair[1].getEnergy(); t1EnergySumAll.fill(pairEnergy); @@ -266,6 +271,11 @@ } for(Cluster[] pair : pairList) { + // Only include clusters that pass the time coincidence. + if(TriggerModule.getValueTimeCoincidence(pair) > t1TimeThreshold) { + continue; + } + // Fill the all pairs plots. double pairEnergy = pair[0].getEnergy() + pair[1].getEnergy(); t2EnergySumAll.fill(pairEnergy); @@ -312,8 +322,8 @@ energy[1] = Math.sqrt(pair[1].getMomentum().magnitudeSquared() + electronMassSquared); // Calculate the invariant mass. - return Math.sqrt(Math.pow(energy[0] + energy[1], 2) - Math.pow(pair[0].getMomentum().x() - pair[1].getMomentum().x(), 2) - + Math.pow(pair[0].getMomentum().y() - pair[1].getMomentum().y(), 2) + Math.pow(pair[0].getMomentum().z() - pair[1].getMomentum().z(), 2)); + return Math.sqrt(Math.pow(energy[0] + energy[1], 2) - Math.pow(pair[0].getMomentum().x() + pair[1].getMomentum().x(), 2) + + Math.pow(pair[0].getMomentum().y() + pair[1].getMomentum().y(), 2) + Math.pow(pair[0].getMomentum().z() + pair[1].getMomentum().z(), 2)); } public static final double getCalculatedCoplanarity(Cluster[] pair) { Modified: java/trunk/users/src/main/java/org/hps/users/kmccarty/plots/formatter/TriggerPlotsFormat.java ============================================================================= --- java/trunk/users/src/main/java/org/hps/users/kmccarty/plots/formatter/TriggerPlotsFormat.java (original) +++ java/trunk/users/src/main/java/org/hps/users/kmccarty/plots/formatter/TriggerPlotsFormat.java Fri Oct 9 20:16:44 2015 @@ -57,23 +57,24 @@ */ public static void main(String[] args) throws IOException { // Define the root directory for the plots. - String rootDir = "D:\\cygwin64\\home\\Kyle\\"; //plots\\no-cuts\\2-hit\\"; + String rootDir = "D:\\cygwin64\\home\\Kyle\\aprime-plots\\"; // Define the new name of the file containing the trigger plots. String[] plotFile = { - rootDir + "5568-ana.aida" //rootDir + "background-ana_triggerPlots.aida" - //rootDir + "15MeV-ana_triggerPlots.aida", - //rootDir + "30MeV-ana_triggerPlots.aida", - //rootDir + "40MeV-ana_triggerPlots.aida", - //rootDir + "50MeV-ana_triggerPlots.aida" + rootDir + "15-MeV\\compiled-plots.aida", + rootDir + "20-MeV\\compiled-plots.aida", + rootDir + "30-MeV\\compiled-plots.aida", + rootDir + "40-MeV\\compiled-plots.aida", + rootDir + "50-MeV\\compiled-plots.aida" }; // Define the names of each plot. This will be used for the // legend in the case of multiple plots. String[] treeName = { - "Background", + //"Background", "15 MeV A'", + "20 MeV A'", "30 MeV A'", "40 MeV A'", "50 MeV A'" @@ -81,11 +82,14 @@ // Define the color style for the plots. ColorStyle[] dataColorStyle = { - ColorStyle.GREY, + //ColorStyle.GREY, ColorStyle.MS_GREEN, ColorStyle.MS_BLUE, ColorStyle.MS_ORANGE, - ColorStyle.MS_RED + ColorStyle.MS_RED, + ColorStyle.CRIMSON, + ColorStyle.TEAL, + ColorStyle.FOREST }; // Get the plots file and open it. @@ -99,7 +103,7 @@ // Get a list of all the histograms in the file. List<List<String>> treeHistograms = new ArrayList<List<String>>(plotFile.length); for(int i = 0; i < plotFile.length; i++) { - treeHistograms.add(getHistograms(tree[i]));//, "/PassedAll/")); + treeHistograms.add(getHistograms(tree[i], "/NoCuts/"));//, "/PassedAll/")); } // Create a plotter factory. @@ -170,10 +174,10 @@ // Show the plotter. plotter.region(0).setTitle(plotTitle); - //plotter.setParameter("plotterWidth", "1600"); - //plotter.setParameter("plotterHeight", "1550"); - plotter.setParameter("plotterWidth", "2000"); - plotter.setParameter("plotterHeight", "1200"); + plotter.setParameter("plotterWidth", "750"); + plotter.setParameter("plotterHeight", "600"); + //plotter.setParameter("plotterWidth", "2000"); + //plotter.setParameter("plotterHeight", "1200"); plotter.show(); }