Author: [log in to unmask]
Date: Fri Oct 21 11:49:08 2016
New Revision: 4519
Log: (empty)
Added:
java/branches/EcalRawConverter split/ (props changed)
- copied from r4518, java/trunk/
java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter.java
- copied, changed from r4518, java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter3.java
java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverterDriver.java
- copied, changed from r4518, java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter3Driver.java
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistograms2015.lcsim
- copied, changed from r4518, java/trunk/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistogramsNoSeedCut.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistograms2016.lcsim
- copied, changed from r4518, java/trunk/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistogramsNoSeedCutNoFlagFilter.lcsim
Removed:
java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter3.java
java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter3Driver.java
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistogramsNoSeedCut.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistogramsNoSeedCutNoFlagFilter.lcsim
Modified:
java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalGainDriver.java
java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTimeCorrectionDriver.java
java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java
java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java
java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/particle/ReconParticleDriver.java
java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/utils/TrackClusterMatcher.java
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/analysis/EcalCosmicClusterAnalysis.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/analysis/EcalCosmicSignalFitAnalysis.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalBasicMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedCommissioning.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedSequenceMonitoringApp.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedSequenceStandalone.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoringFinal.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoringOnly.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalPedestalMonitor.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalPedestalViewer.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalTriggerMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalTriggerWindowMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/ExampleMonitoringPlots.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/Layers4to6TrackingMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/LooseTrackingAndReconMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/OnlineTracking.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/SVTMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/TrackingAndReconMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/FEEFilter_2pt3.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/MollerCandidateFilter_2pt3.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/V0CandidateFilter_2pt3.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/CommRun2014TightPairs.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigPairs0.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigPairs1.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigSingles0.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigSingles1.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PrescaledTriggers.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1_Pass2.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigSingles1.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigSingles1_Pass2.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutNoPileup.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutToEvio.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutToLcio.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014TruthReadoutToLcio.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/MockPulserTrigger.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigPair0.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigPairs1.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigSingles1.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToEvio.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToLcio.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToLcio2014.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalRecon.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalReconMC.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalRecon_Pass1.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015EcalRecon.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullRecon.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconMC.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015HitRecon.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineTruthRecon.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2016FullRecon.lcsim
java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/MuonMonitoring.lcsim
java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/gcharles/FADCSignalAnalysis.java
java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/jeremym/TestRunReconDriver.java
java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/spaul/fee/Cleanup.java
java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/spaul/fee/FeeHistogramDriver.java
Modified: java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalGainDriver.java
=============================================================================
--- java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalGainDriver.java (original)
+++ java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalGainDriver.java Fri Oct 21 11:49:08 2016
@@ -18,6 +18,12 @@
private String outputHitsCollectionName = "EcalCalHits";
+ private boolean isTransient = true;
+
+ public void setIsTransient(boolean val){
+ this.isTransient = val;
+ }
+
public void process(EventHeader event) {
List<CalorimeterHit> hits = event.get(CalorimeterHit.class, inputHitsCollectionName);
@@ -35,7 +41,7 @@
}
event.put(this.outputHitsCollectionName, newHits, CalorimeterHit.class, event.getMetaData(hits).getFlags(), ecalReadoutName);
- event.getMetaData(newHits).setTransient(true);
+ event.getMetaData(newHits).setTransient(isTransient);
}
Copied: java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter.java (from r4518, java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter3.java)
=============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter3.java (original)
+++ java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter.java Fri Oct 21 11:49:08 2016
@@ -34,7 +34,7 @@
* @author Nathan Baltzell <[log in to unmask]>
* @author Holly Szumila <[log in to unmask]>
*/
-public class EcalRawConverter3 {
+public class EcalRawConverter {
/**
@@ -109,7 +109,7 @@
* Currently sets up a listener for DAQ configuration from EVIO. This should be removed to a standalone
* ECalRawConverter solely for trigger emulation.
*/
- public EcalRawConverter3() {
+ public EcalRawConverter() {
// Track changes in the DAQ configuration.
ConfigurationManager.addActionListener(new ActionListener() {
Copied: java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverterDriver.java (from r4518, java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter3Driver.java)
=============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverter3Driver.java (original)
+++ java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalRawConverterDriver.java Fri Oct 21 11:49:08 2016
@@ -31,12 +31,12 @@
* <p>
* The results are by default written to the <b>EcalCalHits</b> output collection.
*/
-public class EcalRawConverter3Driver extends Driver {
+public class EcalRawConverterDriver extends Driver {
// To import database conditions
private EcalConditions ecalConditions = null;
- private EcalRawConverter3 converter = null;
+ private EcalRawConverter converter = null;
/**
* Input collection name (unless runBackwards=true, then it's output). Can be a
* {@link org.lcsim.event.RawTrackerHit} or {@link org.lcsim.event.RawCalorimeterHit} These have ADC and sample time
@@ -107,8 +107,8 @@
*/
private boolean emulateFirmware = true;
- public EcalRawConverter3Driver() {
- converter = new EcalRawConverter3();
+ public EcalRawConverterDriver() {
+ converter = new EcalRawConverter();
}
/**
@@ -410,6 +410,8 @@
// Do not process the event if the DAQ configuration should be
// used for value, but is not initialized.
if (useDAQConfig && !ConfigurationManager.isInitialized()) {
+ System.out.println("useDaqConfig " + useDAQConfig);
+ System.out.println(ConfigurationManager.isInitialized());
return;
}
@@ -439,6 +441,7 @@
* This is for FADC Mode-1 data:
*/
if (event.hasCollection(RawTrackerHit.class, rawCollectionName)) {
+ if(debug) System.out.println("mode1");
List<RawTrackerHit> hits = event.get(RawTrackerHit.class, rawCollectionName);
for (RawTrackerHit hit : hits) {
@@ -474,13 +477,13 @@
/*
* This is for FADC pulse mode data (Mode-3 or Mode-7):
*/
- if (event.hasCollection(RawCalorimeterHit.class, rawCollectionName)) {
-
+ else if (event.hasCollection(RawCalorimeterHit.class, rawCollectionName)) {
+ if(debug)System.out.println("mode3or7");
/*
* This is for FADC Mode-7 data:
*/
if (event.hasCollection(LCRelation.class, extraDataRelationsName)) { // extra information available from
- // mode 7 readout
+ if(debug) System.out.println("mode7"); // mode 7 readout
List<LCRelation> extraDataRelations = event.get(LCRelation.class, extraDataRelationsName);
for (LCRelation rel : extraDataRelations) {
RawCalorimeterHit hit = (RawCalorimeterHit) rel.getFrom();
@@ -508,6 +511,7 @@
/*
* This is for FADC Mode-3 data:
*/
+ if(debug) System.out.println("mode3");
List<RawCalorimeterHit> hits = event.get(RawCalorimeterHit.class, rawCollectionName);
for (RawCalorimeterHit hit : hits) {
if (debug) {
@@ -532,6 +536,11 @@
event.put(ecalCollectionName, newHits, CalorimeterHit.class, flags, ecalReadoutName);
event.getMetaData(newHits).setTransient(true);
}
+ else {
+ if(debug) System.out.println("no raw hit collection");
+ event.put(ecalCollectionName, newHits, CalorimeterHit.class, flags, ecalReadoutName);
+ event.getMetaData(newHits).setTransient(true);
+ }
} else {
ArrayList<RawCalorimeterHit> newHits = new ArrayList<RawCalorimeterHit>();
if (event.hasCollection(CalorimeterHit.class, ecalCollectionName)) {
@@ -553,6 +562,7 @@
event.getMetaData(newHits).setTransient(true);
}
}
+
}
Modified: java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTimeCorrectionDriver.java
=============================================================================
--- java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTimeCorrectionDriver.java (original)
+++ java/branches/EcalRawConverter split/ecal-recon/src/main/java/org/hps/recon/ecal/EcalTimeCorrectionDriver.java Fri Oct 21 11:49:08 2016
@@ -118,7 +118,7 @@
}
event.put(this.outputHitsCollectionName, newHits, CalorimeterHit.class, event.getMetaData(hits).getFlags(), ecalReadoutName);
-
+ event.getMetaData(newHits).setTransient(false);
}
/**
Modified: java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java
=============================================================================
--- java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java (original)
+++ java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/filtering/MollerCandidateFilter.java Fri Oct 21 11:49:08 2016
@@ -4,6 +4,7 @@
import java.util.ArrayList;
import java.util.List;
import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.recon.ecal.cluster.ClusterUtilities;
import org.hps.record.epics.EpicsData;
import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
@@ -41,6 +42,13 @@
private double _mollerMomentumSumMin = 0.85;
private double _mollerMomentumSumMax = 1.3;
private double _fullEnergyCut = 0.85;
+ private int _clusterCountCut = 2;
+ private boolean _useAngleCuts = false;
+ private double _mollerAngleMinY = -.004;
+ private double _mollerAngleMaxY = .003;
+ private double _mollerAngleMinX = .024;
+ private double _mollerAngleMaxX = .034;
+ // private boolean _isGBL = true;
//the following are for the calorimeter cluster cuts
private String _mollerCandidateClusterCollectionName = "EcalClustersCorr";
//first, single cluster cuts
@@ -87,6 +95,9 @@
}
boolean goodPair = false;
for (ReconstructedParticle rp : mollerCandidates) {
+ //check if the candidate was found using GBL method
+ //if(rp.getType() > 31 != _isGBL)
+ //continue;
ReconstructedParticle e1 = null;
ReconstructedParticle e2 = null;
@@ -96,16 +107,21 @@
continue;
}
// require both electrons to be associated with an ECal cluster
+ int nClusters = 0;
e1 = electrons.get(0);
if (e1.getClusters().size() == 0) {
//skipEvent();
- continue;
+ //continue;
+ nClusters++;
}
e2 = electrons.get(1);
if (e2.getClusters().size() == 0) {
//skipEvent();
- continue;
- }
+ //continue;
+ nClusters++;
+ }
+ if(nClusters < _clusterCountCut)
+ continue;
// remove full energy electrons
double p1 = e1.getMomentum().magnitude();
if (p1 > _fullEnergyCut) {
@@ -123,13 +139,27 @@
//skipEvent();
continue;
}
+
+ if(this._useAngleCuts){
+ double ux = (e1.getMomentum().x()+e2.getMomentum().x())
+ /(e1.getMomentum().z() + e2.getMomentum().z());
+ double uy = (e1.getMomentum().y()+e2.getMomentum().y())
+ /(e1.getMomentum().z() + e2.getMomentum().z());
+ if(ux > _mollerAngleMaxX || ux < _mollerAngleMinX
+ || uy > _mollerAngleMaxY || uy < _mollerAngleMinY )
+ continue;
+ }
+
// calorimeter cluster timing cut
// first CalorimeterHit in the list is the seed crystal
- double t1 = e1.getClusters().get(0).getCalorimeterHits().get(0).getTime();
- double t2 = e2.getClusters().get(0).getCalorimeterHits().get(0).getTime();
- if (abs(t1 - t2) > _clusterDeltaTimeCut) {
- //skipEvent();
- continue;
+ if(_clusterCountCut >= 2){
+
+ double t1 = ClusterUtilities.getSeedHitTime(e1.getClusters().get(0));
+ double t2 = ClusterUtilities.getSeedHitTime(e2.getClusters().get(0));
+ if (abs(t1 - t2) > _clusterDeltaTimeCut) {
+ //skipEvent();
+ continue;
+ }
}
goodPair = true;
break;
@@ -278,7 +308,40 @@
{
_tight = b;
}
-
+
+ /**
+ * Require at least n of the electrons to be associated with a cluster. This
+ * only applies when the the tight mode is activated.
+ * @param cut 0 = don't require either electron to be associated with a cluster.
+ * 1 = require at least one electron to be associated with a cluster
+ * 2 = require both electrons to be associated with a cluster, and that they are
+ * within timing cuts of one another
+ * @see setTightConstraint
+ * @see setClusterEDiffLo
+ * @see setClusterEDiffHi
+ */
+ public void setClusterCountCut(int cut){
+ _clusterCountCut = cut;
+ }
+
+ public void setMollerAngleMinY(double cut){
+ this._mollerAngleMinY = cut;
+ }
+
+ public void setMollerAngleMaxY(double cut){
+ this._mollerAngleMaxY = cut;
+ }
+
+ public void setMollerAngleMinX(double cut){
+ this._mollerAngleMinX = cut;
+ }
+
+ public void setMollerAngleMaxX(double cut){
+ this._mollerAngleMaxX = cut;
+ }
+ public void setUseAngleCuts(boolean cut){
+ this._useAngleCuts = cut;
+ }
/**
* Setting this true keeps ALL events containing EPICS data
*
@@ -414,6 +477,10 @@
{
_clusterEDiffHi = d;
}
+
+ /*public void setIsGBL(boolean isGBL){
+ _isGBL = isGBL;
+ }*/
protected void detectorChanged(Detector detector){
Modified: java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java
=============================================================================
--- java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java (original)
+++ java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/filtering/V0CandidateFilter.java Fri Oct 21 11:49:08 2016
@@ -34,7 +34,7 @@
private double trackChi2Cut = 20.0;
private double trackDtCut = 5.0;
private double trackPMax = 0.9;
- private double v0PMax = 1.4;
+ private double V0PMax = 1.4;
private boolean _tight = false;
private boolean _keepEpicsDataEvents = false;
@@ -77,7 +77,7 @@
if (electron.getMomentum().magnitude() > trackPMax || positron.getMomentum().magnitude() > trackPMax) {
continue;
}
- if (v0.getMomentum().magnitude() > v0PMax) {
+ if (v0.getMomentum().magnitude() > V0PMax) {
continue;
}
double eleTime = TrackData.getTrackTime(TrackData.getTrackData(event, electron.getTracks().get(0)));
@@ -147,9 +147,12 @@
public void setTrackPMax(double trackPMax) {
this.trackPMax = trackPMax;
}
-
+ /**
+ * sets the maximum momentum of a v0.
+ * @param v0PMax
+ */
public void setV0PMax(double v0PMax) {
- this.v0PMax = v0PMax;
+ this.V0PMax = v0PMax;
}
/**
Modified: java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/particle/ReconParticleDriver.java
=============================================================================
--- java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/particle/ReconParticleDriver.java (original)
+++ java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/particle/ReconParticleDriver.java Fri Oct 21 11:49:08 2016
@@ -210,6 +210,8 @@
ecal = (HPSEcal3) detector.getSubdetector("Ecal");
matcher.setBFieldMap(detector.getFieldMap());
+
+ matcher.setRunNumber(this.getConditionsManager().getRun());
}
Modified: java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/utils/TrackClusterMatcher.java
=============================================================================
--- java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/utils/TrackClusterMatcher.java (original)
+++ java/branches/EcalRawConverter split/recon/src/main/java/org/hps/recon/utils/TrackClusterMatcher.java Fri Oct 21 11:49:08 2016
@@ -28,6 +28,23 @@
*/
public class TrackClusterMatcher {
+ private boolean is2015 = true;
+ private boolean is2016 = false;
+
+ public void setRunNumber(int run){
+ if(run <7000)
+ {
+ is2015 = true;
+ is2016 = false;
+ } else if(run >= 7000){
+ is2015 = false;
+ is2016 = true;
+ }
+
+
+ }
+
+
/**
* The B field map
*/
@@ -77,17 +94,17 @@
private static final double dxSigmTopPosiGBL[] = { 52.6437,-478.805, 1896.73,-3761.48, 3676.77,-1408.31 };
private static final double dxMeanBotPosiGBL[] = { 4.13802, 15.8887,-74.2844,-9.78944, 308.541,-287.668 };
private static final double dxSigmBotPosiGBL[] = { 37.6513,-294.851, 1002.15,-1639.08, 1228.02,-308.754 };
-
+
private static final double dxMeanTopElecGBL[] = {-1.6473, 5.58701, 25.3977,-17.1523,-121.025, 145.969 };
private static final double dxSigmTopElecGBL[] = { 48.7018,-423.599, 1592.66,-2959.99, 2668.97,-919.876 };
private static final double dxMeanBotElecGBL[] = {-6.63558, 83.7763,-460.451, 1275.63,-1702.83, 873.913 };
private static final double dxSigmBotElecGBL[] = { 47.0029,-411.784, 1586.52,-3083.37, 2985.58,-1145.53 };
-
+
private static final double dyMeanTopPosiGBL[] = { 0.31245, 5.57585,-6.50267,-8.21688, 39.8607,-43.9661 };
private static final double dySigmTopPosiGBL[] = { 33.0213,-275.174, 1168.77,-2642.34, 3045.52,-1406.21 };
private static final double dyMeanBotPosiGBL[] = {-7.032, 74.9738,-383.972, 977.849,-1250.28, 637.75 };
private static final double dySigmBotPosiGBL[] = { 19.019, -83.9253, 133.813, 119.883,-546.951, 405.207 };
-
+
private static final double dyMeanTopElecGBL[] = { 2.48498,-20.4101, 62.9689, 25.6386,-259.957, 207.145 };
private static final double dySigmTopElecGBL[] = { 8.65583, 120.676,-1166.43, 3811.72,-5383.19, 2787.42 };
private static final double dyMeanBotElecGBL[] = {-10.5228, 112.329,-489.761, 953.037,-829.96, 260.772 };
@@ -97,7 +114,7 @@
private static final double dxSigmTopPosiSeed[] ={ 61.5911,-540.596, 2077.22,-3973.22, 3704.45,-1332.07 };
private static final double dxMeanBotPosiSeed[] ={ 4.53394, 11.3773,-63.7127,-2.81629, 273.868,-264.709 };
private static final double dxSigmBotPosiSeed[] ={ 48.3163,-409.249, 1590.36,-3212.85, 3326.04,-1402.3 };
-
+
private static final double dxMeanTopElecSeed[] ={ 2.14163,-20.8713, 76.3054, 34.894,-340.272, 295.24 };
private static final double dxSigmTopElecSeed[] ={ 48.585, -385.166, 1320.26,-2157.45, 1581.06,-366.012 };
private static final double dxMeanBotElecSeed[] ={-3.44302, 12.4687, 4.09878,-30.0057,-13.3151, 40.2707 };
@@ -112,6 +129,121 @@
private static final double dySigmTopElecSeed[] ={ 19.9111,-53.2699,-261.915, 1593.2,-2774.01, 1605.54 };
private static final double dyMeanBotElecSeed[] ={-9.22963, 98.1346, -427.91, 840.225,-751.188, 250.792 };
private static final double dySigmBotElecSeed[] ={ 21.7909,-85.4757,-56.9423, 977.522,-1902.05, 1137.92 };
+
+ /**
+ * Sebouh's parameterization of cluster-seed x/y position residuals as function of momentum (2016 dataset)
+ *
+ * Derived using GBL tracks, corrected cluster positions,
+ * pass0
+ *
+ * f = p0+e*(p1+e*(p2+e*(p3+e*(p4+e*p5))))
+ */
+/*
+ private static final double [] dyMeanBotPosiGBL6hit2016 = {77.9945, -367.199, 681.985, -623.016, 280.573, -49.9745, };
+ private static final double [] dySigmBotPosiGBL6hit2016 = {-15.2206, 117.523, -250.933, 244.778, -113.575, 20.3226, };
+ private static final double [] dyMeanBotElecGBL6hit2016 = {49.9944, -247.693, 492.671, -490.632, 243.826, -48.1752, };
+ private static final double [] dySigmBotElecGBL6hit2016 = {-40.4417, 241.152, -489.323, 470.891, -219.201, 39.7878, };
+
+ private static final double [] dyMeanBotPosiGBL5hit2016 = {128.71, -694.358, 1449.55, -1465.82, 720.023, -137.883, };
+ private static final double [] dySigmBotPosiGBL5hit2016 = {-15.9439, 156.427, -370.722, 386.77, -189.111, 35.4381, };
+ private static final double [] dyMeanBotElecGBL5hit2016 = {38.1751, -213.523, 469.098, -505.911, 266.998, -55.0991, };
+ private static final double [] dySigmBotElecGBL5hit2016 = {21.6397, -49.9722, 64.7889, -56.446, 29.306, -6.4099, };
+
+ private static final double [] dyMeanTopPosiGBL6hit2016 = {-88.9948, 437.827, -832.135, 769.501, -347.288, 61.4144, };
+ private static final double [] dySigmTopPosiGBL6hit2016 = {15.485, -58.4898, 138.735, -171.787, 101.701, -22.8049, };
+ private static final double [] dyMeanTopElecGBL6hit2016 = {-49.5625, 225.394, -408.199, 369.909, -167.7, 30.336, };
+ private static final double [] dySigmTopElecGBL6hit2016 = {-8.67007, 75.2513, -147.319, 124.553, -47.095, 6.20074, };
+
+ private static final double [] dyMeanTopPosiGBL5hit2016 = {-72.9599, 406.113, -868.2, 901.141, -456.089, 90.3709, };
+ private static final double [] dySigmTopPosiGBL5hit2016 = {34.8475, -122.533, 226.898, -239.154, 131.678, -28.9332, };
+ private static final double [] dyMeanTopElecGBL5hit2016 = {-87.8563, 478.962, -1025.21, 1077.11, -554.236, 111.631, };
+ private static final double [] dySigmTopElecGBL5hit2016 = {4.32886, 58.3429, -192.298, 236.952, -133.032, 28.592, };
+
+ private static final double [] dxMeanBotPosiGBL6hit2016 = {31.5144, -87.4705, 124.754, -91.0915, 30.1023, -2.87476, };
+ private static final double [] dxSigmBotPosiGBL6hit2016 = {-5.51162, 52.5903, -105.204, 93.586, -38.888, 6.09808, };
+ private static final double [] dxMeanBotElecGBL6hit2016 = {-47.8222, 197.373, -358.692, 332.371, -155.892, 29.4311, };
+ private static final double [] dxSigmBotElecGBL6hit2016 = {-11.9773, 92.188, -200.815, 203.631, -99.3362, 18.859, };
+
+ private static final double [] dxMeanBotPosiGBL5hit2016 = {-148.55, 757.646, -1424.71, 1296.5, -577.447, 101.232, };
+ private static final double [] dxSigmBotPosiGBL5hit2016 = {-24.7569, 229.389, -559.773, 607.924, -311.008, 61.2712, };
+ private static final double [] dxMeanBotElecGBL5hit2016 = {153.999, -787.482, 1512.17, -1402.98, 632.09, -111.061, };
+ private static final double [] dxSigmBotElecGBL5hit2016 = {-23.6793, 202.804, -454.651, 444.814, -200.14, 33.6897, };
+
+ private static final double [] dxMeanTopPosiGBL6hit2016 = {23.7044, -85.5374, 175.813, -185.283, 97.2983, -20.0758, };
+ private static final double [] dxSigmTopPosiGBL6hit2016 = {-27.4533, 179.931, -389.594, 398.604, -196.682, 37.7472, };
+ private static final double [] dxMeanTopElecGBL6hit2016 = {-59.4029, 240.261, -417.645, 369.171, -163.296, 28.825, };
+ private static final double [] dxSigmTopElecGBL6hit2016 = {18.5216, -73.913, 159.972, -181.291, 101.302, -21.9447, };
+
+ private static final double [] dxMeanTopPosiGBL5hit2016 = {-107.936, 586.981, -1162.4, 1118.48, -526.542, 97.4462, };
+ private static final double [] dxSigmTopPosiGBL5hit2016 = {-137.993, 790.821, -1657.35, 1662.38, -808.347, 153.369, };
+ private static final double [] dxMeanTopElecGBL5hit2016 = {186.482, -1008.69, 2073.59, -2070, 1009.06, -192.524, };
+ private static final double [] dxSigmTopElecGBL5hit2016 = {-130.998, 780.851, -1682.67, 1728.85, -859.353, 166.49, };
+*//*
+ double[] dyMeanBotPosiGBL6hit2016 = {76.386, -355.749, 657.158, -599.207, 269.781, -48.0363, };
+ double[] dySigmBotPosiGBL6hit2016 = {24.886, -93.3569, 176.228, -173.998, 85.7669, -16.6352, };
+ double[] dyMeanBotElecGBL6hit2016 = {14.7302, -35.8852, 0.881613, 60.7453, -54.7411, 14.4077, };
+ double[] dySigmBotElecGBL6hit2016 = {-16.6316, 126.552, -273.246, 271.679, -129.545, 24.0613, };
+ double[] dyMeanBotPosiGBL5hit2016 = {54.4412, -272.099, 526.988, -493.36, 223.824, -39.5213, };
+ double[] dySigmBotPosiGBL5hit2016 = {-30.0667, 242.523, -577.267, 626.406, -322.99, 64.2812, };
+ double[] dyMeanBotElecGBL5hit2016 = {32.1982, -178.197, 383.954, -404.739, 209.386, -42.611, };
+ double[] dySigmBotElecGBL5hit2016 = {15.8702, -12.682, -27.8527, 51.4743, -29.1122, 5.38043, };
+ double[] dyMeanTopPosiGBL6hit2016 = {-8.47113, 21.7777, 6.29773, -54.0174, 47.1875, -12.4179, };
+ double[] dySigmTopPosiGBL6hit2016 = {-59.8395, 370.827, -808.852, 841.75, -424.419, 83.4412, };
+ double[] dyMeanTopElecGBL6hit2016 = {-7.54, -15.3759, 132.696, -223.116, 148.554, -35.2279, };
+ double[] dySigmTopElecGBL6hit2016 = {45.3589, -199.013, 393.364, -392.965, 193.823, -37.5235, };
+ double[] dyMeanTopPosiGBL5hit2016 = {-59.7681, 310.437, -620.664, 604.29, -288.16, 54.1288, };
+ double[] dySigmTopPosiGBL5hit2016 = {-14.7081, 140.524, -325.219, 332.767, -160.604, 29.9904, };
+ double[] dyMeanTopElecGBL5hit2016 = {-68.4627, 357.252, -728.447, 727.106, -355.791, 68.3738, };
+ double[] dySigmTopElecGBL5hit2016 = {32.9657, -98.1713, 131.208, -83.5059, 21.2539, -0.59989, };
+ double[] dxMeanBotPosiGBL6hit2016 = {31.2147, -116.188, 195.903, -167.834, 70.6298, -11.4322, };
+ double[] dxSigmBotPosiGBL6hit2016 = {-43.2952, 256.881, -535.352, 534.306, -259.445, 49.3656, };
+ double[] dxMeanBotElecGBL6hit2016 = {-21.3249, 102.023, -179.275, 157.173, -67.9621, 11.3955, };
+ double[] dxSigmBotElecGBL6hit2016 = {15.8105, -50.0419, 85.0998, -79.8581, 39.8302, -8.19017, };
+ double[] dxMeanBotPosiGBL5hit2016 = {-23.1037, 104.399, -152.938, 95.5368, -21.9497, 0.179488, };
+ double[] dxSigmBotPosiGBL5hit2016 = {-86.753, 485.361, -975.539, 938.701, -439.877, 80.9532, };
+ double[] dxMeanBotElecGBL5hit2016 = {92.5952, -446.918, 865.445, -821.014, 382.368, -70.2243, };
+ double[] dxSigmBotElecGBL5hit2016 = {19.8221, -11.007, -79.6297, 156.173, -108.382, 26.3981, };
+ double[] dxMeanTopPosiGBL6hit2016 = {7.72923, -34.3028, 83.8317, -94.9505, 51.9638, -11.0036, };
+ double[] dxSigmTopPosiGBL6hit2016 = {3.17162, 22.044, -74.0991, 92.5084, -51.7613, 10.8334, };
+ double[] dxMeanTopElecGBL6hit2016 = {-47.372, 226.942, -422.55, 398.481, -187.175, 34.8033, };
+ double[] dxSigmTopElecGBL6hit2016 = {-27.5386, 172.897, -362.912, 361.948, -174.716, 32.8781, };
+ double[] dxMeanTopPosiGBL5hit2016 = {-70.8315, 367.28, -724.039, 703.253, -334.821, 62.623, };
+ double[] dxSigmTopPosiGBL5hit2016 = {12.9482, -2.80579, -42.3264, 64.0832, -35.828, 7.04824, };
+ double[] dxMeanTopElecGBL5hit2016 = {42.3767, -189.344, 342.508, -291.985, 118.356, -18.2747, };
+ double[] dxSigmTopElecGBL5hit2016 = {49.5746, -162.784, 223.237, -141.57, 36.6915, -1.72592, };
+*/
+ public double[] dyMeanBotPosiGBL6hit2016 = {72.8727, -349.792, 659.908, -609.401, 275.825, -49.0676, };
+ public double[] dySigmBotPosiGBL6hit2016 = {0.542039, 41.3834, -107.036, 112.861, -54.9971, 10.2496, };
+ public double[] dyMeanBotElecGBL6hit2016 = {23.3744, -102.575, 180.499, -160.897, 73.1143, -13.5406, };
+ public double[] dySigmBotElecGBL6hit2016 = {10.6042, -9.71466, -7.20257, 18.269, -11.3395, 2.37498, };
+ public double[] dyMeanBotPosiGBL5hit2016 = {91.1448, -485.722, 1000.64, -997.069, 482.173, -90.891, };
+ public double[] dySigmBotPosiGBL5hit2016 = {15.331, -13.969, -9.95641, 17.6406, -6.30352, 0.306464, };
+ public double[] dyMeanBotElecGBL5hit2016 = {73.9845, -410.681, 886.628, -932.107, 477.418, -95.4121, };
+ public double[] dySigmBotElecGBL5hit2016 = {31.3637, -103.524, 175.8, -163.617, 77.6462, -14.5316, };
+ public double[] dyMeanTopPosiGBL6hit2016 = {-59.1694, 287.431, -537.205, 488.602, -217.088, 37.841, };
+ public double[] dySigmTopPosiGBL6hit2016 = {17.1947, -46.1694, 73.2445, -68.7828, 34.5674, -7.04517, };
+ public double[] dyMeanTopElecGBL6hit2016 = {-38.4267, 166.856, -288.99, 253.006, -112.547, 20.3315, };
+ public double[] dySigmTopElecGBL6hit2016 = {15.7803, -33.4529, 37.8619, -25.207, 9.89257, -1.80632, };
+ public double[] dyMeanTopPosiGBL5hit2016 = {-65.1397, 359.576, -755.641, 766.195, -376.992, 72.3575, };
+ public double[] dySigmTopPosiGBL5hit2016 = {-0.969339, 70.4946, -183.979, 193.285, -92.7069, 16.8744, };
+ public double[] dyMeanTopElecGBL5hit2016 = {-64.8351, 348.475, -734.982, 761.337, -386.605, 76.9083, };
+ public double[] dySigmTopElecGBL5hit2016 = {31.1267, -101.085, 172.11, -164.794, 82.0954, -16.3607, };
+ public double[] dxMeanBotPosiGBL6hit2016 = {53.7251, -213.778, 403.441, -391.099, 188.16, -35.5268, };
+ public double[] dxSigmBotPosiGBL6hit2016 = {0.788765, 36.7172, -100.229, 111.245, -56.9087, 11.1304, };
+ public double[] dxMeanBotElecGBL6hit2016 = {-30.663, 110.241, -180.817, 150.732, -63.339, 10.6663, };
+ public double[] dxSigmBotElecGBL6hit2016 = {11.5914, -20.0487, 10.9633, 6.16038, -8.31704, 2.28195, };
+ public double[] dxMeanBotPosiGBL5hit2016 = {-123.057, 615.63, -1114.03, 965.415, -405.989, 66.7158, };
+ public double[] dxSigmBotPosiGBL5hit2016 = {-71.1333, 450.209, -965.641, 969.632, -467.178, 87.3673, };
+ public double[] dxMeanBotElecGBL5hit2016 = {132.665, -691.077, 1358.79, -1304.3, 614.756, -114.219, };
+ public double[] dxSigmBotElecGBL5hit2016 = {4.06496, 40.4378, -101.224, 85.6184, -27.8196, 2.23586, };
+ public double[] dxMeanTopPosiGBL6hit2016 = {47.454, -211.64, 434.46, -442.736, 222.063, -43.7014, };
+ public double[] dxSigmTopPosiGBL6hit2016 = {5.32622, 16.2602, -64.9783, 80.9802, -43.6903, 8.7527, };
+ public double[] dxMeanTopElecGBL6hit2016 = {-41.3676, 144.528, -219.323, 168.447, -63.8399, 9.47804, };
+ public double[] dxSigmTopElecGBL6hit2016 = {29.4225, -121.891, 244.024, -254.159, 132.692, -27.3413, };
+ public double[] dxMeanTopPosiGBL5hit2016 = {-83.0265, 445.42, -851.574, 787.834, -355.755, 63.1193, };
+ public double[] dxSigmTopPosiGBL5hit2016 = {-87.5627, 515.125, -1070.51, 1055.82, -503.379, 93.6303, };
+ public double[] dxMeanTopElecGBL5hit2016 = {176.307, -958.593, 1979.52, -1988.06, 977.153, -188.408, };
+ public double[] dxSigmTopElecGBL5hit2016 = {-98.7794, 586.348, -1237.31, 1241.49, -602.028, 113.743, };
/**
* Z position to start extrapolation from
*/
@@ -229,10 +361,10 @@
* @return distance between cluster and track
*/
public double getDistance(Cluster cluster,Track track) {
-
+
// Get the cluster position
Hep3Vector cPos = new BasicHep3Vector(cluster.getPosition());
-
+
// Extrapolate the track to the Ecal cluster position
Hep3Vector tPos = null;
if (this.useAnalyticExtrapolator) {
@@ -242,10 +374,10 @@
tPos = new BasicHep3Vector(trackStateAtEcal.getReferencePoint());
tPos = CoordinateTransformations.transformVectorToDetector(tPos);
}
-
+
return Math.sqrt(Math.pow(cPos.x()-tPos.x(),2)+Math.pow(cPos.y()-tPos.y(),2));
}
-
+
/**
* Calculate #sigma between cluster-track x/y position at calorimeter.
*
@@ -263,8 +395,8 @@
return getNSigmaPosition(cluster, track);
}
public double getNSigmaPosition(Cluster cluster, Track track){
-
-
+
+
if (this.useAnalyticExtrapolator)
throw new RuntimeException("This is to be used with non-analytic extrapolator only.");
@@ -284,48 +416,88 @@
// whether it's a GBL track:
final boolean isGBL = track.getType() >= 32;
-
+
+
+ // choose which parameterization of mean and sigma to use:
+ double dxMean[], dyMean[], dxSigm[],dySigm[];
+
+ boolean is5hit = track.getTrackerHits().size() == 5;
+
+ int charge = -(int)(Math.signum(TrackUtils.getR(track)));
- // choose which parameterization of mean and sigma to use:
- double dxMean[],dyMean[],dxSigm[],dySigm[];
- int charge = TrackUtils.getCharge(track);
- if (charge>0) {
- if (isTopTrack) {
- dxMean = isGBL ? dxMeanTopPosiGBL : dxMeanTopPosiSeed;
- dxSigm = isGBL ? dxSigmTopPosiGBL : dxSigmTopPosiSeed;
- dyMean = isGBL ? dyMeanTopPosiGBL : dyMeanTopPosiSeed;
- dySigm = isGBL ? dySigmTopPosiGBL : dySigmTopPosiSeed;
- }
- else {
- dxMean = isGBL ? dxMeanBotPosiGBL : dxMeanBotPosiSeed;
- dxSigm = isGBL ? dxSigmBotPosiGBL : dxSigmBotPosiSeed;
- dyMean = isGBL ? dyMeanBotPosiGBL : dyMeanBotPosiSeed;
- dySigm = isGBL ? dySigmBotPosiGBL : dySigmBotPosiSeed;
- }
- }
- else if (charge<0) {
- if (isTopTrack) {
- dxMean = isGBL ? dxMeanTopElecGBL : dxMeanTopElecSeed;
- dxSigm = isGBL ? dxSigmTopElecGBL : dxSigmTopElecSeed;
- dyMean = isGBL ? dyMeanTopElecGBL : dyMeanTopElecSeed;
- dySigm = isGBL ? dySigmTopElecGBL : dySigmTopElecSeed;
- }
- else {
- dxMean = isGBL ? dxMeanBotElecGBL : dxMeanBotElecSeed;
- dxSigm = isGBL ? dxSigmBotElecGBL : dxSigmBotElecSeed;
- dyMean = isGBL ? dyMeanBotElecGBL : dyMeanBotElecSeed;
- dySigm = isGBL ? dySigmBotElecGBL : dySigmBotElecSeed;
- }
+ //System.out.println(charge);
+ if(is2015){
+
+ if (charge>0) {
+ if (isTopTrack) {
+ dxMean = isGBL ? dxMeanTopPosiGBL : dxMeanTopPosiSeed;
+ dxSigm = isGBL ? dxSigmTopPosiGBL : dxSigmTopPosiSeed;
+ dyMean = isGBL ? dyMeanTopPosiGBL : dyMeanTopPosiSeed;
+ dySigm = isGBL ? dySigmTopPosiGBL : dySigmTopPosiSeed;
+ }
+ else {
+ dxMean = isGBL ? dxMeanBotPosiGBL : dxMeanBotPosiSeed;
+ dxSigm = isGBL ? dxSigmBotPosiGBL : dxSigmBotPosiSeed;
+ dyMean = isGBL ? dyMeanBotPosiGBL : dyMeanBotPosiSeed;
+ dySigm = isGBL ? dySigmBotPosiGBL : dySigmBotPosiSeed;
+ }
+ }
+ else if (charge<0) {
+ if (isTopTrack) {
+ dxMean = isGBL ? dxMeanTopElecGBL : dxMeanTopElecSeed;
+ dxSigm = isGBL ? dxSigmTopElecGBL : dxSigmTopElecSeed;
+ dyMean = isGBL ? dyMeanTopElecGBL : dyMeanTopElecSeed;
+ dySigm = isGBL ? dySigmTopElecGBL : dySigmTopElecSeed;
+ }
+ else {
+ dxMean = isGBL ? dxMeanBotElecGBL : dxMeanBotElecSeed;
+ dxSigm = isGBL ? dxSigmBotElecGBL : dxSigmBotElecSeed;
+ dyMean = isGBL ? dyMeanBotElecGBL : dyMeanBotElecSeed;
+ dySigm = isGBL ? dySigmBotElecGBL : dySigmBotElecSeed;
+ }
+ }
+ else return Double.MAX_VALUE;
+ } else if (is2016){
+ if (charge>0) {
+ if (isTopTrack) {
+ dxMean = is5hit ? dxMeanTopPosiGBL5hit2016 : dxMeanTopPosiGBL6hit2016;
+ dxSigm = is5hit ? dxSigmTopPosiGBL5hit2016 : dxSigmTopPosiGBL6hit2016;
+ dyMean = is5hit ? dyMeanTopPosiGBL5hit2016 : dyMeanTopPosiGBL6hit2016;
+ dySigm = is5hit ? dySigmTopPosiGBL5hit2016 : dySigmTopPosiGBL6hit2016;
+ }
+ else {
+ dxMean = is5hit ? dxMeanBotPosiGBL5hit2016 : dxMeanBotPosiGBL6hit2016;
+ dxSigm = is5hit ? dxSigmBotPosiGBL5hit2016 : dxSigmBotPosiGBL6hit2016;
+ dyMean = is5hit ? dyMeanBotPosiGBL5hit2016 : dyMeanBotPosiGBL6hit2016;
+ dySigm = is5hit ? dySigmBotPosiGBL5hit2016 : dySigmBotPosiGBL6hit2016;
+ }
+ }
+ else if (charge<0) {
+ if (isTopTrack) {
+ dxMean = is5hit ? dxMeanTopElecGBL5hit2016 : dxMeanTopElecGBL6hit2016;
+ dxSigm = is5hit ? dxSigmTopElecGBL5hit2016 : dxSigmTopElecGBL6hit2016;
+ dyMean = is5hit ? dyMeanTopElecGBL5hit2016 : dyMeanTopElecGBL6hit2016;
+ dySigm = is5hit ? dySigmTopElecGBL5hit2016 : dySigmTopElecGBL6hit2016;
+ }
+ else {
+ dxMean = is5hit ? dxMeanBotElecGBL5hit2016 : dxMeanBotElecGBL6hit2016;
+ dxSigm = is5hit ? dxSigmBotElecGBL5hit2016 : dxSigmBotElecGBL6hit2016;
+ dyMean = is5hit ? dyMeanBotElecGBL5hit2016 : dyMeanBotElecGBL6hit2016;
+ dySigm = is5hit ? dySigmBotElecGBL5hit2016 : dySigmBotElecGBL6hit2016;
+ }
+ }
+ else return Double.MAX_VALUE;
}
else return Double.MAX_VALUE;
-
// get particle energy:
Hep3Vector p3 = new BasicHep3Vector(track.getTrackStates().get(0).getMomentum());
p3 = CoordinateTransformations.transformVectorToDetector(p3);
double ee = p3.magnitude();
-
+
// Rafo's parameterization isn't measured above 650 MeV/c but expected to be constant:
- if (ee > 0.65) ee=0.65;
+ if (is2015 && ee > 0.65) ee=0.65;
+ // Likewise Sebouh's parameterization of the 2016 data isn't measured above 1500 MeV/c.
+ if (is2016 && ee > 1.5) ee=1.5;
// calculate measured mean and sigma of deltaX and deltaY for this energy:
double aDxMean=0,aDxSigm=0,aDyMean=0,aDySigm=0;
@@ -341,6 +513,210 @@
//return Math.sqrt( 1 / ( 1/nSigmaX/nSigmaX + 1/nSigmaY/nSigmaY ) );
}
+ public double getNSigmaPositionX(Cluster cluster, Track track){
+
+
+ if (this.useAnalyticExtrapolator)
+ throw new RuntimeException("This is to be used with non-analytic extrapolator only.");
+
+ // Get the cluster position:
+ Hep3Vector cPos = new BasicHep3Vector(cluster.getPosition());
+
+ // whether track is in top half of detector:
+ final boolean isTopTrack = track.getTrackStates().get(0).getTanLambda() > 0;
+
+ // ignore if track and cluster in different halves:
+ if (isTopTrack != cPos.y()>0) return Double.MAX_VALUE;
+
+ // Get the extrapolated track position at the calorimeter:
+ TrackState trackStateAtEcal = TrackUtils.getTrackStateAtECal(track);
+ Hep3Vector tPos = new BasicHep3Vector(trackStateAtEcal.getReferencePoint());
+ tPos = CoordinateTransformations.transformVectorToDetector(tPos);
+
+ // whether it's a GBL track:
+ final boolean isGBL = track.getType() >= 32;
+
+
+ // choose which parameterization of mean and sigma to use:
+ double dxMean[], dxSigm[];
+
+ boolean is5hit = track.getTrackerHits().size() == 5;
+
+ int charge = -(int)(Math.signum(TrackUtils.getR(track)));
+
+ //System.out.println(charge);
+ if(is2015){
+
+ if (charge>0) {
+ if (isTopTrack) {
+ dxMean = isGBL ? dxMeanTopPosiGBL : dxMeanTopPosiSeed;
+ dxSigm = isGBL ? dxSigmTopPosiGBL : dxSigmTopPosiSeed;
+ }
+ else {
+ dxMean = isGBL ? dxMeanBotPosiGBL : dxMeanBotPosiSeed;
+ dxSigm = isGBL ? dxSigmBotPosiGBL : dxSigmBotPosiSeed;
+ }
+ }
+ else if (charge<0) {
+ if (isTopTrack) {
+ dxMean = isGBL ? dxMeanTopElecGBL : dxMeanTopElecSeed;
+ dxSigm = isGBL ? dxSigmTopElecGBL : dxSigmTopElecSeed;
+ }
+ else {
+ dxMean = isGBL ? dxMeanBotElecGBL : dxMeanBotElecSeed;
+ dxSigm = isGBL ? dxSigmBotElecGBL : dxSigmBotElecSeed;
+ }
+ }
+ else return Double.MAX_VALUE;
+ } else if (is2016){
+ if (charge>0) {
+ if (isTopTrack) {
+ dxMean = is5hit ? dxMeanTopPosiGBL5hit2016 : dxMeanTopPosiGBL6hit2016;
+ dxSigm = is5hit ? dxSigmTopPosiGBL5hit2016 : dxSigmTopPosiGBL6hit2016;
+ }
+ else {
+ dxMean = is5hit ? dxMeanBotPosiGBL5hit2016 : dxMeanBotPosiGBL6hit2016;
+ dxSigm = is5hit ? dxSigmBotPosiGBL5hit2016 : dxSigmBotPosiGBL6hit2016;
+ }
+ }
+ else if (charge<0) {
+ if (isTopTrack) {
+ dxMean = is5hit ? dxMeanTopElecGBL5hit2016 : dxMeanTopElecGBL6hit2016;
+ dxSigm = is5hit ? dxSigmTopElecGBL5hit2016 : dxSigmTopElecGBL6hit2016;
+ }
+ else {
+ dxMean = is5hit ? dxMeanBotElecGBL5hit2016 : dxMeanBotElecGBL6hit2016;
+ dxSigm = is5hit ? dxSigmBotElecGBL5hit2016 : dxSigmBotElecGBL6hit2016;
+
+ }
+ }
+ else return Double.MAX_VALUE;
+ }
+ else return Double.MAX_VALUE;
+ // get particle energy:
+ Hep3Vector p3 = new BasicHep3Vector(track.getTrackStates().get(0).getMomentum());
+ p3 = CoordinateTransformations.transformVectorToDetector(p3);
+ double ee = p3.magnitude();
+
+ // Rafo's parameterization isn't measured above 650 MeV/c but expected to be constant:
+ if (is2015 && ee > 0.65) ee=0.65;
+ // Likewise Sebouh's parameterization of the 2016 data isn't measured above 1500 MeV/c.
+ if (is2016 && ee > 1.5) ee=1.5;
+
+ // calculate measured mean and sigma of deltaX and deltaY for this energy:
+ double aDxMean=0,aDxSigm=0,aDyMean=0,aDySigm=0;
+ for (int ii=dxMean.length-1; ii>=0; ii--) aDxMean = dxMean[ii] + ee*aDxMean;
+ for (int ii=dxSigm.length-1; ii>=0; ii--) aDxSigm = dxSigm[ii] + ee*aDxSigm;
+
+ // calculate nSigma between track and cluster:
+ final double nSigmaX = (cPos.x() - tPos.x() - aDxMean) / aDxSigm;
+ //final double nSigmaY = (cPos.y() - tPos.y() - aDyMean) / aDySigm;
+ return nSigmaX;
+ //return Math.sqrt( 1 / ( 1/nSigmaX/nSigmaX + 1/nSigmaY/nSigmaY ) );
+ }
+
+ public double getNSigmaPositionY(Cluster cluster, Track track){
+
+
+ if (this.useAnalyticExtrapolator)
+ throw new RuntimeException("This is to be used with non-analytic extrapolator only.");
+
+ // Get the cluster position:
+ Hep3Vector cPos = new BasicHep3Vector(cluster.getPosition());
+
+ // whether track is in top half of detector:
+ final boolean isTopTrack = track.getTrackStates().get(0).getTanLambda() > 0;
+
+ // ignore if track and cluster in different halves:
+ if (isTopTrack != cPos.y()>0) return Double.MAX_VALUE;
+
+ // Get the extrapolated track position at the calorimeter:
+ TrackState trackStateAtEcal = TrackUtils.getTrackStateAtECal(track);
+ Hep3Vector tPos = new BasicHep3Vector(trackStateAtEcal.getReferencePoint());
+ tPos = CoordinateTransformations.transformVectorToDetector(tPos);
+
+ // whether it's a GBL track:
+ final boolean isGBL = track.getType() >= 32;
+
+
+ // choose which parameterization of mean and sigma to use:
+ double dyMean[], dySigm[];
+
+ boolean is5hit = track.getTrackerHits().size() == 5;
+
+ int charge = -(int)(Math.signum(TrackUtils.getR(track)));
+
+ //System.out.println(charge);
+ if(is2015){
+
+ if (charge>0) {
+ if (isTopTrack) {
+ dyMean = isGBL ? dyMeanTopPosiGBL : dyMeanTopPosiSeed;
+ dySigm = isGBL ? dySigmTopPosiGBL : dySigmTopPosiSeed;
+ }
+ else {
+ dyMean = isGBL ? dyMeanBotPosiGBL : dyMeanBotPosiSeed;
+ dySigm = isGBL ? dySigmBotPosiGBL : dySigmBotPosiSeed;
+ }
+ }
+ else if (charge<0) {
+ if (isTopTrack) {
+ dyMean = isGBL ? dyMeanTopElecGBL : dyMeanTopElecSeed;
+ dySigm = isGBL ? dySigmTopElecGBL : dySigmTopElecSeed;
+ }
+ else {
+ dyMean = isGBL ? dyMeanBotElecGBL : dyMeanBotElecSeed;
+ dySigm = isGBL ? dySigmBotElecGBL : dySigmBotElecSeed;
+ }
+ }
+ else return Double.MAX_VALUE;
+ } else if (is2016){
+ if (charge>0) {
+ if (isTopTrack) {
+ dyMean = is5hit ? dyMeanTopPosiGBL5hit2016 : dyMeanTopPosiGBL6hit2016;
+ dySigm = is5hit ? dySigmTopPosiGBL5hit2016 : dySigmTopPosiGBL6hit2016;
+ }
+ else {
+ dyMean = is5hit ? dyMeanBotPosiGBL5hit2016 : dyMeanBotPosiGBL6hit2016;
+ dySigm = is5hit ? dySigmBotPosiGBL5hit2016 : dySigmBotPosiGBL6hit2016;
+ }
+ }
+ else if (charge<0) {
+ if (isTopTrack) {
+ dyMean = is5hit ? dyMeanTopElecGBL5hit2016 : dyMeanTopElecGBL6hit2016;
+ dySigm = is5hit ? dySigmTopElecGBL5hit2016 : dySigmTopElecGBL6hit2016;
+ }
+ else {
+ dyMean = is5hit ? dyMeanBotElecGBL5hit2016 : dyMeanBotElecGBL6hit2016;
+ dySigm = is5hit ? dySigmBotElecGBL5hit2016 : dySigmBotElecGBL6hit2016;
+ }
+ }
+ else return Double.MAX_VALUE;
+ }
+ else return Double.MAX_VALUE;
+ // get particle energy:
+ Hep3Vector p3 = new BasicHep3Vector(track.getTrackStates().get(0).getMomentum());
+ p3 = CoordinateTransformations.transformVectorToDetector(p3);
+ double ee = p3.magnitude();
+
+ // Rafo's parameterization isn't measured above 650 MeV/c but expected to be constant:
+ if (is2015 && ee > 0.65) ee=0.65;
+ // Likewise Sebouh's parameterization of the 2016 data isn't measured above 1500 MeV/c.
+ if (is2016 && ee > 1.5) ee=1.5;
+
+ // calculate measured mean and sigma of deltaX and deltaY for this energy:
+ double aDyMean=0,aDySigm=0;
+ //for (int ii=dxMean.length-1; ii>=0; ii--) aDxMean = dxMean[ii] + ee*aDxMean;
+ //for (int ii=dxSigm.length-1; ii>=0; ii--) aDxSigm = dxSigm[ii] + ee*aDxSigm;
+ for (int ii=dyMean.length-1; ii>=0; ii--) aDyMean = dyMean[ii] + ee*aDyMean;
+ for (int ii=dySigm.length-1; ii>=0; ii--) aDySigm = dySigm[ii] + ee*aDySigm;
+
+ // calculate nSigma between track and cluster:
+ //final double nSigmaX = (cPos.x() - tPos.x() - aDxMean) / aDxSigm;
+ final double nSigmaY = (cPos.y() - tPos.y() - aDyMean) / aDySigm;
+ return nSigmaY;
+ //return Math.sqrt( 1 / ( 1/nSigmaX/nSigmaX + 1/nSigmaY/nSigmaY ) );
+ }
/**
* Determine if a track is matched to a cluster. Currently, this is
@@ -412,14 +788,14 @@
if ((track.getTrackStates().get(0).getTanLambda() > 0 && (deltaX > topClusterTrackMatchDeltaXHigh
|| deltaX < topClusterTrackMatchDeltaXLow))
|| (track.getTrackStates().get(0).getTanLambda() < 0 && (deltaX > bottomClusterTrackMatchDeltaXHigh
- || deltaX < bottomClusterTrackMatchDeltaXLow))) {
+ || deltaX < bottomClusterTrackMatchDeltaXLow))) {
return false;
}
if ((track.getTrackStates().get(0).getTanLambda() > 0 && (deltaY > topClusterTrackMatchDeltaYHigh
|| deltaY < topClusterTrackMatchDeltaYLow))
|| (track.getTrackStates().get(0).getTanLambda() < 0 && (deltaY > bottomClusterTrackMatchDeltaYHigh
- || deltaY < bottomClusterTrackMatchDeltaYLow))) {
+ || deltaY < bottomClusterTrackMatchDeltaYLow))) {
return false;
}
@@ -543,5 +919,5 @@
}
public double getNSigmaPositionMatch() { return nSigmaPositionMatch; }
}
-
+
}
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/analysis/EcalCosmicClusterAnalysis.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/analysis/EcalCosmicClusterAnalysis.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/analysis/EcalCosmicClusterAnalysis.lcsim Fri Oct 21 11:49:08 2016
@@ -6,6 +6,8 @@
<driver name="RawModeHitSelectionDriver"/>
<!-- Convert to CalorimeterHit collection. -->
<driver name="EcalRawConverterDriver"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<!-- Create MIP clusters from selected hits. -->
<driver name="CosmicClusterDriver"/>
<!-- Create profiles and fits from cluster data. -->
@@ -23,8 +25,16 @@
</driver>
<driver name="EcalRawConverterDriver" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalCosmicReadoutHits</rawCollectionName>
- <ecalCollectionName>EcalCosmicCalHits</ecalCollectionName>
+ <ecalCollectionName>EcalCosmicUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCosmicCalHits</outputHitsCollectionName>
+ </driver>
<driver name="CosmicClusterDriver" type="org.hps.recon.ecal.cluster.ClusterDriver">
<clustererName>SimpleCosmicClusterer</clustererName>
<inputHitCollectionName>EcalCosmicCalHits</inputHitCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/analysis/EcalCosmicSignalFitAnalysis.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/analysis/EcalCosmicSignalFitAnalysis.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/analysis/EcalCosmicSignalFitAnalysis.lcsim Fri Oct 21 11:49:08 2016
@@ -6,6 +6,8 @@
<driver name="DualThresholdSignalFitDriver"/>
<!-- Convert to CalorimeterHit collection. -->
<driver name="EcalRawConverterDriver"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<!-- Create MIP clusters from selected hits. -->
<driver name="DualThresholdCosmicClusterDriver"/>
<driver name="LCIODriver"/>
@@ -23,9 +25,18 @@
</driver>
<driver name="EcalRawConverterDriver" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>LooseEcalCosmicReadoutHits</rawCollectionName>
- <ecalCollectionName>LooseEcalCosmicCalHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
<use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
</driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>LooseEcalCosmicCalHits</outputHitsCollectionName>
+ </driver>
<driver name="DualThresholdCosmicClusterDriver" type="org.hps.recon.ecal.cluster.DualThresholdCosmicClusterDriver">
<logLevel>FINEST</logLevel>
<skipNoClusterEvents>true</skipNoClusterEvents>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalBasicMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalBasicMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalBasicMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -2,6 +2,8 @@
<execute>
<driver name="EventMarkerDriver" />
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="EcalMonitoringPlots" />
</execute>
@@ -11,8 +13,17 @@
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<applyBadCrystalMap>false</applyBadCrystalMap>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
<use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
</driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.GTPOnlineClusterDriver">
<verbose>false</verbose>
<logLevel>WARNING</logLevel>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedCommissioning.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedCommissioning.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedCommissioning.lcsim Fri Oct 21 11:49:08 2016
@@ -2,6 +2,8 @@
<execute>
<driver name="EventMarkerDriver" />
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalEventDisplay" /> <!-- Ecal event display -->
</execute>
<drivers>
@@ -10,7 +12,18 @@
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<applyBadCrystalMap>false</applyBadCrystalMap>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalEventDisplay" type="org.hps.monitoring.ecal.plots.EcalEventDisplayWithRawWaveform">
<inputCollection>EcalCalHits</inputCollection>
<inputCollectionRaw>EcalReadoutHits</inputCollectionRaw>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedSequenceMonitoringApp.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedSequenceMonitoringApp.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedSequenceMonitoringApp.lcsim Fri Oct 21 11:49:08 2016
@@ -3,7 +3,9 @@
<execute>
<driver name="EventMarkerDriver"/>
<driver name="EcalRunningPedestal"/>
- <driver name="EcalRawConverter" />
+ <driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="LedAnalysisDriver"/>
<driver name="EcalEventDisplay" /> <!-- Ecal event display -->
<driver name="AidaSaveDriver"/>
@@ -17,14 +19,22 @@
<maxLookbackEvents>50</maxLookbackEvents>
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>true</useRunningPedestal>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
<useTimeWalkCorrection>true</useTimeWalkCorrection>
- </driver>
-
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalEventDisplay" type="org.hps.monitoring.ecal.plots.EcalEventDisplay">
<inputCollection>EcalCalHits</inputCollection>
<inputCollectionRaw>EcalReadoutHits</inputCollectionRaw>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedSequenceStandalone.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedSequenceStandalone.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalLedSequenceStandalone.lcsim Fri Oct 21 11:49:08 2016
@@ -4,7 +4,9 @@
<driver name="EventMarkerDriver"/>
<driver name="EcalRunningPedestal"/>
<driver name="EcalRawConverter" />
- <driver name="LedAnalysisDriver"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
+ <driver name="LedAnalysisDriver"/>
<driver name="AidaSaveDriver"/>
</execute>
<drivers>
@@ -16,14 +18,23 @@
<maxLookbackEvents>50</maxLookbackEvents>
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>true</useRunningPedestal>
- <useTimeWalkCorrection>true</useTimeWalkCorrection>
<nsa>60</nsa> <!-- these are critical since the defaults in software are 100 - 20, as in prod. runs -->
<nsb>16</nsb>
- </driver>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>true</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<!-- <driver name="EcalEventDisplay" type="org.hps.monitoring.ecal.plots.EcalEventDisplay">
<inputCollection>EcalCalHits</inputCollection>
<inputCollectionRaw>EcalReadoutHits</inputCollectionRaw>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -3,6 +3,8 @@
<execute>
<driver name="EventMarkerDriver" />
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="EcalMonitoringPlots" />
<driver name="EcalHitPlots" />
@@ -11,8 +13,17 @@
<drivers>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<applyBadCrystalMap>false</applyBadCrystalMap>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
<use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
</driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.GTPOnlineClusterDriver">
<verbose>false</verbose>
<logLevel>WARNING</logLevel>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoringFinal.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoringFinal.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoringFinal.lcsim Fri Oct 21 11:49:08 2016
@@ -2,6 +2,8 @@
<execute>
<driver name="EcalRawConverter" />
<driver name="EcalClusterer" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalMonitoringPlots" /> <!-- General plots -->
<driver name="EcalHitPlots" /> <!-- Single hit distributions -->
<driver name="EcalClusterPlots" /> <!-- Clusters distributions -->
@@ -20,12 +22,10 @@
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>false</useRunningPedestal>
- <useTimeWalkCorrection>false</useTimeWalkCorrection>
<emulateFirmware>true</emulateFirmware>
<emulateMode7>false</emulateMode7>
<leadingEdgeThreshold>12</leadingEdgeThreshold>
@@ -33,7 +33,16 @@
<nsb>20</nsb>
<nPeak>3</nPeak>
</driver>
-
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>false</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoringOnly.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoringOnly.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalMonitoringOnly.lcsim Fri Oct 21 11:49:08 2016
@@ -2,6 +2,8 @@
<execute>
<driver name="EcalRawConverter" />
<driver name="EcalClusterer" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalMonitoringPlots" /> <!-- General plots -->
<driver name="EcalHitPlots" /> <!-- Single hit distributions -->
<driver name="EcalClusterPlots" /> <!-- Clusters distributions -->
@@ -20,12 +22,10 @@
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>false</useRunningPedestal>
- <useTimeWalkCorrection>false</useTimeWalkCorrection>
<emulateFirmware>true</emulateFirmware>
<emulateMode7>false</emulateMode7>
<leadingEdgeThreshold>12</leadingEdgeThreshold>
@@ -33,6 +33,16 @@
<nsb>20</nsb>
<nPeak>3</nPeak>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>false</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalPedestalMonitor.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalPedestalMonitor.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalPedestalMonitor.lcsim Fri Oct 21 11:49:08 2016
@@ -2,13 +2,25 @@
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<execute>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
+
<driver name="EcalRunningPedestal"/>
<driver name="EcalPedestalMonitor"/>
<driver name="CleanupDriver" />
</execute>
<drivers>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalRunningPedestal" type="org.hps.recon.ecal.EcalRunningPedestalDriver">
<minLookbackEvents>10</minLookbackEvents>
<maxLookbackEvents>50</maxLookbackEvents>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalPedestalViewer.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalPedestalViewer.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalPedestalViewer.lcsim Fri Oct 21 11:49:08 2016
@@ -2,13 +2,25 @@
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<execute>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
+
<driver name="EcalPedestalCalculator"/>
<driver name="EcalPedestalViewer"/>
<driver name="CleanupDriver" />
</execute>
<drivers>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalPedestalCalculator" type="org.hps.recon.ecal.EcalPedestalCalculator">
</driver>
<driver name="EcalPedestalViewer" type="org.hps.monitoring.ecal.plots.EcalPedestalViewer">
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalTriggerMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalTriggerMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalTriggerMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -2,6 +2,8 @@
<execute>
<driver name="EventMarkerDriver" />
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalTriggerFilter" />
<driver name="EcalClusterer" />
<!-- <driver name="EcalPedestalPlots"/>-->
@@ -26,7 +28,17 @@
<dropBadFADC>true</dropBadFADC>
<tp>14.0</tp>
<truncateScale>1</truncateScale>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
+
<driver name="EcalTriggerFilter" type="org.hps.recon.ecal.EcalTriggerFilterDriver">
<inputCollection>EcalCalHits</inputCollection>
<outputCollection>EcalFilteredHits</outputCollection>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalTriggerWindowMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalTriggerWindowMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/EcalTriggerWindowMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -3,6 +3,8 @@
<driver name="EventMarkerDriver" />
<driver name="FADCConverter" />
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<!-- <driver name="EcalIntegralPedestalPlots" /> -->
<driver name="EcalMonitoringPlots" />
@@ -24,9 +26,19 @@
<!--<integralWindow>35</integralWindow> Deprecated, now use the equivalent in NSA/NSB-->
<nsa>120</nsa>
<nsb>20</nsb>
+
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
<gain>1.0</gain>
<use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
</driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalDaqPlots" type="org.hps.monitoring.ecal.plots.EcalDaqPlots">
</driver>
<driver name="EcalMonitoringPlots" type="org.hps.monitoring.ecal.plots.EcalMonitoringPlots">
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/ExampleMonitoringPlots.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/ExampleMonitoringPlots.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/ExampleMonitoringPlots.lcsim Fri Oct 21 11:49:08 2016
@@ -1,6 +1,8 @@
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<execute>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="ExamplePlotDriver" />
</execute>
@@ -9,11 +11,19 @@
<eventInterval>1</eventInterval>
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/Layers4to6TrackingMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/Layers4to6TrackingMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/Layers4to6TrackingMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -17,7 +17,9 @@
<!-- regular tracking and recon -->
<driver name="FullTrackerReconDriver"/>
<driver name="TrackDataDriver"/>
- <driver name="EcalRawConverter" />
+ <driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="ReconParticle" />
<!-- Online Monitoring Drivers -->
@@ -75,19 +77,27 @@
<driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver">
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>false</useRunningPedestal>
- <useTimeWalkCorrection>false</useTimeWalkCorrection>
<emulateFirmware>true</emulateFirmware>
<emulateMode7>false</emulateMode7>
<leadingEdgeThreshold>12</leadingEdgeThreshold>
<nsa>100</nsa>
<nsb>20</nsb>
<nPeak>3</nPeak>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>false</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/LooseTrackingAndReconMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/LooseTrackingAndReconMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/LooseTrackingAndReconMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -14,6 +14,8 @@
<driver name="FullTrackerReconDriver"/>
<driver name="TrackDataDriver"/>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="ReconParticle" />
<!-- Online Monitoring Drivers -->
@@ -59,19 +61,27 @@
<driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver">
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>false</useRunningPedestal>
- <useTimeWalkCorrection>false</useTimeWalkCorrection>
<emulateFirmware>true</emulateFirmware>
<emulateMode7>false</emulateMode7>
<leadingEdgeThreshold>12</leadingEdgeThreshold>
<nsa>100</nsa>
<nsb>20</nsb>
<nPeak>3</nPeak>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>false</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/OnlineTracking.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/OnlineTracking.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/OnlineTracking.lcsim Fri Oct 21 11:49:08 2016
@@ -2,6 +2,8 @@
<execute>
<driver name="EventMarkerDriver" />
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="SVTOccupancyPlots" />
<driver name="RawTrackerHitFitterDriver" />
@@ -13,9 +15,19 @@
</execute>
<drivers>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
+
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
<use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
</driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
+
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.GTPOnlineClusterDriver">
<verbose>false</verbose>
<logLevel>WARNING</logLevel>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/SVTMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/SVTMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/SVTMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -7,6 +7,8 @@
<driver name="HelicalTrackHitDriver" />
<driver name="TrackerReconDriver" />
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="CleanupDriver" />
<driver name="AidaSaveDriver" />
@@ -17,9 +19,17 @@
</driver>
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup" />
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
<use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
</driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.GTPOnlineClusterDriver">
<verbose>false</verbose>
<logLevel>WARNING</logLevel>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/TrackingAndReconMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/TrackingAndReconMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/TrackingAndReconMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -12,7 +12,9 @@
<driver name="HelicalTrackHitDriver" />
<driver name="TrackerReconDriver"/>
<driver name="TrackDataDriver"/>
- <driver name="EcalRawConverter" />
+ <driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="ReconParticle" />
<!-- Online Monitoring Drivers -->
@@ -58,19 +60,27 @@
<driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver">
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>false</useRunningPedestal>
- <useTimeWalkCorrection>false</useTimeWalkCorrection>
<emulateFirmware>true</emulateFirmware>
<emulateMode7>false</emulateMode7>
<leadingEdgeThreshold>12</leadingEdgeThreshold>
<nsa>100</nsa>
<nsb>20</nsb>
<nPeak>3</nPeak>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>false</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/monitoring/TriggerDiagnosticsMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -4,6 +4,8 @@
<driver name="ConditionsDriver"/>
<driver name="DAQConfig"/>
<driver name="EcalRawConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="GTPTestDriver"/>
<driver name="TriggerDiagnostics"/>
<!--
@@ -21,12 +23,9 @@
</driver>
<driver name="DAQConfig" type="org.hps.record.daqconfig.DAQConfigDriver"/>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>false</useRunningPedestal>
- <useTimeWalkCorrection>false</useTimeWalkCorrection>
<emulateFirmware>true</emulateFirmware>
<emulateMode7>false</emulateMode7>
<leadingEdgeThreshold>12</leadingEdgeThreshold>
@@ -34,7 +33,18 @@
<nsa>100</nsa>
<nsb>20</nsb>
<nPeak>3</nPeak>
- </driver>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>false</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="GTPTestDriver" type="org.hps.recon.ecal.cluster.GTPOnlineClusterDriver">
<inputHitCollectionName>EcalCalHits</inputHitCollectionName>
<!-- <seedEnergyThreshold>0.500</seedEnergyThreshold>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/FEEFilter_2pt3.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/FEEFilter_2pt3.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/FEEFilter_2pt3.lcsim Fri Oct 21 11:49:08 2016
@@ -17,6 +17,7 @@
<clusterCut>1.3</clusterCut>
<!-- Seed cut causes inefficiency near corners of crystals. Don't include it -->
<seedCut>0</seedCut>
+
</driver>
<!-- Driver to write output slcio file -->
<driver name="Writer" type="org.lcsim.util.loop.LCIODriver">
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/MollerCandidateFilter_2pt3.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/MollerCandidateFilter_2pt3.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/MollerCandidateFilter_2pt3.lcsim Fri Oct 21 11:49:08 2016
@@ -16,9 +16,9 @@
<eventInterval>1000</eventInterval>
</driver>
<!-- Driver to reject "bad" events -->
- <driver name="EventFlagFilter"
+ <!-- <driver name="EventFlagFilter"
type="org.hps.recon.filtering.EventFlagFilter">
- </driver>
+ </driver>-->
<!-- Driver to strip events -->
<driver name="StripEvent"
type="org.hps.recon.filtering.MollerCandidateFilter">
@@ -27,11 +27,19 @@
<!-- Name of the Moller Candidate Collection of ReconstriuctedParticles -->
<mollerCandidateCollectionName>TargetConstrainedMollerCandidates</mollerCandidateCollectionName>
<!-- Maximum momentum of each electron, used to remove full energy electrons -->
- <mollerMomentumMax>1.85</mollerMomentumMax>
+ <mollerMomentumMax>1.95</mollerMomentumMax>
<!-- Sum of the two electron momenta should equal the beam energy, this is the low cut -->
<mollerMomentumSumMin>1.85</mollerMomentumSumMin>
<!-- Sum of the two electron momenta should equal the beam energy, this is the high cut -->
- <mollerMomentumSumMax>2.85</mollerMomentumSumMax>
+ <mollerMomentumSumMax>2.85</mollerMomentumSumMax>
+ <!-- Minimum number of electrons that are required to be associated with clusters -->
+ <clusterCountCut>0</clusterCountCut>
+ <!-- maximum and minimum angles in x and y -->
+ <mollerAngleMinY>-.004</mollerAngleMinY>
+ <mollerAngleMaxY>.003</mollerAngleMaxY>
+ <mollerAngleMinX>.024</mollerAngleMinX>
+ <mollerAngleMaxX>.034</mollerAngleMaxX>
+ <useAngleCuts>true</useAngleCuts>
<!-- Following is for the calorimeter-only cuts -->
<!-- Name of Moller Candidate Calorimeter Cluster Collection Name-->
<mollerCandidateClusterCollectionName >EcalClustersCorr</mollerCandidateClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/V0CandidateFilter_2pt3.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/V0CandidateFilter_2pt3.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/production/V0CandidateFilter_2pt3.lcsim Fri Oct 21 11:49:08 2016
@@ -25,7 +25,7 @@
<!-- Setting this true keeps ALL events containing EPICS data -->
<keepEpicsDataEvents>true</keepEpicsDataEvents>
<trackPMax>1.95</trackPMax>
- <V0PMax>3.05</V0PMax>
+ <v0PMax>3.05</v0PMax>
</driver>
<!-- Driver to write output slcio file -->
<driver name="Writer"
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/CommRun2014TightPairs.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/CommRun2014TightPairs.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/CommRun2014TightPairs.lcsim Fri Oct 21 11:49:08 2016
@@ -11,6 +11,8 @@
<driver name="EventMarkerDriver"/>
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer"/>
<driver name="PairTrigger1"/>
<driver name="TestRunReconToLcio"/>
@@ -40,11 +42,19 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
- <applyBadCrystalMap>false</applyBadCrystalMap>
- <use2014Gain>false</use2014Gain>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ <applyBadCrystalMap>false</applyBadCrystalMap>
<debug>true</debug>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
<clusterWindow>1</clusterWindow>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigPairs0.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigPairs0.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigPairs0.lcsim Fri Oct 21 11:49:08 2016
@@ -8,6 +8,8 @@
<driver name="EventMarkerDriver"/>
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="PairTrigger0"/>
<driver name="TestRunReconToLcio"/>
@@ -44,12 +46,21 @@
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
<!--rawCollectionName>EcalCalHits</rawCollectionName-->
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<applyBadCrystalMap>false</applyBadCrystalMap>
<nsa>100</nsa>
<nsb>20</nsb>
- <use2014Gain>false</use2014Gain>
+
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigPairs1.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigPairs1.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigPairs1.lcsim Fri Oct 21 11:49:08 2016
@@ -8,6 +8,8 @@
<driver name="EventMarkerDriver"/>
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="PairTrigger1"/>
<driver name="TestRunReconToLcio"/>
@@ -44,12 +46,21 @@
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
<!--rawCollectionName>EcalCalHits</rawCollectionName-->
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<applyBadCrystalMap>false</applyBadCrystalMap>
<nsa>100</nsa>
<nsb>20</nsb>
<use2014Gain>false</use2014Gain>
- </driver>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigSingles0.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigSingles0.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigSingles0.lcsim Fri Oct 21 11:49:08 2016
@@ -8,6 +8,8 @@
<driver name="EventMarkerDriver"/>
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="SinglesTrigger0"/>
<driver name="TestRunReconToLcio"/>
@@ -44,12 +46,20 @@
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
<!--rawCollectionName>EcalCalHits</rawCollectionName-->
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<applyBadCrystalMap>false</applyBadCrystalMap>
<nsa>100</nsa>
<nsb>20</nsb>
<use2014Gain>false</use2014Gain>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
</driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigSingles1.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigSingles1.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PresTrigSingles1.lcsim Fri Oct 21 11:49:08 2016
@@ -8,6 +8,8 @@
<driver name="EventMarkerDriver"/>
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="SinglesTrigger1"/>
<driver name="TestRunReconToLcio"/>
@@ -44,12 +46,21 @@
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
<!--rawCollectionName>EcalCalHits</rawCollectionName-->
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<applyBadCrystalMap>false</applyBadCrystalMap>
<nsa>100</nsa>
<nsb>20</nsb>
+
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
<use2014Gain>false</use2014Gain>
- </driver>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PrescaledTriggers.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PrescaledTriggers.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2014PrescaledTriggers.lcsim Fri Oct 21 11:49:08 2016
@@ -9,6 +9,8 @@
<driver name="EventMarkerDriver"/>
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="EcalClusterer"/>
<driver name="PairTrigger1"/>
@@ -49,12 +51,20 @@
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
<!--rawCollectionName>EcalCalHits</rawCollectionName-->
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<applyBadCrystalMap>false</applyBadCrystalMap>
<nsa>100</nsa>
<nsb>20</nsb>
- <use2014Gain>false</use2014Gain>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1.lcsim Fri Oct 21 11:49:08 2016
@@ -10,6 +10,8 @@
<!-- Readout Simulation -->
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="PairTrigger1"/>
<driver name="SimpleSVTReadout" />
@@ -44,12 +46,20 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<applyBadCrystalMap>false</applyBadCrystalMap>
<nsa>100</nsa>
<nsb>20</nsb>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
<use2014Gain>false</use2014Gain>
- </driver>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<!--
Hit Time Coincidence: +/-16 ns
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1_Pass2.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1_Pass2.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigPairs1_Pass2.lcsim Fri Oct 21 11:49:08 2016
@@ -11,6 +11,8 @@
<!-- Readout Simulation -->
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="PairTrigger1"/>
<driver name="SimpleSVTReadout" />
@@ -41,8 +43,16 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<!--
Hit Time Coincidence: +/-16 ns
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigSingles1.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigSingles1.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigSingles1.lcsim Fri Oct 21 11:49:08 2016
@@ -10,6 +10,8 @@
<!-- Readout Simulation -->
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="SinglesTrigger1"/>
<driver name="SimpleSVTReadout" />
@@ -44,12 +46,20 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<applyBadCrystalMap>false</applyBadCrystalMap>
<nsa>100</nsa>
<nsb>20</nsb>
- <use2014Gain>false</use2014Gain>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<!--
Hit Time Coincidence: +/-16 ns
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigSingles1_Pass2.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigSingles1_Pass2.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/EngineeringRun2015TrigSingles1_Pass2.lcsim Fri Oct 21 11:49:08 2016
@@ -11,6 +11,8 @@
<!-- Readout Simulation -->
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="SinglesTrigger1"/>
<driver name="SimpleSVTReadout" />
@@ -41,8 +43,17 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<!--
Hit Time Coincidence: +/-16 ns
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutNoPileup.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutNoPileup.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutNoPileup.lcsim Fri Oct 21 11:49:08 2016
@@ -32,11 +32,11 @@
<constantGain>0.15</constantGain>
</driver>
<driver name="EcalReadoutConverterDriver" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <use2014Gain>false</use2014Gain>
- <runBackwards>true</runBackwards>
+ <runBackwards>true</runBackwards>
<rawCollectionName>EcalReadoutHits</rawCollectionName>
<ecalCollectionName>EcalReadoutAnalogHits</ecalCollectionName>
</driver>
+
<driver name="EcalTriggerClusterer" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<clusterWindow>0</clusterWindow>
<inputHitCollectionName>EcalReadoutAnalogHits</inputHitCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutToEvio.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutToEvio.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutToEvio.lcsim Fri Oct 21 11:49:08 2016
@@ -9,6 +9,8 @@
<driver name="ConditionsDriver"/>
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer"/>
<driver name="EcalTrigger"/>
<driver name="SimpleSVTReadout"/>
@@ -39,12 +41,21 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<!--<gain>0.15</gain>-->
<applyBadCrystalMap>false</applyBadCrystalMap>
<use2014Gain>true</use2014Gain>
<!-- <debug>true</debug>-->
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
<clusterWindow>1</clusterWindow>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutToLcio.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutToLcio.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014ReadoutToLcio.lcsim Fri Oct 21 11:49:08 2016
@@ -8,6 +8,8 @@
<driver name="ConditionsDriver"/>
<driver name="EcalReadout" />
<driver name="EcalConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="EcalTrigger" />
<driver name="SimpleSVTReadout" />
@@ -39,12 +41,20 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<!-- <gain>0.15</gain> -->
<applyBadCrystalMap>false</applyBadCrystalMap>
- <use2014Gain>true</use2014Gain>
<!-- <debug>true</debug> -->
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>true</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<clusterWindow>1</clusterWindow>
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014TruthReadoutToLcio.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014TruthReadoutToLcio.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/HPS2014TruthReadoutToLcio.lcsim Fri Oct 21 11:49:08 2016
@@ -10,6 +10,8 @@
<driver name="ConditionsDriver"/>
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer"/>
<driver name="EcalTrigger"/>
<driver name="SimpleSVTReadout"/>
@@ -42,12 +44,20 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<!-- <gain>0.15</gain>-->
<applyBadCrystalMap>false</applyBadCrystalMap>
- <use2014Gain>true</use2014Gain>
<!-- <debug>true</debug>-->
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<inputHitCollectionName>EcalCorrectedHits</inputHitCollectionName>
<clusterWindow>1</clusterWindow>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/MockPulserTrigger.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/MockPulserTrigger.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/MockPulserTrigger.lcsim Fri Oct 21 11:49:08 2016
@@ -11,6 +11,8 @@
<!-- Readout Simulation -->
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="SinglesTrigger1"/>
<driver name="SimpleSVTReadout" />
@@ -41,8 +43,16 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<!--
Hit Time Coincidence: +/-16 ns
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigPair0.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigPair0.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigPair0.lcsim Fri Oct 21 11:49:08 2016
@@ -11,6 +11,8 @@
<!-- Readout Simulation -->
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="PairTrigger1"/>
<driver name="SimpleSVTReadout" />
@@ -41,8 +43,16 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
- </driver>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<!--
Hit Time Coincidence: +/-16 ns
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigPairs1.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigPairs1.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigPairs1.lcsim Fri Oct 21 11:49:08 2016
@@ -11,6 +11,8 @@
<!-- Readout Simulation -->
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="PairTrigger1"/>
<driver name="SimpleSVTReadout" />
@@ -41,8 +43,16 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
- </driver>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<!--
Hit Time Coincidence: +/-16 ns
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigSingles1.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigSingles1.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/PhysicsRun2016TrigSingles1.lcsim Fri Oct 21 11:49:08 2016
@@ -11,6 +11,8 @@
<!-- Readout Simulation -->
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClustererGTP"/>
<driver name="SinglesTrigger1"/>
<driver name="SimpleSVTReadout" />
@@ -41,8 +43,16 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
</driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClustererGTP" type="org.hps.recon.ecal.cluster.GTPClusterDriver">
<!--
Hit Time Coincidence: +/-16 ns
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToEvio.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToEvio.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToEvio.lcsim Fri Oct 21 11:49:08 2016
@@ -8,6 +8,8 @@
<driver name="BadChannelFilter" />
<driver name="EcalReadout"/>
<driver name="EcalConverter"/>
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalTriggerFilter"/>
<driver name="EcalClusterer"/>
<driver name="EcalTrigger"/>
@@ -37,13 +39,22 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<scale>1</scale>
- </driver>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalTriggerFilter" type="org.hps.recon.ecal.EcalTriggerFilterDriver">
<inputCollection>EcalCorrectedHits</inputCollection>
<outputCollection>EcalFilteredHits</outputCollection>
</driver>
+
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.ClusterDriver">
<clustererName>CTPClusterer</clustererName>
<!-- addEMin clusterWindow -->
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToLcio.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToLcio.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToLcio.lcsim Fri Oct 21 11:49:08 2016
@@ -7,6 +7,8 @@
<driver name="BadChannelFilter" />
<driver name="EcalReadout" />
<driver name="EcalConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalTriggerFilter" />
<driver name="EcalClusterer" />
<driver name="EcalTrigger" />
@@ -36,9 +38,17 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<scale>1</scale>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalTriggerFilter" type="org.hps.recon.ecal.EcalTriggerFilterDriver">
<inputCollection>EcalCorrectedHits</inputCollection>
<outputCollection>EcalFilteredHits</outputCollection>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToLcio2014.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToLcio2014.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/readout/TestRunReadoutToLcio2014.lcsim Fri Oct 21 11:49:08 2016
@@ -10,6 +10,8 @@
<driver name="BadChannelFilter" />
<driver name="EcalReadout" />
<driver name="EcalConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalTriggerFilter" />
<driver name="EcalClusterer" />
<driver name="EcalTrigger" />
@@ -46,9 +48,17 @@
</driver>
<driver name="EcalConverter" type="org.hps.recon.ecal.EcalConverterDriver">
<rawCollectionName>EcalRawHits</rawCollectionName>
- <ecalCollectionName>EcalCorrectedHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<scale>1</scale>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalTriggerFilter" type="org.hps.recon.ecal.EcalTriggerFilterDriver">
<inputCollection>EcalCorrectedHits</inputCollection>
<outputCollection>EcalFilteredHits</outputCollection>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalRecon.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalRecon.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalRecon.lcsim Fri Oct 21 11:49:08 2016
@@ -8,6 +8,8 @@
<!--<driver name="EventMarkerDriver" />-->
<driver name="EcalRunningPedestal"/>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="GTPOnlineClusterer" />
<driver name="LCIOWriter" />
@@ -22,12 +24,21 @@
<maxLookbackEvents>50</maxLookbackEvents>
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>false</useRunningPedestal>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>true</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCorrectedHits</outputHitsCollectionName>
+ </driver>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalReconMC.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalReconMC.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalReconMC.lcsim Fri Oct 21 11:49:08 2016
@@ -20,6 +20,8 @@
<driver name="EcalRunningPedestal"/>
<driver name="RfFitter"/>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="GTPOnlineClusterer" />
<driver name="LCIOWriter" />
@@ -41,11 +43,21 @@
<maxLookbackEvents>50</maxLookbackEvents>
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<use2014Gain>false</use2014Gain>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>false</useRunningPedestal>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>true</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
</driver>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalRecon_Pass1.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalRecon_Pass1.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2014EcalRecon_Pass1.lcsim Fri Oct 21 11:49:08 2016
@@ -19,6 +19,8 @@
<!--<driver name="EventMarkerDriver" />-->
<driver name="EcalRunningPedestal"/>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="GTPOnlineClusterer" />
<driver name="LCIOWriter" />
@@ -33,12 +35,20 @@
<maxLookbackEvents>50</maxLookbackEvents>
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>true</useRunningPedestal>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
<useTimeWalkCorrection>true</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
</driver>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015EcalRecon.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015EcalRecon.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015EcalRecon.lcsim Fri Oct 21 11:49:08 2016
@@ -19,6 +19,8 @@
<!--<driver name="EventMarkerDriver" />-->
<driver name="EcalRunningPedestal"/>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="GTPOnlineClusterer" />
<driver name="LCIOWriter" />
@@ -35,11 +37,10 @@
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<ecalCollectionName>EcalCalHits</ecalCollectionName>
- <use2014Gain>false</use2014Gain>
+
<useTimestamps>false</useTimestamps>
<useTruthTime>false</useTruthTime>
<useRunningPedestal>true</useRunningPedestal>
- <useTimeWalkCorrection>true</useTimeWalkCorrection>
<emulateFirmware>true</emulateFirmware>
<emulateMode7>false</emulateMode7>
<leadingEdgeThreshold>12</leadingEdgeThreshold>
@@ -47,7 +48,17 @@
<nsb>20</nsb>
<windowSamples>50</windowSamples>
<nPeak>3</nPeak>
- </driver>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <useTimeWalkCorrection>true</useTimeWalkCorrection>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullRecon.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullRecon.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullRecon.lcsim Fri Oct 21 11:49:08 2016
@@ -13,6 +13,8 @@
<!-- Ecal reconstruction drivers -->
<driver name="EcalRunningPedestal"/>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="CopyCluster" />
<driver name="EventMarkerDriver"/>
@@ -71,8 +73,16 @@
<logLevel>CONFIG</logLevel>
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
- </driver>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconMC.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconMC.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015FullReconMC.lcsim Fri Oct 21 11:49:08 2016
@@ -12,8 +12,11 @@
<driver name="ConditionsDriver"/>
<driver name="EventMarkerDriver"/>
<driver name="RfFitter"/>
- <!-- Ecal reconstruction drivers -->
+ <!-- Ecal reconstruction drivers -->
+
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="GTPOnlineClusterer" />
<driver name="CopyCluster" />
@@ -122,10 +125,20 @@
</driver>
<driver name="MergeTrackCollections" type="org.hps.recon.tracking.MergeTrackCollections" />
<driver name="GBLRefitterDriver" type="org.hps.recon.tracking.gbl.GBLRefitterDriver"/>
+
+
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<fixShapeParameter>true</fixShapeParameter>
<globalFixedPulseWidth>2.4</globalFixedPulseWidth>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
</driver>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015HitRecon.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015HitRecon.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/EngineeringRun2015HitRecon.lcsim Fri Oct 21 11:49:08 2016
@@ -12,7 +12,10 @@
<driver name="HelicalTrackHitDriver"/>
<!--<driver name="TrackerReconDriver"/>-->
<driver name="EcalRunningPedestal"/>
+
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="GTPOnlineClusterer" />
<!--<driver name="ReconParticle" />-->
@@ -66,7 +69,7 @@
<minLookbackEvents>10</minLookbackEvents>
<maxLookbackEvents>50</maxLookbackEvents>
</driver>
- <driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
+ <!-- <driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<ecalCollectionName>EcalCalHits</ecalCollectionName>
<use2014Gain>false</use2014Gain>
<useTimestamps>false</useTimestamps>
@@ -80,7 +83,35 @@
<nsb>20</nsb>
<windowSamples>50</windowSamples>
<nPeak>3</nPeak>
- </driver>
+ </driver>-->
+
+ <driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ <!-- <fixShapeParameter>true</fixShapeParameter>
+ <globalFixedPulseWidth>2.4</globalFixedPulseWidth> -->
+
+ <useTimestamps>false</useTimestamps>
+ <useTruthTime>false</useTruthTime>
+ <useRunningPedestal>true</useRunningPedestal>
+
+ <emulateFirmware>true</emulateFirmware>
+ <emulateMode7>true</emulateMode7>
+ <leadingEdgeThreshold>12</leadingEdgeThreshold>
+ <nsa>100</nsa>
+ <nsb>20</nsb>
+ <windowSamples>50</windowSamples>
+ <nPeak>3</nPeak>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <use2014Gain>false</use2014Gain>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
+
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineTruthRecon.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineTruthRecon.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/HPS2014OfflineTruthRecon.lcsim Fri Oct 21 11:49:08 2016
@@ -14,6 +14,8 @@
<driver name="HelicalTrackHitDriver"/>
<driver name="TrackerReconDriver"/>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
+ <driver name="EcalTimeCorrection"/>
<driver name="EcalClusterer" />
<driver name="ReconParticle" />
<driver name="TrackDataDriver" />
@@ -61,11 +63,19 @@
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
- <ecalCollectionName>EcalCalHits</ecalCollectionName>
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
<use2014Gain>true</use2014Gain>
<useTimestamps>false</useTimestamps>
<useTruthTime>true</useTruthTime>
</driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<useTimeCut>true</useTimeCut>
</driver>
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2016FullRecon.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2016FullRecon.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2016FullRecon.lcsim Fri Oct 21 11:49:08 2016
@@ -13,6 +13,7 @@
<!-- Ecal reconstruction drivers -->
<driver name="EcalRunningPedestal"/>
<driver name="EcalRawConverter" />
+ <driver name="EcalGains"/>
<driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="CopyCluster" />
@@ -71,11 +72,20 @@
<driver name="EcalRunningPedestal" type="org.hps.recon.ecal.EcalRunningPedestalDriver">
<logLevel>CONFIG</logLevel>
</driver>
- <driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverter2Driver">
- </driver>
- <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver"/>
+ <driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
+ <ecalCollectionName>EcalUncalHits</ecalCollectionName>
+ </driver>
+ <driver name="EcalGains" type="org.hps.recon.ecal.EcalGainDriver">
+ <inputHitsCollectionName>EcalUncalHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalGainHits</outputHitsCollectionName>
+ </driver>
+ <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
+ <inputHitsCollectionName>EcalGainHits</inputHitsCollectionName>
+ <outputHitsCollectionName>EcalCalHits</outputHitsCollectionName>
+ </driver>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
+ <inputHitCollectionName>EcalCalHits</inputHitCollectionName>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
</driver>
<driver name="CopyCluster" type="org.hps.recon.ecal.cluster.CopyClusterCollectionDriver">
Copied: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistograms2015.lcsim (from r4518, java/trunk/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistogramsNoSeedCut.lcsim)
=============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistogramsNoSeedCut.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistograms2015.lcsim Fri Oct 21 11:49:08 2016
@@ -52,7 +52,10 @@
<minClustTime>40</minClustTime>
<maxClustTime>50</maxClustTime>
+ <sspClusterTime>48</sspClusterTime>
+ <useSSPcut>false</useSSPcut>
<seedEnergyCutFrac>0</seedEnergyCutFrac>
+
</driver>
<driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
<outputFileName>${outputFile}</outputFileName>
Copied: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistograms2016.lcsim (from r4518, java/trunk/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistogramsNoSeedCutNoFlagFilter.lcsim)
=============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistogramsNoSeedCutNoFlagFilter.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/FeeHistograms2016.lcsim Fri Oct 21 11:49:08 2016
@@ -49,8 +49,13 @@
1 0.1500 0.1550 0.1600 0.3400
1 0.1550 0.1600 0.1600 0.3300 </binning>
- <minClustTime>50</minClustTime>
- <maxClustTime>70</maxClustTime>
+ <minClustTime>52</minClustTime>
+ <maxClustTime>62</maxClustTime>
+ <sspClusterTime>60</sspClusterTime>
+ <sspMinEnergy>1.3</sspMinEnergy>
+ <sspMaxEnergy>2.6</sspMaxEnergy>
+ <sspNmin>3</sspNmin>
+ <useSSPcut>true</useSSPcut>
<seedEnergyCutFrac>0</seedEnergyCutFrac>
</driver>
<driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
Modified: java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/MuonMonitoring.lcsim
=============================================================================
--- java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/MuonMonitoring.lcsim (original)
+++ java/branches/EcalRawConverter split/steering-files/src/main/resources/org/hps/steering/users/spaul/MuonMonitoring.lcsim Fri Oct 21 11:49:08 2016
@@ -24,9 +24,9 @@
<outputFileName>${outputFile}</outputFileName>
</driver>
- <driver name="MuonCandidateMonitoringGBL" type="org.hps.analysis.dataquality.MuonCandidateMonitoring">
- <triggerType>all</triggerType>
- <isGBL>true</isGBL>
+ <driver name="MuonCandidateMonitoringGBL" type="org.hps.users.spaul.dimuon.DimuonGraphsDriver">
+ <!-- <triggerType>all</triggerType>
+ <isGBL>true</isGBL> -->
</driver>
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
Modified: java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/gcharles/FADCSignalAnalysis.java
=============================================================================
--- java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/gcharles/FADCSignalAnalysis.java (original)
+++ java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/gcharles/FADCSignalAnalysis.java Fri Oct 21 11:49:08 2016
@@ -66,8 +66,8 @@
add(converterDriver);
converterDriver.setRawCollectionName("EcalRawHits");
converterDriver.setEcalCollectionName("EcalCorrectedHits");
- converterDriver.setGain(1.0);
- converterDriver.setUse2014Gain(true);
+ //converterDriver.setGain(1.0);
+ //converterDriver.setUse2014Gain(true);
super.startOfData();
}
Modified: java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/jeremym/TestRunReconDriver.java
=============================================================================
--- java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/jeremym/TestRunReconDriver.java (original)
+++ java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/jeremym/TestRunReconDriver.java Fri Oct 21 11:49:08 2016
@@ -32,7 +32,7 @@
EcalRawConverterDriver ecalRawConverter = new EcalRawConverterDriver();
ecalRawConverter.setEcalCollectionName("EcalCalHits");
- ecalRawConverter.setUse2014Gain(false);
+ //ecalRawConverter.setUse2014Gain(false);
this.add(ecalRawConverter);
ClusterDriver clusterer = new ClusterDriver();
Modified: java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/spaul/fee/Cleanup.java
=============================================================================
--- java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/spaul/fee/Cleanup.java (original)
+++ java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/spaul/fee/Cleanup.java Fri Oct 21 11:49:08 2016
@@ -46,7 +46,6 @@
}
static ReconstructedParticle getWorseParticle(ReconstructedParticle p1, ReconstructedParticle p2){
- //first check if the tracks come from the target:
if(p1.getTracks().size() == 0)
return p1;
Modified: java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/spaul/fee/FeeHistogramDriver.java
=============================================================================
--- java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/spaul/fee/FeeHistogramDriver.java (original)
+++ java/branches/EcalRawConverter split/users/src/main/java/org/hps/users/spaul/fee/FeeHistogramDriver.java Fri Oct 21 11:49:08 2016
@@ -1,5 +1,6 @@
package org.hps.users.spaul.fee;
+import java.util.ArrayList;
import java.util.List;
import hep.aida.IHistogram1D;
@@ -10,12 +11,15 @@
import org.hps.recon.tracking.TrackType;
import org.hps.recon.tracking.TrackUtils;
import org.hps.record.triggerbank.AbstractIntData;
+import org.hps.record.triggerbank.SSPCluster;
+import org.hps.record.triggerbank.SSPData;
import org.hps.record.triggerbank.TIData;
import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.GenericObject;
import org.lcsim.event.ReconstructedParticle;
+import org.lcsim.event.Track;
import org.lcsim.geometry.Detector;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
@@ -25,11 +29,44 @@
public class FeeHistogramDriver extends Driver{
+ boolean fidEcal(Cluster c){
+ return c.getPosition()[0] > -262.74 && c.getPosition()[0] < 347.7 && Math.abs(c.getPosition()[1])>33.54
+ && Math.abs(c.getPosition()[1])<75.18
+ && !(c.getPosition()[0]>-106.66 && c.getPosition()[0] < 42.17 && Math.abs(c.getPosition()[1])<47.17);
+ }
+
double d0cut = 1;
double z0cut = .5;
-
+
+ //ssp cuts
+ double _sspTriggerTime = 60;
+ double _sspNmin = 3;
+ double _sspMinEnergy = 1.3;
+ double _sspMaxEnergy = 2.6;
+
//determined by beam energy
double eMin, eMax, beamEnergy, seedEnergyCut;
+
+ boolean _useSSPcut = false;
+ public void setUseSSPcut(boolean val){
+ this._useSSPcut = val;
+ }
+ public void setSspClusterTime(double val){
+ this._sspTriggerTime = val;
+ }
+ public void setSspNmin(int val){
+ this._sspNmin = val;
+ }
+ public void setSspMinEnergy(double val){
+ this._sspMinEnergy = val;
+ }
+ public void setSspMaxEnergy(double val){
+ this._sspMaxEnergy = val;
+ }
+
+
+
+
public double getSeedEnergyCutFrac() {
return seedEnergyCutFrac;
}
@@ -44,11 +81,14 @@
double beamTiltX = .0295;
double beamTiltY = -.0008;
- double maxChi2 = 50;
+ double maxChi2 = 20;
//maximum difference between the reconstructed energy and momentum
//double maxdE = .5;
int nMin = 3;
+ IHistogram2D ixiySSPseed;
+ IHistogram2D ixiySSPall;
+ IHistogram1D nSSP;
IHistogram1D theta;
IHistogram1D thetaInRange;
IHistogram2D[] thetaVsPhi;
@@ -57,6 +97,9 @@
IHistogram2D d0VsZ0, d0VsZ0_top, d0VsZ0_bottom;
IHistogram1D d0;
IHistogram1D z0;
+ IHistogram2D chi2_vs_theta;
+ IHistogram2D nFidTopVsBot;
+ IHistogram2D nClustTopVsBot;
IHistogram1D timeHist;
IHistogram1D chi2Hist;
private double seedEnergyCutFrac = .38;
@@ -67,7 +110,7 @@
BeamEnergyCollection beamEnergyCollection =
this.getConditionsManager().getCachedConditions(BeamEnergyCollection.class, "beam_energies").getCachedData();
beamEnergy = beamEnergyCollection.get(0).getBeamEnergy();
- eMin = .75*beamEnergy;
+ eMin = .85*beamEnergy;
eMax = 1.15*beamEnergy;
pMin = .75*beamEnergy;
@@ -97,15 +140,28 @@
private IHistogram1D charge;
private IHistogram1D clustSizeGTP;
+ private IHistogram2D thetaVsEnergy;
+ private IHistogram2D thetaVsEnergyFid;
+ //private IHistogram1D clusterEnergyFidEcal;
void setupHistograms(){
-
+ this.nSSP = aida.histogram1D("ssp clusters count", 10, 0, 10);
+ this.nSSPpass = aida.histogram1D("ssp clusters count pass", 10, 0, 10);
+ this.ixiySSPseed = aida.histogram2D("ssp clusters seed", 50, -25, 25, 11, -5, 6);
+ this.ixiySSPall = aida.histogram2D("ssp clusters all", 50, -25, 25, 11, -5, 6);
+ this.sspEnergy = aida.histogram1D("ssp clusters energy", 100, 0, 1.5*beamEnergy);
+ this.sspTime = aida.histogram1D("ssp clusters time", 200, 0, 200);
+
energy = aida.histogram1D("cluster energy", 100, 0, 1.5*beamEnergy);
energyTop = aida.histogram1D("cluster energy top", 100, 0, 1.5*beamEnergy);
energyBottom = aida.histogram1D("cluster energy bottom", 100, 0, 1.5*beamEnergy);
-
+
+ //clusterEnergyFidEcal = aida.histogram1D("cluster energy fid ecal", 100, 0, 1.5*beamEnergy);
+
+ clusterEnergyFidTrack = aida.histogram1D("cluster energy fid track", 100, 0, 1.5*beamEnergy);
+
seedEnergy = aida.histogram1D("seed energy", 100, 0, beamEnergy);
seedEnergyTop = aida.histogram1D("seed energy top", 100, 0, beamEnergy);
seedEnergyBottom = aida.histogram1D("seed energy bottom", 100, 0, beamEnergy);
@@ -114,6 +170,7 @@
clusterVsSeedEnergyTop = aida.histogram2D("cluster vs seed energy top", 100, 0, 1.5*beamEnergy, 100, 0, beamEnergy);
clusterVsSeedEnergyBottom = aida.histogram2D("cluster vs seed energy bottom", 100, 0, 1.5*beamEnergy, 100, 0, beamEnergy);
+ this.nSigma = aida.histogram1D("nSigma", 100, -10, 10);
int nBinsPhi = 400;
@@ -124,7 +181,8 @@
thetaVsPhiNoTrackQualityCuts = new IHistogram2D[regionNames.length];
thetaVsPhiChi2Cut= new IHistogram2D[regionNames.length];
thetaVsPhiTrackExtrapCut = new IHistogram2D[regionNames.length];
- thetaVsPhiMomentumCut = new IHistogram2D[regionNames.length];
+ thetaVsPhiMomentumCut = new IHistogram2D[regionNames.length];
+ thetaVsPhi6 = new IHistogram2D[regionNames.length];
for(int i = 0; i< regionNames.length; i++){
thetaVsPhi[i] = aida.histogram2D("theta vs phi" + regionNames[i], nBinsPhi, 0, .2, 628, -3.14, 3.14);
thetaVsPhiInRange[i] = aida.histogram2D("theta vs phi in range" + regionNames[i], nBinsPhi, 0, .2, 628, -3.14, 3.14);
@@ -132,6 +190,8 @@
thetaVsPhiChi2Cut[i] = aida.histogram2D("theta vs phi chi2 cut" + regionNames[i], nBinsPhi, 0, .2, 628, -3.14, 3.14);
thetaVsPhiTrackExtrapCut[i] = aida.histogram2D("theta vs phi track extrap cut" + regionNames[i], nBinsPhi, 0, .2, 628, -3.14, 3.14);
thetaVsPhiMomentumCut[i] = aida.histogram2D("theta vs phi chi2 momentum cut" + regionNames[i], nBinsPhi, 0, .2, 628, -3.14, 3.14);
+ thetaVsPhi6[i] = aida.histogram2D("theta vs phi 6 hits" + regionNames[i], nBinsPhi, 0, .2, 628, -3.14, 3.14);
+
}
theta = aida.histogram1D("theta", nBinsPhi, 0, .2);
thetaInRange = aida.histogram1D("theta in range", nBinsPhi, 0, .2);
@@ -157,8 +217,8 @@
timeHist = aida.histogram1D("cluster time", 400, 0, 400);
- chi2Hist = aida.histogram1D("chi2", 200, 0, 200);
- chi2RedHist = aida.histogram1D("chi2 red", 200, 0, 40);
+ chi2Hist = aida.histogram1D("chi2", 200, 0, 50);
+ chi2RedHist = aida.histogram1D("chi2 red", 200, 0, 15);
clustSize = aida.histogram1D("cluster size", 20, 0, 20);
clustSizeGTP = aida.histogram1D("cluster size gtp (>55% beam energy)", 20, 0, 20);
@@ -166,8 +226,22 @@
z0VsChi2 = aida.histogram2D("z0 vs chi2", 100, -5, 5, 100, 0, 100);
nPassCutsPerEvent = aida.histogram1D("n pass cuts", 10, 0, 10);
nPassCutsPerEventFiducial = aida.histogram1D("n pass cuts fiducial", 10, 0, 10);
- thetaVsMomentum = aida.histogram2D("theta vs energy", 100, 0, .2, 100, 0, 1.2*beamEnergy);
- thetaVsMomentumFid = aida.histogram2D("theta vs energy fiducial", 100, 0, .2, 100, 0, 1.2*beamEnergy);
+ thetaVsMomentum = aida.histogram2D("theta vs momentum", 100, 0, .2, 100, 0, 1.2*beamEnergy);
+ thetaVsMomentumFid = aida.histogram2D("theta vs momentum fiducial", 100, 0, .2, 100, 0, 1.2*beamEnergy);
+ thetaVsEnergy = aida.histogram2D("theta vs energy", 100, 0, .2, 100, 0, 1.2*beamEnergy);
+ thetaVsEnergyFid = aida.histogram2D("theta vs energy fiducial", 100, 0, .2, 100, 0, 1.2*beamEnergy);
+
+
+ dxdyAtEcal = aida.histogram2D("dxdy at ecal", 200, -20, 20, 200, -20, 20);
+
+ dxAtEcal = aida.histogram1D("dx at ecal", 200, -20, 20);
+ dyAtEcal = aida.histogram1D("dy at ecal", 200, -20, 20);
+
+ dxVsNcols = aida.histogram2D("dx at ecal vs ncols", 200,-20, 20, 5, 0,5);
+ dyVsNrows = aida.histogram2D("dy at ecal vs nrows", 200,-20, 20, 5, 0,5);
+ chi2_vs_theta = aida.histogram2D("chi2 vs theta", 100, 0, 50, 100, 0, .2);
+ nFidTopVsBot = aida.histogram2D("n fid top vs bottom", 10, 0, 10, 10, 0, 10);
+ nClustTopVsBot = aida.histogram2D("n fee clust top vs bottom", 10, 0, 10, 10, 0, 10);
}
@@ -182,9 +256,50 @@
private IHistogram2D thetaVsPhiChi2Cut[];
private IHistogram2D thetaVsPhiMomentumCut[];
private IHistogram2D thetaVsPhiTrackExtrapCut[];
+ private IHistogram1D sspTime;
+ private IHistogram1D sspEnergy;
+ private IHistogram1D nSSPpass;
+ private IHistogram1D dxAtEcal;
+ private IHistogram1D dyAtEcal;
+ private IHistogram2D dxdyAtEcal;
+ private IHistogram1D clusterEnergyFidTrack;
+ private IHistogram2D dxVsNcols;
+ private IHistogram2D dyVsNrows;
+ private IHistogram1D nSigma;
+ private IHistogram2D[] thetaVsPhi6;
+
@Override
public void process(EventHeader event){
+ //find the ssp cluster with the most energy, and its center column
+
+ //int col = -999;
+ //int row = -999;
+ int nfidTop = 0, nfidBot = 0;
+ int nfeeClustTop = 0, nfeeClustBot = 0;
+ List<SSPCluster> goodSSPclusters = new ArrayList();
+ for (GenericObject gob : event.get(GenericObject.class,"TriggerBank"))
+ {
+ if (!(AbstractIntData.getTag(gob) == SSPData.BANK_TAG)) continue;
+ SSPData sspd = new SSPData(gob);
+ //SSPCluster max = null;
+
+
+ for (SSPCluster c: sspd.getClusters()){
+ sspEnergy.fill(c.getEnergy());
+ sspTime.fill(c.getTime());
+ ixiySSPall.fill(c.getXIndex(), c.getYIndex());
+ if(c.getEnergy() > _sspMinEnergy && c.getEnergy() < _sspMaxEnergy && c.getHitCount() >= _sspNmin && c.getTime() == _sspTriggerTime){
+ goodSSPclusters.add(c);
+ ixiySSPseed.fill(c.getXIndex(), c.getYIndex());
+ nSSPpass.fill(sspd.getClusters().size());
+ }
+ }
+ nSSP.fill(sspd.getClusters().size());
+ }
+
+
+
fillHistogramsGTP(event);
//int col = getColumn(event);
@@ -212,15 +327,44 @@
continue;
- //find seed hit energy
+ //find seed hit energy and column number
double seedEnergy = 0;
- int col = 0;
+ int seedcol = 0;
+ int seedrow = 0;
+ CalorimeterHit seedHit = null;
for(CalorimeterHit hit : c.getCalorimeterHits()){
if(hit.getCorrectedEnergy() > seedEnergy){
+ seedHit = hit;
seedEnergy = hit.getCorrectedEnergy();
- col = hit.getIdentifierFieldValue("ix");
+ seedcol = hit.getIdentifierFieldValue("ix");
+ seedrow = hit.getIdentifierFieldValue("iy");
}
}
+ //make sure this is the hit that caused the trigger
+ int col = -999;
+ int row = -999;
+ if(_useSSPcut){
+ boolean found = false;
+ for(SSPCluster sspc : goodSSPclusters){
+ col = sspc.getXIndex();
+ row = sspc.getYIndex();
+ int dx = seedcol - col;
+ int dy = seedrow - row;
+ if(Math.hypot(dx, dy) <= 1.5){
+ found = true;
+ break;
+ }
+ }
+ if(!found)
+ continue;
+ }
+
+ //first check if the cluster is in the fiducial part of the Ecal:
+ if(!fidEcal(c))
+ continue;
+
+
+
double energy = c.getEnergy();
@@ -234,10 +378,12 @@
this.seedEnergyTop.fill(seedEnergy);
this.energyTop.fill(energy);
this.clusterVsSeedEnergyTop.fill(energy, seedEnergy);
+ nfeeClustTop++;
} else {
this.seedEnergyBottom.fill(seedEnergy);
this.energyBottom.fill(energy);
this.clusterVsSeedEnergyBottom.fill(energy, seedEnergy);
+ nfeeClustBot++;
}
@@ -280,16 +426,32 @@
double phi =atan2(pytilt, pxtilt);
fill(thetaVsPhiNoTrackQualityCuts,theta, phi, col);
- if(abs(getDx(part))>trackExtrapCut || abs(getDy(part))> trackExtrapCut)
+ double dx = getDx(part);
+ double dy = getDy(part);
+ dxAtEcal.fill(dx);
+ dyAtEcal.fill(dy);
+ dxdyAtEcal.fill(dx, dy);
+
+ dxVsNcols.fill(dx, getNcols(c));
+ dyVsNrows.fill(dy, getNrows(c));
+
+ nSigma.fill(part.getGoodnessOfPID());
+ //if(abs(dx)>trackExtrapCutX || abs(dy)> trackExtrapCutY)
+ if(part.getGoodnessOfPID() > 3)
continue;
fill(thetaVsPhiTrackExtrapCut, theta, phi, col);
- chi2Hist.fill(part.getTracks().get(0).getChi2());
- chi2RedHist.fill(part.getTracks().get(0).getChi2()/(2*part.getTracks().get(0).getTrackerHits().size()-5));
-
- if(part.getTracks().get(0).getChi2()>maxChi2)
+ Track track = part.getTracks().get(0);
+
+ chi2_vs_theta.fill(track.getChi2(), theta);
+ chi2Hist.fill(track.getChi2());
+ chi2RedHist.fill(track.getChi2()/(2*track.getTrackerHits().size()-5));
+
+ if(track.getChi2()>maxChi2)
continue;
fill(thetaVsPhiChi2Cut, theta, phi, col);
+
+
double pmag = part.getMomentum().magnitude();
pHist.fill(pmag);
@@ -297,9 +459,9 @@
continue;
fill(thetaVsPhiMomentumCut, theta, phi, col);
- double d = TrackUtils.getDoca(part.getTracks().get(0));
+ double d = TrackUtils.getDoca(track);
d0.fill(d);
- double z = TrackUtils.getZ0(part.getTracks().get(0));
+ double z = TrackUtils.getZ0(track);
z0.fill(z);
d0VsZ0.fill(d, z);
@@ -308,12 +470,16 @@
else
d0VsZ0_bottom.fill(d,z);
- z0VsTanLambda.fill(z, TrackUtils.getTanLambda(part.getTracks().get(0)));
- z0VsChi2.fill(z, part.getTracks().get(0).getChi2());
-
- if(abs(TrackUtils.getDoca(part.getTracks().get(0)))> d0cut)
- continue;
- if(abs(TrackUtils.getZ0(part.getTracks().get(0)))> z0cut)
+ z0VsTanLambda.fill(z, TrackUtils.getTanLambda(track));
+ z0VsChi2.fill(z, track.getChi2());
+
+
+
+ if(abs(d)> d0cut)
+ continue;
+
+
+ if(abs(z)> z0cut)
continue;
@@ -335,6 +501,11 @@
uxVsUy.fill(pxtilt/pztilt, pytilt/pztilt);
fill(thetaVsPhi, theta, phi, col);
+
+ if(track.getTrackerHits().size() == 6){
+ fill(thetaVsPhi6, theta, phi, col);
+ }
+
this.theta.fill(theta);
if(phi > 0)
thetaTopOnly.fill(theta);
@@ -342,20 +513,30 @@
thetaBottomOnly.fill(theta);
nPassCuts++;
thetaVsMomentum.fill(theta, pz);
+ thetaVsEnergy.fill(theta, part.getEnergy());
if(cb.inRange(theta, phi)){
fill(thetaVsPhiInRange, theta, phi, col);
thetaInRange.fill(theta);
if(phi > 0)
+ {
+ nfidTop++;
thetaTopOnlyInRange.fill(theta);
- else
+ }
+ else{
+ nfidBot++;
thetaBottomOnlyInRange.fill(theta);
+ }
uxVsUyInRange.fill(pxtilt/pztilt, pytilt/pztilt);
nPassFidCuts++;
thetaVsMomentumFid.fill(theta, pz);
+ thetaVsEnergyFid.fill(theta, part.getEnergy());
+ clusterEnergyFidTrack.fill(part.getEnergy());
}
}
nPassCutsPerEvent.fill(nPassCuts);
nPassCutsPerEventFiducial.fill(nPassFidCuts);
+ nFidTopVsBot.fill(nfidTop, nfidBot);
+ nClustTopVsBot.fill(nfeeClustTop, nfeeClustBot);
}
//returns the column of the seed hit of the trigger cluster in the GTP
/*private int getColumn(EventHeader event) {
@@ -386,17 +567,51 @@
return col;
}*/
+ int getNcols(Cluster c){
+ long a = 0;
+ for(CalorimeterHit hit : c.getCalorimeterHits()){
+ a|= (1 <<(hit.getIdentifierFieldValue("ix") + 23));
+ }
+ int tot = 0;
+ for(int i = 0; i<47; i++){
+ tot += a & 1;
+ a >>=1;
+ }
+ return tot;
+ }
+
+ int getNrows(Cluster c){
+ int a = 0;
+ for(CalorimeterHit hit : c.getCalorimeterHits()){
+ a|= (1 <<(hit.getIdentifierFieldValue("iy") + 5));
+ }
+ int tot = 0;
+ for(int i = 0; i<11; i++){
+ tot += a & 1;
+ a >>=1;
+ }
+ return tot;
+ }
+
private void fill(IHistogram2D[] thetaVsPhiHist, double theta,
double phi, int col) {
thetaVsPhiHist[0].fill(theta, phi);
- if(col <= -13 || col>=6)
+ /*if(col <= -13 || col>=6)
thetaVsPhiHist[1].fill(theta, phi);
else if (col <= -9 || col >= 2)
thetaVsPhiHist[2].fill(theta, phi);
else if (col <= -7 || col >= -2)
thetaVsPhiHist[3].fill(theta, phi);
else
- thetaVsPhiHist[4].fill(theta, phi);
+ thetaVsPhiHist[4].fill(theta, phi);*/
+ if(col <= -14 || col>=6)
+ thetaVsPhiHist[1].fill(theta, phi);
+ else if (col <= -10 || col >= 2)
+ thetaVsPhiHist[2].fill(theta, phi);
+ else if (col <= -8 || col >= -3)
+ thetaVsPhiHist[3].fill(theta, phi);
+ else
+ thetaVsPhiHist[4].fill(theta, phi);
}
@@ -446,7 +661,6 @@
IHistogram2D thetaVsMomentumFid;
IHistogram2D thetaVsMomentum;
- public double trackExtrapCut = 10;
public static double getDx(ReconstructedParticle p){
double xc = p.getClusters().get(0).getPosition()[0];
double xt = TrackUtils.getTrackPositionAtEcal(p.getTracks().get(0)).x();
|