Author: [log in to unmask]
Date: Tue Jan 6 12:54:22 2015
New Revision: 1886
Log:
Remove usage of HPSEcalCluster and HPSEcalClusterIC where possible.
Modified:
java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/EcalMonitoring.java
java/trunk/analysis/src/main/java/org/hps/analysis/ecal/EcalEventMonitor.java
java/trunk/analysis/src/main/java/org/hps/analysis/ecal/EcalMonitoringPlots.java
java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalFADCPlotsDriver.java
java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalPlotsDriver.java
java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalTriggerPlotsDriver.java
java/trunk/analysis/src/main/java/org/hps/analysis/ecal/TestRunRateAnalysis.java
java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/exec/EventDisplayDriver.java
java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/io/LCIOManager.java
java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/EventDisplayOutputDriver.java
java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/LCIOBridgeDriver.java
java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/PEventViewer.java
java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/POccupancyViewer.java
java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/PassiveViewer.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCPrimaryTriggerDriver.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerDriver.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerVariableDriver.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/MollerTriggerDriver.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/NeutralPionTriggerDriver.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/OccupancyAnalysisDriver.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SSPTriggerLogic.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SinglesTriggerDriver.java
java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TestRunTriggerDriver.java
java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/ECalUtils.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTEventDisplay.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackingReconstructionPlots.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalClusterPlots.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalEventDisplay.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalMonitoringPlots.java
java/trunk/users/src/main/java/org/hps/users/holly/EcalClustererCosmics.java
java/trunk/users/src/main/java/org/hps/users/kmccarty/ClusterAnalysisDriver.java
java/trunk/users/src/main/java/org/hps/users/luca/CalibClusterAnalizer.java
java/trunk/users/src/main/java/org/hps/users/luca/CalibTest.java
java/trunk/users/src/main/java/org/hps/users/luca/CalibTest2.java
java/trunk/users/src/main/java/org/hps/users/luca/ClusterSorterReconData.java
java/trunk/users/src/main/java/org/hps/users/luca/FADCVariableTriggerFEEDriver.java
java/trunk/users/src/main/java/org/hps/users/luca/FEETrigger.java
java/trunk/users/src/main/java/org/hps/users/luca/FEETrigger2.java
java/trunk/users/src/main/java/org/hps/users/luca/FeeTriggerAna.java
java/trunk/users/src/main/java/org/hps/users/luca/HitSeedHitConf.java
java/trunk/users/src/main/java/org/hps/users/luca/PositronAna.java
java/trunk/users/src/main/java/org/hps/users/luca/RawDataReader.java
java/trunk/users/src/main/java/org/hps/users/luca/ReconData.java
java/trunk/users/src/main/java/org/hps/users/luca/ReconDataPos.java
java/trunk/users/src/main/java/org/hps/users/luca/TriggerAna.java
java/trunk/users/src/main/java/org/hps/users/luca/TriggerAnaFEE.java
java/trunk/users/src/main/java/org/hps/users/luca/TriggerTest.java
java/trunk/users/src/main/java/org/hps/users/luca/TruthReader.java
java/trunk/users/src/main/java/org/hps/users/luca/myTriggerDriver.java
java/trunk/users/src/main/java/org/hps/users/luca/mycluster.java
java/trunk/users/src/main/java/org/hps/users/luca/mycluster2.java
java/trunk/users/src/main/java/org/hps/users/luca/mycluster3.java
java/trunk/users/src/main/java/org/hps/users/mgraham/TrackExtrapolationAnalysis.java
java/trunk/users/src/main/java/org/hps/users/omoreno/SvtHitEfficiency.java
java/trunk/users/src/main/java/org/hps/users/omoreno/SvtTrackAnalysis.java
java/trunk/users/src/main/java/org/hps/users/omoreno/TestRunTrackReconEfficiency.java
java/trunk/users/src/main/java/org/hps/users/phansson/FastTrackResidualDriver.java
java/trunk/users/src/main/java/org/hps/users/phansson/ROOTFlatTupleDriver.java
java/trunk/users/src/main/java/org/hps/users/phansson/SimpleResiduals.java
java/trunk/users/src/main/java/org/hps/users/phansson/TrackingReconstructionPlots.java
java/trunk/users/src/main/java/org/hps/users/phansson/TrigRateDriver.java
java/trunk/users/src/main/java/org/hps/users/phansson/TriggerTurnOnAnalysis.java
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/EcalMonitoring.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/EcalMonitoring.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/EcalMonitoring.java Tue Jan 6 12:54:22 2015
@@ -145,9 +145,9 @@
}
List<Cluster> clusters;
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName))
+ if (event.hasCollection(Cluster.class, clusterCollectionName))
clusters = event.get(Cluster.class, clusterCollectionName);
- else if (event.hasCollection(HPSEcalClusterIC.class, clusterCollectionName))
+ else if (event.hasCollection(Cluster.class, clusterCollectionName))
clusters = event.get(Cluster.class, clusterCollectionName);
else if (event.hasCollection(Cluster.class, clusterCollectionName))
clusters = event.get(Cluster.class, clusterCollectionName);
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/ecal/EcalEventMonitor.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/ecal/EcalEventMonitor.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/ecal/EcalEventMonitor.java Tue Jan 6 12:54:22 2015
@@ -13,6 +13,7 @@
import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
@@ -96,10 +97,10 @@
hitPlot.fill(hit.getIdentifierFieldValue("ix"), hit.getIdentifierFieldValue("iy"), hit.getRawEnergy());
}
}
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
- for (HPSEcalCluster cluster : clusters) {
- CalorimeterHit seedHit = cluster.getSeedHit();
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
+ List<Cluster> clusters = event.get(Cluster.class, clusterCollectionName);
+ for (Cluster cluster : clusters) {
+ CalorimeterHit seedHit = cluster.getCalorimeterHits().get(0);
clusterPlot.fill(seedHit.getIdentifierFieldValue("ix"), seedHit.getIdentifierFieldValue("iy"), cluster.getEnergy());
}
}
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/ecal/EcalMonitoringPlots.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/ecal/EcalMonitoringPlots.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/ecal/EcalMonitoringPlots.java Tue Jan 6 12:54:22 2015
@@ -6,8 +6,8 @@
import java.util.List;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.RawTrackerHit;
import org.lcsim.event.base.BaseRawCalorimeterHit;
@@ -89,11 +89,11 @@
hitCountFillPlot.fill(hit.getIdentifierFieldValue("ix"), hit.getIdentifierFieldValue("iy"));
}
}
- if (event.hasCollection(HPSEcalCluster.class, clusterCollection)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollection);
+ if (event.hasCollection(Cluster.class, clusterCollection)) {
+ List<Cluster> clusters = event.get(Cluster.class, clusterCollection);
//if (clusters.size()>1)
- for (HPSEcalCluster cluster : clusters) {
- clusterCountFillPlot.fill(cluster.getSeedHit().getIdentifierFieldValue("ix"), cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ for (Cluster cluster : clusters) {
+ clusterCountFillPlot.fill(cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix"), cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
}
}
if (eventRefreshRate > 0 && ++eventn % eventRefreshRate == 0) {
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalFADCPlotsDriver.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalFADCPlotsDriver.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalFADCPlotsDriver.java Tue Jan 6 12:54:22 2015
@@ -5,7 +5,6 @@
import java.util.List;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.ecal.HPSRawCalorimeterHit;
import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
@@ -70,7 +69,7 @@
}
public void process(EventHeader event) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusters = event.get(Cluster.class, clusterCollectionName);
if (clusters == null)
throw new RuntimeException("Missing cluster collection!");
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalPlotsDriver.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalPlotsDriver.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalPlotsDriver.java Tue Jan 6 12:54:22 2015
@@ -17,7 +17,6 @@
import org.hps.readout.ecal.ClockSingleton;
import org.hps.readout.ecal.TriggerDriver;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.detector.identifier.IIdentifier;
import org.lcsim.detector.identifier.IIdentifierHelper;
import org.lcsim.event.CalorimeterHit;
@@ -199,7 +198,7 @@
MCParticle primary = getPrimary(mcparticles);
double primaryE = primary.getEnergy();
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalClusterCollectionName);
+ List<Cluster> clusters = event.get(Cluster.class, ecalClusterCollectionName);
if (clusters == null)
throw new RuntimeException("Missing cluster collection!");
@@ -230,14 +229,14 @@
IIdentifierHelper helper =
event.getMetaData(hits).getIDDecoder().getSubdetector().getDetectorElement().getIdentifierHelper();
- for (HPSEcalCluster clus : clusters) {
+ for (Cluster clus : clusters) {
clusNHits.fill(clus.getCalorimeterHits().size());
double e = clus.getEnergy();
clusEPlot.fill(e);
clusE += e;
- CalorimeterHit seedHit = (CalorimeterHit) clus.getSeedHit();
+ CalorimeterHit seedHit = (CalorimeterHit) clus.getCalorimeterHits().get(0);
//double maxe = 0;
for (CalorimeterHit hit : clus.getCalorimeterHits()) {
if (hitClusMap.containsKey(hit)) {
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalTriggerPlotsDriver.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalTriggerPlotsDriver.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/ecal/HPSEcalTriggerPlotsDriver.java Tue Jan 6 12:54:22 2015
@@ -1,5 +1,7 @@
package org.hps.analysis.ecal;
+import static org.hps.recon.ecal.ECalUtils.maxVolt;
+import static org.hps.recon.ecal.ECalUtils.nBit;
import hep.aida.IHistogram2D;
import java.util.ArrayList;
@@ -7,10 +9,9 @@
import org.hps.readout.ecal.TriggerDriver;
import org.hps.recon.ecal.ECalUtils;
-import static org.hps.recon.ecal.ECalUtils.maxVolt;
-import static org.hps.recon.ecal.ECalUtils.nBit;
import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
@@ -85,12 +86,12 @@
// If the current event has the indicated cluster collection,
// use it as the cluster list.
- List<HPSEcalCluster> clusters;
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
- clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusters;
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
+ clusters = event.get(Cluster.class, clusterCollectionName);
}
// If it does not, then use an empty list to avoid crashing.
- else { clusters = new ArrayList<HPSEcalCluster>(0); }
+ else { clusters = new ArrayList<Cluster>(0); }
// Populate hit plots.
for (CalorimeterHit hit : hits) {
@@ -120,9 +121,9 @@
boolean trigger = TriggerDriver.triggerBit();
// Populate cluster based plots.
- for (HPSEcalCluster cluster : clusters) {
+ for (Cluster cluster : clusters) {
// Get the cluster's seed hit position.
- CalorimeterHit seed = cluster.getSeedHit();
+ CalorimeterHit seed = cluster.getCalorimeterHits().get(0);
int ix = seed.getIdentifierFieldValue("ix");
int iy = seed.getIdentifierFieldValue("iy");
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/ecal/TestRunRateAnalysis.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/ecal/TestRunRateAnalysis.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/ecal/TestRunRateAnalysis.java Tue Jan 6 12:54:22 2015
@@ -5,8 +5,8 @@
import java.util.List;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
import org.lcsim.event.base.ParticleTypeClassifier;
@@ -86,22 +86,23 @@
// MCParticle particle = mcparticles.get(0);
// Get the list of raw ECal hits.
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusters = event.get(Cluster.class, clusterCollectionName);
if (clusters == null) {
throw new RuntimeException("Event is missing ECal clusters collection!");
}
boolean trigger = false;
- for (HPSEcalCluster cluster : clusters) {
- if (cluster.getEnergy() > clusterEnergyLow && cluster.getSeedHit().getIdentifierFieldValue("ix") < 0) {
+ for (Cluster cluster : clusters) {
+ CalorimeterHit seedHit = cluster.getCalorimeterHits().get(0);
+ if (cluster.getEnergy() > clusterEnergyLow && seedHit.getIdentifierFieldValue("ix") < 0) {
// if (cluster.getEnergy() > clusterEnergyLow && cluster.getSeedHit().getIdentifierFieldValue("iy")>0 && cluster.getSeedHit().getIdentifierFieldValue("ix")<0) {
- triggersY[Math.abs(cluster.getSeedHit().getIdentifierFieldValue("iy")) - 1]++;
- if (Math.abs(cluster.getSeedHit().getIdentifierFieldValue("iy")) > 1) {
+ triggersY[Math.abs(seedHit.getIdentifierFieldValue("iy")) - 1]++;
+ if (Math.abs(seedHit.getIdentifierFieldValue("iy")) > 1) {
trigger = true;
}
}
- if (cluster.getSeedHit().getIdentifierFieldValue("ix") < 0 && Math.abs(cluster.getSeedHit().getIdentifierFieldValue("iy")) > 1) {
+ if (seedHit.getIdentifierFieldValue("ix") < 0 && Math.abs(seedHit.getIdentifierFieldValue("iy")) > 1) {
for (MCParticle particle : mcparticles) {
if (ParticleTypeClassifier.isElectron(particle.getPDGID())) {
electronEClusterVsP.fill(1000.0 * particle.getPZ(), 1000.0 * cluster.getEnergy());
Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/exec/EventDisplayDriver.java
=============================================================================
--- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/exec/EventDisplayDriver.java (original)
+++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/exec/EventDisplayDriver.java Tue Jan 6 12:54:22 2015
@@ -2,11 +2,10 @@
import java.util.List;
-import org.hps.monitoring.ecal.eventdisplay.event.Cluster;
import org.hps.monitoring.ecal.eventdisplay.event.EcalHit;
import org.hps.monitoring.ecal.eventdisplay.ui.PEventViewer;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
@@ -55,7 +54,7 @@
viewer.resetDisplay();
viewer.updateDisplay();
- Cluster eventDisplayCluster;
+ org.hps.monitoring.ecal.eventdisplay.event.Cluster eventDisplayCluster;
if (event.hasCollection(CalorimeterHit.class, inputCollection)) {
List<CalorimeterHit> hits = event.get(CalorimeterHit.class, inputCollection);
@@ -63,11 +62,11 @@
viewer.addHit(new EcalHit(hit.getIdentifierFieldValue("ix"), hit.getIdentifierFieldValue("iy"), hit.getRawEnergy()));
}
}
- if (event.hasCollection(HPSEcalCluster.class, clusterCollection)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollection);
- for (HPSEcalCluster cluster : clusters) {
- CalorimeterHit seedHit = cluster.getSeedHit();
- eventDisplayCluster = new Cluster(seedHit.getIdentifierFieldValue("ix"), seedHit.getIdentifierFieldValue("iy"), cluster.getEnergy());
+ if (event.hasCollection(Cluster.class, clusterCollection)) {
+ List<Cluster> clusters = event.get(Cluster.class, clusterCollection);
+ for (Cluster cluster : clusters) {
+ CalorimeterHit seedHit = cluster.getCalorimeterHits().get(0);
+ eventDisplayCluster = new org.hps.monitoring.ecal.eventdisplay.event.Cluster(seedHit.getIdentifierFieldValue("ix"), seedHit.getIdentifierFieldValue("iy"), cluster.getEnergy());
for (CalorimeterHit hit : cluster.getCalorimeterHits()) {
if (hit.getRawEnergy() != 0)
eventDisplayCluster.addComponentHit(hit.getIdentifierFieldValue("ix"), hit.getIdentifierFieldValue("iy"));
Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/io/LCIOManager.java
=============================================================================
--- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/io/LCIOManager.java (original)
+++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/io/LCIOManager.java Tue Jan 6 12:54:22 2015
@@ -7,7 +7,7 @@
import org.hps.monitoring.ecal.eventdisplay.event.Cluster;
import org.hps.monitoring.ecal.eventdisplay.event.EcalHit;
-import org.hps.recon.ecal.HPSEcalCluster;
+//import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.EventHeader;
import org.lcsim.lcio.LCIOReader;
@@ -88,15 +88,15 @@
// from the LCIO event.
else {
// Check to see if the event has a cluster collection.
- if(current.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(current.hasCollection(org.lcsim.event.Cluster.class, clusterCollectionName)) {
// Get the list of LCIO clusters.
- List<HPSEcalCluster> lcioList = current.get(HPSEcalCluster.class, clusterCollectionName);
+ List<org.lcsim.event.Cluster> lcioList = current.get(org.lcsim.event.Cluster.class, clusterCollectionName);
// Create a list to store event display clusters.
List<Cluster> displayList = new ArrayList<Cluster>(lcioList.size());
// Convert the LCIO clusters to display clusters.
- for(HPSEcalCluster lcioCluster : lcioList) {
+ for(org.lcsim.event.Cluster lcioCluster : lcioList) {
displayList.add(toPanelCluster(lcioCluster));
}
@@ -193,13 +193,13 @@
// TODO: LCIO files can't actually store an HPSEcalCluster; this
// needs to be converted to use regular LCIO clusters instead.
- public static final Cluster toPanelCluster(HPSEcalCluster lcioCluster) {
+ public static final Cluster toPanelCluster(org.lcsim.event.Cluster lcioCluster) {
// If the argument is null, return null.
if(lcioCluster == null) { return null; }
// Otherwise, get the cluster x/y indices and energy.
- int ix = lcioCluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = lcioCluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = lcioCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = lcioCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
double energy = lcioCluster.getEnergy();
// Create and return a panel cluster from the above values.
Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/EventDisplayOutputDriver.java
=============================================================================
--- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/EventDisplayOutputDriver.java (original)
+++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/EventDisplayOutputDriver.java Tue Jan 6 12:54:22 2015
@@ -7,7 +7,7 @@
import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.EventHeader;
-import org.hps.recon.ecal.HPSEcalCluster;
+//import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.util.Driver;
/**
@@ -50,15 +50,15 @@
*/
public void process(EventHeader event) {
// Get the list of clusters.
- List<HPSEcalCluster> clusters;
+ List<org.lcsim.event.Cluster> clusters;
// If no cluster collection is present, then make an
// empty list instead to avoid crashes.
try {
- clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
+ clusters = event.get(org.lcsim.event.Cluster.class, clusterCollectionName);
if (clusters == null) { throw new RuntimeException("Missing cluster collection!"); }
}
- catch(IllegalArgumentException e) { clusters = new ArrayList<HPSEcalCluster>(0); }
+ catch(IllegalArgumentException e) { clusters = new ArrayList<org.lcsim.event.Cluster>(0); }
// Get the list of calorimeter hits.
List<CalorimeterHit> hits;
@@ -103,9 +103,9 @@
// Only write clusters if the option is selected.
if(outputClusters) {
// Process the clusters.
- for (HPSEcalCluster cluster : clusters) {
+ for (org.lcsim.event.Cluster cluster : clusters) {
// Get the seed hit for the cluster.
- CalorimeterHit seedHit = (CalorimeterHit)cluster.getSeedHit();
+ CalorimeterHit seedHit = (CalorimeterHit)cluster.getCalorimeterHits().get(0);
int ix = seedHit.getIdentifierFieldValue("ix");
int iy = seedHit.getIdentifierFieldValue("iy");
double time = seedHit.getTime();
Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/LCIOBridgeDriver.java
=============================================================================
--- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/LCIOBridgeDriver.java (original)
+++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/lcsim/LCIOBridgeDriver.java Tue Jan 6 12:54:22 2015
@@ -5,7 +5,6 @@
import org.hps.monitoring.ecal.eventdisplay.event.Cluster;
import org.hps.monitoring.ecal.eventdisplay.event.EcalHit;
import org.hps.monitoring.ecal.eventdisplay.ui.PEventViewer;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.EventHeader;
import org.lcsim.util.Driver;
@@ -49,7 +48,7 @@
List<CalorimeterHit> hits = event.get(CalorimeterHit.class, ecalCollectionName);
// Define a list of clusters from the event.
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<org.lcsim.event.Cluster> clusters = event.get(org.lcsim.event.Cluster.class, clusterCollectionName);
// Increment the number of events we have seen.
eventsProcessed++;
@@ -74,12 +73,12 @@
}
// Add all the clusters.
- for(HPSEcalCluster cluster : clusters) {
+ for(org.lcsim.event.Cluster cluster : clusters) {
// Get the seed hit.
- CalorimeterHit seed = cluster.getSeedHit();
+ CalorimeterHit seed = cluster.getCalorimeterHits().get(0);
int ix = seed.getIdentifierFieldValue("ix");
int iy = seed.getIdentifierFieldValue("iy");
- double energy = seed.getRawEnergy();
+ double energy = seed.getRawEnergy(); // FIXME: Should this be getCorrectedEnergy() instead? --JM
// Add the cluster center to the event display.
Cluster cc = new Cluster(ix, iy, energy);
Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/PEventViewer.java
=============================================================================
--- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/PEventViewer.java (original)
+++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/PEventViewer.java Tue Jan 6 12:54:22 2015
@@ -32,7 +32,7 @@
public void addCluster(Cluster cluster) { clusterList.add(cluster); }
@Override
- public void addCluster(HPSEcalCluster lcioCluster) { clusterList.add(toPanelCluster(lcioCluster)); }
+ public void addCluster(org.lcsim.event.Cluster lcioCluster) { clusterList.add(toPanelCluster(lcioCluster)); }
/**
* Removes all of the hit data from the viewer.
Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/POccupancyViewer.java
=============================================================================
--- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/POccupancyViewer.java (original)
+++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/POccupancyViewer.java Tue Jan 6 12:54:22 2015
@@ -72,7 +72,7 @@
* <b>Note:</b> This operation is not supported for occupancies.
*/
@Override
- public void addCluster(HPSEcalCluster cluster) { }
+ public void addCluster(org.lcsim.event.Cluster cluster) { }
/**
* Removes a hit from the display.
Modified: java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/PassiveViewer.java
=============================================================================
--- java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/PassiveViewer.java (original)
+++ java/trunk/ecal-event-display/src/main/java/org/hps/monitoring/ecal/eventdisplay/ui/PassiveViewer.java Tue Jan 6 12:54:22 2015
@@ -2,8 +2,9 @@
import org.hps.monitoring.ecal.eventdisplay.event.Cluster;
import org.hps.monitoring.ecal.eventdisplay.event.EcalHit;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.ecal.HPSEcalClusterIC;
+//import org.hps.recon.ecal.HPSEcalCluster;
+//import org.hps.recon.ecal.HPSEcalClusterIC;
import org.lcsim.event.CalorimeterHit;
/**
@@ -38,7 +39,7 @@
* Adds a new cluster to the display.
* @param cluster - The cluster to be added.
*/
- public abstract void addCluster(HPSEcalCluster cluster);
+ public abstract void addCluster(org.lcsim.event.Cluster cluster);
/**
* Clears any hits or clusters that have been added to the viewer.
@@ -79,10 +80,10 @@
* @return Returns the argument cluster as a <code>Cluster</code>
* object that can be used with the <code>Viewer</code>.
*/
- public static final Cluster toPanelCluster(HPSEcalCluster lcioCluster) {
+ public static final Cluster toPanelCluster(org.lcsim.event.Cluster lcioCluster) {
// Get the cluster data from the LCIO cluster.
- int ix = lcioCluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = lcioCluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = lcioCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = lcioCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
double energy = lcioCluster.getEnergy();
// Generate a new cluster.
@@ -90,6 +91,7 @@
// If this is an IC cluster, cast it so that shared hits can
// be properly displayed.
+ // FIXME: This should be changed to use the standard LCSim Cluster interface. --JM
if(lcioCluster instanceof HPSEcalClusterIC) {
// Cast the cluster object.
HPSEcalClusterIC icCluster = (HPSEcalClusterIC) lcioCluster;
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCPrimaryTriggerDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCPrimaryTriggerDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCPrimaryTriggerDriver.java Tue Jan 6 12:54:22 2015
@@ -12,7 +12,7 @@
import java.util.Queue;
import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.util.aida.AIDA;
@@ -54,8 +54,8 @@
// ==================================================================
// ==== Driver Internal Variables ===================================
// ==================================================================
- private Queue<List<HPSEcalCluster>> topClusterQueue = null; // Store clusters on the top half of the calorimeter.
- private Queue<List<HPSEcalCluster>> botClusterQueue = null; // Store clusters on the bottom half of the calorimeter.
+ private Queue<List<Cluster>> topClusterQueue = null; // Store clusters on the top half of the calorimeter.
+ private Queue<List<Cluster>> botClusterQueue = null; // Store clusters on the bottom half of the calorimeter.
private int allClusters = 0; // Track the number of clusters processed.
private int allPairs = 0; // Track the number of cluster pairs processed.
private int clusterTotalEnergyCount = 0; // Track the clusters which pass the total energy cut.
@@ -160,27 +160,27 @@
@Override
public void process(EventHeader event) {
// Process the list of clusters for the event, if it exists.
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the collection of clusters.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Create a list to hold clusters which pass the single
// cluster cuts.
- List<HPSEcalCluster> goodClusterList = new ArrayList<HPSEcalCluster>(clusterList.size());
+ List<Cluster> goodClusterList = new ArrayList<Cluster>(clusterList.size());
// Sort through the cluster list and add clusters that pass
// the single cluster cuts to the good list.
clusterLoop:
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// Increment the number of processed clusters.
allClusters++;
// Get the cluster plot values.
int hitCount = cluster.getCalorimeterHits().size();
- double seedEnergy = cluster.getSeedHit().getCorrectedEnergy();
+ double seedEnergy = cluster.getCalorimeterHits().get(0).getCorrectedEnergy();
double clusterEnergy = cluster.getEnergy();
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
channel.x = ix;
channel.y = iy;
@@ -424,19 +424,19 @@
}
// Initialize the top and bottom cluster queues.
- topClusterQueue = new LinkedList<List<HPSEcalCluster>>();
- botClusterQueue = new LinkedList<List<HPSEcalCluster>>();
+ topClusterQueue = new LinkedList<List<Cluster>>();
+ botClusterQueue = new LinkedList<List<Cluster>>();
// Populate the top cluster queue. It should be populated with
// a number of empty lists equal to (2 * pairCoincidence + 1).
for (int i = 0; i < 2 * pairCoincidence + 1; i++) {
- topClusterQueue.add(new ArrayList<HPSEcalCluster>());
+ topClusterQueue.add(new ArrayList<Cluster>());
}
// Populate the bottom cluster queue. It should be populated with
// a number of empty lists equal to (2 * pairCoincidence + 1).
for (int i = 0; i < pairCoincidence + 1; i++) {
- botClusterQueue.add(new ArrayList<HPSEcalCluster>());
+ botClusterQueue.add(new ArrayList<Cluster>());
}
// If a background level has been set, pick the correct cuts.
@@ -463,31 +463,31 @@
/**
* Get a list of all unique cluster pairs in the event.
- * @return A <code>List</code> collection of <code>HPSEcalCLuster
- * </code> objects containing all cluster pairs.
- */
- protected List<HPSEcalCluster[]> getClusterPairsTopBot() {
+ * @return A <code>List</code> collection of <code>Cluster</code>
+ * objects containing all cluster pairs.
+ */
+ protected List<Cluster[]> getClusterPairsTopBot() {
// Create a list to store cluster pairs.
- List<HPSEcalCluster[]> clusterPairs = new ArrayList<HPSEcalCluster[]>();
+ List<Cluster[]> clusterPairs = new ArrayList<Cluster[]>();
// Loop over all top-bottom pairs of clusters; higher-energy cluster goes first in the pair
// To apply pair coincidence time, use only bottom clusters from the
// readout cycle pairCoincidence readout cycles ago, and top clusters
// from all 2*pairCoincidence+1 previous readout cycles
- for (HPSEcalCluster botCluster : botClusterQueue.element()) {
- for (List<HPSEcalCluster> topClusters : topClusterQueue) {
- for (HPSEcalCluster topCluster : topClusters) {
+ for (Cluster botCluster : botClusterQueue.element()) {
+ for (List<Cluster> topClusters : topClusterQueue) {
+ for (Cluster topCluster : topClusters) {
// The first cluster in a pair should always be
// the higher energy cluster. If the top cluster
// is higher energy, it goes first.
if (topCluster.getEnergy() > botCluster.getEnergy()) {
- HPSEcalCluster[] clusterPair = {topCluster, botCluster};
+ Cluster[] clusterPair = {topCluster, botCluster};
clusterPairs.add(clusterPair);
}
// Otherwise, the bottom cluster goes first.
else {
- HPSEcalCluster[] clusterPair = {botCluster, topCluster};
+ Cluster[] clusterPair = {botCluster, topCluster};
clusterPairs.add(clusterPair);
}
}
@@ -507,7 +507,7 @@
protected boolean triggerDecision(EventHeader event) {
// If there is a list of clusters present for this event,
// check whether it passes the trigger conditions.
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
return testTrigger();
}
@@ -603,13 +603,13 @@
*/
private boolean testTrigger() {
// Get the list of cluster pairs.
- List<HPSEcalCluster[]> clusterPairs = getClusterPairsTopBot();
+ List<Cluster[]> clusterPairs = getClusterPairsTopBot();
// Iterate over the cluster pairs and perform each of the cluster
// pair cuts on them. A cluster pair that passes all of the
// cuts registers as a trigger.
pairLoop:
- for (HPSEcalCluster[] clusterPair : clusterPairs) {
+ for (Cluster[] clusterPair : clusterPairs) {
// Increment the number of processed cluster pairs.
allPairs++;
@@ -676,10 +676,10 @@
int[] iy = new int[2];
for(int i = 0; i < 2; i++) {
hitCount[i] = clusterPair[i].getCalorimeterHits().size();
- seedEnergy[i] = clusterPair[i].getSeedHit().getCorrectedEnergy();
+ seedEnergy[i] = clusterPair[i].getCalorimeterHits().get(0).getCorrectedEnergy();
clusterEnergy[i] = clusterPair[i].getEnergy();
- ix[i] = clusterPair[i].getSeedHit().getIdentifierFieldValue("ix");
- iy[i] = clusterPair[i].getSeedHit().getIdentifierFieldValue("iy");
+ ix[i] = clusterPair[i].getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ iy[i] = clusterPair[i].getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(ix[i] > 0) { ix[i] = ix[i] - 1; }
}
@@ -711,16 +711,16 @@
* queues so that they may be formed into pairs.
* @param clusterList - The clusters to add to the queues.
*/
- private void updateClusterQueues(List<HPSEcalCluster> clusterList) {
+ private void updateClusterQueues(List<Cluster> clusterList) {
// Create lists to store the top and bottom clusters.
- ArrayList<HPSEcalCluster> topClusterList = new ArrayList<HPSEcalCluster>();
- ArrayList<HPSEcalCluster> botClusterList = new ArrayList<HPSEcalCluster>();
+ ArrayList<Cluster> topClusterList = new ArrayList<Cluster>();
+ ArrayList<Cluster> botClusterList = new ArrayList<Cluster>();
// Loop over the clusters in the cluster list.
- for (HPSEcalCluster cluster : clusterList) {
+ for (Cluster cluster : clusterList) {
// If the cluster is on the top of the calorimeter, it
// goes into the top cluster list.
- if (cluster.getSeedHit().getIdentifierFieldValue("iy") > 0) {
+ if (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy") > 0) {
topClusterList.add(cluster);
}
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerDriver.java Tue Jan 6 12:54:22 2015
@@ -2,8 +2,8 @@
import hep.aida.IHistogram1D;
import hep.aida.IHistogram2D;
+
import java.io.IOException;
-
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.EnumSet;
@@ -12,7 +12,6 @@
import java.util.Queue;
import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
@@ -62,8 +61,8 @@
protected String clusterCollectionName = "EcalClusters";
// FIFO queues of lists of clusters in each ECal half.
// Each list corresponds to one readout cycle.
- private Queue<List<HPSEcalCluster>> topClusterQueue = null;
- private Queue<List<HPSEcalCluster>> botClusterQueue = null;
+ private Queue<List<Cluster>> topClusterQueue = null;
+ private Queue<List<Cluster>> botClusterQueue = null;
PrintWriter pairWriter;
private enum Flag {
@@ -276,13 +275,13 @@
@Override
public void startOfData() {
//initialize queues and fill with empty lists
- topClusterQueue = new LinkedList<List<HPSEcalCluster>>();
- botClusterQueue = new LinkedList<List<HPSEcalCluster>>();
+ topClusterQueue = new LinkedList<List<Cluster>>();
+ botClusterQueue = new LinkedList<List<Cluster>>();
for (int i = 0; i < 2 * pairCoincidence + 1; i++) {
- topClusterQueue.add(new ArrayList<HPSEcalCluster>());
+ topClusterQueue.add(new ArrayList<Cluster>());
}
for (int i = 0; i < pairCoincidence + 1; i++) {
- botClusterQueue.add(new ArrayList<HPSEcalCluster>());
+ botClusterQueue.add(new ArrayList<Cluster>());
}
super.startOfData();
if (clusterCollectionName == null) {
@@ -300,19 +299,19 @@
@Override
public void process(EventHeader event) {
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
// this needs to run every readout cycle whether or not trigger is live
- updateClusterQueues(event.get(HPSEcalCluster.class, clusterCollectionName));
+ updateClusterQueues(event.get(Cluster.class, clusterCollectionName));
if (pairWriter != null) {
- List<HPSEcalCluster[]> clusterPairs = getClusterPairsTopBot();
- for (HPSEcalCluster[] pair : clusterPairs) {
+ List<Cluster[]> clusterPairs = getClusterPairsTopBot();
+ for (Cluster[] pair : clusterPairs) {
pairWriter.format("%d\t", ClockSingleton.getClock());
- for (HPSEcalCluster cluster : pair) {
- pairWriter.format("%f\t", cluster.getSeedHit().getTime());
- pairWriter.format("%f\t", cluster.getSeedHit().getRawEnergy());
- pairWriter.format("%d\t", cluster.getSeedHit().getIdentifierFieldValue("ix"));
- pairWriter.format("%d\t", cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ for (Cluster cluster : pair) {
+ pairWriter.format("%f\t", cluster.getCalorimeterHits().get(0).getTime());
+ pairWriter.format("%f\t", cluster.getCalorimeterHits().get(0).getRawEnergy());
+ pairWriter.format("%d\t", cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix"));
+ pairWriter.format("%d\t", cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
pairWriter.format("%d\t", cluster.getSize());
pairWriter.format("%f\t", cluster.getEnergy());
pairWriter.format("%f\t", getClusterAngle(cluster));
@@ -329,7 +328,7 @@
@Override
protected boolean triggerDecision(EventHeader event) {
// Get the list of raw ECal hits.
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
return testTrigger();
} else {
return false;
@@ -339,22 +338,22 @@
public boolean testTrigger() {
boolean trigger = false;
- List<HPSEcalCluster[]> clusterPairs = getClusterPairsTopBot();
+ List<Cluster[]> clusterPairs = getClusterPairsTopBot();
//--- Apply Trigger Cuts ---//
// Iterate through all cluster pairs present in the event. If at least
// one of the cluster pairs satisfies all of the trigger conditions,
// a trigger signal is sent to all other detectors.
- for (HPSEcalCluster[] clusterPair : clusterPairs) {
+ for (Cluster[] clusterPair : clusterPairs) {
EnumSet<Flag> bits = EnumSet.noneOf(Flag.class);
if (outputStream != null) {
outputStream.printf("Event %d: cluster pair (energy %f in quadrant %d (%s), energy %f in quadrant %d (%s))\n",
ClockSingleton.getClock(),
- clusterPair[0].getEnergy(), ECalUtils.getQuadrant(clusterPair[0]), clusterPair[0].getSeedHit().getPositionVec().toString(),
- clusterPair[1].getEnergy(), ECalUtils.getQuadrant(clusterPair[1]), clusterPair[1].getSeedHit().getPositionVec().toString());
+ clusterPair[0].getEnergy(), ECalUtils.getQuadrant(clusterPair[0]), clusterPair[0].getCalorimeterHits().get(0).getPositionVec().toString(),
+ clusterPair[1].getEnergy(), ECalUtils.getQuadrant(clusterPair[1]), clusterPair[1].getCalorimeterHits().get(0).getPositionVec().toString());
}
allPairs++;
@@ -467,9 +466,9 @@
}
trigger = true;
- for (HPSEcalCluster cluster : clusterPair) {
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ for (Cluster cluster : clusterPair) {
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
trigClusterSeeds.fill(ix - 0.5 * Math.signum(ix), iy);
}
}
@@ -508,19 +507,19 @@
writer.close();
}
- protected void updateClusterQueues(List<HPSEcalCluster> ecalClusters) {
- ArrayList<HPSEcalCluster> topClusterList = new ArrayList<HPSEcalCluster>();
- ArrayList<HPSEcalCluster> botClusterList = new ArrayList<HPSEcalCluster>();
- for (HPSEcalCluster ecalCluster : ecalClusters) {
-// System.out.format("add cluster\t%f\t%d\n", ecalCluster.getSeedHit().getTime(), ecalCluster.getSeedHit().getIdentifierFieldValue("iy"));
- if (ecalCluster.getSeedHit().getIdentifierFieldValue("iy") > 0) {
+ protected void updateClusterQueues(List<Cluster> ecalClusters) {
+ ArrayList<Cluster> topClusterList = new ArrayList<Cluster>();
+ ArrayList<Cluster> botClusterList = new ArrayList<Cluster>();
+ for (Cluster ecalCluster : ecalClusters) {
+// System.out.format("add cluster\t%f\t%d\n", ecalCluster.getCalorimeterHits().get(0).getTime(), ecalCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
+ if (ecalCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy") > 0) {
topClusterList.add(ecalCluster);
} else {
botClusterList.add(ecalCluster);
}
- int ix = ecalCluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = ecalCluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = ecalCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = ecalCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
clusterSeeds.fill(ix - 0.5 * Math.signum(ix), iy);
}
@@ -536,23 +535,23 @@
* @param ecalClusters : List of ECal clusters
* @return list of cluster pairs
*/
- protected List<HPSEcalCluster[]> getClusterPairsTopBot() {
+ protected List<Cluster[]> getClusterPairsTopBot() {
// Make a list of cluster pairs
- List<HPSEcalCluster[]> clusterPairs = new ArrayList<HPSEcalCluster[]>();
+ List<Cluster[]> clusterPairs = new ArrayList<Cluster[]>();
// Loop over all top-bottom pairs of clusters; higher-energy cluster goes first in the pair
// To apply pair coincidence time, use only bottom clusters from the
// readout cycle pairCoincidence readout cycles ago, and top clusters
// from all 2*pairCoincidence+1 previous readout cycles
- for (HPSEcalCluster botCluster : botClusterQueue.element()) {
- for (List<HPSEcalCluster> topClusters : topClusterQueue) {
- for (HPSEcalCluster topCluster : topClusters) {
-// System.out.format("%f\t%f\n", topCluster.getSeedHit().getTime(), botCluster.getSeedHit().getTime());
+ for (Cluster botCluster : botClusterQueue.element()) {
+ for (List<Cluster> topClusters : topClusterQueue) {
+ for (Cluster topCluster : topClusters) {
+// System.out.format("%f\t%f\n", topCluster.getCalorimeterHits().get(0).getTime(), botCluster.getCalorimeterHits().get(0).getTime());
if (topCluster.getEnergy() > botCluster.getEnergy()) {
- HPSEcalCluster[] clusterPair = {topCluster, botCluster};
+ Cluster[] clusterPair = {topCluster, botCluster};
clusterPairs.add(clusterPair);
} else {
- HPSEcalCluster[] clusterPair = {botCluster, topCluster};
+ Cluster[] clusterPair = {botCluster, topCluster};
clusterPairs.add(clusterPair);
}
}
@@ -568,7 +567,7 @@
* @param clusterPair : pair of clusters
* @return true if opposite quadrants, false otherwise
*/
- protected boolean oppositeQuadrantsCut(HPSEcalCluster[] clusterPair) {
+ protected boolean oppositeQuadrantsCut(Cluster[] clusterPair) {
int quad1 = ECalUtils.getQuadrant(clusterPair[0]);
int quad2 = ECalUtils.getQuadrant(clusterPair[1]);
@@ -588,7 +587,7 @@
* @param clusterPair: pair of clusters
* @return true if pair passes cut, false if fail
*/
- protected boolean clusterHitCount(HPSEcalCluster[] clusterPair) {
+ protected boolean clusterHitCount(Cluster[] clusterPair) {
return (clusterPair[0].getCalorimeterHits().size() >= minHitCount
&& clusterPair[1].getCalorimeterHits().size() >= minHitCount);
}
@@ -600,7 +599,7 @@
* @param clusterPair : pair of clusters
* @return true if a pair is found, false otherwise
*/
- protected boolean clusterECut(HPSEcalCluster[] clusterPair) {
+ protected boolean clusterECut(Cluster[] clusterPair) {
return (clusterPair[0].getEnergy() < clusterEnergyHigh
&& clusterPair[1].getEnergy() < clusterEnergyHigh
&& clusterPair[0].getEnergy() > clusterEnergyLow
@@ -626,7 +625,7 @@
* @param clusterPair : pair of clusters
* @return true if pair is found, false otherwise
*/
- protected boolean energyDifference(HPSEcalCluster[] clusterPair) {
+ protected boolean energyDifference(Cluster[] clusterPair) {
double clusterEDifference = clusterPair[0].getEnergy() - clusterPair[1].getEnergy();
return (clusterEDifference < energyDifferenceThreshold);
@@ -639,8 +638,8 @@
* @param clusterPair : pair of clusters
* @return true if pair is found, false otherwise
*/
- protected boolean energyDistanceCut(HPSEcalCluster[] clusterPair) {
- HPSEcalCluster lowEnergyCluster = clusterPair[1];
+ protected boolean energyDistanceCut(Cluster[] clusterPair) {
+ Cluster lowEnergyCluster = clusterPair[1];
// Calculate its position
double lowEClusterDistance = getClusterDistance(clusterPair[1]);
@@ -656,23 +655,23 @@
* @param clusterPair : pair of clusters
* @return true if pair is found, false otherwise
*/
- protected boolean coplanarityCut(HPSEcalCluster[] clusterPair) {
+ protected boolean coplanarityCut(Cluster[] clusterPair) {
return (Math.abs(pairUncoplanarity(clusterPair)) < maxCoplanarityAngle);
}
- protected double pairUncoplanarity(HPSEcalCluster[] clusterPair) { // Find the angle between clusters in the pair
+ protected double pairUncoplanarity(Cluster[] clusterPair) { // Find the angle between clusters in the pair
double cluster1Angle = (getClusterAngle(clusterPair[0]) + 180.0) % 180.0;
double cluster2Angle = (getClusterAngle(clusterPair[1]) + 180.0) % 180.0;
return cluster2Angle - cluster1Angle;
}
- protected double getClusterAngle(HPSEcalCluster cluster) { //returns angle in range of -180 to 180
- double position[] = cluster.getSeedHit().getPosition();
+ protected double getClusterAngle(Cluster cluster) { //returns angle in range of -180 to 180
+ double position[] = cluster.getCalorimeterHits().get(0).getPosition();
return Math.toDegrees(Math.atan2(position[1], position[0] - originX));
}
- protected double getClusterDistance(HPSEcalCluster cluster) {
- return Math.hypot(cluster.getSeedHit().getPosition()[0] - originX, cluster.getSeedHit().getPosition()[1]);
+ protected double getClusterDistance(Cluster cluster) {
+ return Math.hypot(cluster.getCalorimeterHits().get(0).getPosition()[0] - originX, cluster.getCalorimeterHits().get(0).getPosition()[1]);
}
}
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerVariableDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerVariableDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerVariableDriver.java Tue Jan 6 12:54:22 2015
@@ -11,7 +11,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
@@ -56,40 +56,40 @@
public void process(EventHeader event) {
// super.process(event);
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusters = event.get(Cluster.class, clusterCollectionName);
//System.out.printf("%d ecal clusters in event\n", clusters.size());
//System.out.printf("%s: %d clusters\n",this.getClass().getSimpleName(),clusters.size());
- //for(HPSEcalCluster cl : clusters) {
+ //for(Cluster cl : clusters) {
// System.out.printf("%s: cl E %f x %f y %f \n",this.getClass().getSimpleName(),cl.getEnergy(),cl.getPosition()[0],cl.getPosition()[1]);
//}
- List<HPSEcalCluster> unique_clusters = this.getUniqueClusters(clusters);
+ List<Cluster> unique_clusters = this.getUniqueClusters(clusters);
//System.out.printf("%s: %d unique clusters\n",this.getClass().getSimpleName(),unique_clusters.size());
- //for(HPSEcalCluster cl : unique_clusters) {
+ //for(Cluster cl : unique_clusters) {
// System.out.printf("%s: cl E %f x %f y %f \n",this.getClass().getSimpleName(),cl.getEnergy(),cl.getPosition()[0],cl.getPosition()[1]);
//}
updateClusterQueues(unique_clusters);
- List<HPSEcalCluster[]> clusterPairs = getClusterPairsTopBot();
+ List<Cluster[]> clusterPairs = getClusterPairsTopBot();
boolean foundClusterPairs = !clusterPairs.isEmpty();
if (foundClusterPairs) {
int ipair = 0;
- for(HPSEcalCluster[] pair : clusterPairs) {
+ for(Cluster[] pair : clusterPairs) {
String evString = String.format("%d %f %d ", event.getEventNumber(),this.beamEnergy,ipair);
for(int icluster = 0; icluster!=2; icluster++ ) {
- HPSEcalCluster cluster = pair[icluster];
+ Cluster cluster = pair[icluster];
//int quad = ECalUtils.getQuadrant(cluster);
double E = cluster.getEnergy();
- double pos[] = cluster.getSeedHit().getPosition();
- //System.out.printf("x %f y %f ix %d iy %d \n", pos[0], pos[1], cluster.getSeedHit().getIdentifierFieldValue("ix"), cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ double pos[] = cluster.getCalorimeterHits().get(0).getPosition();
+ //System.out.printf("x %f y %f ix %d iy %d \n", pos[0], pos[1], cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix"), cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
evString += String.format("%f %f %f ", E, pos[0], pos[1]);
}
@@ -121,12 +121,12 @@
- private List<HPSEcalCluster> getUniqueClusters(List<HPSEcalCluster> clusters) {
- List<HPSEcalCluster> unique = new ArrayList<HPSEcalCluster>();
- for(HPSEcalCluster loop_cl : clusters) {
- HPSEcalClusterCmp loop_clCmp = new HPSEcalClusterCmp(loop_cl);
+ private List<Cluster> getUniqueClusters(List<Cluster> clusters) {
+ List<Cluster> unique = new ArrayList<Cluster>();
+ for(Cluster loop_cl : clusters) {
+ ClusterCmp loop_clCmp = new ClusterCmp(loop_cl);
boolean found = false;
- for(HPSEcalCluster cl : unique) {
+ for(Cluster cl : unique) {
if( loop_clCmp.compareTo(cl) == 0 ) {
found = true;
}
@@ -139,13 +139,13 @@
}
- private static class HPSEcalClusterCmp implements Comparable<HPSEcalCluster> {
- private HPSEcalCluster _cluster;
- public HPSEcalClusterCmp(HPSEcalCluster cl) {
+ private static class ClusterCmp implements Comparable<Cluster> {
+ private Cluster _cluster;
+ public ClusterCmp(Cluster cl) {
set_cluster(cl);
}
@Override
- public int compareTo(HPSEcalCluster cl) {
+ public int compareTo(Cluster cl) {
if(cl.getEnergy()==get_cluster().getEnergy() && cl.getPosition()[0]==get_cluster().getPosition()[0] && cl.getPosition()[1]==get_cluster().getPosition()[1] ) {
return 0;
} else {
@@ -156,10 +156,10 @@
}
}
}
- public HPSEcalCluster get_cluster() {
+ public Cluster get_cluster() {
return _cluster;
}
- public void set_cluster(HPSEcalCluster _cluster) {
+ public void set_cluster(Cluster _cluster) {
this._cluster = _cluster;
}
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/MollerTriggerDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/MollerTriggerDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/MollerTriggerDriver.java Tue Jan 6 12:54:22 2015
@@ -8,7 +8,7 @@
import java.util.List;
import java.util.Set;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.util.aida.AIDA;
@@ -117,7 +117,7 @@
// Check if there is a cluster collection. If not, there is no
// reason to continue; a trigger can not be produced if there
// are no clusters.
- if(!event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(!event.hasCollection(Cluster.class, clusterCollectionName)) {
// VERBOSE :: Note that no cluster collection exists for
// this event.
if(verbose) { System.out.println("No cluster collection is present for event."); }
@@ -131,7 +131,7 @@
if(verbose) { System.out.println("Cluster collection is present for event."); }
// Get the cluster list from the event.
- List<HPSEcalCluster> eventList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> eventList = event.get(Cluster.class, clusterCollectionName);
// VERBOSE :: Output the number of extant clusters.
if(verbose) { System.out.printf("%d clusters in event.%n", eventList.size()); }
@@ -139,29 +139,29 @@
// Add the clusters from the event into the cluster list
// if they pass the minimum total cluster energy and seed
// energy thresholds.
- for(HPSEcalCluster cluster : eventList) {
+ for(Cluster cluster : eventList) {
// Increment the clusters processed count.
allClusters++;
// Plot the seed energy / cluster energy histogram.
- seedPercent.fill(cluster.getSeedHit().getCorrectedEnergy() / cluster.getEnergy(), 1);
+ seedPercent.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy() / cluster.getEnergy(), 1);
// Get the cluster position indices.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
// VERBOSE :: Output the current cluster's properties.
if(verbose) {
System.out.printf("\tTesting cluster at (%d, %d) with total energy %f and seed energy %f.%n",
- ix, iy, cluster.getSeedHit().getCorrectedEnergy(), cluster.getEnergy());
+ ix, iy, cluster.getCalorimeterHits().get(0).getCorrectedEnergy(), cluster.getEnergy());
}
// Add the clusters to the uncut histograms.
clusterHitCount.fill(cluster.getCalorimeterHits().size());
clusterTotalEnergy.fill(cluster.getEnergy());
- clusterSeedEnergy.fill(cluster.getSeedHit().getCorrectedEnergy());
+ clusterSeedEnergy.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
clusterDistribution.fill(ix > 0 ? ix - 1 : ix, iy, 1);
- if(cluster.getSeedHit().getCorrectedEnergy() > 0.100) { clusterDistribution100.fill(ix > 0 ? ix - 1 : ix, iy, 1); }
+ if(cluster.getCalorimeterHits().get(0).getCorrectedEnergy() > 0.100) { clusterDistribution100.fill(ix > 0 ? ix - 1 : ix, iy, 1); }
// VERBOSE :: Output the single cluster trigger thresholds.
if(verbose) {
@@ -214,7 +214,7 @@
// Add the clusters to the cut histograms.
aClusterHitCount.fill(cluster.getCalorimeterHits().size());
aClusterTotalEnergy.fill(cluster.getEnergy());
- aClusterSeedEnergy.fill(cluster.getSeedHit().getCorrectedEnergy());
+ aClusterSeedEnergy.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
aClusterDistribution.fill(ix > 0 ? ix - 1 : ix, iy, 1);
// Increment the trigger count.
@@ -247,7 +247,7 @@
* @return Returns <code>true</code> if the cluster passes and <code>
* false</code> if it does not.
*/
- private boolean clusterHitCountCut(HPSEcalCluster cluster) {
+ private boolean clusterHitCountCut(Cluster cluster) {
return cluster.getCalorimeterHits().size() >= clusterHitCountThreshold;
}
@@ -258,9 +258,9 @@
* @return Returns <code>true</code> if the cluster passes and <code>
* false</code> if it does not.
*/
- private boolean clusterSeedEnergyCut(HPSEcalCluster cluster) {
+ private boolean clusterSeedEnergyCut(Cluster cluster) {
// Get the seed energy value.
- double seedEnergy = cluster.getSeedHit().getCorrectedEnergy();
+ double seedEnergy = cluster.getCalorimeterHits().get(0).getCorrectedEnergy();
// Perform the seed energy cut.
return seedEnergy >= clusterSeedEnergyThresholdLow && seedEnergy <= clusterSeedEnergyThresholdHigh;
@@ -273,7 +273,7 @@
* @return Returns <code>true</code> if the cluster passes and <code>
* false</code> if it does not.
*/
- private boolean clusterTotalEnergyCut(HPSEcalCluster cluster) {
+ private boolean clusterTotalEnergyCut(Cluster cluster) {
// Get the cluster energy.
double clusterEnergy = cluster.getEnergy();
@@ -288,10 +288,10 @@
* @return Returns <code>true</code> if the cluster passes and <code>
* false</code> if it does not.
*/
- private boolean clusterPositionCut(HPSEcalCluster cluster) {
+ private boolean clusterPositionCut(Cluster cluster) {
// Get the cluster position.
- Point seedLoc = new Point(cluster.getSeedHit().getIdentifierFieldValue("ix"),
- cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ Point seedLoc = new Point(cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix"),
+ cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
// Check if it is one of the allowed seed crystals.
return allowedSeedSet.contains(seedLoc);
@@ -302,7 +302,7 @@
// ==================================================================
/**
- * Sets the LCIO collection name where <code>HPSEcalCluster</code>
+ * Sets the LCIO collection name where <code>Cluster</code>
* objects are stored for use in the trigger.
* @param clusterCollectionName - The name of the LCIO collection.
*/
@@ -428,7 +428,7 @@
private Set<Point> allowedSeedSet = new HashSet<Point>();
/**
- * The name of the LCIO collection containing <code>HPSEcalCluster
+ * The name of the LCIO collection containing <code>Cluster
* </code> objects.
*/
private String clusterCollectionName = "EcalClusters";
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/NeutralPionTriggerDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/NeutralPionTriggerDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/NeutralPionTriggerDriver.java Tue Jan 6 12:54:22 2015
@@ -12,10 +12,10 @@
import java.util.List;
import java.util.Map;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.detector.IGeometryInfo;
import org.lcsim.detector.solids.Trd;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.util.aida.AIDA;
@@ -79,16 +79,16 @@
public void process(EventHeader event) {
// Generate a temporary list to store the good clusters
// in before they are added to the buffer.
- List<HPSEcalCluster> tempList = new ArrayList<HPSEcalCluster>();
+ List<Cluster> tempList = new ArrayList<Cluster>();
// If the current event has a cluster collection, get it.
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// VERBOSE :: Note that a cluster collection exists for
// this event.
if(verbose) { System.out.println("Cluster collection is present for event."); }
// Get the cluster list from the event.
- List<HPSEcalCluster> eventList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> eventList = event.get(Cluster.class, clusterCollectionName);
// VERBOSE :: Output the number of extant clusters.
if(verbose) { System.out.printf("%d clusters in event.%n", eventList.size()); }
@@ -96,27 +96,27 @@
// Add the clusters from the event into the cluster list
// if they pass the minimum total cluster energy and seed
// energy thresholds.
- for(HPSEcalCluster cluster : eventList) {
+ for(Cluster cluster : eventList) {
// Increment the clusters processed count.
allClusters++;
// Plot the seed energy / cluster energy histogram.
- seedPercent.fill(cluster.getSeedHit().getCorrectedEnergy() / cluster.getEnergy(), 1);
+ seedPercent.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy() / cluster.getEnergy(), 1);
// Get the cluster position indices.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
// VERBOSE :: Output the current cluster's properties.
if(verbose) {
System.out.printf("\tTesting cluster at (%d, %d) with total energy %f and seed energy %f.%n",
- ix, iy, cluster.getSeedHit().getCorrectedEnergy(), cluster.getEnergy());
+ ix, iy, cluster.getCalorimeterHits().get(0).getCorrectedEnergy(), cluster.getEnergy());
}
// Add the clusters to the uncut histograms.
clusterHitCount.fill(cluster.getCalorimeterHits().size());
clusterTotalEnergy.fill(cluster.getEnergy());
- clusterSeedEnergy.fill(cluster.getSeedHit().getCorrectedEnergy());
+ clusterSeedEnergy.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
clusterDistribution.fill(ix, iy, 1);
// VERBOSE :: Output the single cluster trigger thresholds.
@@ -180,7 +180,7 @@
// Add the cluster information to the single cut histograms.
pClusterHitCount.fill(cluster.getCalorimeterHits().size());
pClusterTotalEnergy.fill(cluster.getEnergy());
- pClusterSeedEnergy.fill(cluster.getSeedHit().getCorrectedEnergy());
+ pClusterSeedEnergy.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
pClusterDistribution.fill(ix, iy, 1);
}
}
@@ -204,9 +204,9 @@
// Loop over all of the cluster lists in the cluster buffer.
double[] energy = { 0.0, 0.0, 0.0 };
- for(List<HPSEcalCluster> bufferList : clusterBuffer) {
+ for(List<Cluster> bufferList : clusterBuffer) {
// Loop over all of the clusters in each buffer list.
- for(HPSEcalCluster cluster : bufferList) {
+ for(Cluster cluster : bufferList) {
// If the new cluster is higher energy than the first
// slot cluster, move the subsequent clusters down and
// insert the new one.
@@ -249,11 +249,11 @@
public void startOfData() {
// Initialize the cluster buffer to the size of the coincidence window.
- clusterBuffer = new LinkedList<List<HPSEcalCluster>>();
+ clusterBuffer = new LinkedList<List<Cluster>>();
// Populate the buffer with empty lists.
for(int i = 0; i < coincidenceWindow; i++) {
- clusterBuffer.add(new ArrayList<HPSEcalCluster>(0));
+ clusterBuffer.add(new ArrayList<Cluster>(0));
}
// Initialize the cluster hit count diagnostic plots.
@@ -316,18 +316,18 @@
allPairs++;
// Get the cluster position indices.
- int[] ix = { clusterPair[0].getSeedHit().getIdentifierFieldValue("ix"), clusterPair[1].getSeedHit().getIdentifierFieldValue("ix") };
- int[] iy = { clusterPair[0].getSeedHit().getIdentifierFieldValue("iy"), clusterPair[1].getSeedHit().getIdentifierFieldValue("iy") };
+ int[] ix = { clusterPair[0].getCalorimeterHits().get(0).getIdentifierFieldValue("ix"), clusterPair[1].getCalorimeterHits().get(0).getIdentifierFieldValue("ix") };
+ int[] iy = { clusterPair[0].getCalorimeterHits().get(0).getIdentifierFieldValue("iy"), clusterPair[1].getCalorimeterHits().get(0).getIdentifierFieldValue("iy") };
// VERBOSE :: Output the clusters selected for triggering.
if(verbose) {
System.out.printf("\tTesting first cluster at (%d, %d) with total energy %f and seed energy %f.%n",
- ix[0], iy[0], clusterPair[0].getSeedHit().getCorrectedEnergy(), clusterPair[0].getEnergy());
+ ix[0], iy[0], clusterPair[0].getCalorimeterHits().get(0).getCorrectedEnergy(), clusterPair[0].getEnergy());
System.out.printf("\tTesting second cluster at (%d, %d) with total energy %f and seed energy %f.%n",
- ix[1], iy[1], clusterPair[1].getSeedHit().getCorrectedEnergy(), clusterPair[1].getEnergy());
+ ix[1], iy[1], clusterPair[1].getCalorimeterHits().get(0).getCorrectedEnergy(), clusterPair[1].getEnergy());
if(useClusterTriplet) {
System.out.printf("\tTesting third cluster at (%d, %d) with total energy %f and seed energy %f.%n",
- ix[1], iy[1], clusterTriplet[2].getSeedHit().getCorrectedEnergy(), clusterTriplet[2].getEnergy());
+ ix[1], iy[1], clusterTriplet[2].getCalorimeterHits().get(0).getCorrectedEnergy(), clusterTriplet[2].getEnergy());
}
}
@@ -371,8 +371,8 @@
aClusterHitCount.fill(clusterPair[1].getCalorimeterHits().size());
aClusterTotalEnergy.fill(clusterPair[0].getEnergy());
aClusterTotalEnergy.fill(clusterPair[1].getEnergy());
- aClusterSeedEnergy.fill(clusterPair[0].getSeedHit().getCorrectedEnergy());
- aClusterSeedEnergy.fill(clusterPair[1].getSeedHit().getCorrectedEnergy());
+ aClusterSeedEnergy.fill(clusterPair[0].getCalorimeterHits().get(0).getCorrectedEnergy());
+ aClusterSeedEnergy.fill(clusterPair[1].getCalorimeterHits().get(0).getCorrectedEnergy());
aClusterDistribution.fill(ix[0], iy[0], 1);
aClusterDistribution.fill(ix[1], iy[1], 1);
@@ -400,8 +400,8 @@
aClusterHitCount.fill(clusterPair[1].getCalorimeterHits().size());
aClusterTotalEnergy.fill(clusterPair[0].getEnergy());
aClusterTotalEnergy.fill(clusterPair[1].getEnergy());
- aClusterSeedEnergy.fill(clusterPair[0].getSeedHit().getCorrectedEnergy());
- aClusterSeedEnergy.fill(clusterPair[1].getSeedHit().getCorrectedEnergy());
+ aClusterSeedEnergy.fill(clusterPair[0].getCalorimeterHits().get(0).getCorrectedEnergy());
+ aClusterSeedEnergy.fill(clusterPair[1].getCalorimeterHits().get(0).getCorrectedEnergy());
aClusterDistribution.fill(ix[0], iy[0], 1);
aClusterDistribution.fill(ix[1], iy[1], 1);
@@ -428,7 +428,7 @@
* @return Returns <code>true</code> if the cluster passes and <code>
* false</code> if it does not.
*/
- private boolean clusterHitCountCut(HPSEcalCluster cluster) {
+ private boolean clusterHitCountCut(Cluster cluster) {
return cluster.getCalorimeterHits().size() >= clusterHitCountThreshold;
}
@@ -439,9 +439,9 @@
* @return Returns <code>true</code> if the cluster passes and <code>
* false</code> if it does not.
*/
- private boolean clusterSeedEnergyCut(HPSEcalCluster cluster) {
+ private boolean clusterSeedEnergyCut(Cluster cluster) {
// Get the seed energy value.
- double seedEnergy = cluster.getSeedHit().getCorrectedEnergy();
+ double seedEnergy = cluster.getCalorimeterHits().get(0).getCorrectedEnergy();
// Perform the seed energy cut.
return seedEnergy >= clusterSeedEnergyThresholdLow && seedEnergy <= clusterSeedEnergyThresholdHigh;
@@ -454,7 +454,7 @@
* @return Returns <code>true</code> if the cluster passes and <code>
* false</code> if it does not.
*/
- private boolean clusterTotalEnergyCut(HPSEcalCluster cluster) {
+ private boolean clusterTotalEnergyCut(Cluster cluster) {
// Get the cluster energy.
double clusterEnergy = cluster.getEnergy();
@@ -469,12 +469,12 @@
* cut value.
* @return Returns the cut value as a <code>double</code>.
*/
- private static double getEnergySumValue(HPSEcalCluster[] clusterGroup) {
+ private static double getEnergySumValue(Cluster[] clusterGroup) {
// Track the sum.
double energySum = 0.0;
// Add the energies of all clusters in the array.
- for(HPSEcalCluster cluster : clusterGroup) { energySum += cluster.getEnergy(); }
+ for(Cluster cluster : clusterGroup) { energySum += cluster.getEnergy(); }
// Return the sum.
return energySum;
@@ -487,18 +487,18 @@
* cut value.
* @return Returns the cut value as a <code>double</code>.
*/
- private double getInvariantMassValue(HPSEcalCluster[] clusterPair) {
+ private double getInvariantMassValue(Cluster[] clusterPair) {
// Store the x/y positions for the seeds.
double x[] = new double[2];
double y[] = new double[2];
// Get the seed hits.
- CalorimeterHit[] seed = { clusterPair[0].getSeedHit(), clusterPair[1].getSeedHit() };
+ CalorimeterHit[] seed = { clusterPair[0].getCalorimeterHits().get(0), clusterPair[1].getCalorimeterHits().get(0) };
// Set the positions for each seed.
for(int index = 0; index < seed.length; index++) {
// Get the seed position array stored in the position map.
- Double[] seedPos = seedPosMap.get(clusterPair[index].getSeedHit());
+ Double[] seedPos = seedPosMap.get(clusterPair[index].getCalorimeterHits().get(0));
// If there is a position array for the seed, use it.
if(seedPos != null) {
@@ -509,7 +509,7 @@
// Otherwise, calculate the position at the crystal face.
else {
// Get the position and store it in a double array.
- IGeometryInfo geom = clusterPair[index].getSeedHit().getDetectorElement().getGeometry();
+ IGeometryInfo geom = clusterPair[index].getCalorimeterHits().get(0).getDetectorElement().getGeometry();
double[] pos = geom.transformLocalToGlobal(VecOp.add(geom.transformGlobalToLocal(geom.getPosition()),
(Hep3Vector) new BasicHep3Vector(0, 0, -1 * ((Trd) geom.getLogicalVolume().getSolid()).getZHalfLength()))).v();
@@ -519,7 +519,7 @@
// Store the seed location for future use.
Double[] positionVec = { pos[0], pos[1], pos[2] };
- seedPosMap.put(clusterPair[index].getSeedHit(), positionVec);
+ seedPosMap.put(clusterPair[index].getCalorimeterHits().get(0), positionVec);
}
}
@@ -538,10 +538,10 @@
* @return Returns <code>true</code> if the cluster seed is on the
* edge of the calorimeter and <code>false</code> otherwise.
*/
- private static boolean isEdgeCluster(HPSEcalCluster cluster) {
+ private static boolean isEdgeCluster(Cluster cluster) {
// Get the x- and y-indices of the cluster seed hit.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
// Track whether the cluster is an edge cluster or not.
boolean edge = false;
@@ -571,7 +571,7 @@
* @return Returns <code>true</code> if the clusters pass and <code>
* false</code> if they does not.
*/
- private boolean pairEnergySumCut(HPSEcalCluster[] clusterPair) {
+ private boolean pairEnergySumCut(Cluster[] clusterPair) {
// Get the energy sum value.
double energySum = getEnergySumValue(clusterPair);
@@ -587,7 +587,7 @@
* @return Returns <code>true</code> if the clusters pass and <code>
* false</code> if they does not.
*/
- private boolean pairInvariantMassCut(HPSEcalCluster[] clusterPair) {
+ private boolean pairInvariantMassCut(Cluster[] clusterPair) {
// Calculate the invariant mass.
double myy2 = getInvariantMassValue(clusterPair);
@@ -603,7 +603,7 @@
* @return Returns <code>true</code> if the clusters pass and <code>
* false</code> if they does not.
*/
- private boolean tripletEnergySumCut(HPSEcalCluster[] clusterTriplet) {
+ private boolean tripletEnergySumCut(Cluster[] clusterTriplet) {
return (getEnergySumValue(clusterTriplet) >= tripletEnergySumThreshold);
}
@@ -615,15 +615,15 @@
* @return Returns <code>true</code> if the clusters pass and <code>
* false</code> if they does not.
*/
- private static boolean tripletHorizontalCut(HPSEcalCluster[] clusterTriplet) {
+ private static boolean tripletHorizontalCut(Cluster[] clusterTriplet) {
// Track whether a cluster has occurred on each horizontal side
// of the calorimeter.
boolean leftCluster = false;
boolean rightCluster = false;
// Sort through the cluster triplet and check where they occur.
- for(HPSEcalCluster cluster : clusterTriplet) {
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
+ for(Cluster cluster : clusterTriplet) {
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
if(ix < 0) { leftCluster = true; }
if(ix > 0) { rightCluster = true; }
}
@@ -633,10 +633,10 @@
else { return false; }
}
- private boolean tripletTotalEnergyCut(HPSEcalCluster[] clusterTriplet) {
+ private boolean tripletTotalEnergyCut(Cluster[] clusterTriplet) {
// Check to see if each cluster passes the check.
- for(HPSEcalCluster cluster1 : clusterTriplet) {
- for(HPSEcalCluster cluster2 : clusterTriplet) {
+ for(Cluster cluster1 : clusterTriplet) {
+ for(Cluster cluster2 : clusterTriplet) {
// The cluster pair must be two different clusters.
if(cluster1 == cluster2) { continue; }
@@ -670,7 +670,7 @@
// ==================================================================
/**
- * Sets the LCIO collection name where <code>HPSEcalCluster</code>
+ * Sets the LCIO collection name where <code>Cluster</code>
* objects are stored for use in the trigger.
* @param clusterCollectionName - The name of the LCIO collection.
*/
@@ -897,29 +897,29 @@
/**
* <b>clusterBuffer</b><br/><br/>
- * <code>private LinkedList<List<HPSEcalCluster>> <b>clusterBuffer</b></code><br/><br/>
+ * <code>private LinkedList<List<Cluster>> <b>clusterBuffer</b></code><br/><br/>
* Stores the list of clusters from each event for a finite-sized
* buffer. The size of the buffer is determined by the coincidence
* window.
*/
- private LinkedList<List<HPSEcalCluster>> clusterBuffer;
+ private LinkedList<List<Cluster>> clusterBuffer;
/**
* <b>clusterCollectionName</b><br/><br/>
* <code>private String <b>clusterCollectionName</b></code><br/><br/>
- * The name of the LCIO collection containing <code>HPSEcalCluster
+ * The name of the LCIO collection containing <code>Cluster
* </code> objects.
*/
private String clusterCollectionName = "EcalClusters";
/**
* <b>clusterPair</b><br/><br/>
- * <code>private HPSEcalCluster[] <b>clusterPair</b></code><br/><br/>
+ * <code>private Cluster[] <b>clusterPair</b></code><br/><br/>
* Stores the two highest energy clusters located in the cluster
* buffer. These are sorted by energy, with the highest energy
* cluster first in the array.
*/
- private HPSEcalCluster[] clusterPair = new HPSEcalCluster[2];
+ private Cluster[] clusterPair = new Cluster[2];
/**
* <b>clusterHitCountThreshold</b><br/><br/>
@@ -963,12 +963,12 @@
/**
* <b>clusterTriplet</b><br/><br/>
- * <code>private HPSEcalCluster[] <b>clusterTriplet</b></code><br/><br/>
+ * <code>private Cluster[] <b>clusterTriplet</b></code><br/><br/>
* Stores the three highest energy clusters located in the cluster
* buffer. These are sorted by energy, with the highest energy
* cluster first in the array.
*/
- private HPSEcalCluster[] clusterTriplet = new HPSEcalCluster[3];
+ private Cluster[] clusterTriplet = new Cluster[3];
/**
* <b>coincidenceWindow</b><br/><br/>
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/OccupancyAnalysisDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/OccupancyAnalysisDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/OccupancyAnalysisDriver.java Tue Jan 6 12:54:22 2015
@@ -1,12 +1,12 @@
package org.hps.readout.ecal;
-
-import java.util.List;
import hep.aida.IHistogram1D;
import hep.aida.IHistogram2D;
-import org.hps.recon.ecal.HPSEcalCluster;
+import java.util.List;
+
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
@@ -62,22 +62,22 @@
@Override
public void process(EventHeader event) {
// If clusters are present, process them.
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the list of clusters.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Use the clusters to populate the cluster plots.
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// Get the ix and iy values for the cluster.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
// If we want to ignore the beam gap rows, make sure
// that iy exceeds two.
if(!ignoreBeamGapRows || (Math.abs(iy) > 2)) {
// If the cluster passes the seed threshold, place it in
// the level 1 plots.
- if(cluster.getSeedHit().getCorrectedEnergy() >= seedThreshold) {
+ if(cluster.getCalorimeterHits().get(0).getCorrectedEnergy() >= seedThreshold) {
clusterDistribution[0].fill(ix, iy, scalingFactor);
clusterHitDistribution[0].fill(cluster.getCalorimeterHits().size(), scalingFactor);
clusterEnergyDistribution[0].fill(cluster.getEnergy() * beamRatio, scalingFactor);
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SSPTriggerLogic.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SSPTriggerLogic.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SSPTriggerLogic.java Tue Jan 6 12:54:22 2015
@@ -1,6 +1,6 @@
package org.hps.readout.ecal;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.Cluster;
/**
* Class <code>SSPLogic</code> implements each of the trigger cuts. It
@@ -21,7 +21,7 @@
* @return Returns <code>true</code> if the cluster passes the cut
* and <code>false</code> if the cluster does not.
*/
- public static final boolean clusterHitCountCut(HPSEcalCluster cluster, int thresholdLow) {
+ public static final boolean clusterHitCountCut(Cluster cluster, int thresholdLow) {
return (getValueClusterHitCount(cluster) >= thresholdLow);
}
@@ -32,7 +32,7 @@
* @return Returns <code>true</code> if the cluster passes the cut
* and <code>false</code> if the cluster does not.
*/
- public static final boolean clusterSeedEnergyCut(HPSEcalCluster cluster, double thresholdLow, double thresholdHigh) {
+ public static final boolean clusterSeedEnergyCut(Cluster cluster, double thresholdLow, double thresholdHigh) {
// Get the cluster seed energy.
double energy = getValueClusterSeedEnergy(cluster);
@@ -50,7 +50,7 @@
* @return Returns <code>true</code> if the cluster passes the cut
* and <code>false</code> if the cluster does not.
*/
- public static final boolean clusterTotalEnergyCut(HPSEcalCluster cluster, double thresholdLow, double thresholdHigh) {
+ public static final boolean clusterTotalEnergyCut(Cluster cluster, double thresholdLow, double thresholdHigh) {
// Get the total cluster energy.
double energy = getValueClusterTotalEnergy(cluster);
@@ -65,8 +65,8 @@
* be calculated.
* @return Returns the distance between the clusters.
*/
- public static final double getClusterDistance(HPSEcalCluster cluster) {
- return Math.hypot(cluster.getSeedHit().getPosition()[0] - ORIGIN_X, cluster.getSeedHit().getPosition()[1]);
+ public static final double getClusterDistance(Cluster cluster) {
+ return Math.hypot(cluster.getCalorimeterHits().get(0).getPosition()[0] - ORIGIN_X, cluster.getCalorimeterHits().get(0).getPosition()[1]);
}
/**
@@ -75,7 +75,7 @@
* derived.
* @return Returns the cut value.
*/
- public static final double getValueClusterTotalEnergy(HPSEcalCluster cluster) {
+ public static final double getValueClusterTotalEnergy(Cluster cluster) {
return cluster.getEnergy();
}
@@ -85,7 +85,7 @@
* derived.
* @return Returns the cut value.
*/
- public static final int getValueClusterHitCount(HPSEcalCluster cluster) {
+ public static final int getValueClusterHitCount(Cluster cluster) {
return cluster.getCalorimeterHits().size();
}
@@ -95,8 +95,8 @@
* derived.
* @return Returns the cut value.
*/
- public static final double getValueClusterSeedEnergy(HPSEcalCluster cluster) {
- return cluster.getSeedHit().getCorrectedEnergy();
+ public static final double getValueClusterSeedEnergy(Cluster cluster) {
+ return cluster.getCalorimeterHits().get(0).getCorrectedEnergy();
}
/**
@@ -106,11 +106,11 @@
* @param originX - The calorimeter center.
* @return Returns the cut value.
*/
- public static final double getValueCoplanarity(HPSEcalCluster[] clusterPair) {
+ public static final double getValueCoplanarity(Cluster[] clusterPair) {
// Get the cluster angles.
double[] clusterAngle = new double[2];
for(int i = 0; i < 2; i++) {
- double position[] = clusterPair[i].getSeedHit().getPosition();
+ double position[] = clusterPair[i].getCalorimeterHits().get(0).getPosition();
clusterAngle[i] = (Math.toDegrees(Math.atan2(position[1], position[0] - ORIGIN_X)) + 180.0) % 180.0;
}
@@ -124,7 +124,7 @@
* be calculated.
* @return Returns the cut value.
*/
- public static final double getValueEnergyDifference(HPSEcalCluster[] clusterPair) {
+ public static final double getValueEnergyDifference(Cluster[] clusterPair) {
return clusterPair[0].getEnergy() - clusterPair[1].getEnergy();
}
@@ -136,7 +136,7 @@
* energy slope equation E_low + R_min * F.
* @return Returns the cut value.
*/
- public static final double getValueEnergySlope(HPSEcalCluster[] clusterPair, double energySlopeParamF) {
+ public static final double getValueEnergySlope(Cluster[] clusterPair, double energySlopeParamF) {
// E + R*F
// Get the low energy cluster energy.
double slopeParamE = clusterPair[1].getEnergy();
@@ -154,7 +154,7 @@
* be calculated.
* @return Returns the cut value.
*/
- public static final double getValueEnergySum(HPSEcalCluster[] clusterPair) {
+ public static final double getValueEnergySum(Cluster[] clusterPair) {
return clusterPair[0].getEnergy() + clusterPair[1].getEnergy();
}
@@ -166,7 +166,7 @@
* @return Returns <code>true</code> if the cluster pair passes
* the cut and <code>false</code> if it does not.
*/
- public static final boolean pairCoplanarityCut(HPSEcalCluster[] clusterPair, double thresholdHigh) {
+ public static final boolean pairCoplanarityCut(Cluster[] clusterPair, double thresholdHigh) {
return (getValueCoplanarity(clusterPair) < thresholdHigh);
}
@@ -178,7 +178,7 @@
* @return Returns <code>true</code> if the cluster pair passes
* the cut and <code>false</code> if it does not.
*/
- public static final boolean pairEnergyDifferenceCut(HPSEcalCluster[] clusterPair, double thresholdHigh) {
+ public static final boolean pairEnergyDifferenceCut(Cluster[] clusterPair, double thresholdHigh) {
return (getValueEnergyDifference(clusterPair) < thresholdHigh);
}
@@ -190,7 +190,7 @@
* @param thresholdLow - The lower bound for the cut.
* @return true if pair is found, false otherwise
*/
- public static final boolean pairEnergySlopeCut(HPSEcalCluster[] clusterPair, double thresholdLow, double energySlopeParamF) {
+ public static final boolean pairEnergySlopeCut(Cluster[] clusterPair, double thresholdLow, double energySlopeParamF) {
return (getValueEnergySlope(clusterPair, energySlopeParamF) > thresholdLow);
}
@@ -203,7 +203,7 @@
* @return Returns <code>true</code> if the cluster pair passes
* the cut and <code>false</code> if it does not.
*/
- public static final boolean pairEnergySumCut(HPSEcalCluster[] clusterPair, double thresholdLow, double thresholdHigh) {
+ public static final boolean pairEnergySumCut(Cluster[] clusterPair, double thresholdLow, double thresholdHigh) {
// Get the energy sum value.
double energySum = getValueEnergySum(clusterPair);
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SinglesTriggerDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SinglesTriggerDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/SinglesTriggerDriver.java Tue Jan 6 12:54:22 2015
@@ -5,7 +5,7 @@
import java.util.List;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.util.aida.AIDA;
@@ -44,19 +44,19 @@
@Override
public void process(EventHeader event) {
// Make sure that there are clusters in the event.
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the list of clusters.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Iterate over the clusters.
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// Get the x and y indices.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
ix = ix > 0 ? ix - 1 : ix;
// Populate the uncut plots.
- clusterSeedEnergy.fill(cluster.getSeedHit().getCorrectedEnergy(), 1);
+ clusterSeedEnergy.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy(), 1);
clusterTotalEnergy.fill(cluster.getEnergy(), 1);
clusterHitCount.fill(cluster.getCalorimeterHits().size(), 1);
clusterDistribution.fill(ix, iy, 1);
@@ -73,13 +73,13 @@
@Override
protected boolean triggerDecision(EventHeader event) {
// Check that there is a cluster object collection.
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the list of hits.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Iterate over the hits and perform the cuts.
triggerLoop:
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// Perform the hit count cut.
if(!SSPTriggerLogic.clusterHitCountCut(cluster, hitCountLow)) {
continue triggerLoop;
@@ -96,12 +96,12 @@
}
// Get the x and y indices.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
ix = ix > 0 ? ix - 1 : ix;
// Populate the cut plots.
- clusterSeedEnergySingle.fill(cluster.getSeedHit().getCorrectedEnergy(), 1);
+ clusterSeedEnergySingle.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy(), 1);
clusterTotalEnergySingle.fill(cluster.getEnergy(), 1);
clusterHitCountSingle.fill(cluster.getCalorimeterHits().size(), 1);
clusterDistributionSingle.fill(ix, iy, 1);
Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TestRunTriggerDriver.java
=============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TestRunTriggerDriver.java (original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TestRunTriggerDriver.java Tue Jan 6 12:54:22 2015
@@ -3,7 +3,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
/**
@@ -55,9 +55,9 @@
@Override
protected boolean triggerDecision(EventHeader event) {
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
cycleCounter++;
- if (testTrigger(event.get(HPSEcalCluster.class, clusterCollectionName))) {
+ if (testTrigger(event.get(Cluster.class, clusterCollectionName))) {
triggerThisCycle = true;
}
}
@@ -71,12 +71,12 @@
}
}
- public boolean testTrigger(List<HPSEcalCluster> clusters) {
+ public boolean testTrigger(List<Cluster> clusters) {
boolean trigger = false;
topBits <<= 1;
botBits <<= 1;
- for (HPSEcalCluster cluster : clusters) {
+ for (Cluster cluster : clusters) {
if (cluster.getEnergy() > clusterEnergyLow) {
if (cluster.getPosition()[1] > 0) {
topBits |= 1;
Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/ECalUtils.java
=============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/ECalUtils.java (original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/ECalUtils.java Tue Jan 6 12:54:22 2015
@@ -1,6 +1,7 @@
package org.hps.recon.ecal;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
/**
*
@@ -34,8 +35,8 @@
* @param ecalCluster : ECal cluster
* @return Quadrant number
*/
- public static int getQuadrant(HPSEcalCluster ecalCluster) {
- return getQuadrant(ecalCluster.getSeedHit());
+ public static int getQuadrant(Cluster ecalCluster) {
+ return getQuadrant(ecalCluster.getCalorimeterHits().get(0));
}
public static int getQuadrant(CalorimeterHit hit) {
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTEventDisplay.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTEventDisplay.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SVTEventDisplay.java Tue Jan 6 12:54:22 2015
@@ -8,10 +8,10 @@
import java.util.List;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.detector.tracker.silicon.SiSensor;
import org.lcsim.detector.tracker.silicon.SiSensorElectrodes;
import org.lcsim.detector.tracker.silicon.SiStrips;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.RawTrackerHit;
import org.lcsim.fit.helicaltrack.HelicalTrackHit;
@@ -85,9 +85,9 @@
fillPlots(hrth);
}
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName);
+ List<Cluster> clusters = event.get(Cluster.class, ecalCollectionName);
// System.out.println("Number of ECAL clusters="+clusters.size());
- for (HPSEcalCluster cluster : clusters) {
+ for (Cluster cluster : clusters) {
// dec.setID(cluster.getSeedHit().getCellID());
// CalorimeterHit seedHit = cluster.getSeedHit();
// System.out.println("z = "+seedHit.getPosition()[2]+" y = "+seedHit.getPosition()[1]);
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackingReconstructionPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackingReconstructionPlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/TrackingReconstructionPlots.java Tue Jan 6 12:54:22 2015
@@ -17,7 +17,6 @@
//===> import org.hps.conditions.deprecated.HPSSVTCalibrationConstants;
//===> import org.hps.conditions.deprecated.HPSSVTCalibrationConstants.ChannelConstants;
//===> import org.hps.conditions.deprecated.SvtUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.tracking.BeamlineConstants;
import org.hps.recon.tracking.DumbShaperFit;
import org.hps.recon.tracking.HelixConverter;
@@ -25,8 +24,9 @@
import org.hps.recon.tracking.ShaperFitAlgorithm;
import org.hps.recon.tracking.StraightLineTrack;
import org.hps.recon.tracking.TrackUtils;
+import org.lcsim.detector.tracker.silicon.HpsSiSensor;
import org.lcsim.detector.tracker.silicon.SiSensor;
-import org.lcsim.detector.tracker.silicon.HpsSiSensor;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.LCIOParameters.ParameterName;
import org.lcsim.event.RawTrackerHit;
@@ -626,9 +626,9 @@
List<Track> tracks = event.get(Track.class, trackCollectionName);
nTracks.fill(tracks.size());
- if (event.hasCollection(HPSEcalCluster.class, ecalCollectionName)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName);
- for (HPSEcalCluster cluster : clusters) {
+ if (event.hasCollection(Cluster.class, ecalCollectionName)) {
+ List<Cluster> clusters = event.get(Cluster.class, ecalCollectionName);
+ for (Cluster cluster : clusters) {
if (cluster.getPosition()[1] > 0) {
aida.histogram2D("Top ECal Cluster Position").fill(cluster.getPosition()[0], cluster.getPosition()[1]);
}
@@ -829,10 +829,10 @@
}
}
}
- if(event.hasCollection(HPSEcalCluster.class,ecalCollectionName)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName);
-
- HPSEcalCluster clust = findClosestCluster(posAtEcal, clusters);
+ if(event.hasCollection(Cluster.class,ecalCollectionName)) {
+ List<Cluster> clusters = event.get(Cluster.class, ecalCollectionName);
+
+ Cluster clust = findClosestCluster(posAtEcal, clusters);
// if (clust != null) {
if (clust != null) {
@@ -1008,10 +1008,10 @@
//bottomFrame.dispose();
}
- private HPSEcalCluster findClosestCluster(Hep3Vector posonhelix, List<HPSEcalCluster> clusters) {
- HPSEcalCluster closest = null;
+ private Cluster findClosestCluster(Hep3Vector posonhelix, List<Cluster> clusters) {
+ Cluster closest = null;
double minDist = 9999;
- for (HPSEcalCluster cluster : clusters) {
+ for (Cluster cluster : clusters) {
double[] clPos = cluster.getPosition();
double clEne = cluster.getEnergy();
double dist = Math.sqrt(Math.pow(clPos[0] - posonhelix.x(), 2) + Math.pow(clPos[1] - posonhelix.y(), 2)); //coordinates!!!
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalClusterPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalClusterPlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalClusterPlots.java Tue Jan 6 12:54:22 2015
@@ -11,8 +11,8 @@
import org.apache.commons.math.stat.StatUtils;
import org.hps.readout.ecal.SSPTriggerLogic;
import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
@@ -167,20 +167,20 @@
@Override
public void process(EventHeader event) {
// Check whether the event has clusters or not.
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the list of clusters.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Create lists to store the clusters from the top of the
// calorimeter and the bottom.
- List<HPSEcalCluster> topList = new ArrayList<HPSEcalCluster>();
- List<HPSEcalCluster> bottomList = new ArrayList<HPSEcalCluster>();
+ List<Cluster> topList = new ArrayList<Cluster>();
+ List<Cluster> bottomList = new ArrayList<Cluster>();
// Track the highest energy cluster in the event.
double maxEnergy = 0.0;
// Process each of the clusters.
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// If this cluster has a higher energy then was seen
// previously, it is now the highest energy cluster.
if (cluster.getEnergy() > maxEnergy) {
@@ -221,7 +221,7 @@
// Cluster pairs are formed from all top/bottom cluster
// combinations. To create these pairs, separate the
// clusters into two lists based on their y-indices.
- if(cluster.getSeedHit().getIdentifierFieldValue("ix") > 0) {
+ if(cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix") > 0) {
topList.add(cluster);
} else {
bottomList.add(cluster);
@@ -233,14 +233,14 @@
if(maxEnergy > 0) { clusterMaxEnergyPlot.fill(maxEnergy); }
// Create a list to store cluster pairs.
- List<HPSEcalCluster[]> pairList = new ArrayList<HPSEcalCluster[]>(topList.size() * bottomList.size());
+ List<Cluster[]> pairList = new ArrayList<Cluster[]>(topList.size() * bottomList.size());
// Form pairs from all possible combinations of clusters
// from the top and bottom lists.
- for(HPSEcalCluster topCluster : topList) {
- for(HPSEcalCluster bottomCluster : bottomList) {
+ for(Cluster topCluster : topList) {
+ for(Cluster bottomCluster : bottomList) {
// Make a cluster pair array.
- HPSEcalCluster[] pair = new HPSEcalCluster[2];
+ Cluster[] pair = new Cluster[2];
// The lower energy cluster goes in the second slot.
if(topCluster.getEnergy() > bottomCluster.getEnergy()) {
@@ -257,7 +257,7 @@
}
// Iterate over each pair and calculate the pair cut values.
- for(HPSEcalCluster[] pair : pairList) {
+ for(Cluster[] pair : pairList) {
// Get the energy slope value.
double energySumValue = SSPTriggerLogic.getValueEnergySum(pair);
double energyDifferenceValue = SSPTriggerLogic.getValueEnergyDifference(pair);
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalEventDisplay.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalEventDisplay.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalEventDisplay.java Tue Jan 6 12:54:22 2015
@@ -9,11 +9,10 @@
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import java.lang.System;
-import java.io.File;
-import java.io.IOException;
import org.hps.monitoring.ecal.eventdisplay.ui.PDataEventViewer;
import org.hps.monitoring.ecal.eventdisplay.ui.PEventViewer;
@@ -21,10 +20,9 @@
import org.hps.monitoring.ecal.eventdisplay.util.CrystalEvent;
import org.hps.monitoring.ecal.eventdisplay.util.CrystalListener;
import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.event.RawTrackerHit;
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
@@ -330,16 +328,16 @@
}
// If there are clusters in the event...
- if (event.hasCollection(HPSEcalCluster.class, clusterCollection)) {
+ if (event.hasCollection(Cluster.class, clusterCollection)) {
// Get the list of clusters.
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollection);
+ List<Cluster> clusters = event.get(Cluster.class, clusterCollection);
// Iterate over the clusters and add them to the event
// display if appropriate.
- for (HPSEcalCluster cluster : clusters) {
+ for (Cluster cluster : clusters) {
// Get the ix and iy indices for the seed.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
// Get the histogram index for the hit.
int id = ECalUtils.getHistoIDFromRowColumn(iy, ix);
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalMonitoringPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalMonitoringPlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalMonitoringPlots.java Tue Jan 6 12:54:22 2015
@@ -1,16 +1,14 @@
package org.hps.monitoring.ecal.plots;
-import hep.aida.IHistogram1D;
import hep.aida.IHistogram2D;
import hep.aida.IPlotter;
import hep.aida.IPlotterStyle;
-import java.util.ArrayList;
import java.util.List;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.ecal.ECalUtils;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
@@ -162,10 +160,10 @@
}
}
- if (event.hasCollection(HPSEcalCluster.class, clusterCollection)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, clusterCollection);
- for (HPSEcalCluster cluster : clusters) {
- clusterCountFillPlot.fill(cluster.getSeedHit().getIdentifierFieldValue("ix"), cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ if (event.hasCollection(Cluster.class, clusterCollection)) {
+ List<Cluster> clusters = event.get(Cluster.class, clusterCollection);
+ for (Cluster cluster : clusters) {
+ clusterCountFillPlot.fill(cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix"), cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
}
}
Modified: java/trunk/users/src/main/java/org/hps/users/holly/EcalClustererCosmics.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/holly/EcalClustererCosmics.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/holly/EcalClustererCosmics.java Tue Jan 6 12:54:22 2015
@@ -7,9 +7,10 @@
import java.util.Set;
import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
+import org.lcsim.event.base.BaseCluster;
import org.lcsim.geometry.Detector;
import org.lcsim.geometry.subdetector.HPSEcal3;
import org.lcsim.geometry.subdetector.HPSEcal3.NeighborMap;
@@ -112,14 +113,14 @@
// Put Cluster collection into event.
int flag = 1 << LCIOConstants.CLBIT_HITS;
- event.put(clusterCollectionName, createClusters(hitMap), HPSEcalCluster.class, flag);
+ event.put(clusterCollectionName, createClusters(hitMap), Cluster.class, flag);
}
}
- public List<HPSEcalCluster> createClusters(Map<Long, CalorimeterHit> map) {
+ public List<Cluster> createClusters(Map<Long, CalorimeterHit> map) {
// New Cluster list to be added to event.
- List<HPSEcalCluster> clusters = new ArrayList<HPSEcalCluster>();
+ List<Cluster> clusters = new ArrayList<Cluster>();
// Loop over ECal hits to find cluster seeds.
for (CalorimeterHit hit : map.values()) {
@@ -169,7 +170,7 @@
// Did we find a seed?
if (isSeed) {
// Make a cluster from the hit list.
- HPSEcalCluster cluster = new HPSEcalCluster(hit.getCellID());
+ BaseCluster cluster = new BaseCluster();
cluster.addHit(hit);
for (CalorimeterHit clusHit : neighborHits) {
cluster.addHit(clusHit);
Modified: java/trunk/users/src/main/java/org/hps/users/kmccarty/ClusterAnalysisDriver.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/kmccarty/ClusterAnalysisDriver.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/kmccarty/ClusterAnalysisDriver.java Tue Jan 6 12:54:22 2015
@@ -1,11 +1,11 @@
package org.hps.users.kmccarty;
-
-import java.util.List;
import hep.aida.IHistogram1D;
import hep.aida.IHistogram2D;
-import org.hps.recon.ecal.HPSEcalCluster;
+import java.util.List;
+
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
@@ -58,32 +58,32 @@
public void process(EventHeader event) {
// Check if there exists a cluster collection.
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the raw hit collection.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Output the information on each hit to the histograms.
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// Get the x and y indices for the hits.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(ix > 0) { ix = ix - 1; }
// Write to the histograms.
clusterTotalEnergy.fill(cluster.getEnergy());
- clusterSeedEnergy.fill(cluster.getSeedHit().getCorrectedEnergy());
+ clusterSeedEnergy.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
clusterHitCount.fill(cluster.getCalorimeterHits().size());
clusterDistribution.fill(ix, iy, 1.0);
- if(cluster.getSeedHit().getCorrectedEnergy() > 0.100) {
+ if(cluster.getCalorimeterHits().get(0).getCorrectedEnergy() > 0.100) {
fClusterTotalEnergy.fill(cluster.getEnergy());
- fClusterSeedEnergy.fill(cluster.getSeedHit().getCorrectedEnergy());
+ fClusterSeedEnergy.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
fClusterHitCount.fill(cluster.getCalorimeterHits().size());
fClusterDistribution.fill(ix, iy, 1.0);
if(cluster.getCalorimeterHits().size() > 1) {
nClusterTotalEnergy.fill(cluster.getEnergy());
- nClusterSeedEnergy.fill(cluster.getSeedHit().getCorrectedEnergy());
+ nClusterSeedEnergy.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
nClusterHitCount.fill(cluster.getCalorimeterHits().size());
nClusterDistribution.fill(ix, iy, 1.0);
}
Modified: java/trunk/users/src/main/java/org/hps/users/luca/CalibClusterAnalizer.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/CalibClusterAnalizer.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/CalibClusterAnalizer.java Tue Jan 6 12:54:22 2015
@@ -7,31 +7,13 @@
package org.hps.users.luca;
import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
-import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.LinkedList;
+
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
+import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
-import org.lcsim.util.Driver;
-import hep.aida.*;
-import hep.aida.IHistogram1D;
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
-import org.lcsim.event.MCParticle;
/**
*
* @author mac
@@ -51,7 +33,7 @@
{List<Cluster> clusters= event.get(Cluster.class,"EcalClusters");
for(Cluster cluster : clusters){
eneTuttiPlot.fill(cluster.getEnergy());
- SeedHitPlot.fill(HPSEcalCluster.getSeedHit(cluster).getCorrectedEnergy());
+ SeedHitPlot.fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
}
Modified: java/trunk/users/src/main/java/org/hps/users/luca/CalibTest.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/CalibTest.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/CalibTest.java Tue Jan 6 12:54:22 2015
@@ -2,13 +2,14 @@
package org.hps.users.luca;
//import hep.aida.ITupleColumn.String;
+
+import hep.aida.IHistogram1D;
import java.util.List;
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
import org.lcsim.util.Driver;
-import hep.aida.IHistogram1D;
import org.lcsim.util.aida.AIDA;
// the class has to be derived from the driver class
public class CalibTest extends Driver {
Modified: java/trunk/users/src/main/java/org/hps/users/luca/CalibTest2.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/CalibTest2.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/CalibTest2.java Tue Jan 6 12:54:22 2015
@@ -2,18 +2,12 @@
//import hep.aida.ITupleColumn.String;
import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
-import java.io.IOException;
-import java.io.*;
-
import java.util.List;
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
-
import org.lcsim.util.Driver;
-
import org.lcsim.util.aida.AIDA;
/**
Modified: java/trunk/users/src/main/java/org/hps/users/luca/ClusterSorterReconData.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/ClusterSorterReconData.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/ClusterSorterReconData.java Tue Jan 6 12:54:22 2015
@@ -5,31 +5,15 @@
*/
package org.hps.users.luca;
-import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.aida.AIDA;
import org.lcsim.util.Driver;
-import hep.aida.*;
-import hep.aida.IHistogram3D;
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
-import org.lcsim.event.MCParticle;
/**
*
@@ -169,14 +153,14 @@
//ciclo for nel set di currentCluster, ovvero il set nel mezzo del buffer
for(Cluster cluster : currentClusters){
- if((HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix")== posx) && (HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy")==posy )&& (cluster.getEnergy() > energyThreshold)){
+ if((cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")== posx) && (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")==posy )&& (cluster.getEnergy() > energyThreshold)){
if(ClusterChecker(cluster)){
int id;
Clustercount++;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + HPSEcalCluster.getSeedHit(cluster).getCorrectedEnergy() + " " + HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix")+" " +HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy"));
+ writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getCorrectedEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
@@ -220,7 +204,7 @@
for(Cluster currentcluster : currentList){
if(currentcluster!= cluster){
//if there is a cluster in the buffer that is in the considered radius in a time window lower than expected, the loop is brocken and the analyzed cluster is not good
- if(!((HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("ix") < posx-radius || HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("ix")> posx+radius)&& (HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("iy")< posy-radius || HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(HPSEcalCluster.getSeedHit(cluster).getTime()-HPSEcalCluster.getSeedHit(currentcluster).getTime())<timeDifference){
+ if(!((cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix") < posx-radius || cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")> posx+radius)&& (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")< posy-radius || cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(cluster.getCalorimeterHits().get(0).getTime()-cluster.getCalorimeterHits().get(0).getTime())<timeDifference){
check=false;
break loops;
}
@@ -243,8 +227,8 @@
public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix");
- y= HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/FADCVariableTriggerFEEDriver.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/FADCVariableTriggerFEEDriver.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/FADCVariableTriggerFEEDriver.java Tue Jan 6 12:54:22 2015
@@ -5,10 +5,11 @@
import java.util.List;
import java.util.Queue;
+import org.hps.readout.ecal.FADCTriggerDriver;
+import org.hps.readout.ecal.TriggerDriver;
import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.hps.readout.ecal.TriggerDriver;
/**
* Class <code>FADCVariableTriggerDriver</code> reads reconstructed
* clusters and makes trigger decisions on them. It is designed to
@@ -47,8 +48,8 @@
// ==================================================================
// ==== Driver Internal Variables ===================================
// ==================================================================
- private Queue<List<HPSEcalCluster>> topClusterQueue = null; // Store clusters on the top half of the calorimeter.
- private Queue<List<HPSEcalCluster>> botClusterQueue = null; // Store clusters on the bottom half of the calorimeter.
+ private Queue<List<Cluster>> topClusterQueue = null; // Store clusters on the top half of the calorimeter.
+ private Queue<List<Cluster>> botClusterQueue = null; // Store clusters on the bottom half of the calorimeter.
private int allClusters = 0; // Track the number of clusters processed.
private int allPairs = 0; // Track the number of cluster pairs processed.
private int clusterTotalEnergyCount = 0; // Track the clusters which pass the total energy cut.
@@ -92,18 +93,18 @@
@Override
public void process(EventHeader event) {
// Process the list of clusters for the event, if it exists.
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the collection of clusters.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Create a list to hold clusters which pass the single
// cluster cuts.
- List<HPSEcalCluster> goodClusterList = new ArrayList<HPSEcalCluster>(clusterList.size());
+ List<Cluster> goodClusterList = new ArrayList<Cluster>(clusterList.size());
// Sort through the cluster list and add clusters that pass
// the single cluster cuts to the good list.
clusterLoop:
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// Increment the number of processed clusters.
allClusters++;
@@ -305,19 +306,19 @@
}
// Initialize the top and bottom cluster queues.
- topClusterQueue = new LinkedList<List<HPSEcalCluster>>();
- botClusterQueue = new LinkedList<List<HPSEcalCluster>>();
+ topClusterQueue = new LinkedList<List<Cluster>>();
+ botClusterQueue = new LinkedList<List<Cluster>>();
// Populate the top cluster queue. It should be populated with
// a number of empty lists equal to (2 * pairCoincidence + 1).
for (int i = 0; i < 2 * pairCoincidence + 1; i++) {
- topClusterQueue.add(new ArrayList<HPSEcalCluster>());
+ topClusterQueue.add(new ArrayList<Cluster>());
}
// Populate the bottom cluster queue. It should be populated with
// a number of empty lists equal to (2 * pairCoincidence + 1).
for (int i = 0; i < pairCoincidence + 1; i++) {
- botClusterQueue.add(new ArrayList<HPSEcalCluster>());
+ botClusterQueue.add(new ArrayList<Cluster>());
}
// If a background level has been set, pick the correct cuts.
@@ -333,28 +334,28 @@
* @param ecalClusters : List of ECal clusters
* @return list of cluster pairs
*/
- protected List<HPSEcalCluster[]> getClusterPairsTopBot() {
+ protected List<Cluster[]> getClusterPairsTopBot() {
// Create a list to store cluster pairs.
- List<HPSEcalCluster[]> clusterPairs = new ArrayList<HPSEcalCluster[]>();
+ List<Cluster[]> clusterPairs = new ArrayList<Cluster[]>();
// Loop over all top-bottom pairs of clusters; higher-energy cluster goes first in the pair
// To apply pair coincidence time, use only bottom clusters from the
// readout cycle pairCoincidence readout cycles ago, and top clusters
// from all 2*pairCoincidence+1 previous readout cycles
- for (HPSEcalCluster botCluster : botClusterQueue.element()) {
- for (List<HPSEcalCluster> topClusters : topClusterQueue) {
- for (HPSEcalCluster topCluster : topClusters) {
+ for (Cluster botCluster : botClusterQueue.element()) {
+ for (List<Cluster> topClusters : topClusterQueue) {
+ for (Cluster topCluster : topClusters) {
// The first cluster in a pair should always be
// the higher energy cluster. If the top cluster
// is higher energy, it goes first.
if (topCluster.getEnergy() > botCluster.getEnergy()) {
- HPSEcalCluster[] clusterPair = {topCluster, botCluster};
+ Cluster[] clusterPair = {topCluster, botCluster};
clusterPairs.add(clusterPair);
}
// Otherwise, the bottom cluster goes first.
else {
- HPSEcalCluster[] clusterPair = {botCluster, topCluster};
+ Cluster[] clusterPair = {botCluster, topCluster};
clusterPairs.add(clusterPair);
}
}
@@ -375,7 +376,7 @@
protected boolean triggerDecision(EventHeader event) {
// If there is a list of clusters present for this event,
// check whether it passes the trigger conditions.
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
return testTrigger();
}
@@ -392,7 +393,7 @@
* @return Returns <code>true</code> if the cluster passes the cut
* and <code>false</code> if the cluster does not.
*/
- private boolean clusterHitCountCut(HPSEcalCluster cluster) {
+ private boolean clusterHitCountCut(Cluster cluster) {
return (getValueClusterHitCount(cluster) >= minHitCount);
}
@@ -404,7 +405,7 @@
* @return Returns <code>true</code> if the cluster passes the cut
* and <code>false</code> if the cluster does not.
*/
- private boolean clusterSeedEnergyCut(HPSEcalCluster cluster) {
+ private boolean clusterSeedEnergyCut(Cluster cluster) {
// Get the cluster seed energy.
double energy = getValueClusterSeedEnergy(cluster);
@@ -421,7 +422,7 @@
* @return Returns <code>true</code> if the cluster passes the cut
* and <code>false</code> if the cluster does not.
*/
- private boolean clusterTotalEnergyCut(HPSEcalCluster cluster) {
+ private boolean clusterTotalEnergyCut(Cluster cluster) {
// Get the total cluster energy.
double energy = getValueClusterTotalEnergy(cluster);
@@ -437,8 +438,8 @@
* be calculated.
* @return Returns the distance between the clusters.
*/
- private double getClusterDistance(HPSEcalCluster cluster) {
- return Math.hypot(cluster.getSeedHit().getPosition()[0] - originX, cluster.getSeedHit().getPosition()[1]);
+ private double getClusterDistance(Cluster cluster) {
+ return Math.hypot(cluster.getCalorimeterHits().get(0).getPosition()[0] - originX, cluster.getCalorimeterHits().get(0).getPosition()[1]);
}
/**
@@ -448,7 +449,7 @@
* derived.
* @return Returns the cut value.
*/
- private double getValueClusterTotalEnergy(HPSEcalCluster cluster) {
+ private double getValueClusterTotalEnergy(Cluster cluster) {
return cluster.getEnergy();
}
@@ -459,7 +460,7 @@
* derived.
* @return Returns the cut value.
*/
- private int getValueClusterHitCount(HPSEcalCluster cluster) {
+ private int getValueClusterHitCount(Cluster cluster) {
return cluster.getCalorimeterHits().size();
}
@@ -470,8 +471,8 @@
* derived.
* @return Returns the cut value.
*/
- private double getValueClusterSeedEnergy(HPSEcalCluster cluster) {
- return cluster.getSeedHit().getCorrectedEnergy();
+ private double getValueClusterSeedEnergy(Cluster cluster) {
+ return cluster.getCalorimeterHits().get(0).getCorrectedEnergy();
}
/**
@@ -481,11 +482,11 @@
* be calculated.
* @return Returns the cut value.
*/
- private double getValueCoplanarity(HPSEcalCluster[] clusterPair) {
+ private double getValueCoplanarity(Cluster[] clusterPair) {
// Get the cluster angles.
double[] clusterAngle = new double[2];
for(int i = 0; i < 2; i++) {
- double position[] = clusterPair[i].getSeedHit().getPosition();
+ double position[] = clusterPair[i].getCalorimeterHits().get(0).getPosition();
//clusterAngle[i] = Math.toDegrees(Math.atan2(position[1], position[0] - originX));
//clusterAngle[i] = (clusterAngle[i] + 180.0) % 180.0;
clusterAngle[i] = (Math.toDegrees(Math.atan2(position[1], position[0] - originX)) + 180.0) % 180.0;
@@ -502,7 +503,7 @@
* be calculated.
* @return Returns the cut value.
*/
- private double getValueEnergyDifference(HPSEcalCluster[] clusterPair) {
+ private double getValueEnergyDifference(Cluster[] clusterPair) {
return clusterPair[0].getEnergy() - clusterPair[1].getEnergy();
}
@@ -513,7 +514,7 @@
* be calculated.
* @return Returns the cut value.
*/
- private double getValueEnergySlope(HPSEcalCluster[] clusterPair) {
+ private double getValueEnergySlope(Cluster[] clusterPair) {
// E + R*F
// Get the low energy cluster energy.
double slopeParamE = clusterPair[1].getEnergy();
@@ -532,7 +533,7 @@
* be calculated.
* @return Returns the cut value.
*/
- private double getValueEnergySum(HPSEcalCluster[] clusterPair) {
+ private double getValueEnergySum(Cluster[] clusterPair) {
return clusterPair[0].getEnergy() + clusterPair[1].getEnergy();
}
@@ -544,7 +545,7 @@
* @return Returns <code>true</code> if the cluster pair passes
* the cut and <code>false</code> if it does not.
*/
- private boolean pairCoplanarityCut(HPSEcalCluster[] clusterPair) {
+ private boolean pairCoplanarityCut(Cluster[] clusterPair) {
return (getValueCoplanarity(clusterPair) < coplanarityHigh);
}
@@ -556,7 +557,7 @@
* @return Returns <code>true</code> if the cluster pair passes
* the cut and <code>false</code> if it does not.
*/
- private boolean pairEnergyDifferenceCut(HPSEcalCluster[] clusterPair) {
+ private boolean pairEnergyDifferenceCut(Cluster[] clusterPair) {
return (getValueEnergyDifference(clusterPair) < energyDifferenceHigh);
}
@@ -568,7 +569,7 @@
* @param clusterPair : pair of clusters
* @return true if pair is found, false otherwise
*/
- private boolean pairEnergySlopeCut(HPSEcalCluster[] clusterPair) {
+ private boolean pairEnergySlopeCut(Cluster[] clusterPair) {
return (getValueEnergySlope(clusterPair) > energySlopeLow);
}
@@ -580,7 +581,7 @@
* @return Returns <code>true</code> if the cluster pair passes
* the cut and <code>false</code> if it does not.
*/
- private boolean pairEnergySumCut(HPSEcalCluster[] clusterPair) {
+ private boolean pairEnergySumCut(Cluster[] clusterPair) {
// Get the energy sum value.
double energySum = getValueEnergySum(clusterPair);
@@ -701,13 +702,13 @@
*/
private boolean testTrigger() {
// Get the list of cluster pairs.
- List<HPSEcalCluster[]> clusterPairs = getClusterPairsTopBot();
+ List<Cluster[]> clusterPairs = getClusterPairsTopBot();
// Iterate over the cluster pairs and perform each of the cluster
// pair cuts on them. A cluster pair that passes all of the
// cuts registers as a trigger.
pairLoop:
- for (HPSEcalCluster[] clusterPair : clusterPairs) {
+ for (Cluster[] clusterPair : clusterPairs) {
// Increment the number of processed cluster pairs.
allPairs++;
@@ -759,16 +760,16 @@
*
* @param clusterList - The clusters to add to the queues.
*/
- private void updateClusterQueues(List<HPSEcalCluster> clusterList) {
+ private void updateClusterQueues(List<Cluster> clusterList) {
// Create lists to store the top and bottom clusters.
- ArrayList<HPSEcalCluster> topClusterList = new ArrayList<HPSEcalCluster>();
- ArrayList<HPSEcalCluster> botClusterList = new ArrayList<HPSEcalCluster>();
+ ArrayList<Cluster> topClusterList = new ArrayList<Cluster>();
+ ArrayList<Cluster> botClusterList = new ArrayList<Cluster>();
// Loop over the clusters in the cluster list.
- for (HPSEcalCluster cluster : clusterList) {
+ for (Cluster cluster : clusterList) {
// If the cluster is on the top of the calorimeter, it
// goes into the top cluster list.
- if (cluster.getSeedHit().getIdentifierFieldValue("iy") > 0) {
+ if (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy") > 0) {
topClusterList.add(cluster);
}
Modified: java/trunk/users/src/main/java/org/hps/users/luca/FEETrigger.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/FEETrigger.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/FEETrigger.java Tue Jan 6 12:54:22 2015
@@ -3,8 +3,7 @@
import java.util.List;
import org.hps.readout.ecal.TriggerDriver;
-import org.hps.recon.ecal.HPSEcalCluster;
-
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
/**
@@ -72,18 +71,18 @@
*/
@Override
public void process(EventHeader event) {
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the list of clusters from the event.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Loop over the clusters and check for any that pass the threshold.
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// Check if the current cluster exceeds the energy
// threshold. If it does not, continue to the next
// cluster in the list.
if(cluster.getEnergy() > energyThreshold) {
// Get the x-index of the seed hit.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
// Determine in which region the cluster is located
// and increment the counter for that region. Zones
@@ -171,7 +170,7 @@
protected boolean triggerDecision(EventHeader event) {
// Check if the event has clusters. An event with no clusters
// should never result in a trigger.
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Check if any of the zone counts are high enough to trigger.
return triggerTest();
}
Modified: java/trunk/users/src/main/java/org/hps/users/luca/FEETrigger2.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/FEETrigger2.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/FEETrigger2.java Tue Jan 6 12:54:22 2015
@@ -3,8 +3,7 @@
import java.util.List;
import org.hps.readout.ecal.TriggerDriver;
-import org.hps.recon.ecal.HPSEcalCluster;
-
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
/**
@@ -73,18 +72,18 @@
*/
@Override
public void process(EventHeader event) {
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Get the list of clusters from the event.
- List<HPSEcalCluster> clusterList = event.get(HPSEcalCluster.class, clusterCollectionName);
+ List<Cluster> clusterList = event.get(Cluster.class, clusterCollectionName);
// Loop over the clusters and check for any that pass the threshold.
- for(HPSEcalCluster cluster : clusterList) {
+ for(Cluster cluster : clusterList) {
// Check if the current cluster exceeds the energy
// threshold. If it does not, continue to the next
// cluster in the list.
if(cluster.getEnergy() > energyThreshold) {
// Get the x-index of the seed hit.
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
// Determine in which region the cluster is located
// and increment the counter for that region. Zones
@@ -115,7 +114,7 @@
protected boolean triggerDecision(EventHeader event) {
// Check if the event has clusters. An event with no clusters
// should never result in a trigger.
- if(event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, clusterCollectionName)) {
// Check if any of the zone counts are high enough to trigger.
return triggerTest();
}
Modified: java/trunk/users/src/main/java/org/hps/users/luca/FeeTriggerAna.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/FeeTriggerAna.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/FeeTriggerAna.java Tue Jan 6 12:54:22 2015
@@ -5,30 +5,17 @@
*/
package org.hps.users.luca;
-import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
+
import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
-
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.aida.AIDA;
import org.lcsim.util.Driver;
-import hep.aida.*;
-
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
/**
@@ -43,7 +30,7 @@
int TotalCluster=0;
double timeDifference;
double energyThreshold=0;
- private LinkedList<ArrayList<HPSEcalCluster>> clusterBuffer;
+ private LinkedList<ArrayList<Cluster>> clusterBuffer;
protected String clusterCollectionName = "EcalClusters";
//AIDA aida = AIDA.defaultInstance();
@@ -91,12 +78,12 @@
public void startOfData(){
//initialize the clusterbuffer
- clusterBuffer= new LinkedList<ArrayList<HPSEcalCluster>>();
+ clusterBuffer= new LinkedList<ArrayList<Cluster>>();
//populate the clusterbuffer with (2*clusterWindow + 1)
// empty events, representing the fact that the first few events will not have any events in the past portion of the buffer
int bufferSize=(2*clusterWindow)+1;
for(int i = 0;i<bufferSize; i++){
- clusterBuffer.add(new ArrayList<HPSEcalCluster>(0));
+ clusterBuffer.add(new ArrayList<Cluster>(0));
}
@@ -155,21 +142,21 @@
//get the clusters from the event
if(TriggerDriver.triggerBit()){ //if they have triggered!
- if(event.hasCollection(HPSEcalCluster.class, "EcalClusters")) {
+ if(event.hasCollection(Cluster.class, "EcalClusters")) {
- List<HPSEcalCluster> clusterList =event.get(HPSEcalCluster.class,clusterCollectionName );
+ List<Cluster> clusterList =event.get(Cluster.class,clusterCollectionName );
//put the clusters in the arraylist
- ArrayList<HPSEcalCluster> clusterSet = new ArrayList<HPSEcalCluster>();
- for(HPSEcalCluster cluster : clusterList){
+ ArrayList<Cluster> clusterSet = new ArrayList<Cluster>();
+ for(Cluster cluster : clusterList){
// clusterEne.fill(cluster.getEnergy());
TotalCluster++;
// clusterSet.add(cluster);
int id;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getSeedHit().getRawEnergy() + " " + cluster.getSeedHit().getIdentifierFieldValue("ix")+" " +cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
@@ -199,7 +186,7 @@
*/
public void ClusterAnalyzer(){
//get the cluster list at the current time in the buffer
-ArrayList<HPSEcalCluster> currentClusters = clusterBuffer.get(clusterWindow+1);
+ArrayList<Cluster> currentClusters = clusterBuffer.get(clusterWindow+1);
///cerca i cluster nella posizione che ci interessa poi chiama la funzione che decide se sono "isolati"
@@ -210,20 +197,20 @@
posy=y;
//ciclo for nel set di currentCluster, ovvero il set nel mezzo del buffer
- for(HPSEcalCluster cluster : currentClusters){
- if((cluster.getSeedHit().getIdentifierFieldValue("ix")== posx) && (cluster.getSeedHit().getIdentifierFieldValue("iy")==posy )&& (cluster.getEnergy() > energyThreshold)){
+ for(Cluster cluster : currentClusters){
+ if((cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")== posx) && (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")==posy )&& (cluster.getEnergy() > energyThreshold)){
if(ClusterChecker(cluster)){
int id;
Clustercount++;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getSeedHit().getRawEnergy() + " " + cluster.getSeedHit().getIdentifierFieldValue("ix")+" " +cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
writer.append("\n");
- // SeedHistograms.get(id-1).fill(cluster.getSeedHit().getRawEnergy());
+ // SeedHistograms.get(id-1).fill(cluster.getCalorimeterHits().get(0).getRawEnergy());
// ClustHistograms.get(id-1).fill(cluster.getEnergy());
}
@@ -251,19 +238,19 @@
* @return
*/
-public boolean ClusterChecker (HPSEcalCluster cluster){
+public boolean ClusterChecker (Cluster cluster){
//System.out.println("Sono nel clustercheck! \n");
boolean check=true;
//ciclo sulle liste del buffer
loops:
- for(ArrayList<HPSEcalCluster> currentList : clusterBuffer){
+ for(ArrayList<Cluster> currentList : clusterBuffer){
//ciclo sui cluster della lista corrente
- for(HPSEcalCluster currentcluster : currentList){
+ for(Cluster currentcluster : currentList){
if(currentcluster!= cluster){
//if there is a cluster in the buffer that is in the considered radius in a time window lower than expected, the loop is brocken and the analyzed cluster is not good
- if(!((currentcluster.getSeedHit().getIdentifierFieldValue("ix") < posx-radius || currentcluster.getSeedHit().getIdentifierFieldValue("ix")> posx+radius)&& (currentcluster.getSeedHit().getIdentifierFieldValue("iy")< posy-radius || currentcluster.getSeedHit().getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(cluster.getSeedHit().getTime()-currentcluster.getSeedHit().getTime())<timeDifference){
+ if(!((currentcluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix") < posx-radius || currentcluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")> posx+radius)&& (currentcluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")< posy-radius || currentcluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(cluster.getCalorimeterHits().get(0).getTime()-currentcluster.getCalorimeterHits().get(0).getTime())<timeDifference){
check=false;
break loops;
}
@@ -284,10 +271,10 @@
- public int getCrystal (HPSEcalCluster cluster){
+ public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*cluster.getSeedHit().getIdentifierFieldValue("ix");
- y= cluster.getSeedHit().getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/HitSeedHitConf.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/HitSeedHitConf.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/HitSeedHitConf.java Tue Jan 6 12:54:22 2015
@@ -5,31 +5,14 @@
*/
package org.hps.users.luca;
-import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+
+import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.aida.AIDA;
import org.lcsim.util.Driver;
-import hep.aida.*;
-import hep.aida.IHistogram3D;
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
-import org.lcsim.event.MCParticle;
/**
*
@@ -105,13 +88,13 @@
//get the clusters from the event
- if(event.hasCollection(HPSEcalCluster.class, "EcalClusters")) {
- List<HPSEcalCluster> clusterList =event.get(HPSEcalCluster.class,clusterCollectionName );
- for(HPSEcalCluster cluster : clusterList){
+ if(event.hasCollection(Cluster.class, "EcalClusters")) {
+ List<Cluster> clusterList =event.get(Cluster.class,clusterCollectionName );
+ for(Cluster cluster : clusterList){
if(cluster.getEnergy()>1.5){
int id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getSeedHit().getRawEnergy() + " " + cluster.getEnergy()+"\n");
+ writer.append(id + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " " + cluster.getEnergy()+"\n");
}
catch(IOException e ){System.err.println("Error writing to output for event display");}
@@ -144,10 +127,10 @@
-public int getCrystal (HPSEcalCluster cluster){
+public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*cluster.getSeedHit().getIdentifierFieldValue("ix");
- y= cluster.getSeedHit().getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/PositronAna.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/PositronAna.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/PositronAna.java Tue Jan 6 12:54:22 2015
@@ -6,32 +6,17 @@
package org.hps.users.luca;
import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+
+import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
+import org.lcsim.event.ReconstructedParticle;
+import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
-import org.lcsim.util.Driver;
-import hep.aida.*;
-import hep.aida.IHistogram3D;
-import java.io.FileWriter;
-import org.lcsim.event.ReconstructedParticle;
-import org.lcsim.event.CalorimeterHit;
-import org.lcsim.event.MCParticle;
-import org.hps.recon.particle.HpsReconParticleDriver;
/**
*
* @author Luca
@@ -111,7 +96,7 @@
cluscount++;
int id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy() + " " + cluster.getSize() + " " + HPSEcalCluster.getSeedHit(cluster).getCorrectedEnergy() + " " + HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix")+" " +HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy")+ "\n");
+ writer.append(id + " " + cluster.getEnergy() + " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getCorrectedEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")+ "\n");
}
catch(IOException e ){System.err.println("Error writing to output for event display");}
@@ -131,8 +116,8 @@
public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix");
- y= HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/RawDataReader.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/RawDataReader.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/RawDataReader.java Tue Jan 6 12:54:22 2015
@@ -8,17 +8,13 @@
import java.io.FileWriter;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.List;
-import org.hps.recon.ecal.HPSRawCalorimeterHit;
+
import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.EventHeader;
import org.lcsim.event.RawCalorimeterHit;
+import org.lcsim.geometry.IDDecoder;
import org.lcsim.util.Driver;
-import org.lcsim.lcio.LCIOConstants;
-import java.io.PrintWriter;
-import org.lcsim.geometry.IDDecoder;
-import org.lcsim.event.CalorimeterHit;
/**
*
Modified: java/trunk/users/src/main/java/org/hps/users/luca/ReconData.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/ReconData.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/ReconData.java Tue Jan 6 12:54:22 2015
@@ -6,30 +6,18 @@
package org.hps.users.luca;
import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+
+import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
+import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
-import org.lcsim.util.Driver;
-import hep.aida.*;
-import hep.aida.IHistogram3D;
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
-import org.lcsim.event.MCParticle;
/**
*
@@ -199,19 +187,19 @@
//ciclo for nel set di currentCluster, ovvero il set nel mezzo del buffer
for(Cluster cluster : currentClusters){
- if((HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix")== posx) && (HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy")==posy )&& (cluster.getEnergy() > energyThreshold)){
+ if((cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")== posx) && (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")==posy )&& (cluster.getEnergy() > energyThreshold)){
if(ClusterChecker(cluster)){
int id;
Clustercount++;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + HPSEcalCluster.getSeedHit(cluster).getCorrectedEnergy() + " " + HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix")+" " +HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy"));
+ writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getCorrectedEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
writer.append("\n");
- SeedHistograms.get(id-1).fill(HPSEcalCluster.getSeedHit(cluster).getCorrectedEnergy());
+ SeedHistograms.get(id-1).fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
ClustHistograms.get(id-1).fill(cluster.getEnergy());
}
@@ -252,7 +240,7 @@
for(Cluster currentcluster : currentList){
if(currentcluster!= cluster){
//if there is a cluster in the buffer that is in the considered radius in a time window lower than expected, the loop is brocken and the analyzed cluster is not good
- if(!((HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("ix") < posx-radius || HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("ix")> posx+radius)&& (HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("iy")< posy-radius || HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(HPSEcalCluster.getSeedHit(cluster).getTime()-HPSEcalCluster.getSeedHit(currentcluster).getTime())<timeDifference){
+ if(!((cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix") < posx-radius || cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")> posx+radius)&& (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")< posy-radius || cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(cluster.getCalorimeterHits().get(0).getTime()-cluster.getCalorimeterHits().get(0).getTime())<timeDifference){
check=false;
break loops;
}
@@ -275,8 +263,8 @@
public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix");
- y= HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/ReconDataPos.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/ReconDataPos.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/ReconDataPos.java Tue Jan 6 12:54:22 2015
@@ -6,30 +6,19 @@
package org.hps.users.luca;
import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+
+import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
+import org.lcsim.event.ReconstructedParticle;
+import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
-import org.lcsim.util.Driver;
-import hep.aida.*;
-import hep.aida.IHistogram3D;
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
-import org.lcsim.event.MCParticle;
-import org.lcsim.event.ReconstructedParticle;
/**
*
@@ -171,7 +160,7 @@
int id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy() + " " + cluster.getSize() + " " + HPSEcalCluster.getSeedHit(cluster).getCorrectedEnergy() + " " + HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix")+" " +HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy")+ "\n");
+ writer.append(id + " " + cluster.getEnergy() + " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getCorrectedEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")+ "\n");
}
catch(IOException e ){System.err.println("Error writing to output for event display");}
@@ -237,19 +226,19 @@
//ciclo for nel set di currentCluster, ovvero il set nel mezzo del buffer
for(Cluster cluster : currentClusters){
- if((HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix")== posx) && (HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy")==posy )){
+ if((cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")== posx) && (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")==posy )){
if(ClusterChecker(cluster)){
int id;
Clustercount++;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + HPSEcalCluster.getSeedHit(cluster).getCorrectedEnergy() + " " + HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix")+" " +HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy"));
+ writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getCorrectedEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
writer.append("\n");
- SeedHistograms.get(id-1).fill(HPSEcalCluster.getSeedHit(cluster).getCorrectedEnergy());
+ SeedHistograms.get(id-1).fill(cluster.getCalorimeterHits().get(0).getCorrectedEnergy());
ClustHistograms.get(id-1).fill(cluster.getEnergy());
}
@@ -290,7 +279,7 @@
for(Cluster currentcluster : currentList){
if(currentcluster!= cluster){
//if there is a cluster in the buffer that is in the considered radius in a time window lower than expected, the loop is brocken and the analyzed cluster is not good
- if(!((HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("ix") < posx-radius || HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("ix")> posx+radius)&& (HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("iy")< posy-radius || HPSEcalCluster.getSeedHit(currentcluster).getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(HPSEcalCluster.getSeedHit(cluster).getTime()-HPSEcalCluster.getSeedHit(currentcluster).getTime())<timeDifference){
+ if(!((cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix") < posx-radius || cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")> posx+radius)&& (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")< posy-radius || cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(cluster.getCalorimeterHits().get(0).getTime()-cluster.getCalorimeterHits().get(0).getTime())<timeDifference){
check=false;
break loops;
}
@@ -313,8 +302,8 @@
public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("ix");
- y= HPSEcalCluster.getSeedHit(cluster).getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/TriggerAna.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/TriggerAna.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/TriggerAna.java Tue Jan 6 12:54:22 2015
@@ -5,30 +5,17 @@
*/
package org.hps.users.luca;
-import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
+
import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
-
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.aida.AIDA;
import org.lcsim.util.Driver;
-import hep.aida.*;
-
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
/**
@@ -43,7 +30,7 @@
int TotalCluster=0;
double timeDifference;
double energyThreshold=0;
- private LinkedList<ArrayList<HPSEcalCluster>> clusterBuffer;
+ private LinkedList<ArrayList<Cluster>> clusterBuffer;
protected String clusterCollectionName = "EcalClusters";
//AIDA aida = AIDA.defaultInstance();
@@ -91,12 +78,12 @@
public void startOfData(){
//initialize the clusterbuffer
- clusterBuffer= new LinkedList<ArrayList<HPSEcalCluster>>();
+ clusterBuffer= new LinkedList<ArrayList<Cluster>>();
//populate the clusterbuffer with (2*clusterWindow + 1)
// empty events, representing the fact that the first few events will not have any events in the past portion of the buffer
int bufferSize=(2*clusterWindow)+1;
for(int i = 0;i<bufferSize; i++){
- clusterBuffer.add(new ArrayList<HPSEcalCluster>(0));
+ clusterBuffer.add(new ArrayList<Cluster>(0));
}
@@ -140,14 +127,14 @@
@Override
public void process (EventHeader event){
- /* if(event.hasCollection(HPSEcalCluster.class, "EcalClusters")) {
- List<HPSEcalCluster> clusterList =event.get(HPSEcalCluster.class,clusterCollectionName );
- for(HPSEcalCluster cluster : clusterList){
+ /* if(event.hasCollection(Cluster.class, "EcalClusters")) {
+ List<Cluster> clusterList =event.get(Cluster.class,clusterCollectionName );
+ for(Cluster cluster : clusterList){
if(cluster.getEnergy()>energyThreshold){
int idd=getCrystal(cluster);
try{
- writer3.append(idd + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getSeedHit().getRawEnergy() + " " + cluster.getSeedHit().getIdentifierFieldValue("ix")+" " +cluster.getSeedHit().getIdentifierFieldValue("iy")+"\n");
+ writer3.append(idd + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")+"\n");
}
catch(IOException e ){System.err.println("Error writing to output for event display");}
}
@@ -158,20 +145,20 @@
//get the clusters from the event IF they are triggered
if(TriggerDriver.triggerBit()){
- if(event.hasCollection(HPSEcalCluster.class, "EcalClusters")) {
- List<HPSEcalCluster> clusterList =event.get(HPSEcalCluster.class,clusterCollectionName );
+ if(event.hasCollection(Cluster.class, "EcalClusters")) {
+ List<Cluster> clusterList =event.get(Cluster.class,clusterCollectionName );
//put the clusters in the arraylist
- for(HPSEcalCluster cluster : clusterList){
+ for(Cluster cluster : clusterList){
// clusterEne.fill(cluster.getEnergy());
TotalCluster++;
int id;
Clustercount++;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getSeedHit().getRawEnergy() + " " + cluster.getSeedHit().getIdentifierFieldValue("ix")+" " +cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
@@ -191,10 +178,10 @@
}
- public int getCrystal (HPSEcalCluster cluster){
+ public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*cluster.getSeedHit().getIdentifierFieldValue("ix");
- y= cluster.getSeedHit().getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/TriggerAnaFEE.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/TriggerAnaFEE.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/TriggerAnaFEE.java Tue Jan 6 12:54:22 2015
@@ -5,30 +5,17 @@
*/
package org.hps.users.luca;
-import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
+
import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
-
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.aida.AIDA;
import org.lcsim.util.Driver;
-import hep.aida.*;
-
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
/**
@@ -43,7 +30,7 @@
int TotalCluster=0;
double timeDifference;
double energyThreshold=0;
- private LinkedList<ArrayList<HPSEcalCluster>> clusterBuffer;
+ private LinkedList<ArrayList<Cluster>> clusterBuffer;
protected String clusterCollectionName = "EcalClusters";
//AIDA aida = AIDA.defaultInstance();
@@ -88,12 +75,12 @@
public void startOfData(){
//initialize the clusterbuffer
- clusterBuffer= new LinkedList<ArrayList<HPSEcalCluster>>();
+ clusterBuffer= new LinkedList<ArrayList<Cluster>>();
//populate the clusterbuffer with (2*clusterWindow + 1)
// empty events, representing the fact that the first few events will not have any events in the past portion of the buffer
int bufferSize=(2*clusterWindow)+1;
for(int i = 0;i<bufferSize; i++){
- clusterBuffer.add(new ArrayList<HPSEcalCluster>(0));
+ clusterBuffer.add(new ArrayList<Cluster>(0));
}
@@ -141,20 +128,20 @@
//get the clusters from the event IF they are triggered
if(TriggerDriver.triggerBit()){
- if(event.hasCollection(HPSEcalCluster.class, "EcalClusters")) {
- List<HPSEcalCluster> clusterList =event.get(HPSEcalCluster.class,clusterCollectionName );
+ if(event.hasCollection(Cluster.class, "EcalClusters")) {
+ List<Cluster> clusterList =event.get(Cluster.class,clusterCollectionName );
- for(HPSEcalCluster cluster : clusterList){
+ for(Cluster cluster : clusterList){
// clusterEne.fill(cluster.getEnergy());
TotalCluster++;
int id;
Clustercount++;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getSeedHit().getRawEnergy() + " " + cluster.getSeedHit().getIdentifierFieldValue("ix")+" " +cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
@@ -180,10 +167,10 @@
- public int getCrystal (HPSEcalCluster cluster){
+ public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*cluster.getSeedHit().getIdentifierFieldValue("ix");
- y= cluster.getSeedHit().getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/TriggerTest.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/TriggerTest.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/TriggerTest.java Tue Jan 6 12:54:22 2015
@@ -3,11 +3,13 @@
//import hep.aida.ITupleColumn.String;
import hep.aida.IHistogram1D;
-import org.lcsim.util.aida.AIDA;
+
import java.util.List;
+
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
// the class has to be derived from the driver class
Modified: java/trunk/users/src/main/java/org/hps/users/luca/TruthReader.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/TruthReader.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/TruthReader.java Tue Jan 6 12:54:22 2015
@@ -6,29 +6,15 @@
package org.hps.users.luca;
import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
-import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
-import org.lcsim.event.SimCalorimeterHit;
-import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.aida.AIDA;
-import org.lcsim.util.Driver;
-import hep.aida.*;
import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
+import java.io.IOException;
+import java.util.List;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.SimCalorimeterHit;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
/**
* This driver is supposed to read the truth information out of a SLIC output about the energy deposition in a given crystal
* @author Luca
Modified: java/trunk/users/src/main/java/org/hps/users/luca/myTriggerDriver.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/myTriggerDriver.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/myTriggerDriver.java Tue Jan 6 12:54:22 2015
@@ -10,19 +10,18 @@
import hep.aida.IHistogram1D;
import hep.aida.IHistogram2D;
+
import java.io.IOException;
-
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
+
import org.hps.readout.ecal.ClockSingleton;
import org.hps.readout.ecal.TriggerDriver;
-
import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
@@ -72,8 +71,8 @@
protected String clusterCollectionName = "EcalClusters";
// FIFO queues of lists of clusters in each ECal half.
// Each list corresponds to one readout cycle.
- private Queue<List<HPSEcalCluster>> topClusterQueue = null;
- private Queue<List<HPSEcalCluster>> botClusterQueue = null;
+ private Queue<List<Cluster>> topClusterQueue = null;
+ private Queue<List<Cluster>> botClusterQueue = null;
PrintWriter pairWriter;
private enum Flag {
@@ -286,13 +285,13 @@
@Override
public void startOfData() {
//initialize queues and fill with empty lists
- topClusterQueue = new LinkedList<List<HPSEcalCluster>>();
- botClusterQueue = new LinkedList<List<HPSEcalCluster>>();
+ topClusterQueue = new LinkedList<List<Cluster>>();
+ botClusterQueue = new LinkedList<List<Cluster>>();
for (int i = 0; i < 2 * pairCoincidence + 1; i++) {
- topClusterQueue.add(new ArrayList<HPSEcalCluster>());
+ topClusterQueue.add(new ArrayList<Cluster>());
}
for (int i = 0; i < pairCoincidence + 1; i++) {
- botClusterQueue.add(new ArrayList<HPSEcalCluster>());
+ botClusterQueue.add(new ArrayList<Cluster>());
}
super.startOfData();
if (clusterCollectionName == null) {
@@ -310,19 +309,19 @@
@Override
public void process(EventHeader event) {
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
// this needs to run every readout cycle whether or not trigger is live
- updateClusterQueues(event.get(HPSEcalCluster.class, clusterCollectionName));
+ updateClusterQueues(event.get(Cluster.class, clusterCollectionName));
if (pairWriter != null) {
- List<HPSEcalCluster[]> clusterPairs = getClusterPairsTopBot();
- for (HPSEcalCluster[] pair : clusterPairs) {
+ List<Cluster[]> clusterPairs = getClusterPairsTopBot();
+ for (Cluster[] pair : clusterPairs) {
pairWriter.format("%d\t", ClockSingleton.getClock());
- for (HPSEcalCluster cluster : pair) {
- pairWriter.format("%f\t", cluster.getSeedHit().getTime());
- pairWriter.format("%f\t", cluster.getSeedHit().getRawEnergy());
- pairWriter.format("%d\t", cluster.getSeedHit().getIdentifierFieldValue("ix"));
- pairWriter.format("%d\t", cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ for (Cluster cluster : pair) {
+ pairWriter.format("%f\t", cluster.getCalorimeterHits().get(0).getTime());
+ pairWriter.format("%f\t", cluster.getCalorimeterHits().get(0).getRawEnergy());
+ pairWriter.format("%d\t", cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix"));
+ pairWriter.format("%d\t", cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
pairWriter.format("%d\t", cluster.getSize());
pairWriter.format("%f\t", cluster.getEnergy());
pairWriter.format("%f\t", getClusterAngle(cluster));
@@ -339,7 +338,7 @@
@Override
protected boolean triggerDecision(EventHeader event) {
// Get the list of raw ECal hits.
- if (event.hasCollection(HPSEcalCluster.class, clusterCollectionName)) {
+ if (event.hasCollection(Cluster.class, clusterCollectionName)) {
return testTrigger();
} else {
return false;
@@ -349,22 +348,22 @@
public boolean testTrigger() {
boolean trigger = false;
- List<HPSEcalCluster[]> clusterPairs = getClusterPairsTopBot();
+ List<Cluster[]> clusterPairs = getClusterPairsTopBot();
//--- Apply Trigger Cuts ---//
// Iterate through all cluster pairs present in the event. If at least
// one of the cluster pairs satisfies all of the trigger conditions,
// a trigger signal is sent to all other detectors.
- for (HPSEcalCluster[] clusterPair : clusterPairs) {
+ for (Cluster[] clusterPair : clusterPairs) {
EnumSet<Flag> bits = EnumSet.noneOf(Flag.class);
if (outputStream != null) {
outputStream.printf("Event %d: cluster pair (energy %f in quadrant %d (%s), energy %f in quadrant %d (%s))\n",
ClockSingleton.getClock(),
- clusterPair[0].getEnergy(), ECalUtils.getQuadrant(clusterPair[0]), clusterPair[0].getSeedHit().getPositionVec().toString(),
- clusterPair[1].getEnergy(), ECalUtils.getQuadrant(clusterPair[1]), clusterPair[1].getSeedHit().getPositionVec().toString());
+ clusterPair[0].getEnergy(), ECalUtils.getQuadrant(clusterPair[0]), clusterPair[0].getCalorimeterHits().get(0).getPositionVec().toString(),
+ clusterPair[1].getEnergy(), ECalUtils.getQuadrant(clusterPair[1]), clusterPair[1].getCalorimeterHits().get(0).getPositionVec().toString());
}
allPairs++;
@@ -477,9 +476,9 @@
}
trigger = true;
- for (HPSEcalCluster cluster : clusterPair) {
- int ix = cluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = cluster.getSeedHit().getIdentifierFieldValue("iy");
+ for (Cluster cluster : clusterPair) {
+ int ix = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
trigClusterSeeds.fill(ix - 0.5 * Math.signum(ix), iy);
}
}
@@ -518,19 +517,19 @@
writer.close();
}
- protected void updateClusterQueues(List<HPSEcalCluster> ecalClusters) {
- ArrayList<HPSEcalCluster> topClusterList = new ArrayList<HPSEcalCluster>();
- ArrayList<HPSEcalCluster> botClusterList = new ArrayList<HPSEcalCluster>();
- for (HPSEcalCluster ecalCluster : ecalClusters) {
-// System.out.format("add cluster\t%f\t%d\n", ecalCluster.getSeedHit().getTime(), ecalCluster.getSeedHit().getIdentifierFieldValue("iy"));
- if (ecalCluster.getSeedHit().getIdentifierFieldValue("iy") > 0) {
+ protected void updateClusterQueues(List<Cluster> ecalClusters) {
+ ArrayList<Cluster> topClusterList = new ArrayList<Cluster>();
+ ArrayList<Cluster> botClusterList = new ArrayList<Cluster>();
+ for (Cluster ecalCluster : ecalClusters) {
+// System.out.format("add cluster\t%f\t%d\n", ecalCluster.getCalorimeterHits().get(0).getTime(), ecalCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
+ if (ecalCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy") > 0) {
topClusterList.add(ecalCluster);
} else {
botClusterList.add(ecalCluster);
}
- int ix = ecalCluster.getSeedHit().getIdentifierFieldValue("ix");
- int iy = ecalCluster.getSeedHit().getIdentifierFieldValue("iy");
+ int ix = ecalCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ int iy = ecalCluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
clusterSeeds.fill(ix - 0.5 * Math.signum(ix), iy);
}
@@ -546,23 +545,23 @@
* @param ecalClusters : List of ECal clusters
* @return list of cluster pairs
*/
- protected List<HPSEcalCluster[]> getClusterPairsTopBot() {
+ protected List<Cluster[]> getClusterPairsTopBot() {
// Make a list of cluster pairs
- List<HPSEcalCluster[]> clusterPairs = new ArrayList<HPSEcalCluster[]>();
+ List<Cluster[]> clusterPairs = new ArrayList<Cluster[]>();
// Loop over all top-bottom pairs of clusters; higher-energy cluster goes first in the pair
// To apply pair coincidence time, use only bottom clusters from the
// readout cycle pairCoincidence readout cycles ago, and top clusters
// from all 2*pairCoincidence+1 previous readout cycles
- for (HPSEcalCluster botCluster : botClusterQueue.element()) { /////da come capisco sembra un for su tutti i cluster solo della testa della queue..e gli altri?
- for (List<HPSEcalCluster> topClusters : topClusterQueue) {
- for (HPSEcalCluster topCluster : topClusters) {
-// System.out.format("%f\t%f\n", topCluster.getSeedHit().getTime(), botCluster.getSeedHit().getTime());
+ for (Cluster botCluster : botClusterQueue.element()) { /////da come capisco sembra un for su tutti i cluster solo della testa della queue..e gli altri?
+ for (List<Cluster> topClusters : topClusterQueue) {
+ for (Cluster topCluster : topClusters) {
+// System.out.format("%f\t%f\n", topCluster.getCalorimeterHits().get(0).getTime(), botCluster.getCalorimeterHits().get(0).getTime());
if (topCluster.getEnergy() > botCluster.getEnergy()) {
- HPSEcalCluster[] clusterPair = {topCluster, botCluster};
+ Cluster[] clusterPair = {topCluster, botCluster};
clusterPairs.add(clusterPair);
} else {
- HPSEcalCluster[] clusterPair = {botCluster, topCluster};
+ Cluster[] clusterPair = {botCluster, topCluster};
clusterPairs.add(clusterPair);
}
}
@@ -578,7 +577,7 @@
* @param clusterPair : pair of clusters
* @return true if opposite quadrants, false otherwise
*/
- protected boolean oppositeQuadrantsCut(HPSEcalCluster[] clusterPair) {
+ protected boolean oppositeQuadrantsCut(Cluster[] clusterPair) {
int quad1 = ECalUtils.getQuadrant(clusterPair[0]);
int quad2 = ECalUtils.getQuadrant(clusterPair[1]);
@@ -598,7 +597,7 @@
* @param clusterPair: pair of clusters
* @return true if pair passes cut, false if fail
*/
- protected boolean clusterHitCount(HPSEcalCluster[] clusterPair) {
+ protected boolean clusterHitCount(Cluster[] clusterPair) {
return (clusterPair[0].getCalorimeterHits().size() >= minHitCount
&& clusterPair[1].getCalorimeterHits().size() >= minHitCount);
}
@@ -610,7 +609,7 @@
* @param clusterPair : pair of clusters
* @return true if a pair is found, false otherwise
*/
- protected boolean clusterECut(HPSEcalCluster[] clusterPair) {
+ protected boolean clusterECut(Cluster[] clusterPair) {
return (clusterPair[0].getEnergy() < clusterEnergyHigh
&& clusterPair[1].getEnergy() < clusterEnergyHigh
&& clusterPair[0].getEnergy() > clusterEnergyLow
@@ -636,7 +635,7 @@
* @param clusterPair : pair of clusters
* @return true if pair is found, false otherwise
*/
- protected boolean energyDifference(HPSEcalCluster[] clusterPair) {
+ protected boolean energyDifference(Cluster[] clusterPair) {
double clusterEDifference = clusterPair[0].getEnergy() - clusterPair[1].getEnergy();
return (clusterEDifference < energyDifferenceThreshold);
@@ -649,8 +648,8 @@
* @param clusterPair : pair of clusters
* @return true if pair is found, false otherwise
*/
- protected boolean energyDistanceCut(HPSEcalCluster[] clusterPair) {
- HPSEcalCluster lowEnergyCluster = clusterPair[1];
+ protected boolean energyDistanceCut(Cluster[] clusterPair) {
+ Cluster lowEnergyCluster = clusterPair[1];
// Calculate its position
double lowEClusterDistance = getClusterDistance(clusterPair[1]);
@@ -666,23 +665,23 @@
* @param clusterPair : pair of clusters
* @return true if pair is found, false otherwise
*/
- protected boolean coplanarityCut(HPSEcalCluster[] clusterPair) {
+ protected boolean coplanarityCut(Cluster[] clusterPair) {
return (Math.abs(pairUncoplanarity(clusterPair)) < maxCoplanarityAngle);
}
- protected double pairUncoplanarity(HPSEcalCluster[] clusterPair) { // Find the angle between clusters in the pair
+ protected double pairUncoplanarity(Cluster[] clusterPair) { // Find the angle between clusters in the pair
double cluster1Angle = (getClusterAngle(clusterPair[0]) + 180.0) % 180.0;
double cluster2Angle = (getClusterAngle(clusterPair[1]) + 180.0) % 180.0;
return cluster2Angle - cluster1Angle;
}
- protected double getClusterAngle(HPSEcalCluster cluster) { //returns angle in range of -180 to 180
- double position[] = cluster.getSeedHit().getPosition();
+ protected double getClusterAngle(Cluster cluster) { //returns angle in range of -180 to 180
+ double position[] = cluster.getCalorimeterHits().get(0).getPosition();
return Math.toDegrees(Math.atan2(position[1], position[0] - originX));
}
- protected double getClusterDistance(HPSEcalCluster cluster) {
- return Math.hypot(cluster.getSeedHit().getPosition()[0] - originX, cluster.getSeedHit().getPosition()[1]);
+ protected double getClusterDistance(Cluster cluster) {
+ return Math.hypot(cluster.getCalorimeterHits().get(0).getPosition()[0] - originX, cluster.getCalorimeterHits().get(0).getPosition()[1]);
}
}
Modified: java/trunk/users/src/main/java/org/hps/users/luca/mycluster.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/mycluster.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/mycluster.java Tue Jan 6 12:54:22 2015
@@ -6,26 +6,14 @@
package org.hps.users.luca;
import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
-import java.io.IOException;
-
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
+import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
-import org.lcsim.util.Driver;
-import hep.aida.*;
-import hep.aida.IHistogram3D;
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
/**
*
@@ -100,16 +88,16 @@
}
- if(event.hasCollection(HPSEcalCluster.class, "EcalClusters")) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalClusters");
+ if(event.hasCollection(Cluster.class, "EcalClusters")) {
+ List<Cluster> clusters = event.get(Cluster.class, "EcalClusters");
if(clusters.size() > 0) {
- for(HPSEcalCluster cluster : clusters){
+ for(Cluster cluster : clusters){
eneClusterPlot.fill(cluster.getEnergy());
- eneSeedPlot.fill(cluster.getSeedHit().getRawEnergy());
+ eneSeedPlot.fill(cluster.getCalorimeterHits().get(0).getRawEnergy());
if(cluster.getEnergy()>=1.4){
eneClusterPlotcut.fill(cluster.getEnergy());
- eneSeedPlotcut.fill(cluster.getSeedHit().getRawEnergy());
+ eneSeedPlotcut.fill(cluster.getCalorimeterHits().get(0).getRawEnergy());
}
}
Modified: java/trunk/users/src/main/java/org/hps/users/luca/mycluster2.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/mycluster2.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/mycluster2.java Tue Jan 6 12:54:22 2015
@@ -5,31 +5,14 @@
*/
package org.hps.users.luca;
-import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
+
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.aida.AIDA;
import org.lcsim.util.Driver;
-import hep.aida.*;
-import hep.aida.IHistogram3D;
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
-import org.lcsim.event.MCParticle;
/**
*
@@ -41,8 +24,8 @@
int Clustercount=0;
protected String clusterCollectionName = "EcalClusters";
- ArrayList<HPSEcalCluster> ClusterQueue;
- List<HPSEcalCluster> goodCluster;
+ ArrayList<Cluster> ClusterQueue;
+ List<Cluster> goodCluster;
private FileWriter writer;
//private FileWriter writer2;
@@ -82,8 +65,8 @@
public void startOfData(){
- ClusterQueue=new ArrayList<HPSEcalCluster>();
- goodCluster = new ArrayList<HPSEcalCluster>();
+ ClusterQueue=new ArrayList<Cluster>();
+ goodCluster = new ArrayList<Cluster>();
try{
@@ -121,9 +104,9 @@
- if(event.hasCollection(HPSEcalCluster.class, "EcalClusters")) {
+ if(event.hasCollection(Cluster.class, "EcalClusters")) {
- fillQueue(event.get(HPSEcalCluster.class, clusterCollectionName));
+ fillQueue(event.get(Cluster.class, clusterCollectionName));
}
@@ -132,8 +115,8 @@
/**
* Puts cluster collected from events in the ClusterQueue
*/
- public void fillQueue (List<HPSEcalCluster> ecalClusters){
- for(HPSEcalCluster cluster : ecalClusters)
+ public void fillQueue (List<Cluster> ecalClusters){
+ for(Cluster cluster : ecalClusters)
{
ClusterQueue.add(cluster);
@@ -156,7 +139,7 @@
for(int i=0; i< ClusterQueue.size(); i++){
- if(ClusterQueue.get(i).getSeedHit().getIdentifierFieldValue("ix")== posx && ClusterQueue.get(i).getSeedHit().getIdentifierFieldValue("iy")==posy && ClusterQueue.get(i).getEnergy()>1.6){
+ if(ClusterQueue.get(i).getCalorimeterHits().get(0).getIdentifierFieldValue("ix")== posx && ClusterQueue.get(i).getCalorimeterHits().get(0).getIdentifierFieldValue("iy")==posy && ClusterQueue.get(i).getEnergy()>1.6){
// System.out.println("sono nel primo if, ovvero ci sono cluster dove voglio io");
if(ClusterChecker(i)){
goodCluster.add(ClusterQueue.get(i));}
@@ -172,11 +155,11 @@
int id;
- for(HPSEcalCluster cluster :goodCluster){
+ for(Cluster cluster :goodCluster){
Clustercount++;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getSeedHit().getIdentifierFieldValue("ix") + " " + cluster.getSeedHit().getIdentifierFieldValue("iy")+ " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getSeedHit().getRawEnergy() + " ");
+ writer.append(id + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix") + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")+ " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " ");
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
@@ -202,7 +185,7 @@
for (int i=(pos-5);i<pos+5;i++){
///controlla che non esca da array
if(i>=0 && i < ClusterQueue.size()){
- deltaT=Math.abs(ClusterQueue.get(i).getSeedHit().getTime()-ClusterQueue.get(pos).getSeedHit().getTime());
+ deltaT=Math.abs(ClusterQueue.get(i).getCalorimeterHits().get(0).getTime()-ClusterQueue.get(pos).getCalorimeterHits().get(0).getTime());
///controlla la differenza temporale che deve essere >80ns, se è maggiore, check=true, se è minore, checka la posizione
if(deltaT<80)
{check=PositionChecker(i);}
@@ -218,9 +201,9 @@
boolean test=true;
//controllo su posizione orizzontale
- if(ClusterQueue.get(i).getSeedHit().getIdentifierFieldValue("ix")< posx-2 || ClusterQueue.get(i).getSeedHit().getIdentifierFieldValue("ix")> posx+2){
+ if(ClusterQueue.get(i).getCalorimeterHits().get(0).getIdentifierFieldValue("ix")< posx-2 || ClusterQueue.get(i).getCalorimeterHits().get(0).getIdentifierFieldValue("ix")> posx+2){
//se orizzonale soddisfatto, controllo verticale
- if(ClusterQueue.get(i).getSeedHit().getIdentifierFieldValue("iy")< posy-2 || ClusterQueue.get(i).getSeedHit().getIdentifierFieldValue("ix")> posy+2){
+ if(ClusterQueue.get(i).getCalorimeterHits().get(0).getIdentifierFieldValue("iy")< posy-2 || ClusterQueue.get(i).getCalorimeterHits().get(0).getIdentifierFieldValue("ix")> posy+2){
test= true;
}
@@ -232,10 +215,10 @@
return test;
}
- public int getCrystal (HPSEcalCluster cluster){
+ public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*cluster.getSeedHit().getIdentifierFieldValue("ix");
- y= cluster.getSeedHit().getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/luca/mycluster3.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/mycluster3.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/mycluster3.java Tue Jan 6 12:54:22 2015
@@ -5,30 +5,16 @@
*/
package org.hps.users.luca;
-import hep.aida.IHistogram1D;
-import hep.aida.IHistogram2D;
+import java.io.FileWriter;
import java.io.IOException;
-import java.util.*;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
-import org.hps.readout.ecal.ClockSingleton;
-import org.hps.readout.ecal.TriggerDriver;
-
-import org.hps.recon.ecal.ECalUtils;
-import org.hps.recon.ecal.HPSEcalCluster;
-
+
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.geometry.Detector;
-import org.lcsim.util.aida.AIDA;
import org.lcsim.util.Driver;
-import hep.aida.*;
-
-import java.io.FileWriter;
-import org.lcsim.event.CalorimeterHit;
/**
@@ -43,7 +29,7 @@
int TotalCluster=0;
double timeDifference;
double energyThreshold=0;
- private LinkedList<ArrayList<HPSEcalCluster>> clusterBuffer;
+ private LinkedList<ArrayList<Cluster>> clusterBuffer;
protected String clusterCollectionName = "EcalClusters";
//AIDA aida = AIDA.defaultInstance();
@@ -91,12 +77,12 @@
public void startOfData(){
//initialize the clusterbuffer
- clusterBuffer= new LinkedList<ArrayList<HPSEcalCluster>>();
+ clusterBuffer= new LinkedList<ArrayList<Cluster>>();
//populate the clusterbuffer with (2*clusterWindow + 1)
// empty events, representing the fact that the first few events will not have any events in the past portion of the buffer
int bufferSize=(2*clusterWindow)+1;
for(int i = 0;i<bufferSize; i++){
- clusterBuffer.add(new ArrayList<HPSEcalCluster>(0));
+ clusterBuffer.add(new ArrayList<Cluster>(0));
}
@@ -155,14 +141,14 @@
//get the clusters from the event
// if(TriggerDriver.triggerBit()){ //if they have triggered!
- if(event.hasCollection(HPSEcalCluster.class, "EcalClusters")) {
+ if(event.hasCollection(Cluster.class, "EcalClusters")) {
- List<HPSEcalCluster> clusterList =event.get(HPSEcalCluster.class,clusterCollectionName );
+ List<Cluster> clusterList =event.get(Cluster.class,clusterCollectionName );
//put the clusters in the arraylist
- ArrayList<HPSEcalCluster> clusterSet = new ArrayList<HPSEcalCluster>();
- for(HPSEcalCluster cluster : clusterList){
+ ArrayList<Cluster> clusterSet = new ArrayList<Cluster>();
+ for(Cluster cluster : clusterList){
// clusterEne.fill(cluster.getEnergy());
TotalCluster++;
clusterSet.add(cluster);
@@ -190,7 +176,7 @@
*/
public void ClusterAnalyzer(){
//get the cluster list at the current time in the buffer
-ArrayList<HPSEcalCluster> currentClusters = clusterBuffer.get(clusterWindow+1);
+ArrayList<Cluster> currentClusters = clusterBuffer.get(clusterWindow+1);
///cerca i cluster nella posizione che ci interessa poi chiama la funzione che decide se sono "isolati"
@@ -201,20 +187,20 @@
posy=y;
//ciclo for nel set di currentCluster, ovvero il set nel mezzo del buffer
- for(HPSEcalCluster cluster : currentClusters){
- if((cluster.getSeedHit().getIdentifierFieldValue("ix")== posx) && (cluster.getSeedHit().getIdentifierFieldValue("iy")==posy )&& (cluster.getEnergy() > energyThreshold)){
+ for(Cluster cluster : currentClusters){
+ if((cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")== posx) && (cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")==posy )&& (cluster.getEnergy() > energyThreshold)){
if(ClusterChecker(cluster)){
int id;
Clustercount++;
id=getCrystal(cluster);
try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getSeedHit().getRawEnergy() + " " + cluster.getSeedHit().getIdentifierFieldValue("ix")+" " +cluster.getSeedHit().getIdentifierFieldValue("iy"));
+ writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy"));
/*for(CalorimeterHit hit : cluster.getCalorimeterHits())
{writer.append(hit.getRawEnergy()+ " ");
}*/
writer.append("\n");
- // SeedHistograms.get(id-1).fill(cluster.getSeedHit().getRawEnergy());
+ // SeedHistograms.get(id-1).fill(cluster.getCalorimeterHits().get(0).getRawEnergy());
// ClustHistograms.get(id-1).fill(cluster.getEnergy());
}
@@ -242,19 +228,19 @@
* @return
*/
-public boolean ClusterChecker (HPSEcalCluster cluster){
+public boolean ClusterChecker (Cluster cluster){
//System.out.println("Sono nel clustercheck! \n");
boolean check=true;
//ciclo sulle liste del buffer
loops:
- for(ArrayList<HPSEcalCluster> currentList : clusterBuffer){
+ for(ArrayList<Cluster> currentList : clusterBuffer){
//ciclo sui cluster della lista corrente
- for(HPSEcalCluster currentcluster : currentList){
+ for(Cluster currentcluster : currentList){
if(currentcluster!= cluster){
//if there is a cluster in the buffer that is in the considered radius in a time window lower than expected, the loop is brocken and the analyzed cluster is not good
- if(!((currentcluster.getSeedHit().getIdentifierFieldValue("ix") < posx-radius || currentcluster.getSeedHit().getIdentifierFieldValue("ix")> posx+radius)&& (currentcluster.getSeedHit().getIdentifierFieldValue("iy")< posy-radius || currentcluster.getSeedHit().getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(cluster.getSeedHit().getTime()-currentcluster.getSeedHit().getTime())<timeDifference){
+ if(!((currentcluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix") < posx-radius || currentcluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")> posx+radius)&& (currentcluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")< posy-radius || currentcluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")> posy+radius))&& Math.abs(cluster.getCalorimeterHits().get(0).getTime()-currentcluster.getCalorimeterHits().get(0).getTime())<timeDifference){
check=false;
break loops;
}
@@ -275,10 +261,10 @@
- public int getCrystal (HPSEcalCluster cluster){
+ public int getCrystal (Cluster cluster){
int x,y,id=0;
- x= (-1)*cluster.getSeedHit().getIdentifierFieldValue("ix");
- y= cluster.getSeedHit().getIdentifierFieldValue("iy");
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
if(y==5){
if(x<0)
Modified: java/trunk/users/src/main/java/org/hps/users/mgraham/TrackExtrapolationAnalysis.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/mgraham/TrackExtrapolationAnalysis.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/mgraham/TrackExtrapolationAnalysis.java Tue Jan 6 12:54:22 2015
@@ -16,6 +16,7 @@
import org.hps.recon.tracking.HelixConverter;
import org.hps.recon.tracking.StraightLineTrack;
import org.hps.recon.tracking.TrackUtils;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.Track;
import org.lcsim.fit.helicaltrack.HelicalTrackFit;
@@ -133,8 +134,8 @@
aida.histogram2D("Extrapolated X: Extend vs SLT").fill(extendAtConverter.y(), slt.getYZAtX(BeamlineConstants.HARP_POSITION_TESTRUN)[0]);
aida.histogram2D("Extrapolated Y: Extend vs SLT").fill(extendAtConverter.z(), slt.getYZAtX(BeamlineConstants.HARP_POSITION_TESTRUN)[1]);
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName);
- HPSEcalCluster clust = findClosestCluster(posAtEcal, clusters);
+ List<Cluster> clusters = event.get(Cluster.class, ecalCollectionName);
+ Cluster clust = findClosestCluster(posAtEcal, clusters);
if (clust != null) {
// System.out.println("Cluster Position = ("+clust.getPosition()[0]+","+clust.getPosition()[1]+","+clust.getPosition()[2]+")");
@@ -456,10 +457,10 @@
style.statisticsBoxStyle().setVisible(true);
}
- private HPSEcalCluster findClosestCluster(Hep3Vector posonhelix, List<HPSEcalCluster> clusters) {
- HPSEcalCluster closest = null;
+ private Cluster findClosestCluster(Hep3Vector posonhelix, List<Cluster> clusters) {
+ Cluster closest = null;
double minDist = 9999;
- for (HPSEcalCluster cluster : clusters) {
+ for (Cluster cluster : clusters) {
double[] clPos = cluster.getPosition();
double clEne = cluster.getEnergy();
// double dist = Math.sqrt(Math.pow(clPos[0] - posonhelix.y(), 2) + Math.pow(clPos[1] - posonhelix.z(), 2)); //coordinates!!!
Modified: java/trunk/users/src/main/java/org/hps/users/omoreno/SvtHitEfficiency.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/omoreno/SvtHitEfficiency.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/omoreno/SvtHitEfficiency.java Tue Jan 6 12:54:22 2015
@@ -15,6 +15,8 @@
import java.util.List;
import java.util.Map;
+import org.hps.recon.tracking.TrackUtils;
+import org.hps.recon.tracking.TrackerHitUtils;
import org.lcsim.detector.ITransform3D;
import org.lcsim.detector.solids.Box;
import org.lcsim.detector.solids.Point3D;
@@ -30,10 +32,6 @@
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
-
-import org.hps.recon.ecal.HPSEcalCluster;
-import org.hps.recon.tracking.TrackUtils;
-import org.hps.recon.tracking.TrackerHitUtils;
/**
* Analysis driver used to calculate the hit efficiency of the SVT.
@@ -250,14 +248,14 @@
if(tracks.size() >= 2 ) return;
// Get the list of Ecal clusters from the event
- List<HPSEcalCluster> ecalClusters = event.get(HPSEcalCluster.class, ecalClustersCollectionName);
+ //List<Cluster> ecalClusters = event.get(Cluster.class, ecalClustersCollectionName);
for(Track track : tracks){
ecalClusterTrackMatch = false;
// Check if there is an Ecal cluster in the same detector volume as the track
- /*for(HPSEcalCluster ecalCluster : ecalClusters){
+ /*for(Cluster ecalCluster : ecalClusters){
if(ecalCluster.getPosition()[1] > 0 && trkUtil.getZ0() > 0){
ecalClusterTrackMatch = true;
break;
Modified: java/trunk/users/src/main/java/org/hps/users/omoreno/SvtTrackAnalysis.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/omoreno/SvtTrackAnalysis.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/omoreno/SvtTrackAnalysis.java Tue Jan 6 12:54:22 2015
@@ -10,8 +10,8 @@
import java.util.List;
import java.util.Map;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.tracking.TrackUtils;
+import org.lcsim.event.Cluster;
//--- org.lcsim ---//
import org.lcsim.event.EventHeader;
import org.lcsim.event.RawTrackerHit;
@@ -264,7 +264,7 @@
List<SeedTrack> tracks = event.get(SeedTrack.class, trackCollectionName);
Map<Hep3Vector,SeedTrack> trackToEcalPosition = new HashMap<Hep3Vector, SeedTrack>();
- Map<SeedTrack, HPSEcalCluster> trackToCluster = new HashMap<SeedTrack, HPSEcalCluster>();
+ Map<SeedTrack, Cluster> trackToCluster = new HashMap<SeedTrack, Cluster>();
List<Hep3Vector> ecalPos = new ArrayList<Hep3Vector>();
for(SeedTrack track : tracks){
@@ -318,14 +318,14 @@
ecalPos.add(positionEcal);
}
- if(!event.hasCollection(HPSEcalCluster.class, "EcalClusters")) return;
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalClusters");
+ if(!event.hasCollection(Cluster.class, "EcalClusters")) return;
+ List<Cluster> clusters = event.get(Cluster.class, "EcalClusters");
for(Hep3Vector ecalP : ecalPos){
double xdiff = 1000;
double ydiff = 1000;
- for(HPSEcalCluster cluster : clusters){
+ for(Cluster cluster : clusters){
double xd = ecalP.y() - cluster.getPosition()[0];
double yd = ecalP.z() - cluster.getPosition()[1];
if(yd < ydiff){
@@ -338,7 +338,7 @@
aida.histogram2D("XY Difference between Ecal Cluster and Track Position").fill(xdiff, ydiff);
}
- for(Map.Entry<SeedTrack, HPSEcalCluster> entry : trackToCluster.entrySet()){
+ for(Map.Entry<SeedTrack, Cluster> entry : trackToCluster.entrySet()){
double Energy = entry.getValue().getEnergy();
SeedTrack track = entry.getKey();
double pTotal = Math.sqrt(track.getPX()*track.getPX() + track.getPY()*track.getPY() + track.getPZ()*track.getPZ());
@@ -351,7 +351,7 @@
aida.histogram2D("E versus P").fill(Energy, pTotal*1000);
}
- for(HPSEcalCluster cluster : clusters){
+ for(Cluster cluster : clusters){
double[] clusterPosition = cluster.getPosition();
System.out.println("Cluster Position: [" + clusterPosition[0] + ", " + clusterPosition[1] + ", " + clusterPosition[2]+ "]");
Modified: java/trunk/users/src/main/java/org/hps/users/omoreno/TestRunTrackReconEfficiency.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/omoreno/TestRunTrackReconEfficiency.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/omoreno/TestRunTrackReconEfficiency.java Tue Jan 6 12:54:22 2015
@@ -11,8 +11,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.tracking.TrackUtils;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.GenericObject;
import org.lcsim.event.Track;
@@ -143,10 +143,10 @@
// First check if the event contains a collection of Ecal clusters. If
// it doesn't skip the event.
- if(!event.hasCollection(HPSEcalCluster.class, ecalClustersCollectionName)) return;
+ if(!event.hasCollection(Cluster.class, ecalClustersCollectionName)) return;
// Get the list of Ecal clusters in the event
- List<HPSEcalCluster> ecalClusters = event.get(HPSEcalCluster.class, ecalClustersCollectionName);
+ List<Cluster> ecalClusters = event.get(Cluster.class, ecalClustersCollectionName);
// Get the list of tracks from the event
List<Track> tracks = event.get(Track.class, trackCollectionName);
@@ -154,7 +154,7 @@
// If the event has a single Ecal cluster satisfying the threshold cut,
// check if there is a track that is well matched to the cluster
if(ecalClusters.size() == 1){
- HPSEcalCluster ecalCluster = ecalClusters.get(0);
+ Cluster ecalCluster = ecalClusters.get(0);
// If the cluster is above the energy threshold, then the track should
// be findable
@@ -246,8 +246,8 @@
}
// Match a track to the trigger cluster
- HPSEcalCluster matchedCluster = null;
- for(HPSEcalCluster ecalCluster : ecalClusters){
+ Cluster matchedCluster = null;
+ for(Cluster ecalCluster : ecalClusters){
if(ecalCluster.getPosition()[1] > 0 && topTrigger){
if(!isClusterMatchedToTrack(ecalCluster, topTracks)){
this.printDebug("Trigger cluster-track match was not found.");
@@ -304,14 +304,14 @@
/**
*
*/
- private boolean isClusterWithinWindow(HPSEcalCluster clusterPosition){
+ private boolean isClusterWithinWindow(Cluster clusterPosition){
return true;
}
/**
*
*/
- private boolean isClusterAboveEnergyThreshold(HPSEcalCluster ecalCluster){
+ private boolean isClusterAboveEnergyThreshold(Cluster ecalCluster){
if(ecalCluster.getEnergy() > thresholdEnergy) return true;
return false;
}
@@ -319,7 +319,7 @@
/**
*
*/
- private boolean hasClustersInOppositeVolumes(List<HPSEcalCluster> ecalClusters){
+ private boolean hasClustersInOppositeVolumes(List<Cluster> ecalClusters){
this.printPosition(ecalClusters.get(0).getPosition());
this.printPosition(ecalClusters.get(1).getPosition());
if((ecalClusters.get(0).getPosition()[1] > 0 && ecalClusters.get(1).getPosition()[1] < 0)
@@ -332,7 +332,7 @@
/**
*
*/
- private boolean isClusterMatchedToTrack(HPSEcalCluster cluster, List<Track> tracks){
+ private boolean isClusterMatchedToTrack(Cluster cluster, List<Track> tracks){
Hep3Vector clusterPos = new BasicHep3Vector(cluster.getPosition());
double rMax = Double.MAX_VALUE;
Track matchedTrack = null;
Modified: java/trunk/users/src/main/java/org/hps/users/phansson/FastTrackResidualDriver.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/phansson/FastTrackResidualDriver.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/phansson/FastTrackResidualDriver.java Tue Jan 6 12:54:22 2015
@@ -20,10 +20,10 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.detector.identifier.IIdentifier;
import org.lcsim.detector.identifier.IIdentifierHelper;
import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
import org.lcsim.geometry.IDDecoder;
@@ -225,8 +225,8 @@
//Get the calorimeter cluster object used to construct the track
- List<HPSEcalCluster> ecal_all_clusters = getAllEcalClustersForFastTracking(event);
- //Exit if no clusters found
+ List<Cluster> ecal_all_clusters = getAllEcalClustersForFastTracking(event);
+ //Exit if no clusters found
if (ecal_all_clusters.size()==0) return;
//if ( 1==1 ) return;
@@ -442,10 +442,10 @@
-// private List<HPSEcalCluster> getAllEcalClusters(EventHeader event) {
+// private List<Cluster> getAllEcalClusters(EventHeader event) {
//
-// List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalReadoutHits");
-// //List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalClusters");
+// List<Cluster> clusters = event.get(Cluster.class, "EcalReadoutHits");
+// //List<Cluster> clusters = event.get(Cluster.class, "EcalClusters");
//
// if ( debug) {
// System.out.println("Found " + clusters.size() + " clusters");
@@ -454,18 +454,18 @@
// }
- public int[] getCrystalPair(HPSEcalCluster cluster) {
+ public int[] getCrystalPair(Cluster cluster) {
int[] pos = new int[2];
- pos[0] = cluster.getSeedHit().getIdentifierFieldValue("ix");
- pos[1] = cluster.getSeedHit().getIdentifierFieldValue("iy");
-
- //System.out.println("cluster ix,iy " + pos[0] + "," + pos[1] + " from pos " + cluster.getSeedHit().getPositionVec().toString());
+ pos[0] = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ pos[1] = cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
+
+ //System.out.println("cluster ix,iy " + pos[0] + "," + pos[1] + " from pos " + cluster.getCalorimeterHits().get(0).getPositionVec().toString());
return pos;
//getCrystalPair(cluster.getPosition());
}
- private List<Integer> getEcalClustersForFastTracking(List<HPSEcalCluster> clusters, String side) {
+ private List<Integer> getEcalClustersForFastTracking(List<Cluster> clusters, String side) {
if(side!="up" && side!="down") {
throw new RuntimeException("This ecal side" + side + " do not exist!!");
}
@@ -494,7 +494,7 @@
return cls;
}
- private int selectCluster(List<Integer> ids, List<HPSEcalCluster> clusters) {
+ private int selectCluster(List<Integer> ids, List<Cluster> clusters) {
//need to decide which cluster to take
@@ -536,17 +536,12 @@
}
- private List<HPSEcalCluster> getAllEcalClustersForFastTracking(EventHeader event) {
-
- //List<HPSEcalCluster> clusters = new ArrayList<HPSEcalCluster>();
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalClusters");
- //List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalReadoutHits");
- //List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalCalHits");
+ private List<Cluster> getAllEcalClustersForFastTracking(EventHeader event) {
+ List<Cluster> clusters = event.get(Cluster.class, "EcalClusters");
if ( debug) {
System.out.println("Found " + clusters.size() + " EcalClusters");
}
-
-
+
return clusters;
}
Modified: java/trunk/users/src/main/java/org/hps/users/phansson/ROOTFlatTupleDriver.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/phansson/ROOTFlatTupleDriver.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/phansson/ROOTFlatTupleDriver.java Tue Jan 6 12:54:22 2015
@@ -23,7 +23,6 @@
import org.hps.analysis.ecal.HPSMCParticlePlotsDriver;
//===> import org.hps.conditions.deprecated.SvtUtils;
import org.hps.readout.ecal.TriggerData;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.tracking.BeamlineConstants;
import org.hps.recon.tracking.EventQuality;
import org.hps.recon.tracking.HPSTrack;
@@ -37,6 +36,7 @@
import org.lcsim.detector.identifier.IIdentifierHelper;
import org.lcsim.detector.tracker.silicon.DopedSilicon;
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.GenericObject;
import org.lcsim.event.MCParticle;
@@ -325,23 +325,23 @@
}
- List<HPSEcalCluster> clusters = new ArrayList<HPSEcalCluster>();
-
- if(!event.hasCollection(HPSEcalCluster.class, ecalClusterCollectionName)) {
+ List<Cluster> clusters = new ArrayList<Cluster>();
+
+ if(!event.hasCollection(Cluster.class, ecalClusterCollectionName)) {
if(_debug) {
System.out.println(this.getClass().getSimpleName() + ": event doesn't have a ecal cluster collection ");
}
} else {
- clusters = event.get(HPSEcalCluster.class, ecalClusterCollectionName);
+ clusters = event.get(Cluster.class, ecalClusterCollectionName);
if(_debug) {
System.out.println(this.getClass().getSimpleName() + ": found " + clusters.size() + " ecal clusters " + event.getEventNumber());
}
boolean goodRegion = false;
- for(HPSEcalCluster c : clusters) {
- int iy = c.getSeedHit().getIdentifierFieldValue("iy");
- int ix = c.getSeedHit().getIdentifierFieldValue("ix");
+ for(Cluster c : clusters) {
+ int iy = c.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
+ int ix = c.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
double E = c.getEnergy();
int evtnr = event.getEventNumber();
int clsize = c.getSize();
@@ -525,13 +525,13 @@
* @return clostest cluster.
*/
- private HPSEcalCluster findEcalCluster(Track trk, List<HPSEcalCluster> clusters) {
- HPSEcalCluster matched_cluster = null;
+ private Cluster findEcalCluster(Track trk, List<Cluster> clusters) {
+ Cluster matched_cluster = null;
double drMin = 9999999.9;
double drMax = 9999999.9;
double dr;
Hep3Vector pos_cl,pos_trk;
- for(HPSEcalCluster cluster : clusters) {
+ for(Cluster cluster : clusters) {
pos_cl = new BasicHep3Vector(cluster.getPosition());
pos_trk = TrackUtils.extrapolateTrack(trk,pos_cl.z());
dr = VecOp.sub(pos_cl, pos_trk).magnitude();
@@ -545,7 +545,7 @@
return matched_cluster;
}
- private void fillTextTuple(MCParticle e, MCParticle p, List<CmpTrack> tracks, Hep3Vector vtxPosParticle, Hep3Vector vtxPos, Hep3Vector vtxPosFr, Hep3Vector vtxPosNonBend, List<HPSEcalCluster> clusters, EventHeader event) throws IOException {
+ private void fillTextTuple(MCParticle e, MCParticle p, List<CmpTrack> tracks, Hep3Vector vtxPosParticle, Hep3Vector vtxPos, Hep3Vector vtxPosFr, Hep3Vector vtxPosNonBend, List<Cluster> clusters, EventHeader event) throws IOException {
if(doPrintBranchInfoLine) {
throw new RuntimeException("Need to fill tuple branches first!?");
}
@@ -649,7 +649,7 @@
}
else printWriter.format("%5.5f %5.5f %5.5f %5.5f %5.5f ",-9999999.9,-9999999.9,-9999999.9,-9999999.9,-9999999.9);
- HPSEcalCluster matched_cluster = findEcalCluster(trk1, clusters);
+ Cluster matched_cluster = findEcalCluster(trk1, clusters);
if(matched_cluster !=null) {
double[] pos_cluster = matched_cluster.getPosition();
posAtECal = TrackUtils.extrapolateTrack(trk1,pos_cluster[2]);
@@ -816,9 +816,9 @@
else if(clusters.size()<=i) {
printWriter.format("%5.5f %5d %5d %5.5f %5.5f %5.5f %5d ",-999999.9,-999999,-999999,-999999.,-999999.,-999999.,-999999);
} else {
- //for(HPSEcalCluster cl : clusters) {
- int iy = clusters.get(i).getSeedHit().getIdentifierFieldValue("iy");
- int ix = clusters.get(i).getSeedHit().getIdentifierFieldValue("ix");
+ //for(Cluster cl : clusters) {
+ int iy = clusters.get(i).getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
+ int ix = clusters.get(i).getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
double pos[] = clusters.get(i).getPosition();
double E = clusters.get(i).getEnergy();
int clsize = clusters.get(i).getSize();
Modified: java/trunk/users/src/main/java/org/hps/users/phansson/SimpleResiduals.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/phansson/SimpleResiduals.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/phansson/SimpleResiduals.java Tue Jan 6 12:54:22 2015
@@ -17,7 +17,6 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.lcsim.detector.identifier.IIdentifier;
import org.lcsim.detector.tracker.silicon.ChargeCarrier;
import org.lcsim.detector.tracker.silicon.SiSensor;
@@ -25,6 +24,7 @@
import org.lcsim.detector.tracker.silicon.SiStrips;
import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.RawTrackerHit;
import org.lcsim.event.Track;
@@ -208,17 +208,17 @@
return pos;
}
- private List<HPSEcalCluster> getAllEcalClusters(EventHeader event) {
-
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalClusters");
+ private List<Cluster> getAllEcalClusters(EventHeader event) {
+
+ List<Cluster> clusters = event.get(Cluster.class, "EcalClusters");
if ( debug) {
System.out.println("Found " + clusters.size() + " clusters");
}
return clusters;
}
- private double[] getClusterPosition(HPSEcalCluster cluster) {
- CalorimeterHit hit = cluster.getSeedHit();
+ private double[] getClusterPosition(Cluster cluster) {
+ CalorimeterHit hit = cluster.getCalorimeterHits().get(0);
//IDDecoder dec = dec.getSubdetector("Ecal").getIDDecoder();
dec.setID(hit.getCellID());
@@ -231,14 +231,14 @@
}
- private List<Hep3Vector> getEcalClustersForFastTracking(List<HPSEcalCluster> clusters, String side) {
+ private List<Hep3Vector> getEcalClustersForFastTracking(List<Cluster> clusters, String side) {
if(!side.equalsIgnoreCase("up") && !side.equalsIgnoreCase("down")) {
throw new RuntimeException("This ecal side" + side + " do not exist!!");
}
List<Hep3Vector> cls = new ArrayList<Hep3Vector>();
boolean save;
double [] pos_xy;
- for ( HPSEcalCluster cl : clusters) {
+ for ( Cluster cl : clusters) {
save=false;
pos_xy = getClusterPosition(cl);
if(pos_xy[1]>=0 && side.equalsIgnoreCase("up")) {
@@ -262,9 +262,9 @@
}
- private List<HPSEcalCluster> getAllEcalClustersForFastTracking(EventHeader event) {
-
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, "EcalClusters");
+ private List<Cluster> getAllEcalClustersForFastTracking(EventHeader event) {
+
+ List<Cluster> clusters = event.get(Cluster.class, "EcalClusters");
if ( debug) {
System.out.println("Found " + clusters.size() + " clusters");
}
@@ -284,7 +284,7 @@
List<SiTrackerHitStrip1D> trackerHits = getAllHitsInEvent(event);
//Get the calorimeter cluster object used to construct the track
- List<HPSEcalCluster> ecal_all_clusters = getAllEcalClustersForFastTracking(event);
+ List<Cluster> ecal_all_clusters = getAllEcalClustersForFastTracking(event);
//Exit if no clusters found
if (ecal_all_clusters.size()==0) return;
Modified: java/trunk/users/src/main/java/org/hps/users/phansson/TrackingReconstructionPlots.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/phansson/TrackingReconstructionPlots.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/phansson/TrackingReconstructionPlots.java Tue Jan 6 12:54:22 2015
@@ -14,7 +14,6 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.tracking.BeamlineConstants;
import org.hps.recon.tracking.DumbShaperFit;
import org.hps.recon.tracking.HelixConverter;
@@ -24,6 +23,7 @@
import org.hps.recon.tracking.TrackUtils;
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.LCIOParameters.ParameterName;
import org.lcsim.event.RawTrackerHit;
@@ -648,9 +648,9 @@
List<Track> tracks = event.get(Track.class, trackCollectionName);
nTracks.fill(tracks.size());
- if (event.hasCollection(HPSEcalCluster.class, ecalCollectionName)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName);
- for (HPSEcalCluster cluster : clusters) {
+ if (event.hasCollection(Cluster.class, ecalCollectionName)) {
+ List<Cluster> clusters = event.get(Cluster.class, ecalCollectionName);
+ for (Cluster cluster : clusters) {
//System.out.println("cluser position = ("+cluster.getPosition()[0]+","+cluster.getPosition()[1]+") with energy = "+cluster.getEnergy());
if (cluster.getPosition()[1] > 0) {
aida.histogram2D("Top ECal Cluster Position").fill(cluster.getPosition()[0], cluster.getPosition()[1]);
@@ -848,10 +848,10 @@
}
}
}
- if(event.hasCollection(HPSEcalCluster.class,ecalCollectionName)) {
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName);
-
- HPSEcalCluster clust = findClosestCluster(posAtEcal, clusters);
+ if(event.hasCollection(Cluster.class,ecalCollectionName)) {
+ List<Cluster> clusters = event.get(Cluster.class, ecalCollectionName);
+
+ Cluster clust = findClosestCluster(posAtEcal, clusters);
// if (clust != null) {
if (clust != null) {
@@ -1028,10 +1028,10 @@
//bottomFrame.dispose();
}
- private HPSEcalCluster findClosestCluster(Hep3Vector posonhelix, List<HPSEcalCluster> clusters) {
- HPSEcalCluster closest = null;
+ private Cluster findClosestCluster(Hep3Vector posonhelix, List<Cluster> clusters) {
+ Cluster closest = null;
double minDist = 9999;
- for (HPSEcalCluster cluster : clusters) {
+ for (Cluster cluster : clusters) {
double[] clPos = cluster.getPosition();
double clEne = cluster.getEnergy();
double dist = Math.sqrt(Math.pow(clPos[0] - posonhelix.x(), 2) + Math.pow(clPos[1] - posonhelix.y(), 2)); //coordinates!!!
Modified: java/trunk/users/src/main/java/org/hps/users/phansson/TrigRateDriver.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/phansson/TrigRateDriver.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/phansson/TrigRateDriver.java Tue Jan 6 12:54:22 2015
@@ -15,8 +15,8 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.hps.recon.ecal.HPSEcalCluster;
import org.hps.recon.tracking.BeamlineConstants;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.Track;
import org.lcsim.geometry.Detector;
@@ -255,8 +255,8 @@
if(simTrigger) {
boolean trigger = false;
- if(event.hasCollection(HPSEcalCluster.class, triggerClusterCollectionName)) {
- for(HPSEcalCluster cluster : event.get(HPSEcalCluster.class, triggerClusterCollectionName)) {
+ if(event.hasCollection(Cluster.class, triggerClusterCollectionName)) {
+ for(Cluster cluster : event.get(Cluster.class, triggerClusterCollectionName)) {
if(cluster.getEnergy() > triggerThreshold) {
trigger = true;
}
@@ -276,7 +276,7 @@
//fastTracking(event);
- List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalClusterCollectionName);
+ List<Cluster> clusters = event.get(Cluster.class, ecalClusterCollectionName);
if(debug) System.out.println( clusters.size() + " ECal clusters in the event");
@@ -295,11 +295,11 @@
}
- for(HPSEcalCluster cl : clusters) {
+ for(Cluster cl : clusters) {
int[] clusterPosIdx = new int[2];
- clusterPosIdx[0] = cl.getSeedHit().getIdentifierFieldValue("ix");
- clusterPosIdx[1] = cl.getSeedHit().getIdentifierFieldValue("iy");
+ clusterPosIdx[0] = cl.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ clusterPosIdx[1] = cl.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
//Uses shower max position -> update ix,iy above? --> FIX THIS!
double clusterPosY = cl.getPosition()[1];
double clusterPosZ = cl.getPosition()[2];
@@ -356,7 +356,7 @@
}
/*
- private boolean hasBadNeighbours(HPSEcalCluster cluster) {
+ private boolean hasBadNeighbours(Cluster cluster) {
//check if this cluster has a neighbour that is dead or bad
if(!EcalConditions.badChannelsLoaded()) return false;
List<CalorimeterHit> hits = cluster.getCalorimeterHits();
Modified: java/trunk/users/src/main/java/org/hps/users/phansson/TriggerTurnOnAnalysis.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/phansson/TriggerTurnOnAnalysis.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/phansson/TriggerTurnOnAnalysis.java Tue Jan 6 12:54:22 2015
@@ -19,7 +19,7 @@
import org.hps.analysis.ecal.HPSMCParticlePlotsDriver;
import org.hps.readout.ecal.TriggerData;
-import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
import org.lcsim.geometry.Detector;
@@ -128,9 +128,9 @@
if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": event " + event.getRunNumber() + " has no trigger data");
}
- List<HPSEcalCluster> clusters = null;
- if( event.hasCollection(HPSEcalCluster.class, ecalClusterCollectionName) ) {
- clusters = event.get(HPSEcalCluster.class, ecalClusterCollectionName);
+ List<Cluster> clusters = null;
+ if( event.hasCollection(Cluster.class, ecalClusterCollectionName) ) {
+ clusters = event.get(Cluster.class, ecalClusterCollectionName);
if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": event " + event.getRunNumber() + " has " + clusters.size() + " ecal clusters");
}
else {
|