Commit in hps-java on MAIN | |||
src/main/java/org/lcsim/hps/recon/tracking/ReReconstructionDriver.java | -100 | 1.1 removed | |
sandbox/ReReconstructionDriver.java | +100 | added 1.1 | |
+100 | -100 |
move unused class to sandbox
diff -N ReReconstructionDriver.java --- ReReconstructionDriver.java 1 Jun 2011 17:05:31 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,100 +0,0 @@
-/* - * TrackReconstructionDriver class - */ -package org.lcsim.hps.recon.tracking; - -import java.util.ArrayList; -import java.util.List; - -import org.lcsim.event.EventHeader; -import org.lcsim.event.LCRelation; -import org.lcsim.event.RawTrackerHit; -import org.lcsim.event.RelationalTable; -import org.lcsim.event.Track; -import org.lcsim.event.TrackerHit; -import org.lcsim.event.base.BaseRelationalTable; -import org.lcsim.fit.helicaltrack.HelicalTrackHit; -import org.lcsim.recon.tracking.seedtracker.SeedTrack; -import org.lcsim.util.Driver; -import org.lcsim.util.aida.AIDA; - -/** - * Driver to perform hit digitization and track reconstruction for the sATLAS detector - * - * @author M. Graham and R. Partridge - */ -public class ReReconstructionDriver extends Driver { - - private AIDA aida = AIDA.defaultInstance(); - List<Integer> passLayers = new ArrayList(); -// double pcut=5.2; - double pcut=0.95*2.2; - public ReReconstructionDriver() { - } - - - public void process( - EventHeader event) { - - List<Track> tracklist = event.get(Track.class, "AxialTracks"); - List<HelicalTrackHit> hthits = event.get(HelicalTrackHit.class, "HelicalTrackHits"); - List<HelicalTrackHit> axhits = event.get(HelicalTrackHit.class, "AxialTrackHits"); - List<LCRelation> mcrelations = event.get(LCRelation.class, "HelicalTrackMCRelations"); - List<LCRelation> hitrelations = new ArrayList<LCRelation>(); - List<LCRelation> matchedmcrelations = new ArrayList<LCRelation>(); - List<HelicalTrackHit> matchedhits = new ArrayList<HelicalTrackHit>(); - List<RawTrackerHit> axhitsontrack = new ArrayList<RawTrackerHit>(); - - RelationalTable hittomc = new BaseRelationalTable(RelationalTable.Mode.MANY_TO_MANY, RelationalTable.Weighting.UNWEIGHTED); - - for (LCRelation relation : mcrelations) - if (relation != null&&relation.getFrom()!=null&&relation.getTo()!=null) - hittomc.add(relation.getFrom(), relation.getTo()); - int totax = axhits.size(); - int totaxontrack = 0; - int tothth = hthits.size(); - int toththontrack = 0; - for (Track track : tracklist) { - double trMom=track.getPX(); - SeedTrack st = (SeedTrack) track; - List<TrackerHit> trackhits = st.getTrackerHits(); - for (TrackerHit th : trackhits) { - HelicalTrackHit hth = (HelicalTrackHit) th; - List<RawTrackerHit> rawhits = hth.getRawHits(); - totaxontrack += rawhits.size(); - if(trMom<pcut)axhitsontrack.addAll(rawhits); - } - } - for (HelicalTrackHit hit : hthits) { - List<RawTrackerHit> rawhits = hit.getRawHits(); - for (RawTrackerHit rh : rawhits) - if (axhitsontrack.contains(rh) || keepHit(rh))// see if there is an overlap of raw hits in the helical track hit... - if (!matchedhits.contains(hit)) { //only add if it's not already in the collection - for (LCRelation relation : mcrelations) { - if (relation.getFrom() == hit) - matchedmcrelations.add(relation); - if (relation.getTo() == hit) - matchedmcrelations.add(relation); - } - matchedhits.add(hit); - } - } - -// System.out.println("Total axial hits = " + totax + "; total associated axial hits = " + totaxontrack); -// System.out.println("Total HelicalTrackHits = " + tothth+ "; total associated HelicalTrackHits = " + matchedhits.size()); - - event.put("MatchedHTHits", matchedhits, HelicalTrackHit.class, 0); - //event.put("MatchedHTRelations", hitrelations, LCRelation.class, 0); - event.put("MatchedHTMCRelations", matchedmcrelations, LCRelation.class, 0); - } - - public void setLayersToKeep(Integer layer) { - passLayers.add(layer); - } - - private boolean keepHit(RawTrackerHit raw) { - for (Integer keep : passLayers) - if (raw.getLayerNumber() == keep) return true; - return false; - } -}
diff -N ReReconstructionDriver.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ ReReconstructionDriver.java 29 Apr 2012 23:05:47 -0000 1.1 @@ -0,0 +1,100 @@
+/* + * TrackReconstructionDriver class + */ +package org.lcsim.hps.recon.tracking; + +import java.util.ArrayList; +import java.util.List; + +import org.lcsim.event.EventHeader; +import org.lcsim.event.LCRelation; +import org.lcsim.event.RawTrackerHit; +import org.lcsim.event.RelationalTable; +import org.lcsim.event.Track; +import org.lcsim.event.TrackerHit; +import org.lcsim.event.base.BaseRelationalTable; +import org.lcsim.fit.helicaltrack.HelicalTrackHit; +import org.lcsim.recon.tracking.seedtracker.SeedTrack; +import org.lcsim.util.Driver; +import org.lcsim.util.aida.AIDA; + +/** + * Driver to perform hit digitization and track reconstruction for the sATLAS detector + * + * @author M. Graham and R. Partridge + */ +public class ReReconstructionDriver extends Driver { + + private AIDA aida = AIDA.defaultInstance(); + List<Integer> passLayers = new ArrayList(); +// double pcut=5.2; + double pcut=0.95*2.2; + public ReReconstructionDriver() { + } + + + public void process( + EventHeader event) { + + List<Track> tracklist = event.get(Track.class, "AxialTracks"); + List<HelicalTrackHit> hthits = event.get(HelicalTrackHit.class, "HelicalTrackHits"); + List<HelicalTrackHit> axhits = event.get(HelicalTrackHit.class, "AxialTrackHits"); + List<LCRelation> mcrelations = event.get(LCRelation.class, "HelicalTrackMCRelations"); + List<LCRelation> hitrelations = new ArrayList<LCRelation>(); + List<LCRelation> matchedmcrelations = new ArrayList<LCRelation>(); + List<HelicalTrackHit> matchedhits = new ArrayList<HelicalTrackHit>(); + List<RawTrackerHit> axhitsontrack = new ArrayList<RawTrackerHit>(); + + RelationalTable hittomc = new BaseRelationalTable(RelationalTable.Mode.MANY_TO_MANY, RelationalTable.Weighting.UNWEIGHTED); + + for (LCRelation relation : mcrelations) + if (relation != null&&relation.getFrom()!=null&&relation.getTo()!=null) + hittomc.add(relation.getFrom(), relation.getTo()); + int totax = axhits.size(); + int totaxontrack = 0; + int tothth = hthits.size(); + int toththontrack = 0; + for (Track track : tracklist) { + double trMom=track.getPX(); + SeedTrack st = (SeedTrack) track; + List<TrackerHit> trackhits = st.getTrackerHits(); + for (TrackerHit th : trackhits) { + HelicalTrackHit hth = (HelicalTrackHit) th; + List<RawTrackerHit> rawhits = hth.getRawHits(); + totaxontrack += rawhits.size(); + if(trMom<pcut)axhitsontrack.addAll(rawhits); + } + } + for (HelicalTrackHit hit : hthits) { + List<RawTrackerHit> rawhits = hit.getRawHits(); + for (RawTrackerHit rh : rawhits) + if (axhitsontrack.contains(rh) || keepHit(rh))// see if there is an overlap of raw hits in the helical track hit... + if (!matchedhits.contains(hit)) { //only add if it's not already in the collection + for (LCRelation relation : mcrelations) { + if (relation.getFrom() == hit) + matchedmcrelations.add(relation); + if (relation.getTo() == hit) + matchedmcrelations.add(relation); + } + matchedhits.add(hit); + } + } + +// System.out.println("Total axial hits = " + totax + "; total associated axial hits = " + totaxontrack); +// System.out.println("Total HelicalTrackHits = " + tothth+ "; total associated HelicalTrackHits = " + matchedhits.size()); + + event.put("MatchedHTHits", matchedhits, HelicalTrackHit.class, 0); + //event.put("MatchedHTRelations", hitrelations, LCRelation.class, 0); + event.put("MatchedHTMCRelations", matchedmcrelations, LCRelation.class, 0); + } + + public void setLayersToKeep(Integer layer) { + passLayers.add(layer); + } + + private boolean keepHit(RawTrackerHit raw) { + for (Integer keep : passLayers) + if (raw.getLayerNumber() == keep) return true; + return false; + } +}
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1