Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging Kalman Filter for pattern recognition - iss204 #644

Merged
merged 118 commits into from
Feb 18, 2020
Merged
Show file tree
Hide file tree
Changes from 113 commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
caf1625
Kalman package.
omar-moreno Aug 14, 2017
893496d
Merge branch 'master' into iss204
omar-moreno Sep 8, 2017
23babdf
First addition of code into this package. So far the code just fits …
Sep 8, 2017
d0ea5a9
Small amount of cleanup of comment lines.
Sep 8, 2017
ec44528
Restructured code to make room for multiple hits per detector, to all…
Sep 18, 2017
e6559f2
Removed an unused class that was superceded by KalmanTrackFit.java
Sep 18, 2017
c989d0f
Got fitting working in the field map; added runge-kutta integration; …
robertprestonjohnson Oct 5, 2017
4d1c82c
Some restructuring to try to resolve problems with the smoothing
robertprestonjohnson Oct 25, 2017
c716cd7
Bug fix in smoothing. Now works perfectly for uniform field. Non-uni…
robertprestonjohnson Oct 25, 2017
8d117a2
First version that seems to work well fitting in the non-uniform fiel…
robertprestonjohnson Oct 29, 2017
4bc7b68
Added option to generate the test tracks using Runge-Kutta integration
robertprestonjohnson Nov 1, 2017
3af53bf
Added dummy layers between 5 and 6 for stepping through the large B f…
robertprestonjohnson Nov 12, 2017
5655334
Found and fixed the bug that was preventing the fit from working corr…
robertprestonjohnson Nov 20, 2017
795a9f8
Got the seed track working again, now with the non-uniform field.
robertprestonjohnson Jan 13, 2018
8c01b70
Version in which the seed track is working in the non-uniform B field…
robertprestonjohnson Jan 18, 2018
ab010a0
remove duplicate files to permit compilation
mdiamon Jan 31, 2018
71a476a
Some modifications to make the fitting work with hits missing on laye…
robertprestonjohnson Feb 7, 2018
0102504
Merge branch 'iss204' of https://github.com/JeffersonLab/hps-java int…
robertprestonjohnson Feb 7, 2018
9d5d546
Introduction of combinatorial pattern recognition algorithms
robertprestonjohnson Apr 3, 2018
7292edb
Make some classes public for the interface to HPS
robertprestonjohnson Apr 5, 2018
05558fb
Made the linear fit work with general transformations to local coordi…
robertprestonjohnson May 15, 2018
ee7f58a
merge with branch iss204
mdiamon May 15, 2018
83150b7
updating interface
mdiamon May 16, 2018
41c60a8
merge steering file and update interface
mdiamon May 20, 2018
59f3d43
only use middle hits for SeedTrack
mdiamon Jun 9, 2018
6babc15
add debug output
mdiamon Jun 19, 2018
0fd0998
Fixed an array index error in the residual and chi^2 calculation and …
robertprestonjohnson Jun 21, 2018
943c473
bug fixe
mdiamon Jun 22, 2018
ad4df5e
fix merge
mdiamon Jun 22, 2018
020839a
create KalmanSeedTrack collection in lcio
mdiamon Jun 24, 2018
8dd16bd
add kalman interface test
mdiamon Jun 25, 2018
31e105f
troubleshooting full Kalman fit
mdiamon Jun 27, 2018
710ef89
removed troublesome fieldmap file
mdiamon Jun 27, 2018
eec5df1
put file back in
mdiamon Jun 27, 2018
ca3773f
fix kalman-to-lcio helix param conversion
mdiamon Aug 8, 2018
ad14a7c
Some bug fixes to make the basic seedtrack and Kalman fits work
robertprestonjohnson Aug 12, 2018
1129f99
Merge branch 'iss204b' of https://github.com/JeffersonLab/hps-java in…
robertprestonjohnson Aug 12, 2018
a755726
todo
mdiamon Aug 13, 2018
c9f57c7
More printout of track information, including helix at origin
robertprestonjohnson Aug 13, 2018
a585e15
GBL changes
mdiamon Aug 15, 2018
c1a1b72
Merge branch 'iss204b' of https://github.com/JeffersonLab/hps-java in…
mdiamon Aug 15, 2018
4174a87
GBL changes
mdiamon Aug 15, 2018
05bd70b
GBL changes
mdiamon Aug 17, 2018
d8206ea
Merge branch 'master' into iss204c
mdiamon Aug 17, 2018
0af85a2
better printing
mdiamon Aug 17, 2018
b6fb11b
merge iss204b
mdiamon Aug 17, 2018
315a9f4
momenta
mdiamon Aug 18, 2018
0dd169d
momentum bug fix
mdiamon Aug 22, 2018
ffd0004
Improved track extrapolation to the origin and included it in KalmanT…
robertprestonjohnson Aug 24, 2018
1c974f2
using new field maps
robertprestonjohnson Aug 27, 2018
7e11b48
add aida interface to HPSKalmanDriver
mdiamon Aug 28, 2018
a41ce9f
Merge branch 'iss204c' of https://github.com/JeffersonLab/hps-java in…
mdiamon Aug 28, 2018
914741e
Fixed point of evaluation of B field at start of helixStepper. Some c…
robertprestonjohnson Aug 31, 2018
7745c08
some Kalman interface bug fixes and more print statements
robertprestonjohnson Sep 6, 2018
e673621
Update KalmanDriverHPS.java
mdiamon Sep 6, 2018
fc2da0e
bug fix
mdiamon Sep 12, 2018
270fd9f
GBL kinks
mdiamon Sep 25, 2018
eff2bed
option to start Kalman from GBL helix parameters
robertprestonjohnson Sep 26, 2018
d330233
Merge branch 'iss204c' of https://github.com/JeffersonLab/hps-java in…
robertprestonjohnson Sep 26, 2018
621c3af
Update KalmanDriverHPS.java
mdiamon Nov 1, 2018
422582a
more plots and verbose fixes
mdiamon Nov 1, 2018
c6287a9
Merge branch 'iss204c' of https://github.com/JeffersonLab/hps-java in…
mdiamon Nov 1, 2018
43ccef5
eliminate kalman FieldMap
mdiamon Nov 5, 2018
e7f6694
eliminate deprecated test
mdiamon Nov 5, 2018
d2629c5
Merge branch 'master' into iss204d
mdiamon Nov 5, 2018
b77bcb6
eliminate specialized fieldmap object
mdiamon Nov 12, 2018
bd28b38
restore test files using polymorpic field-map
mdiamon Nov 13, 2018
32caaeb
more KalmanDriver plots
mdiamon Nov 18, 2018
1df307c
merge conflicts
mdiamon Nov 18, 2018
95013fd
New standalone test with full HPS geometry
robertprestonjohnson Jan 19, 2019
68604fe
New test program that models the full HPS tracker geometry (top only)…
robertprestonjohnson Feb 22, 2019
8a50707
Merge branch 'iss204d' of https://github.com/JeffersonLab/hps-java in…
robertprestonjohnson Feb 22, 2019
d96faeb
Fixed error in covariance matrix when extrapolating to origin.
robertprestonjohnson Feb 28, 2019
893bd29
Adding code for diagnostics; format fixes
robertprestonjohnson Mar 13, 2019
e0cff5d
Finished calculation and histogramming of Kalman filter kinks by layer
robertprestonjohnson Mar 14, 2019
b730ba9
Fix Kalman kink calculation (had forgotten to transform from field co…
robertprestonjohnson Mar 14, 2019
6b23f2c
More histograms and debugging stuff
robertprestonjohnson Mar 20, 2019
3dca4ca
Fixed a bug that caused errors when trying to add dummy planes betwee…
robertprestonjohnson May 28, 2019
246ce5f
Major revision to get the patter recognition working with full HPS ge…
robertprestonjohnson Jul 23, 2019
b31da30
Formatting fixes
robertprestonjohnson Aug 27, 2019
eb4b8af
Added a documentation file (pdf), formatting and comment changes, add…
robertprestonjohnson Sep 6, 2019
bd56400
Major work on pattern recognition. Actually works fairly well now. Up…
robertprestonjohnson Sep 23, 2019
6688fe7
Fixed null pointer crash and eliminated some printout.
robertprestonjohnson Sep 24, 2019
ec569da
Further improvements of pattern recognition
robertprestonjohnson Sep 28, 2019
2343705
Added to the documentation and corrected one seed strategy in KalmanP…
robertprestonjohnson Sep 30, 2019
355a6a1
Add option to the histogram package to do gaussian fits and display t…
robertprestonjohnson Oct 1, 2019
b97f4f0
Fixed a crash due to index out of range.
robertprestonjohnson Oct 1, 2019
9c23544
Formatting fixes so will compile in maven
robertprestonjohnson Oct 2, 2019
4497714
Modify pat rec layer lists to work also for top tracker. Comment corr…
robertprestonjohnson Oct 13, 2019
54b4395
First stab at an interface of Kalman pattern recognition to hps-java
robertprestonjohnson Oct 21, 2019
da9cdcc
added a couple of plots to the patrec driver
robertprestonjohnson Oct 21, 2019
71d8a6b
Turned off some debug printing int the pattern recognition.
robertprestonjohnson Oct 21, 2019
8e80f95
Improved removal and addition of hits. Working better now. Turned off…
robertprestonjohnson Nov 3, 2019
b9bfd38
More work on understanding the pattern recognition interface. . .
robertprestonjohnson Nov 16, 2019
964c3f4
Take rotation and translation between global and local directly from …
robertprestonjohnson Dec 2, 2019
266dd7f
Made the hps output track have the parameters extrapolated to the IP.…
robertprestonjohnson Dec 3, 2019
d58aef0
Add the hits to the hps track at output
robertprestonjohnson Dec 4, 2019
6e1e2d1
test steering file
robertprestonjohnson Dec 4, 2019
9c61a79
Resolved conflicts
Dec 5, 2019
532d561
Restoring files from master
Dec 5, 2019
4f6fa69
Fix compilation issue
Dec 5, 2019
dc677a3
Saved arc length in MeasurementSite. Updated print method in KalTrack
robertprestonjohnson Dec 9, 2019
4cf0855
Updated the interface to the Kalman SeedTrack in KalmanInterface. Thi…
robertprestonjohnson Dec 10, 2019
eb77786
Fill and write out hit info for GBL to refit Kalman tracks
robertprestonjohnson Dec 12, 2019
235abd1
Corrected the code filling in the track states in KalmanInterface.java
robertprestonjohnson Dec 13, 2019
0b48f01
Set phi and reference points in trackStates to something useful:
robertprestonjohnson Dec 13, 2019
d6baeb5
Introduce facility to run with constant B field for test purposes.
robertprestonjohnson Jan 13, 2020
85880ba
Set field back to non-uniform in KalmanPatRecDriver
robertprestonjohnson Jan 14, 2020
f38b06f
Improvements to the pattern recognition and analysis
robertprestonjohnson Jan 28, 2020
f39b0bb
Significant rewrite of pattern recognition logic, with improved resul…
robertprestonjohnson Feb 12, 2020
94bb3f2
Added event timing and corrected count of bad hits.
robertprestonjohnson Feb 12, 2020
125d6eb
Updated hardcoded number of layers up to 14 for 2019 detector
pbutti Feb 14, 2020
f9fb947
Updated the KalmanInterfaceTest to fix hps-java installation with tests
pbutti Feb 14, 2020
830afcd
Additions to histograms and plotting
robertprestonjohnson Feb 14, 2020
9171baa
Merge branch 'iss204e' of https://github.com/JeffersonLab/hps-java in…
robertprestonjohnson Feb 14, 2020
25f8e55
Removed LineFit and ParabolaFit
pbutti Feb 18, 2020
d29a3ee
Merge branch 'iss204e' of github.com:JeffersonLab/hps-java into iss204e
pbutti Feb 18, 2020
8b50027
Remove deprecated code
pbutti Feb 18, 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
2 changes: 0 additions & 2 deletions analysis/src/main/java/org/hps/analysis/tuple/TupleMaker.java
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,6 @@ protected void detectorChanged(Detector detector) {
bfield = TrackUtils.getBField(detector).magnitude();
bFieldMap = detector.getFieldMap();

bFieldMap = detector.getFieldMap();

if (Double.isNaN(ebeam)) {
try {
BeamEnergy.BeamEnergyCollection beamEnergyCollection = this.getConditionsManager()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,72 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<!--
@brief Steering file that will be used for pass 2 reconstruction of
the 2015 Engineering Run data.
@author <a href="mailto:meeg@slac.stanford.edu">Sho Uemura</a>
@author <a href="mailto:omoreno1@ucsc.edu">Omar Moreno</a>
This file is copied fromo "EngineeringRun2015FullRecon.lcsim", and only GBLOutputDriver is added.
This will produce GBL asci files, that Alessandra and Mariangela can check the alignment.
-->
<execute>
<driver name="RawTrackerHitSensorSetup"/>
<driver name="RawTrackerHitFitterDriver" />
<driver name="TrackerHitDriver"/>
<driver name="HelicalTrackHitDriver"/>
<driver name="TrackReconSeed345Conf2Extd16"/>
<driver name="MergeTrackCollections"/>
<driver name="GBLRefitterDriver" />
<driver name="TrackDataDriver" />
<driver name="GBLOutputDriver"/>
<driver name="LCIOWriter"/>
<driver name="CleanupDriver"/>
</execute>
<drivers>
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
<readoutCollections>SVTRawTrackerHits</readoutCollections>
</driver>
<driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
<fitAlgorithm>Pileup</fitAlgorithm>
<useTimestamps>false</useTimestamps>
<correctTimeOffset>true</correctTimeOffset>
<correctT0Shift>true</correctT0Shift>
<useTruthTime>false</useTruthTime>
<subtractTOF>true</subtractTOF>
<subtractTriggerTime>true</subtractTriggerTime>
<correctChanT0>true</correctChanT0>
<debug>false</debug>
</driver>
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver">
<neighborDeltaT>8.0</neighborDeltaT>
</driver>
<driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver">
<debug>false</debug>
<clusterTimeCut>12.0</clusterTimeCut>
<maxDt>16.0</maxDt>
<clusterAmplitudeCut>400.0</clusterAmplitudeCut>
</driver>
<!-- SVT Track finding -->
<driver name="TrackReconSeed345Conf2Extd16" type="org.hps.recon.tracking.TrackerReconDriver">
<trackCollectionName>Tracks_s345_c2_e16</trackCollectionName>
<strategyResource>HPS_s345_c2_e16.xml</strategyResource>
<debug>false</debug>
<rmsTimeCut>8.0</rmsTimeCut>
</driver>
<driver name="MergeTrackCollections" type="org.hps.recon.tracking.MergeTrackCollections" />
<driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver" />
<driver name="GBLRefitterDriver" type="org.hps.recon.tracking.gbl.GBLRefitterDriver">
<storeTrackStates>true</storeTrackStates>
<writeMilleBinary>true</writeMilleBinary>
<milleBinaryFileName>millepedeData.bin</milleBinaryFileName>
</driver>
<!--
@brief Steering file that will be used for pass 2 reconstruction of
the 2015 Engineering Run data.
@author <a href="mailto:meeg@slac.stanford.edu">Sho Uemura</a>
@author <a href="mailto:omoreno1@ucsc.edu">Omar Moreno</a>
This file is copied fromo "EngineeringRun2015FullRecon.lcsim", and only GBLOutputDriver is added.
This will produce GBL asci files, that Alessandra and Mariangela can check the alignment.
-->
<execute>
<driver name="RawTrackerHitSensorSetup"/>
<driver name="RawTrackerHitFitterDriver" />
<driver name="TrackerHitDriver"/>
<driver name="HelicalTrackHitDriver"/>
<driver name="TrackReconSeed345Conf2Extd16"/>
<driver name="MergeTrackCollections"/>
<driver name="GBLRefitterDriver" />
<driver name="TrackDataDriver" />
<driver name="GBLOutputDriver"/>
<driver name="LCIOWriter"/>
<driver name="CleanupDriver"/>
</execute>
<drivers>

<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
<readoutCollections>SVTRawTrackerHits</readoutCollections>
</driver>
<driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
<fitAlgorithm>Pileup</fitAlgorithm>
<useTimestamps>false</useTimestamps>
<correctTimeOffset>true</correctTimeOffset>
<correctT0Shift>true</correctT0Shift>
<useTruthTime>false</useTruthTime>
<subtractTOF>true</subtractTOF>
<subtractTriggerTime>true</subtractTriggerTime>
<correctChanT0>true</correctChanT0>
<debug>false</debug>
</driver>
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver">
<neighborDeltaT>8.0</neighborDeltaT>
</driver>
<driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver">
<debug>false</debug>
<clusterTimeCut>12.0</clusterTimeCut>
<maxDt>16.0</maxDt>
<clusterAmplitudeCut>400.0</clusterAmplitudeCut>
</driver>
<!-- SVT Track finding -->
<driver name="TrackReconSeed345Conf2Extd16" type="org.hps.recon.tracking.TrackerReconDriver">
<trackCollectionName>Tracks_s345_c2_e16</trackCollectionName>
<strategyResource>HPS_s345_c2_e16.xml</strategyResource>
<debug>false</debug>
<rmsTimeCut>8.0</rmsTimeCut>
</driver>
<driver name="MergeTrackCollections" type="org.hps.recon.tracking.MergeTrackCollections" />
<driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver" />
<driver name="GBLRefitterDriver" type="org.hps.recon.tracking.gbl.GBLRefitterDriver">
<storeTrackStates>true</storeTrackStates>
<writeMilleBinary>true</writeMilleBinary>
<milleBinaryFileName>millepedeData.bin</milleBinaryFileName>
</driver>
<driver name="GBLOutputDriver" type="org.hps.recon.tracking.gbl.GBLOutputDriver" />
<driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver">
<outputFilePath>${outputFile}.slcio</outputFilePath>
</driver>
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
<driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
<outputFileName>${outputFile}.root</outputFileName>
</driver>
</drivers>

<driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver">
<outputFilePath>${outputFile}.slcio</outputFilePath>
</driver>
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
<driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
<outputFileName>${outputFile}.root</outputFileName>
</driver>
</drivers>
</lcsim>
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<!--
@brief Steering file that will be used for pass 2 reconstruction of the 2015 Engineering Run data.
@author <a href="mailto:meeg@slac.stanford.edu">Sho Uemura</a>
@author <a href="mailto:omoreno1@ucsc.edu">Omar Moreno</a>
-->
<execute>
<driver name="RawTrackerHitSensorSetup"/>
<driver name="RawTrackerHitFitterDriver" />
<driver name="TrackerHitDriver"/>
<driver name="KalmanPatRecDriver"/>
<driver name="CleanupDriver"/>
</execute>
<drivers>

<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
<readoutCollections>SVTRawTrackerHits</readoutCollections>
</driver>
<driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
<fitAlgorithm>Pileup</fitAlgorithm>
<useTimestamps>false</useTimestamps>
<correctTimeOffset>true</correctTimeOffset>
<correctT0Shift>true</correctT0Shift>
<useTruthTime>false</useTruthTime>
<subtractTOF>true</subtractTOF>
<subtractTriggerTime>true</subtractTriggerTime>
<correctChanT0>true</correctChanT0>
<debug>false</debug>
</driver>
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver">
<neighborDeltaT>8.0</neighborDeltaT>
</driver>
<driver name="KalmanPatRecDriver" type="org.hps.recon.tracking.kalman.KalmanPatRecDriver">
</driver>

<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>

</drivers>
</lcsim>
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<!--
@brief Steering file that will be used for pass 2 reconstruction of
the 2015 Engineering Run data.
@author <a href="mailto:meeg@slac.stanford.edu">Sho Uemura</a>
@author <a href="mailto:omoreno1@ucsc.edu">Omar Moreno</a>
-->
<execute>
<driver name="RawTrackerHitSensorSetup"/>
<driver name="RawTrackerHitFitterDriver" />
<driver name="TrackerHitDriver"/>
<driver name="KalmanDriverHPS"/>
<driver name="CleanupDriver"/>
</execute>
<drivers>

<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
<readoutCollections>SVTRawTrackerHits</readoutCollections>
</driver>
<driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
<fitAlgorithm>Pileup</fitAlgorithm>
<useTimestamps>false</useTimestamps>
<correctTimeOffset>true</correctTimeOffset>
<correctT0Shift>true</correctT0Shift>
<useTruthTime>false</useTruthTime>
<subtractTOF>true</subtractTOF>
<subtractTriggerTime>true</subtractTriggerTime>
<correctChanT0>true</correctChanT0>
<debug>false</debug>
</driver>
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver">
<neighborDeltaT>8.0</neighborDeltaT>
</driver>
<driver name="KalmanDriverHPS" type="org.hps.recon.tracking.kalman.KalmanDriverHPS">
<outputSeedTrackCollectionName>KalmanSeedTracks</outputSeedTrackCollectionName>
</driver>

<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>

</drivers>
</lcsim>
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
<!--<driver name="EcalRunningPedestal"/>-->
<driver name="EcalRawConverter" />
<driver name="HitTimeSmear"/>
<driver name="ReconClusterer" />
<driver name="CopyCluster" />
<!--<driver name="ReconClusterer" />-->
<!--driver name="CopyCluster" />-->
<!-- SVT reconstruction drivers -->
<driver name="RawTrackerHitSensorSetup"/>
<driver name="RawTrackerHitFitterDriver" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1390,7 +1390,7 @@ public static List<TrackerHit> sortHits(Collection<TrackerHit> hits) {
return hitList;
}

private static class LayerComparator implements Comparator<TrackerHit> {
public static class LayerComparator implements Comparator<TrackerHit> {

@Override
public int compare(TrackerHit o1, TrackerHit o2) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ private void doBasicTracks(List<Track> tracks) {
int ntracksBot = 0;
double momentum_param = 2.99792458e-04;

aida.histogram1D("Tracks per Event", 3, 0, 3).fill(tracks.size());
aida.histogram1D("Tracks per Event").fill(tracks.size());

for (Track trk : tracks) {

Expand All @@ -225,6 +225,10 @@ private void doBasicTracks(List<Track> tracks) {
isTop = true;
}

Track trackShared = TrackUtils.mostSharedHitTrack(trk, tracks);
int maxShared = TrackUtils.numberOfSharedHits(trk, trackShared);
aida.histogram1D("Shared Hits on Track").fill(maxShared);

double pt = Math.abs((1 / trk.getTrackStates().get(0).getOmega()) * bfield * momentum_param);
double pz = pt * Math.cos(trk.getTrackStates().get(0).getPhi());
double px = pt * Math.sin(trk.getTrackStates().get(0).getPhi());
Expand Down Expand Up @@ -458,7 +462,6 @@ public void process(EventHeader event) {

if (!event.hasCollection(Track.class, trackCollectionName)) {
System.out.println(trackCollectionName + " does not exist; skipping event");
aida.histogram1D("Number Tracks/Event").fill(0);
return;
}
List<Track> tracks = event.get(Track.class, trackCollectionName);
Expand Down Expand Up @@ -631,6 +634,8 @@ private void setupPlots() {
IHistogram1D trkPz = aida.histogram1D("Track Momentum (Pz)", 100, 0, 1.5);
IHistogram1D trkChi2 = aida.histogram1D("Track Chi2", 25, 0, 25.0);

aida.histogram1D("Shared Hits on Track", 7, 0, 7);

IHistogram1D toptrkPx = aida.histogram1D("Top Track Momentum (Px)", 100, -0.15, 0.15);
IHistogram1D toptrkPy = aida.histogram1D("Top Track Momentum (Py)", 100, -0.15, 0.15);
IHistogram1D toptrkPz = aida.histogram1D("Top Track Momentum (Pz)", 100, 0, 1.5);
Expand Down
Loading