Print

Print


Commit in lcsim/src/org/lcsim/recon/pfa/structural on MAIN
SetUpDTreeForReclustering.java+32-71.16 -> 1.17
SetUpPFA.java+5-11.11 -> 1.12
+37-8
2 modified files
Add parameter for using new initial mip finding

lcsim/src/org/lcsim/recon/pfa/structural
SetUpDTreeForReclustering.java 1.16 -> 1.17
diff -u -r1.16 -r1.17
--- SetUpDTreeForReclustering.java	28 Sep 2010 13:35:44 -0000	1.16
+++ SetUpDTreeForReclustering.java	6 Oct 2010 21:05:23 -0000	1.17
@@ -8,9 +8,11 @@
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.Cluster;
 import org.lcsim.recon.cluster.directedtree.DirectedTreeDriver;
-import org.lcsim.recon.cluster.nn.NearestNeighborClusterDriver;
 import org.lcsim.recon.cluster.mipfinder.ShowerPointFinderDriver;
+import org.lcsim.recon.cluster.mipfinder.ShowerPointFinderDriver2;
+import org.lcsim.recon.cluster.mipfinder.trackxtrap.*;
 import org.lcsim.recon.cluster.muonfinder.MuonFinderWrapper;
+import org.lcsim.recon.cluster.muonfinder.MuonFinderWrapper3;
 import org.lcsim.recon.cluster.util.HitNearBarrelEndcapBoundaryDecision;
 import org.lcsim.recon.cluster.util.RemoveHitsFromClusters;
 import org.lcsim.recon.cluster.util.VetoHitsFromClusters;
@@ -41,6 +43,7 @@
     Collection<String> hitsForMST;
     HelixExtrapolator findCluster;
     boolean init;
+    boolean useNewInitialMipFinding = false;
     public SetUpDTreeForReclustering(String inputTrackListi, Collection<String> allHitListsi, Collection<String> recoHitListsi, Collection<String> hitsForMSTi, HelixExtrapolator findClusteri) {
         inputTrackList = inputTrackListi;
         allHitLists = allHitListsi;
@@ -49,6 +52,7 @@
         findCluster = findClusteri;
         init = false;
     }
+    public void setUseNewInitialMipFinding(boolean x){useNewInitialMipFinding = x;}
     protected void process(EventHeader event)
     {
         if(!init)
@@ -92,6 +96,9 @@
 	}
 	add(combineReco);
 
+        // Extrapolate tracks through the calorimeters for later use
+        add(new TrackXtrapThruCalDriver(findCluster,inputTrackList,"TrackXtrapInfo"));
+
 	// Find photons in ECAL
 	{
 	    // We have to use ALL hits for the photon-finder -- this is because it uses the
@@ -108,12 +115,21 @@
 	    add(new HitMapSubtractDriver("AllDigiHitMap", "ElectronHitMap", "AllDigiHitMapWithoutElectrons"));
 	}
 
-
+        // Attach calorimeter hits to tracks, useful for finding/attaching mips
+        add(new AttachCalorimeterHitsDriver("TracksWithoutElectrons","RecoDigiHitMapWithoutElectrons","TrackXtrapInfo",20.));
 	{
 	    // Find muons
-	    MuonFinderWrapper muonFinder = new MuonFinderWrapper(findCluster, "TracksWithoutElectrons", "AllDigiHitMapWithoutElectrons", "MuonTrackClusterMap", "AllDigiHitMapWithoutElectronsOrMuons", "TracksWithoutElectronsOrMuons");
+            if(useNewInitialMipFinding)
+            {
+                MuonFinderWrapper3 muonFinder3 = new MuonFinderWrapper3("TrackXtrapInfo","TracksWithoutElectrons", "AllDigiHitMapWithoutElectrons", "MuonTrackClusterMap", "AllDigiHitMapWithoutElectronsOrMuons", "TracksWithoutElectronsOrMuons");
+                add(muonFinder3);
+            }
+            else
+            {
+                MuonFinderWrapper muonFinder = new MuonFinderWrapper(findCluster, "TracksWithoutElectrons", "AllDigiHitMapWithoutElectrons", "MuonTrackClusterMap", "AllDigiHitMapWithoutElectronsOrMuons", "TracksWithoutElectronsOrMuons");
 	    //muonFinder.skip(); // TEST
-	    add(muonFinder);
+                add(muonFinder);
+            }
 	    // Identify the muon hits within useable hit block
 	    add(new HitMapSubtractDriver("RecoDigiHitMapWithoutElectrons", "AllDigiHitMapWithoutElectronsOrMuons", "RecoDigiHitMapMuons"));
 	    // Non-muon hits within useable hit block
@@ -121,9 +137,18 @@
 	}
 
 	{
-	    // TJ's pre-shower MIP-finder
-	    ShowerPointFinderDriver showerFinder = new ShowerPointFinderDriver(findCluster, "RecoDigiHitMapWithoutElectronsOrMuons", "TracksWithoutElectronsOrMuons", "ShowerFinderMapTrackToMip", "RecoDigiHitMapWithoutElectronsOrMuonsOrMips", "ShowerFinderMips");
-	    add(showerFinder);
+            if(useNewInitialMipFinding)
+            {
+                ShowerPointFinderDriver2 showerFinder2ForHad =
+                    new ShowerPointFinderDriver2("RecoDigiHitMapWithoutElectronsOrMuons", "TracksWithoutElectronsOrMuons", "TrackXtrapInfo", "ShowerFinderMapTrackToMip", "RecoDigiHitMapWithoutElectronsOrMuonsOrMips", "ShowerFinderMips");
+                add(showerFinder2ForHad);
+            }
+            else
+            {
+                // TJ's pre-shower MIP-finder
+                ShowerPointFinderDriver showerFinder = new ShowerPointFinderDriver(findCluster, "RecoDigiHitMapWithoutElectronsOrMuons", "TracksWithoutElectronsOrMuons", "ShowerFinderMapTrackToMip", "RecoDigiHitMapWithoutElectronsOrMuonsOrMips", "ShowerFinderMips");
+                add(showerFinder);
+            }
 	    add(new CheckDisjoint("RecoDigiHitMapWithoutElectronsOrMuonsOrMips", "ShowerFinderMips"));
 	    // Steve's pre-shower MIP-finder
 	    // disabled for now -- //add(new ReclusterDriver.SteveMipWrapper());

lcsim/src/org/lcsim/recon/pfa/structural
SetUpPFA.java 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- SetUpPFA.java	29 Apr 2010 13:47:34 -0000	1.11
+++ SetUpPFA.java	6 Oct 2010 21:05:23 -0000	1.12
@@ -33,6 +33,8 @@
     public void setReclusCheckSharedHitsForPunchThrough(boolean x){ reclusTree.setCheckSharedHitsForPunchThrough(x); }
     public void setReclusOutputParticleListName(String x){ reclusTree.setOutputParticleListName(x); }
     private boolean init;
+    private boolean useNewInitialMipFinding = false;
+    public void setUseNewInitialMipFinding(boolean x){useNewInitialMipFinding = x;}
 
 
     public SetUpPFA(){
@@ -84,7 +86,9 @@
                 allHitLists.addAll(recoHitLists);
                 allHitLists.add("CorrMuonBarrelDigiHits");
                 mstHitLists.add(ci.getDigiCollectionName(CalorimeterType.MUON_ENDCAP));
-                add(new SetUpDTreeForReclustering("FilteredTrackList", allHitLists, recoHitLists, mstHitLists, findCluster));
+                SetUpDTreeForReclustering setup = new SetUpDTreeForReclustering("FilteredTrackList", allHitLists, recoHitLists, mstHitLists, findCluster);
+                setup.setUseNewInitialMipFinding(useNewInitialMipFinding);
+                add(setup);
             }
 
             // Set up and run PFA
CVSspam 0.2.8