diff --git a/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2021MCRecon_KF_WithSpacing_pass5_physics_HitSmear_HitKill_14272.lcsim b/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2021MCRecon_KF_WithSpacing_pass5_physics_HitSmear_HitKill_14272.lcsim new file mode 100644 index 000000000..64bb5aaa0 --- /dev/null +++ b/steering-files/src/main/resources/org/hps/steering/recon/PhysicsRun2021MCRecon_KF_WithSpacing_pass5_physics_HitSmear_HitKill_14272.lcsim @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 14 + false + + + false + + + pass5v9run14272_L1b_axial_hole.txt pass5v9run14272_L1b_stereo_hole.txt pass5v9run14272_L1t_axial_hole.txt pass5v9run14272_L1t_stereo_hole.txt pass5v9run14272_L2b_axial_hole.txt pass5v9run14272_L2b_stereo_hole.txt pass5v9run14272_L2t_axial_hole.txt pass5v9run14272_L2t_stereo_hole.txt + false + + + timeSmearing-2nsL4L7-4nsL1L3.txt + false + + + false + 0.8 + 0.8 + + + posSmearing_pass5_v9.txt + false + + + 1000 + + + HodoscopeReadoutHits + CONFIG + true + + + HodoscopeReadoutHits + 8 + CONFIG + true + + + + + + + 13.3 + + + WARNING + EcalClusters + + + EcalClusters + EcalClustersCorr + + + + SVTRawTrackerHits + + + .5 + 1 + Pileup + Migrad + true + 165 + true + true + false + true + false + false + true + false + + + 24.0 + 3.0 + false + 400 + 4.0 + 1.0 + 3.0 + 3.0 + true + true + false + + + true + true + 2 + 1 + 8.881915381218574 + 39.249197341740356 + 8.37847994612359 + 11.546843987796496 + 9 + 9 + 8 + 8 + 3 + 2 + 40.0 + 5.0 + 12.320066328390354 + 9.206482863412027 + 5.862027198856136 + 5.508828061070076 + 5 + false + 400 + 0.3473319986601534 + true + 0.055 + 0.045 + true + -1.1 + 7.197594353612735 + false + + + KalmanFullTracks + true + false + + + EcalClustersCorr + KalmanFullTracks + KalmanFullTracks + TrackClusterMatcherMinDistance + UnconstrainedV0Candidates_KF + UnconstrainedV0Vertices_KF + BeamspotConstrainedV0Candidates_KF + BeamspotConstrainedV0Vertices_KF + TargetConstrainedV0Candidates_KF + TargetConstrainedV0Vertices_KF + FinalStateParticles_KF + OtherElectrons_KF + true + false + true + false + 0.055 + 0.045 + -1.1 + 7.0 + 7.0 + 0.0 + 40.0 + 40 + 40 + false + true + true + false + true + true + UnconstrainedMollerCandidates_KF + UnconstrainedMollerVertices_KF + BeamspotConstrainedMollerCandidates_KF + BeamspotConstrainedMollerVertices_KF + TargetConstrainedMollerCandidates_KF + TargetConstrainedMollerVertices_KF + + + ${outputFile}_hit_eff.root + + + ${outputFile}.slcio + + + + + + diff --git a/tracking/src/main/java/org/hps/recon/tracking/mctweaking/StripHitNHitsSmearer.java b/tracking/src/main/java/org/hps/recon/tracking/mctweaking/StripHitNHitsSmearer.java new file mode 100644 index 000000000..0e74a87df --- /dev/null +++ b/tracking/src/main/java/org/hps/recon/tracking/mctweaking/StripHitNHitsSmearer.java @@ -0,0 +1,273 @@ +package org.hps.recon.tracking; + +import hep.physics.vec.BasicHep3Vector; +import hep.physics.vec.Hep3Vector; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.FileReader; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Random; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.lcsim.detector.tracker.silicon.ChargeCarrier; +import org.lcsim.detector.tracker.silicon.HpsSiSensor; +import org.lcsim.detector.tracker.silicon.SiSensorElectrodes; +import org.lcsim.event.EventHeader; +import org.lcsim.event.RawTrackerHit; +import org.lcsim.event.TrackerHit; +import org.lcsim.event.base.BaseTrackerHit; +import org.lcsim.geometry.Detector; +import org.lcsim.lcio.LCIOUtil; +import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D; +import org.lcsim.util.Driver; +import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType; +import hep.physics.matrix.SymmetricMatrix; +import org.lcsim.event.LCRelation; +import org.lcsim.event.RelationalTable; +import org.lcsim.event.base.BaseRelationalTable; +import org.lcsim.event.SimTrackerHit; +import org.lcsim.event.MCParticle; + + +/** + * + * @author mgraham created 9/20/24 + * This driver will randomize the position of strip clusters + * within a specified gaussian sigma. + * + * Strip collection: + * "StripClusterer_SiTrackerHitStrip1D" (default) + * Important Settables: + * smear: the sigma of smearing gaussian + * + * mg...right now, I smear all hits in all layers by the same amount + * independent of nHits. + */ +public class StripHitNHitsSmearer extends Driver { + + + String smearPositionFile="foobar"; + // I may eventually want this, so keep it here + //private List _sensorsToSmear = new ArrayList(); + //List of Sensors + //private List sensors = null; + private static final String SUBDETECTOR_NAME = "Tracker"; + //private static Pattern layerPattern = Pattern.compile("L(\\d+)(t|b)"); + //private static Pattern allPattern = Pattern.compile("L(\\all)"); + private String stripHitInputCollectionName = "StripClusterer_SiTrackerHitStrip1D"; + private String simHitCollectionName = "SimHits"; + private Map smearMap; + private Map> mcParticleHitsByLayer = new HashMap>(); + private boolean _debug = false; + Random r=new Random(); + + /// + + private List siClusters = new ArrayList(); + private List simTrackerHits = new ArrayList(); + + // private Map _siClustersAcceptMap = new HashMap(); + //private Map _finalSiClustersAcceptMap = new HashMap(); + + + public void setSmearPositionFile(String smearFile){ + System.out.println("Setting SVT sensor position smearing file = "+smearFile); + this.smearPositionFile=smearFile; + } + + public void setDebug(boolean debug) { + this._debug = debug; + } + + public StripHitNHitsSmearer() { + } + + @Override + public void detectorChanged(Detector detector) { + // Get the HpsSiSensor objects from the tracker detector element + smearMap = new HashMap<>(); + String infile = "/org/hps/recon/tracking/svtTimeAndPositionSmearing/" + smearPositionFile; + InputStream inSmearing = this.getClass().getResourceAsStream(infile); + + + try (BufferedReader br = new BufferedReader( new InputStreamReader(inSmearing))) { + String line; + while ((line = br.readLine()) != null) { + line = line.trim(); + System.out.println(line); + + if (line.isEmpty() || line.startsWith("#")) continue; + String[] parts = line.split("\\s+"); + System.out.println(parts[0]); + int hits = Integer.parseInt(parts[0]); + double smear = Double.parseDouble(parts[1]); + smearMap.put(hits, smear); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void process(EventHeader event) { + List smearedSiClusters=new ArrayList(); + if (event.hasItem(stripHitInputCollectionName)) + siClusters = (List) event.get(stripHitInputCollectionName); + else { + System.out.println("StripHitNHitsSmearer::process No Input Collection Found?? " + stripHitInputCollectionName); + return; + } + if (_debug) + System.out.println("Number of SiClusters Found = " + siClusters.size()); + + if (event.hasItem("TrackerHits")) + simTrackerHits = event.get(SimTrackerHit.class, "TrackerHits"); + else { + System.out.println("StripHitNHitsSmearer::process No Input Collection Found?? " + "TrackerHits"); + return; + } + + int oldClusterListSize = siClusters.size(); + + RelationalTable rawtomc = new BaseRelationalTable(RelationalTable.Mode.MANY_TO_MANY, RelationalTable.Weighting.UNWEIGHTED); + if (event.hasCollection(LCRelation.class, "SVTTrueHitRelations")) { + List trueHitRelations = event.get(LCRelation.class, "SVTTrueHitRelations"); + for (LCRelation relation : trueHitRelations) { + if (relation != null && relation.getFrom() != null && relation.getTo() != null) { + rawtomc.add(relation.getFrom(), relation.getTo()); + } + } + } + + for (TrackerHit siCluster : siClusters) { // Looping over all clusters + + boolean isMC = true; + // Check if hits in cluster have matching MC particle + List rawHits = siCluster.getRawHits(); + int total_simhits = 0; + MCParticle smearedParticle = null; + for (RawTrackerHit rth:rawHits) { + Set simhits = rawtomc.allFrom(rth); + + for(SimTrackerHit simhit : simhits){ + //get mcp that left simhit + MCParticle particle = simhit.getMCParticle(); + smearedParticle = particle; + if(!mcParticleHitsByLayer.containsKey(particle)){ + Set hitLayers = getLayersHitByMCP(particle, simTrackerHits); + mcParticleHitsByLayer.put(particle, hitLayers); + } + } + + //System.out.println("MC LENGTH: " + simhits.size()); + if (simhits.size() > 0) total_simhits++; + } + if (total_simhits == 0) {isMC = false;} + + + + boolean smearedHit = false; + // get the sensor object of the cluster + HpsSiSensor sensor = (HpsSiSensor) ((RawTrackerHit) siCluster.getRawHits().get(0)).getDetectorElement(); + Hep3Vector newPos=toHep3(siCluster.getPosition());//set the "new" variables to the original cluster position + + if (isMC) { + int nhits = mcParticleHitsByLayer.get(smearedParticle).size(); + if (_debug) { + System.out.println("Found MCParticle with " + nhits + "hits"); + } + Double smearingValue = smearMap.get(nhits); + //get the local u position + Hep3Vector pos = globalToSensor(toHep3(siCluster.getPosition()), sensor); + double smearAmount = r.nextGaussian() * smearingValue; + double uPosNew=pos.x()+smearAmount; + //get the new global position + if (smearingValue > 0) {newPos=sensorToGlobal(toHep3(new double[]{uPosNew,pos.y(),pos.z()}),sensor);} + + if (_debug) + System.out.println("Smearing this hit Layer = " + sensor.getName() + +" smearPositionSigma= " + smearingValue + + " old u = " + pos.x() + + " new u = " + uPosNew + + " amount smeared = " + smearAmount + + " Smeared?? = " + isMC); + if (_debug) { + System.out.println("original position = "+toHep3(siCluster.getPosition()).toString()); + System.out.println("global og position = "+pos.toString()); + } + // set the new position + // smearedTrackerHit.setPosition(new double[]{newPos.x(),newPos.y(),newPos.z()}); + + // add the smeared hit to list and mark it + // smearedSiClusters.add(smearedTrackerHit); + smearedHit=true; + } + //make a smeared hit...even if the sensor hit was not smeared, use newPos/newTime since they were filled with original pos/time above + SiTrackerHitStrip1D smearedTrackerHit= + new SiTrackerHitStrip1D(newPos, new SymmetricMatrix(3,siCluster.getCovMatrix(),true), + siCluster.getdEdx(),siCluster.getTime(),(List)siCluster.getRawHits(), + TrackerHitType.decoded(siCluster.getType())); + + smearedSiClusters.add(smearedTrackerHit); + + } + + if (_debug)System.out.println("New Cluster List Has " + smearedSiClusters.size() + "; old List had " + oldClusterListSize); + // TODO flag not used + int flag = LCIOUtil.bitSet(0, 31, true); // Turn on 64-bit cell ID. + event.remove(this.stripHitInputCollectionName); + event.put(this.stripHitInputCollectionName, smearedSiClusters, SiTrackerHitStrip1D.class, 0, toString()); + } + + @Override + public void endOfData() { + } + + private Set getLayersHitByMCP(MCParticle mcp, List simhits){ + Set layerhitsMap = new HashSet(); + for(SimTrackerHit simhit : simhits){ + MCParticle simhitmcp = simhit.getMCParticle(); + if(simhitmcp == mcp){ + int layer = simhit.getLayer(); + if(!layerhitsMap.contains(layer)) + layerhitsMap.add(layer); + } + } + return layerhitsMap; + } + + //Converts double array into Hep3Vector + private Hep3Vector toHep3(double[] arr) { + return new BasicHep3Vector(arr[0], arr[1], arr[2]); + } + + //Converts position into sensor frame + private Hep3Vector globalToSensor(Hep3Vector hitpos, HpsSiSensor sensor) { + SiSensorElectrodes electrodes = sensor.getReadoutElectrodes(ChargeCarrier.HOLE); + if (electrodes == null) { + electrodes = sensor.getReadoutElectrodes(ChargeCarrier.ELECTRON); + System.out.println("Charge Carrier is NULL"); + } + return electrodes.getGlobalToLocal().transformed(hitpos); + } + + //Converts position from local (sensor) to global frame + private Hep3Vector sensorToGlobal(Hep3Vector hitpos, HpsSiSensor sensor) { + SiSensorElectrodes electrodes = sensor.getReadoutElectrodes(ChargeCarrier.HOLE); + if (electrodes == null) { + electrodes = sensor.getReadoutElectrodes(ChargeCarrier.ELECTRON); + System.out.println("Charge Carrier is NULL"); + } + return electrodes.getLocalToGlobal().transformed(hitpos); + } +} diff --git a/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1b_axial_hole.txt b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1b_axial_hole.txt new file mode 100644 index 000000000..358d5bf73 --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1b_axial_hole.txt @@ -0,0 +1,102 @@ +2 0.894002 +3 1.000000 +4 1.000000 +5 1.000000 +6 1.000000 +7 0.994727 +8 1.000000 +9 1.000000 +10 1.000000 +11 0.996700 +12 1.000000 +13 0.996799 +14 0.994605 +15 0.989254 +16 1.000000 +17 1.000000 +18 1.000000 +19 1.000000 +20 1.000000 +21 1.000000 +22 1.000000 +23 0.995622 +24 0.977429 +25 1.000000 +26 0.997909 +27 0.967634 +28 0.981082 +29 0.998612 +30 0.984064 +31 0.994557 +32 0.994424 +33 0.980736 +34 1.000000 +35 1.000000 +36 1.000000 +37 0.989011 +38 1.000000 +39 0.991697 +40 0.992050 +41 0.958029 +42 1.000000 +43 0.982527 +44 1.000000 +45 1.000000 +46 1.000000 +47 0.986147 +48 1.000000 +49 1.000000 +50 1.000000 +51 1.000000 +52 1.000000 +459 1.000000 +460 1.000000 +461 1.000000 +462 1.000000 +463 0.954622 +464 0.956250 +465 1.000000 +466 1.000000 +467 1.000000 +468 0.970105 +469 1.000000 +470 1.000000 +471 0.994615 +472 1.000000 +473 0.959235 +474 1.000000 +475 0.975232 +476 0.981997 +477 1.000000 +478 0.998947 +479 0.979802 +480 1.000000 +481 0.988016 +482 0.950350 +483 0.981125 +484 1.000000 +485 1.000000 +486 1.000000 +487 1.000000 +488 0.970506 +489 1.000000 +490 0.990533 +491 1.000000 +492 0.996987 +493 1.000000 +494 1.000000 +495 1.000000 +496 1.000000 +497 0.984967 +498 0.984983 +499 1.000000 +500 1.000000 +501 1.000000 +502 1.000000 +503 1.000000 +504 1.000000 +505 1.000000 +506 1.000000 +507 1.000000 +508 1.000000 +509 1.000000 diff --git a/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1b_stereo_hole.txt b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1b_stereo_hole.txt new file mode 100644 index 000000000..d84389d76 --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1b_stereo_hole.txt @@ -0,0 +1,95 @@ +2 1.000000 +3 1.000000 +4 1.000000 +5 1.000000 +6 1.000000 +7 1.000000 +8 1.000000 +9 1.000000 +10 1.000000 +11 1.000000 +12 0.963777 +13 0.991417 +14 1.000000 +15 0.969841 +16 1.000000 +17 1.000000 +18 1.000000 +19 0.980649 +20 1.000000 +21 0.986436 +22 0.995899 +23 1.000000 +24 0.999190 +25 1.000000 +26 0.985135 +27 1.000000 +28 0.984020 +29 1.000000 +30 0.969997 +31 0.999023 +32 1.000000 +33 0.979681 +34 0.981038 +35 0.994157 +36 0.950103 +37 0.980258 +38 1.000000 +39 1.000000 +40 0.977011 +41 1.000000 +42 1.000000 +43 1.000000 +456 1.000000 +457 1.000000 +459 1.000000 +460 1.000000 +461 1.000000 +462 1.000000 +463 1.000000 +464 1.000000 +465 1.000000 +466 1.000000 +467 0.968421 +468 0.945946 +469 0.865497 +470 0.976744 +471 0.912755 +472 0.966000 +473 1.000000 +474 0.979264 +475 1.000000 +476 1.000000 +477 0.972085 +478 1.000000 +479 0.986316 +480 1.000000 +481 1.000000 +482 0.963692 +483 0.998721 +484 0.996177 +485 0.989817 +486 1.000000 +487 1.000000 +488 0.985264 +489 1.000000 +490 0.999381 +491 1.000000 +492 0.975617 +493 0.947339 +494 1.000000 +495 1.000000 +496 1.000000 +497 1.000000 +498 1.000000 +499 1.000000 +500 1.000000 +501 0.993382 +502 1.000000 +503 1.000000 +504 1.000000 +505 1.000000 +506 1.000000 +507 1.000000 +508 1.000000 +509 0.982319 diff --git a/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1t_axial_hole.txt b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1t_axial_hole.txt new file mode 100644 index 000000000..222c95b95 --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1t_axial_hole.txt @@ -0,0 +1,45 @@ +2 1.000000 +3 1.000000 +4 0.998295 +5 1.000000 +6 0.990976 +7 0.987128 +8 0.980465 +9 0.998807 +10 1.000000 +11 0.989502 +12 0.988112 +13 1.000000 +14 1.000000 +15 1.000000 +16 1.000000 +17 0.986804 +18 0.997378 +19 1.000000 +20 0.986127 +21 0.993355 +22 1.000000 +23 0.954545 +24 1.000000 +25 1.000000 +489 1.000000 +490 1.000000 +491 1.000000 +492 1.000000 +493 1.000000 +494 0.976834 +495 1.000000 +496 0.970588 +497 1.000000 +498 0.963042 +499 1.000000 +500 1.000000 +501 0.996613 +502 0.984071 +503 1.000000 +504 1.000000 +505 0.961057 +506 0.944448 +507 0.992217 +508 0.967680 +509 1.000000 diff --git a/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1t_stereo_hole.txt b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1t_stereo_hole.txt new file mode 100644 index 000000000..6cf11ba94 --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L1t_stereo_hole.txt @@ -0,0 +1,64 @@ +2 1.000000 +3 1.000000 +4 1.000000 +5 0.985021 +6 1.000000 +7 1.000000 +8 1.000000 +9 1.000000 +10 1.000000 +11 1.000000 +12 1.000000 +13 1.000000 +14 0.991489 +15 1.000000 +16 1.000000 +17 0.966822 +18 1.000000 +19 1.000000 +20 1.000000 +21 0.976410 +22 1.000000 +23 1.000000 +24 0.989655 +25 0.967033 +26 1.000000 +27 1.000000 +472 1.000000 +473 1.000000 +474 1.000000 +475 1.000000 +476 1.000000 +477 1.000000 +478 1.000000 +479 1.000000 +480 1.000000 +481 1.000000 +482 1.000000 +483 1.000000 +484 1.000000 +485 1.000000 +486 0.991436 +487 0.999537 +488 1.000000 +489 1.000000 +490 1.000000 +491 1.000000 +492 0.978214 +493 1.000000 +494 1.000000 +495 1.000000 +496 1.000000 +497 1.000000 +498 0.972724 +499 1.000000 +500 1.000000 +501 1.000000 +502 1.000000 +503 0.995816 +504 1.000000 +505 0.990379 +506 1.000000 +507 1.000000 +508 1.000000 +509 1.000000 diff --git a/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2b_axial_hole.txt b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2b_axial_hole.txt new file mode 100644 index 000000000..2eeef801d --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2b_axial_hole.txt @@ -0,0 +1,179 @@ +6 0.000000 +7 1.000000 +8 0.526316 +9 0.995885 +10 1.000000 +11 0.983768 +12 1.000000 +13 0.999694 +14 0.995051 +15 1.000000 +16 0.990367 +17 0.997480 +18 1.000000 +19 1.000000 +20 0.998788 +21 0.999906 +22 0.998349 +23 0.991259 +24 0.997790 +25 1.000000 +26 0.989946 +27 1.000000 +28 1.000000 +29 1.000000 +30 1.000000 +31 1.000000 +32 0.998065 +33 0.993435 +34 1.000000 +35 1.000000 +36 1.000000 +37 0.996663 +38 1.000000 +39 0.997504 +40 0.977266 +41 0.990649 +42 0.963303 +43 1.000000 +44 0.996269 +45 1.000000 +46 1.000000 +47 0.986585 +48 1.000000 +49 0.990033 +50 1.000000 +51 0.991121 +52 1.000000 +53 1.000000 +54 0.993621 +55 1.000000 +56 1.000000 +57 1.000000 +58 0.970780 +59 0.980585 +60 0.946470 +61 1.000000 +62 0.979167 +63 1.000000 +64 0.990642 +65 1.000000 +66 1.000000 +67 0.970588 +68 0.975610 +69 1.000000 +70 0.953108 +71 1.000000 +72 0.964286 +73 1.000000 +74 1.000000 +75 0.961538 +76 0.937500 +77 1.000000 +78 1.000000 +79 1.000000 +80 0.920000 +81 0.974741 +82 0.966156 +83 0.951751 +84 1.000000 +85 0.988764 +86 1.000000 +87 0.900000 +88 0.961722 +89 1.000000 +90 1.000000 +91 0.916667 +92 1.000000 +93 1.000000 +94 1.000000 +95 1.000000 +96 1.000000 +97 1.000000 +415 1.000000 +416 0.888889 +417 1.000000 +418 1.000000 +419 1.000000 +420 1.000000 +421 1.000000 +422 0.875000 +423 0.916667 +424 1.000000 +425 1.000000 +426 1.000000 +427 1.000000 +428 1.000000 +429 1.000000 +430 1.000000 +431 1.000000 +432 1.000000 +433 1.000000 +434 1.000000 +435 1.000000 +436 1.000000 +437 1.000000 +438 1.000000 +439 1.000000 +440 1.000000 +441 1.000000 +442 1.000000 +443 0.963504 +444 1.000000 +445 1.000000 +446 0.985205 +447 1.000000 +448 1.000000 +449 1.000000 +450 1.000000 +451 1.000000 +452 1.000000 +453 0.968750 +454 1.000000 +455 1.000000 +456 1.000000 +457 0.987342 +458 0.984509 +459 1.000000 +460 1.000000 +461 1.000000 +462 1.000000 +463 0.997735 +464 1.000000 +465 0.996520 +466 0.994561 +467 1.000000 +468 1.000000 +469 0.987042 +470 0.999970 +471 0.997360 +472 1.000000 +473 1.000000 +474 1.000000 +475 1.000000 +476 0.983752 +477 0.995873 +478 1.000000 +479 0.991143 +480 1.000000 +481 0.998265 +482 0.986579 +483 0.996495 +484 0.998513 +485 1.000000 +486 0.996394 +487 1.000000 +488 0.992057 +489 0.999283 +490 1.000000 +491 0.993669 +492 1.000000 +493 1.000000 +494 1.000000 +495 1.000000 +496 0.995102 +497 1.000000 +498 0.984906 +499 1.000000 +500 1.000000 +501 0.833333 diff --git a/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2b_stereo_hole.txt b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2b_stereo_hole.txt new file mode 100644 index 000000000..ebf456214 --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2b_stereo_hole.txt @@ -0,0 +1,179 @@ +7 1.000000 +8 0.998142 +9 1.000000 +10 1.000000 +11 1.000000 +12 1.000000 +13 0.997291 +14 0.997112 +15 1.000000 +16 0.993821 +17 0.998684 +18 1.000000 +19 1.000000 +20 1.000000 +21 0.991810 +22 1.000000 +23 1.000000 +24 1.000000 +25 1.000000 +26 1.000000 +27 0.995797 +28 0.998159 +29 1.000000 +30 0.995569 +31 1.000000 +32 0.986810 +33 1.000000 +34 0.994515 +35 1.000000 +36 0.991490 +37 1.000000 +38 0.997786 +39 0.969831 +40 0.984524 +41 1.000000 +42 1.000000 +43 0.974692 +44 0.985818 +45 0.992777 +46 1.000000 +47 1.000000 +48 0.968001 +49 1.000000 +50 1.000000 +51 1.000000 +52 1.000000 +53 0.991947 +54 1.000000 +55 1.000000 +56 1.000000 +57 0.970243 +58 1.000000 +59 1.000000 +60 0.986407 +61 0.973026 +62 0.950893 +63 1.000000 +64 0.963777 +65 1.000000 +66 0.947634 +67 1.000000 +68 0.961538 +69 1.000000 +70 1.000000 +71 1.000000 +72 1.000000 +73 0.947368 +74 1.000000 +75 0.875000 +76 1.000000 +77 1.000000 +78 1.000000 +79 0.875000 +80 1.000000 +81 0.923077 +82 1.000000 +83 1.000000 +84 1.000000 +85 1.000000 +86 1.000000 +87 1.000000 +402 1.000000 +403 1.000000 +407 1.000000 +408 1.000000 +409 1.000000 +411 1.000000 +412 0.937500 +413 1.000000 +414 1.000000 +415 1.000000 +416 1.000000 +417 0.750000 +418 1.000000 +419 1.000000 +420 1.000000 +421 1.000000 +422 1.000000 +423 1.000000 +424 0.953243 +425 1.000000 +426 0.975277 +427 1.000000 +428 0.888889 +429 1.000000 +430 1.000000 +431 0.944444 +432 0.978711 +433 1.000000 +434 1.000000 +435 1.000000 +436 0.965517 +437 1.000000 +438 0.971429 +439 0.972464 +440 1.000000 +441 1.000000 +442 1.000000 +443 0.946056 +444 0.972973 +445 0.952381 +446 1.000000 +447 1.000000 +448 1.000000 +449 1.000000 +450 1.000000 +451 1.000000 +452 1.000000 +453 0.957004 +454 0.961538 +455 0.970933 +456 1.000000 +457 0.969666 +458 1.000000 +459 1.000000 +460 0.994089 +461 0.963497 +462 0.994799 +463 0.973099 +464 0.963987 +465 0.991843 +466 1.000000 +467 0.995350 +468 1.000000 +469 0.986171 +470 0.993370 +471 0.990566 +472 0.986435 +473 0.989192 +474 1.000000 +475 0.997111 +476 1.000000 +477 0.997106 +478 1.000000 +479 1.000000 +480 0.986392 +481 0.999972 +482 1.000000 +483 1.000000 +484 0.993291 +485 1.000000 +486 1.000000 +487 0.998476 +488 0.992543 +489 1.000000 +490 1.000000 +491 1.000000 +492 1.000000 +493 0.999209 +494 1.000000 +495 1.000000 +496 1.000000 +497 1.000000 +498 1.000000 +499 1.000000 +500 1.000000 +501 1.000000 +502 0.975379 +503 1.000000 diff --git a/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2t_axial_hole.txt b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2t_axial_hole.txt new file mode 100644 index 000000000..07e61a181 --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2t_axial_hole.txt @@ -0,0 +1,114 @@ +10 0.974359 +11 1.000000 +12 0.958622 +13 1.000000 +14 0.998007 +15 1.000000 +16 1.000000 +17 0.995212 +18 1.000000 +19 1.000000 +20 1.000000 +21 1.000000 +22 1.000000 +23 0.996789 +24 1.000000 +25 0.996608 +26 1.000000 +27 0.999581 +28 0.998113 +29 0.983914 +30 1.000000 +31 0.999936 +32 0.985065 +33 0.992212 +34 1.000000 +35 1.000000 +36 0.986513 +37 1.000000 +38 1.000000 +39 1.000000 +40 0.991960 +41 0.964083 +42 0.992151 +43 0.998817 +44 0.982456 +45 0.994107 +46 0.998708 +47 1.000000 +48 0.980387 +49 0.978471 +50 0.988035 +51 0.987952 +52 1.000000 +53 0.989797 +54 0.983143 +55 1.000000 +56 0.992139 +57 0.984848 +58 0.989372 +59 1.000000 +60 0.941176 +61 1.000000 +62 1.000000 +63 0.900000 +64 1.000000 +65 1.000000 +66 0.857143 +67 1.000000 +68 1.000000 +69 1.000000 +448 1.000000 +449 1.000000 +450 1.000000 +451 0.958333 +452 1.000000 +453 1.000000 +454 0.937500 +455 1.000000 +456 1.000000 +457 1.000000 +458 1.000000 +459 0.966667 +460 1.000000 +461 0.971337 +462 1.000000 +463 1.000000 +464 1.000000 +465 0.989845 +466 0.966111 +467 0.975578 +468 1.000000 +469 0.970879 +470 1.000000 +471 0.964784 +472 0.973070 +473 0.955376 +474 1.000000 +475 1.000000 +476 1.000000 +477 1.000000 +478 1.000000 +479 1.000000 +480 0.986470 +481 1.000000 +482 0.979476 +483 0.977016 +484 1.000000 +485 1.000000 +486 1.000000 +487 1.000000 +488 0.995433 +489 1.000000 +490 0.994393 +491 1.000000 +492 0.995696 +493 1.000000 +494 0.992697 +495 1.000000 +496 1.000000 +497 1.000000 +498 1.000000 +499 1.000000 +500 1.000000 +501 1.000000 diff --git a/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2t_stereo_hole.txt b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2t_stereo_hole.txt new file mode 100644 index 000000000..438c33e8a --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/efficiencyCorrections/pass5v9run14272_L2t_stereo_hole.txt @@ -0,0 +1,143 @@ +9 0.666667 +10 1.000000 +11 1.000000 +12 1.000000 +13 1.000000 +14 0.978275 +15 1.000000 +16 0.991882 +17 1.000000 +18 1.000000 +19 1.000000 +20 1.000000 +21 1.000000 +22 1.000000 +23 1.000000 +24 1.000000 +25 1.000000 +26 1.000000 +27 1.000000 +28 1.000000 +29 1.000000 +30 0.997873 +31 1.000000 +32 1.000000 +33 1.000000 +34 1.000000 +35 1.000000 +36 0.993398 +37 1.000000 +38 1.000000 +39 0.984439 +40 1.000000 +41 1.000000 +42 0.996152 +43 1.000000 +44 1.000000 +45 0.983871 +46 0.987095 +47 0.971749 +48 0.960106 +49 1.000000 +50 1.000000 +51 1.000000 +52 0.955556 +53 1.000000 +54 0.975913 +55 0.969559 +56 0.966667 +57 0.977137 +58 1.000000 +59 1.000000 +60 0.961538 +61 1.000000 +62 1.000000 +63 1.000000 +64 1.000000 +65 1.000000 +66 1.000000 +68 1.000000 +69 1.000000 +70 1.000000 +416 0.000000 +420 1.000000 +421 1.000000 +423 1.000000 +424 1.000000 +425 1.000000 +426 1.000000 +427 0.750000 +428 1.000000 +429 1.000000 +430 1.000000 +431 1.000000 +432 1.000000 +433 1.000000 +434 1.000000 +435 0.857143 +436 1.000000 +437 1.000000 +438 0.928571 +439 1.000000 +440 0.944444 +441 1.000000 +442 0.986364 +443 1.000000 +444 1.000000 +445 1.000000 +446 0.989868 +447 1.000000 +448 0.957119 +449 1.000000 +450 1.000000 +451 0.975927 +452 1.000000 +453 1.000000 +454 0.989022 +455 0.961312 +456 0.997195 +457 1.000000 +458 1.000000 +459 0.997408 +460 0.993382 +461 1.000000 +462 1.000000 +463 0.986590 +464 0.988764 +465 1.000000 +466 0.989955 +467 0.994109 +468 1.000000 +469 0.992667 +470 0.999473 +471 0.989055 +472 1.000000 +473 0.992413 +474 1.000000 +475 0.995263 +476 0.985310 +477 0.988025 +478 0.989459 +479 0.996704 +480 0.995796 +481 0.995916 +482 1.000000 +483 0.994070 +484 1.000000 +485 0.992008 +486 0.998213 +487 1.000000 +488 0.994496 +489 1.000000 +490 0.996779 +491 0.990771 +492 1.000000 +493 1.000000 +494 0.990498 +495 1.000000 +496 1.000000 +497 1.000000 +498 1.000000 +499 1.000000 +500 0.981818 +501 1.000000 diff --git a/tracking/src/main/resources/org/hps/recon/tracking/svtTimeAndPositionSmearing/posSmearing_pass5_v9.txt b/tracking/src/main/resources/org/hps/recon/tracking/svtTimeAndPositionSmearing/posSmearing_pass5_v9.txt new file mode 100644 index 000000000..391c4b5b2 --- /dev/null +++ b/tracking/src/main/resources/org/hps/recon/tracking/svtTimeAndPositionSmearing/posSmearing_pass5_v9.txt @@ -0,0 +1,14 @@ +1 0.0120 +2 0.0120 +3 0.0120 +4 0.0120 +5 0.0120 +6 0.0120 +7 0.0120 +8 0.0120 +9 0.0120 +10 0.0120 +11 0.0100 +12 0.008 +13 0.007 +14 0.0077 \ No newline at end of file