lcsim/src/org/lcsim/contrib/Partridge/example
diff -u -r1.1 -r1.2
--- MyStrategy.java 29 May 2008 00:15:48 -0000 1.1
+++ MyStrategy.java 10 Jun 2008 19:36:47 -0000 1.2
@@ -19,32 +19,146 @@
public MyStrategy() {
- // Create an outside-in strategy for the barrel
BarrelEndcapFlag barrel = BarrelEndcapFlag.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("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);
- // Set parameters for this strategy
- outsideinbarrel.putMinPT(1.0); // Set minimum pT at 1 GeV
- outsideinbarrel.putMaxDCA(1.0); // Set maximum d0 at 1 mm
- outsideinbarrel.putMaxZ0(1.0); // Set maximum z0 at 1 mm
- outsideinbarrel.putMinConfirm(1); // Require at least 1 confirm hit
- outsideinbarrel.putMinHits(7); // Require at least 7 total hits
- outsideinbarrel.putMaxChisq(50.); // Set maximum chi^2 at 50
- outsideinbarrel.putBadHitChisq(15.); // Set chi^2 change that gives preference to excluding the hit
+ List<BarrelEndcapFlag> beflags = new ArrayList<BarrelEndcapFlag>();
+ beflags.add(BarrelEndcapFlag.ENDCAP_NORTH);
+ beflags.add(BarrelEndcapFlag.ENDCAP_SOUTH);
- // Add the strategy to our strategy list
- _strategylist.add(outsideinbarrel);
+ 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() {
lcsim/src/org/lcsim/contrib/Partridge/example
diff -u -r1.1 -r1.2
--- VSExampleDriver.java 29 May 2008 00:15:48 -0000 1.1
+++ VSExampleDriver.java 10 Jun 2008 19:36:47 -0000 1.2
@@ -42,7 +42,7 @@
*
*
* @author D. Onoprienko
- * @version $Id: VSExampleDriver.java,v 1.1 2008/05/29 00:15:48 partridge Exp $
+ * @version $Id: VSExampleDriver.java,v 1.2 2008/06/10 19:36:47 partridge Exp $
*/
public class VSExampleDriver extends Driver {
@@ -65,6 +65,9 @@
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);
@@ -88,30 +91,30 @@
public void process(EventHeader event) {
- System.out.println(" ");
- System.out.println("Event "+event.getEventNumber());
+// System.out.println(" ");
+// System.out.println("Event "+event.getEventNumber());
super.process(event);
MCTruth mcTruth = (MCTruth) event.get("MCTruth");
- System.out.println(" ");
+// 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");
+// 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");
+// 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");
+// System.out.println("Created " + oldHitList.size() + " org.lcsim.event.TrackerHits");
}
}
lcsim/src/org/lcsim/contrib/Partridge/example
diff -u -r1.1 -r1.2
--- VSExampleSegmenter.java 29 May 2008 00:15:48 -0000 1.1
+++ VSExampleSegmenter.java 10 Jun 2008 19:36:47 -0000 1.2
@@ -13,7 +13,7 @@
*
*
* @author D. Onoprienko
- * @version $Id: VSExampleSegmenter.java,v 1.1 2008/05/29 00:15:48 partridge Exp $
+ * @version $Id: VSExampleSegmenter.java,v 1.2 2008/06/10 19:36:47 partridge Exp $
*/
public class VSExampleSegmenter extends SubdetectorBasedSegmenter {
@@ -37,26 +37,26 @@
// 25 um pixels in VTX Endcap
-// DiskTrackerToRingsSegmenter vtxEndcapSegmenter = new DiskTrackerToRingsSegmenter("VertexEndcap");
-// vtxEndcapSegmenter.setStripLength(25.*SystemOfUnits.micrometer);
-// vtxEndcapSegmenter.setStripWidth(25.*SystemOfUnits.micrometer);
-// setSegmenter("VertexEndcap", vtxEndcapSegmenter);
+ 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);
+ 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);
+ 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 : ---------------------------------------------------------