Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
6c60c47
Switch to using SiPixels to describe the electrodes for layers 0/1
omar-moreno Jan 22, 2020
689b923
SiStriplet class describing striplet electrodes.
omar-moreno Jan 29, 2020
fe661af
Switch to using striplet electrodes.
omar-moreno Jan 29, 2020
dcf02cd
Add a hook to getUnmeasuredResolution to handle SiStriplets.
omar-moreno Feb 25, 2020
043c074
Add method to retrieve row number, column number and strip center.
omar-moreno Feb 26, 2020
c5391db
Add hooks to handle SiStriplet case.
omar-moreno Feb 26, 2020
65d0f41
fix bugs for hodo gains and deadtime, and develop a driver for hodosc…
tongtongcao Mar 11, 2020
2678cdf
Fix a bug: threshold-crossing sampe is part of NSA instead of NSB; ch…
tongtongcao Mar 12, 2020
2dc6337
move ecal-readout-sim/src/main/java/org/hps/readout/hodoscope/Hodosco…
tongtongcao Mar 12, 2020
dc85bbc
develop singles trigger driver for 2019 MC readout
tongtongcao Mar 14, 2020
df44f85
Fix sign flip bug.
omar-moreno Mar 15, 2020
2b3ca14
develop pairs trigger driver
tongtongcao Mar 17, 2020
1428b85
Fix typo
omar-moreno Mar 20, 2020
c43d6f5
Merge remote-tracking branch 'origin/iss655' into iss677
omar-moreno Mar 20, 2020
ac6da26
Merge branch 'master' into iss677
omar-moreno Mar 20, 2020
f5ee7da
add readout steering files: one is for singles trigger, and the other…
tongtongcao Mar 20, 2020
dff9665
uncomment SVT driver in PhysicsRun2019TrigSingles.lcsim
tongtongcao Mar 20, 2020
87e6b7e
Change file name to make this the main recon driver for 2019 pass0
omar-moreno Mar 22, 2020
4b06d54
add a steering file with pulse trigger and remove unnecessary drivers…
tongtongcao Mar 24, 2020
9f7cead
Merge branch 'iss655' into iss677
omar-moreno Mar 24, 2020
a09e9c0
Merge branch 'master' into iss677
omar-moreno Mar 24, 2020
7b3ce5a
First pass of MC recon driver for 2019. Tracking is commented out fo…
omar-moreno Mar 24, 2020
b1c1f12
Remove old flags from steering files
pbutti Mar 24, 2020
0cbbdcd
Fix Typo
pbutti Mar 24, 2020
f38dffa
HelicalTrackHitDriver can retrieve the SiTrackerHit1DStrip as Tracker…
pbutti Mar 25, 2020
fc7d2e6
Class describing a 1D cluster. This class inherits the class in lcsi…
omar-moreno Mar 25, 2020
87e4a3a
Cast to the local definition of SiTrackerHitStrip1D.
omar-moreno Mar 25, 2020
50bfa04
Remove debug.
omar-moreno Mar 25, 2020
dd1e93a
Update steering file.
omar-moreno Mar 25, 2020
5db0878
Check on number of scattering planes to give the proper kalLayer to t…
pbutti Mar 26, 2020
2d74f78
Merge branch 'iss677' of https://github.com/JeffersonLab/hps-java int…
pbutti Mar 26, 2020
e3d3c49
Remove debug.
omar-moreno Mar 26, 2020
7e8a03b
Remove printout of getHitLength.
pbutti Mar 26, 2020
b8ffe0d
Changed casts with constructors.
pbutti Mar 26, 2020
4d8e726
Use the right SiHitTracker1DStrip and constructor instead of cast
pbutti Mar 26, 2020
7a47ee7
Kalman filter starts from ly0. Broken for 2016
pbutti Mar 27, 2020
4ac9422
Updates to steering file for 2019MC reco
pbutti Mar 27, 2020
8318980
Add momentum to KF tracks TrackData
pbutti Mar 28, 2020
056b931
set pulse rate in the steering file /org/hps/steering/readout/Physics…
tongtongcao Mar 28, 2020
09244e9
Merge branch 'iss677' of https://github.com/JeffersonLab/hps-java int…
tongtongcao Mar 28, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -56,24 +56,36 @@ public double getSenseTransferEfficiency() {
@Override
public void initialize() {

// Get the transformation that will be used to place the electrodes on
// the face of the sensor.
Transform3D electrodesTransform = this.getElectrodesTransform();

// Set the number of readout and sense electrodes.
final SiStrips readoutElectrodes = new ThinSiStrips(ChargeCarrier.HOLE, getReadoutStripPitch(), this,
electrodesTransform);
final SiStrips senseElectrodes = new ThinSiStrips(ChargeCarrier.HOLE, getSenseStripPitch(),
this.getNumberOfSenseStrips(), this, electrodesTransform);
// Column pitch is the length of the sensor divided by 2.
double stripLength = this.getStripLength()/2;

final double readoutCapacitance = this.getStripLength() > this.longSensorLengthThreshold ? this.readoutLongStripCapacitanceSlope
: this.readoutStripCapacitanceSlope;
final double senseCapacitance = this.getStripLength() > this.longSensorLengthThreshold ? this.senseLongStripCapacitanceSlope
: this.senseStripCapacitanceSlope;
// Set the number of readout and sense electrodes.
final SiStriplets readoutElectrodes = new SiStriplets(ChargeCarrier.HOLE,
getReadoutStripPitch(), // Strip pitch = 55 um
stripLength, // Column pitch
this,
electrodesTransform // Parent to local transform
);

// TODO: Investigate whether this needs to be defined or if it can be
// set to null.
final SiStriplets senseElectrodes = new SiStriplets(ChargeCarrier.HOLE,
getReadoutStripPitch(), // Strip pitch = 55 um
stripLength, // Column pitch
this,
electrodesTransform // Parent to local transform
);

// Set the strip capacitance.
readoutElectrodes.setCapacitanceIntercept(this.readoutStripCapacitanceIntercept);
readoutElectrodes.setCapacitanceSlope(readoutCapacitance);
senseElectrodes.setCapacitanceIntercept(this.senseStripCapacitanceIntercept);
senseElectrodes.setCapacitanceSlope(senseCapacitance);
double readoutCapacitance = this.readoutStripCapacitanceIntercept + readoutStripCapacitanceSlope*stripLength;
double senseCapacitance = this.senseStripCapacitanceIntercept + senseStripCapacitanceSlope*stripLength;
readoutElectrodes.setCapacitance(readoutCapacitance);

senseElectrodes.setCapacitance(senseCapacitance);

// Set sense and readout electrodes.
this.setSenseElectrodes(senseElectrodes);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package org.lcsim.detector.tracker.silicon;

import hep.physics.vec.BasicHep3Vector;
import hep.physics.vec.Hep3Vector;

import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.ITransform3D;

/**
* Class describing striplet electrodes of a silicon sensor. This class extends
* {@link SiPixels} but overrides the calculation of the strip ID and provides
* methods needed to create 1D strip hits.
*
* @author Omar Moreno, SLAC National Accelerator Laboratory
*/
public class SiStriplets extends SiPixels {

/**
* Constructor.
*
* @param carrier
* @param rowPitch
* @param colPitch
* @param detector
* @param parentToLocal
*/
public SiStriplets(ChargeCarrier carrier, double rowPitch, double colPitch,
IDetectorElement detector, ITransform3D parentToLocal) {
super(carrier, rowPitch, colPitch, detector, parentToLocal);
}

@Override
public int getCellID(int row, int column) {

if (row < 0 || row >= getNCells(0)) return -1;

if (column < 0 || column >= getNCells(1)) return -1;

int id = (column == 0) ? row : ((column + 1)*getNCells(0) - row);

return id;
}


@Override
public int getRowNumber(int cellID) {

int row = (getColumnNumber(cellID) == 0) ? cellID : (getColumnNumber(cellID) + 1)*getNCells(0) - cellID;

return row;
}

@Override
public int getColumnNumber(int cellID) {
return (int) Math.floor(cellID/getNCells(0));
}

public Hep3Vector getStripCenter(int cellID) {

//System.out.println("SiStriplets::getStripCenter : Row Offset: " + _row_offset);
//System.out.println("SiStriplets::getStripCenter : Cell ID: " + cellID);
//System.out.println("SiStriplets::getStripCenter : Row: " + getRowNumber(cellID));
double u = getRowNumber(cellID)*_row_pitch - _row_offset;
//System.out.println("SiStriplets::getStripCenter : u: " + u);

double v = getColumnNumber(cellID)*_col_pitch - _col_offset;
//System.out.println("SiStriplets::getStripCenter : v: " + v);

return new BasicHep3Vector(u, v, 0.0);
}

public double getStripLength(int cellID) {
return _col_pitch;
}

}

Loading