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();