Commit in lcsim/src/org/lcsim/contrib/Partridge/example on MAIN | |||
AnalysisDriver.java | -71 | 1.1 removed | |
MyStrategy.java | -167 | 1.2 removed | |
MyTrackerDriver.java | -49 | 1.2 removed | |
VSExampleDriver.java | -120 | 1.2 removed | |
VSExampleSegmenter.java | -64 | 1.2 removed | |
-471 |
Files moved to seedtracker/example
diff -N AnalysisDriver.java --- AnalysisDriver.java 10 Jun 2008 19:36:47 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,71 +0,0 @@
-/* - * AnalysisDriver.java - * - * Created on February 11, 2008, 11:47 AM - * - */ - -package org.lcsim.contrib.partridge.example; - -import hep.aida.ICloud1D; - -import java.util.List; - -import org.lcsim.event.EventHeader; -import org.lcsim.event.Track; -import org.lcsim.event.MCParticle; -import org.lcsim.util.aida.AIDA; -import org.lcsim.util.Driver; - - -/** - * - * @author Richard Partridge - * @version 1.0 - */ -public class AnalysisDriver extends Driver { - private AIDA aida = AIDA.defaultInstance(); - - /** Creates a new instance of AnalysisDriver */ - public AnalysisDriver() { - } - - /** - * Process the current event - * @param event EventHeader for this event - */ - public void process(EventHeader event) { - List<Track> tracklist = event.getTracks(); - for (Track track : tracklist) { -// aida.cloud1D("Chi squared").fill(track.getChi2()); - double px = track.getPX(); - double py = track.getPY(); - double pz = track.getPZ(); - double pt = Math.sqrt(Math.pow(px,2)+Math.pow(py,2)); - double p = Math.sqrt(Math.pow(pt,2)+Math.pow(pz,2)); - double cth = pz / p; - double theta = 180. * Math.acos(cth) / Math.PI; -// aida.cloud1D("Pt").fill(pt); -// aida.cloud1D("Cos(Theta)").fill(cth); -// aida.cloud1D("Number of Hits").fill(track.getTrackerHits().size()); - if (pt > 1.) aida.histogram1D("Polar Angle (Data, pT > 1 GeV)", 90, 0., 180.).fill(theta); - } - List<MCParticle> mclist = event.getMCParticles(); - for (MCParticle mcp : mclist) { - double px = mcp.getPX(); - double py = mcp.getPY(); - double pz = mcp.getPZ(); - double pt = Math.sqrt(px*px + py*py); - double p = Math.sqrt(pt*pt + pz*pz); - double cth = pz / p; - double theta = 180. * Math.acos(cth) / Math.PI; -// aida.cloud1D("MC Pt").fill(pt); -// aida.cloud1D("MC Cos(Theta)").fill(cth); -// if (pt > 1.) aida.cloud1D("MC Cos(Theta), pT > 1 GeV").fill(cth); - if (pt > 1.) aida.histogram1D("Polar Angle (MC, pT > 1 GeV)", 90, 0., 180.).fill(theta); - } -// super.process(event); - return; - } - -}
diff -N MyStrategy.java --- MyStrategy.java 10 Jun 2008 19:36:47 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,167 +0,0 @@
-/* - * MyStrategy.java - * - * Created on April 12, 2008, 8:42 PM - * - */ - -package org.lcsim.contrib.partridge.example; - -import java.util.ArrayList; -import java.util.List; -import org.lcsim.contrib.seedtracker.SeedLayer; -import org.lcsim.contrib.seedtracker.SeedLayer.SeedType; -import org.lcsim.contrib.seedtracker.SeedStrategy; -import org.lcsim.geometry.subdetector.BarrelEndcapFlag; - -public class MyStrategy { - private List<SeedStrategy> _strategylist = new ArrayList<SeedStrategy>(); - - public MyStrategy() { - - BarrelEndcapFlag barrel = BarrelEndcapFlag.BARREL; - - List<BarrelEndcapFlag> beflags = new ArrayList<BarrelEndcapFlag>(); - beflags.add(BarrelEndcapFlag.ENDCAP_NORTH); - beflags.add(BarrelEndcapFlag.ENDCAP_SOUTH); - - for (BarrelEndcapFlag endcap : beflags) { - - // Create an outside-in strategy for the barrel - List<SeedLayer> lyrlist = new ArrayList<SeedLayer>(); - lyrlist.add(new SeedLayer("VertexBarrel",0,barrel,SeedType.Extend)); - lyrlist.add(new SeedLayer("VertexBarrel",1,barrel,SeedType.Extend)); - lyrlist.add(new SeedLayer("VertexBarrel",2,barrel,SeedType.Extend)); - lyrlist.add(new SeedLayer("VertexBarrel",3,barrel,SeedType.Extend)); - lyrlist.add(new SeedLayer("VertexBarrel",4,barrel,SeedType.Extend)); - lyrlist.add(new SeedLayer("VertexEndcap",0,endcap,SeedType.Extend)); - lyrlist.add(new SeedLayer("VertexEndcap",1,endcap,SeedType.Extend)); - lyrlist.add(new SeedLayer("TrackerForward",0,endcap,SeedType.Extend)); - lyrlist.add(new SeedLayer("TrackerBarrel",0,barrel,SeedType.Extend)); - lyrlist.add(new SeedLayer("TrackerBarrel",1,barrel,SeedType.Confirm)); - lyrlist.add(new SeedLayer("TrackerBarrel",2,barrel,SeedType.Seed)); - lyrlist.add(new SeedLayer("TrackerBarrel",3,barrel,SeedType.Seed)); - lyrlist.add(new SeedLayer("TrackerBarrel",4,barrel,SeedType.Seed)); - SeedStrategy outsideinbarrel = new SeedStrategy("OutsideInBarrel",lyrlist); - _strategylist.add(outsideinbarrel); - - // Create an outside-in strategy for the disks - List<SeedLayer> lyrlist2 = new ArrayList<SeedLayer>(); - lyrlist2.add(new SeedLayer("VertexBarrel",0,barrel,SeedType.Extend)); - lyrlist2.add(new SeedLayer("VertexBarrel",1,barrel,SeedType.Extend)); - lyrlist2.add(new SeedLayer("VertexBarrel",2,barrel,SeedType.Extend)); - lyrlist2.add(new SeedLayer("VertexEndcap",0,endcap,SeedType.Extend)); - lyrlist2.add(new SeedLayer("VertexEndcap",1,endcap,SeedType.Extend)); - lyrlist2.add(new SeedLayer("VertexEndcap",2,endcap,SeedType.Extend)); - lyrlist2.add(new SeedLayer("VertexEndcap",3,endcap,SeedType.Extend)); - lyrlist2.add(new SeedLayer("TrackerForward",0,endcap,SeedType.Extend)); - lyrlist2.add(new SeedLayer("TrackerForward",1,endcap,SeedType.Extend)); - lyrlist2.add(new SeedLayer("TrackerEndcap",0,endcap,SeedType.Confirm)); - lyrlist2.add(new SeedLayer("TrackerEndcap",1,endcap,SeedType.Seed)); - lyrlist2.add(new SeedLayer("TrackerEndcap",2,endcap,SeedType.Seed)); - lyrlist2.add(new SeedLayer("TrackerEndcap",3,endcap,SeedType.Seed)); - SeedStrategy outsideinendcap = new SeedStrategy("OutsideInEndcap",lyrlist2); - _strategylist.add(outsideinendcap); - - // Create an outside-in strategy for the disks - List<SeedLayer> lyrlist3 = new ArrayList<SeedLayer>(); - lyrlist3.add(new SeedLayer("VertexBarrel",0,barrel,SeedType.Extend)); - lyrlist3.add(new SeedLayer("VertexBarrel",1,barrel,SeedType.Extend)); - lyrlist3.add(new SeedLayer("VertexBarrel",2,barrel,SeedType.Extend)); - lyrlist3.add(new SeedLayer("VertexBarrel",3,barrel,SeedType.Extend)); - lyrlist3.add(new SeedLayer("VertexEndcap",0,endcap,SeedType.Extend)); - lyrlist3.add(new SeedLayer("VertexEndcap",1,endcap,SeedType.Extend)); - lyrlist3.add(new SeedLayer("TrackerForward",0,endcap,SeedType.Extend)); - lyrlist3.add(new SeedLayer("TrackerBarrel",0,barrel,SeedType.Extend)); - lyrlist3.add(new SeedLayer("TrackerBarrel",1,barrel,SeedType.Confirm)); - lyrlist3.add(new SeedLayer("TrackerBarrel",2,barrel,SeedType.Seed)); - lyrlist3.add(new SeedLayer("TrackerBarrel",3,barrel,SeedType.Seed)); - lyrlist3.add(new SeedLayer("TrackerEndcap",3,endcap,SeedType.Seed)); - SeedStrategy outsideinendcap3 = new SeedStrategy("OutsideInEndcap3",lyrlist3); - _strategylist.add(outsideinendcap3); - - // Create an outside-in strategy for the disks - List<SeedLayer> lyrlist4 = new ArrayList<SeedLayer>(); - lyrlist4.add(new SeedLayer("VertexBarrel",0,barrel,SeedType.Extend)); - lyrlist4.add(new SeedLayer("VertexBarrel",1,barrel,SeedType.Extend)); - lyrlist4.add(new SeedLayer("VertexBarrel",2,barrel,SeedType.Extend)); - lyrlist4.add(new SeedLayer("VertexBarrel",3,barrel,SeedType.Extend)); - lyrlist4.add(new SeedLayer("VertexEndcap",0,endcap,SeedType.Extend)); - lyrlist4.add(new SeedLayer("VertexEndcap",1,endcap,SeedType.Extend)); - lyrlist4.add(new SeedLayer("VertexEndcap",2,endcap,SeedType.Extend)); - lyrlist4.add(new SeedLayer("TrackerForward",0,endcap,SeedType.Extend)); - lyrlist4.add(new SeedLayer("TrackerBarrel",0,barrel,SeedType.Extend)); - lyrlist4.add(new SeedLayer("TrackerBarrel",1,barrel,SeedType.Confirm)); - lyrlist4.add(new SeedLayer("TrackerBarrel",2,barrel,SeedType.Seed)); - lyrlist4.add(new SeedLayer("TrackerEndcap",2,endcap,SeedType.Seed)); - lyrlist4.add(new SeedLayer("TrackerEndcap",3,endcap,SeedType.Seed)); - SeedStrategy outsideinendcap4 = new SeedStrategy("OutsideInEndcap4",lyrlist4); - _strategylist.add(outsideinendcap4); - - // Create an outside-in strategy for the disks - List<SeedLayer> lyrlist5 = new ArrayList<SeedLayer>(); - lyrlist5.add(new SeedLayer("VertexBarrel",0,barrel,SeedType.Extend)); - lyrlist5.add(new SeedLayer("VertexBarrel",1,barrel,SeedType.Extend)); - lyrlist5.add(new SeedLayer("VertexBarrel",2,barrel,SeedType.Extend)); - lyrlist5.add(new SeedLayer("VertexEndcap",0,endcap,SeedType.Extend)); - lyrlist5.add(new SeedLayer("VertexEndcap",1,endcap,SeedType.Extend)); - lyrlist5.add(new SeedLayer("VertexEndcap",2,endcap,SeedType.Extend)); - lyrlist5.add(new SeedLayer("TrackerForward",0,endcap,SeedType.Extend)); - lyrlist5.add(new SeedLayer("TrackerBarrel",0,barrel,SeedType.Extend)); - lyrlist5.add(new SeedLayer("TrackerBarrel",1,barrel,SeedType.Confirm)); - lyrlist5.add(new SeedLayer("TrackerEndcap",1,endcap,SeedType.Seed)); - lyrlist5.add(new SeedLayer("TrackerEndcap",2,endcap,SeedType.Seed)); - lyrlist5.add(new SeedLayer("TrackerEndcap",3,endcap,SeedType.Seed)); - SeedStrategy outsideinendcap5 = new SeedStrategy("OutsideInEndcap5",lyrlist5); - _strategylist.add(outsideinendcap5); - - // Create an outside-in strategy for the disks - List<SeedLayer> lyrlist6 = new ArrayList<SeedLayer>(); - lyrlist6.add(new SeedLayer("VertexBarrel",0,barrel,SeedType.Extend)); - lyrlist6.add(new SeedLayer("VertexBarrel",1,barrel,SeedType.Extend)); - lyrlist6.add(new SeedLayer("VertexEndcap",0,endcap,SeedType.Extend)); - lyrlist6.add(new SeedLayer("VertexEndcap",1,endcap,SeedType.Extend)); - lyrlist6.add(new SeedLayer("VertexEndcap",2,endcap,SeedType.Extend)); - lyrlist6.add(new SeedLayer("VertexEndcap",3,endcap,SeedType.Extend)); - lyrlist6.add(new SeedLayer("TrackerForward",0,endcap,SeedType.Extend)); - lyrlist6.add(new SeedLayer("TrackerForward",1,endcap,SeedType.Confirm)); - lyrlist6.add(new SeedLayer("TrackerForward",2,endcap,SeedType.Confirm)); - lyrlist6.add(new SeedLayer("TrackerEndcap",1,endcap,SeedType.Seed)); - lyrlist6.add(new SeedLayer("TrackerEndcap",2,endcap,SeedType.Seed)); - lyrlist6.add(new SeedLayer("TrackerEndcap",3,endcap,SeedType.Seed)); - SeedStrategy outsideinendcap6 = new SeedStrategy("OutsideInEndcap6",lyrlist6); - _strategylist.add(outsideinendcap6); - - // Create an outside-in strategy for the disks - List<SeedLayer> lyrlist7 = new ArrayList<SeedLayer>(); - lyrlist7.add(new SeedLayer("VertexBarrel",0,barrel,SeedType.Extend)); - lyrlist7.add(new SeedLayer("VertexBarrel",1,barrel,SeedType.Extend)); - lyrlist7.add(new SeedLayer("VertexEndcap",0,endcap,SeedType.Extend)); - lyrlist7.add(new SeedLayer("VertexEndcap",1,endcap,SeedType.Extend)); - lyrlist7.add(new SeedLayer("VertexEndcap",2,endcap,SeedType.Extend)); - lyrlist7.add(new SeedLayer("VertexEndcap",3,endcap,SeedType.Extend)); - lyrlist7.add(new SeedLayer("TrackerForward",0,endcap,SeedType.Extend)); - lyrlist7.add(new SeedLayer("TrackerForward",1,endcap,SeedType.Confirm)); - lyrlist7.add(new SeedLayer("TrackerForward",2,endcap,SeedType.Seed)); - lyrlist7.add(new SeedLayer("TrackerEndcap",2,endcap,SeedType.Seed)); - lyrlist7.add(new SeedLayer("TrackerEndcap",3,endcap,SeedType.Seed)); - SeedStrategy outsideinendcap7 = new SeedStrategy("OutsideInEndcap7",lyrlist7); - _strategylist.add(outsideinendcap7); - } - - for (SeedStrategy strategy : _strategylist) { - // Set parameters for this strategy - strategy.putMinPT(1.0); // Set minimum pT at 1 GeV - strategy.putMaxDCA(1.0); // Set maximum d0 at 1 mm - strategy.putMaxZ0(1.0); // Set maximum z0 at 1 mm - strategy.putMinConfirm(1); // Require at least 1 confirm hit - strategy.putMinHits(7); // Require at least 7 total hits - strategy.putMaxChisq(50.); // Set maximum chi^2 at 50 - strategy.putBadHitChisq(15.); // Set chi^2 change that gives preference to excluding the hit - } - } - - public List<SeedStrategy> getStrategies() { - return _strategylist; - } -}
diff -N MyTrackerDriver.java --- MyTrackerDriver.java 10 Jun 2008 19:36:47 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,49 +0,0 @@
-/* - * MyTrackerDriver.java - * - * Created on March 29, 2006, 4:58 PM - * - */ - -package org.lcsim.contrib.partridge.example; - -import org.lcsim.contrib.seedtracker.SeedTracker; -import org.lcsim.event.EventHeader; -import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver; -import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver.HitType; -import org.lcsim.util.Driver; - -/** - * Driver for testing the SeedTracker track finding algorithm. This driver causes - * the SmearMCHits and SeedTracker drivers to be invoked for each event. - * @author Richard Partridge - * @version 1.0 - */ -public class MyTrackerDriver extends Driver -{ - public MyTrackerDriver() - { - // Add the hit digitization driver (this example uses the virtual segment digitization code) - add(new VSExampleDriver()); - - // Add a driver to create HelicalTrackHits from the digitized hits - HelicalTrackHitDriver hitdriver = new HelicalTrackHitDriver(); - hitdriver.addCollection("StandardTrackerHits",HitType.VirtualSegmentation); - add(hitdriver); - - // Create a list of strategies to be used in track finding - MyStrategy strategylist = new MyStrategy(); - - // Add a driver to do the track finding - add(new SeedTracker(strategylist.getStrategies())); - - // Add an example analysis driver - add(new AnalysisDriver()); - - } - public void process(EventHeader event) - { - super.process(event); - return; - } -}
diff -N VSExampleDriver.java --- VSExampleDriver.java 10 Jun 2008 19:36:47 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,120 +0,0 @@
-package org.lcsim.contrib.partridge.example; - -import java.util.*; - -import hep.aida.*; -import org.lcsim.event.EventHeader; -import org.lcsim.event.SimTrackerHit; -import org.lcsim.recon.cat.util.NoSuchParameterException; -import org.lcsim.units.clhep.SystemOfUnits; -import org.lcsim.util.Driver; -import org.lcsim.util.aida.AIDA; -import hep.physics.vec.BasicHep3Vector; -import hep.physics.vec.Hep3Vector; -import hep.physics.vec.VecOp; - -import org.lcsim.contrib.onoprien.tracking.clustering.ClusteringDriver; -import org.lcsim.contrib.onoprien.tracking.clustering.clusterers.NearestNeighborClusterer; -import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiDriver; -import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiConverter; -import org.lcsim.contrib.onoprien.tracking.digitization.algorithms.ConverterSimple; -import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager; -import org.lcsim.contrib.onoprien.tracking.geom.Segmenter; -import org.lcsim.contrib.onoprien.tracking.geom.Sensor; -import org.lcsim.contrib.onoprien.tracking.geom.SensorType; -import org.lcsim.contrib.onoprien.tracking.hit.DigiTrackerHit; -import org.lcsim.contrib.onoprien.tracking.hit.TrackerCluster; -import org.lcsim.contrib.onoprien.tracking.hit.TrackerHit; -import org.lcsim.contrib.onoprien.tracking.hitmaking.HitMakingDriver; -import org.lcsim.contrib.onoprien.tracking.hitmaking.TrackerHitConverter; -import org.lcsim.contrib.onoprien.tracking.hitmaking.TrackerHitMaker; -import org.lcsim.contrib.onoprien.tracking.hitmaking.hitmakers.TrackerHitMakerBasic; -import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruth; -import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruthDriver; -import org.lcsim.contrib.onoprien.tracking.mctruth.SimGroup; - -/** - * An Example of how to define virtual segmentation of the tracker, - * and use {@link TrackerHitConverter} to create - * "standard" <tt>org.lcsim.event.TrackerHits</tt>. - * Parameters are chosen to define reasonable segmentation for SiD01. - * - * - * - * @author D. Onoprienko - * @version $Id: VSExampleDriver.java,v 1.2 2008/06/10 19:36:47 partridge Exp $ - */ -public class VSExampleDriver extends Driver { - -// -- Constructors : ---------------------------------------------------------- - - public VSExampleDriver() { - - add(new MCTruthDriver()); - - // Segmentation description : - - Segmenter segmenter = new VSExampleSegmenter(); - SegmentationManager segMan = new SegmentationManager(segmenter); - SegmentationManager.setDefaultInstance(segMan); - add(segMan); - - // Digitization : - - SimToDigiConverter converter = new ConverterSimple(); - SimToDigiDriver conversionDriver = new SimToDigiDriver(converter); - conversionDriver.set("ADD_INPUT_LIST_NAME", "TkrBarrHits"); - conversionDriver.set("ADD_INPUT_LIST_NAME", "VtxBarrHits"); - conversionDriver.set("ADD_INPUT_LIST_NAME", "TkrEndcapHits"); - conversionDriver.set("ADD_INPUT_LIST_NAME", "VtxEndcapHits"); - conversionDriver.set("ADD_INPUT_LIST_NAME", "TkrForwardHits"); - conversionDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits"); - add(conversionDriver); - - // Clustering : - - ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer()); - clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits"); - clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters"); - add(clusteringDriver); - - // Conversion to "standard" org.lcsim.event.TrackerHit : ------------------ - - TrackerHitConverter hitConverter = new TrackerHitConverter(); - hitConverter.set("INPUT_CLUSTER_MAP_NAME", "TrackerClusters"); - hitConverter.set("OUTPUT_HIT_LIST_NAME", "StandardTrackerHits"); - add(hitConverter); - } - - -// -- Event processing : ------------------------------------------------------ - - public void process(EventHeader event) { - -// System.out.println(" "); -// System.out.println("Event "+event.getEventNumber()); - - super.process(event); - - MCTruth mcTruth = (MCTruth) event.get("MCTruth"); - -// System.out.println(" "); - - int n = 0; - HashMap<Sensor, List<DigiTrackerHit>> digiMap = - (HashMap<Sensor, List<DigiTrackerHit>>) event.get("DigiTrackerHits"); - for (List<DigiTrackerHit> digiList : digiMap.values()) n += digiList.size(); -// System.out.println("Created " + n + " DigiTrackerHits on " + digiMap.keySet().size() + " sensors"); - - n = 0; - HashMap<Sensor, List<TrackerCluster>> clusterMap = - (HashMap<Sensor, List<TrackerCluster>>) event.get("TrackerClusters"); - for (List<TrackerCluster> clusterList : clusterMap.values()) n += clusterList.size(); -// System.out.println("Created " + n + " TrackerClusters on " + clusterMap.keySet().size() + " sensors"); - - n = 0; - List<org.lcsim.event.TrackerHit> oldHitList = (List<org.lcsim.event.TrackerHit>) event.get("StandardTrackerHits"); -// System.out.println("Created " + oldHitList.size() + " org.lcsim.event.TrackerHits"); - } - -}
diff -N VSExampleSegmenter.java --- VSExampleSegmenter.java 10 Jun 2008 19:36:47 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,64 +0,0 @@
-package org.lcsim.contrib.partridge.example; - -import org.lcsim.units.clhep.SystemOfUnits; - -import org.lcsim.contrib.onoprien.tracking.geom.segmenters.CylindricalBarrelSegmenter; -import org.lcsim.contrib.onoprien.tracking.geom.segmenters.DiskTrackerToWedgesSegmenter; -import org.lcsim.contrib.onoprien.tracking.geom.segmenters.DiskTrackerToRingsSegmenter; -import org.lcsim.contrib.onoprien.tracking.geom.segmenters.SubdetectorBasedSegmenter; - -/** - * - * - * - * - * @author D. Onoprienko - * @version $Id: VSExampleSegmenter.java,v 1.2 2008/06/10 19:36:47 partridge Exp $ - */ -public class VSExampleSegmenter extends SubdetectorBasedSegmenter { - -// -- Constructors : ---------------------------------------------------------- - - public VSExampleSegmenter() { - - // 25 um pixels in VTX Barrel - - CylindricalBarrelSegmenter vtxBarrelSegmenter = new CylindricalBarrelSegmenter("VertexBarrel"); - vtxBarrelSegmenter.setStripLength(25.*SystemOfUnits.micrometer); - vtxBarrelSegmenter.setStripWidth(25.*SystemOfUnits.micrometer); - setSegmenter("VertexBarrel", vtxBarrelSegmenter); - - // 10 cm x 25 um strips in outer Tracker Barrel - - CylindricalBarrelSegmenter trackerBarrelSegmenter = new CylindricalBarrelSegmenter("TrackerBarrel"); - trackerBarrelSegmenter.setStripLength(10.*SystemOfUnits.cm); - trackerBarrelSegmenter.setStripWidth(25.*SystemOfUnits.micrometer); - setSegmenter("TrackerBarrel", trackerBarrelSegmenter); - - // 25 um pixels in VTX Endcap - - DiskTrackerToRingsSegmenter vtxEndcapSegmenter = new DiskTrackerToRingsSegmenter("VertexEndcap"); - vtxEndcapSegmenter.setStripLength(25.*SystemOfUnits.micrometer); - vtxEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer); - setSegmenter("VertexEndcap", vtxEndcapSegmenter); - - // 15 degrees stereo wedges in Forward Tracker - - DiskTrackerToWedgesSegmenter trackerForwardSegmenter = new DiskTrackerToWedgesSegmenter("TrackerForward"); - trackerForwardSegmenter.setStripLength(10.*SystemOfUnits.cm); - trackerForwardSegmenter.setStripWidth(25.*SystemOfUnits.micrometer); - trackerForwardSegmenter.setNumberOfPhiSlices(24); - setSegmenter("TrackerForward", trackerForwardSegmenter); - - // 15 degrees stereo wedges in outer Tracker Endcap - - DiskTrackerToWedgesSegmenter trackerEndcapSegmenter = new DiskTrackerToWedgesSegmenter("TrackerEndcap"); - trackerEndcapSegmenter.setNumberOfRadialSlices(new int[]{3,5,8,10, 10}); - trackerEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer); - trackerEndcapSegmenter.setNumberOfPhiSlices(24); - setSegmenter("TrackerEndcap", trackerEndcapSegmenter); - } - -// -- Private parts : --------------------------------------------------------- - -}