Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/Cassell/recon on MAIN
Cheat/UIClCheater.java+5-61.1 -> 1.2
DebugReconDriver2.java+9-81.1 -> 1.2
analysis/UIClusterCheck.java+52added 1.1
+66-14
1 added + 2 modified, total 3 files
Update cheater

lcsim-contrib/src/main/java/org/lcsim/contrib/Cassell/recon/Cheat
UIClCheater.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- UIClCheater.java	4 Nov 2010 15:08:49 -0000	1.1
+++ UIClCheater.java	6 Nov 2010 17:40:32 -0000	1.2
@@ -17,12 +17,12 @@
    String fstr = "UsedTracks";
    boolean analogHcal = false;
    String[] cltypes = {"Mips","Clumps","Blocks","Leftovers","Photons"};
-   int[] ncoll = {9,3,4,3,1};
+   int[] ncoll = {8,3,3,3,2};
    String[][] clcoll;
    TrackMCParticleDriver tmcpd;
    public UIClCheater(TrackMCParticleDriver x)
    {
-       clcoll = new String[cltypes.length][9];
+       clcoll = new String[cltypes.length][8];
        clcoll[0][0] = "OldMipsInsideTreesECAL";
        clcoll[0][1] = "OldMipsInsideTreesHCAL";
        clcoll[0][2] = "OldMipsInsideTreesMCAL";
@@ -30,19 +30,18 @@
        clcoll[0][4] = "NewMipsInsideTreesHCAL";
        clcoll[0][5] = "NewMipsInsideTreesMCAL";
        clcoll[0][6] = "PreShowerMipMatchMipClusters";
-       clcoll[0][7] = "PreShowerMipMatchSmallClusters";
-       clcoll[0][8] = "MuonClusters";
+       clcoll[0][7] = "MuonClusters";
        clcoll[1][0] = "ClumpsInsideTreesECAL";
        clcoll[1][1] = "ClumpsInsideTreesHCAL";
        clcoll[1][2] = "ClumpsInsideTreesMCAL";
        clcoll[2][0] = "BlocksInsideTreesECAL";
        clcoll[2][1] = "BlocksInsideTreesHCAL";
        clcoll[2][2] = "BlocksInsideTreesMCAL";
-       clcoll[2][3] = "PreShowerMipMatchBlockClusters";
        clcoll[3][0] = "LeftoverHitsInsideTreesECAL";
        clcoll[3][1] = "LeftoverHitsInsideTreesHCAL";
        clcoll[3][2] = "LeftoverHitsInsideTreesMCAL";
-       clcoll[4][0] = "PreliminaryPhotonClustersForDTree";
+       clcoll[4][0] = "PhotonClustersForDTree";
+       clcoll[4][1] = "ElectronMapClusters";
       tmcpd = x;
       ClReconCheater clrc1 = new ClReconCheater("UIClusters",fsp,fstr,tmcpd,outRecon+"1",analogHcal);
       clrc1.setMinCalhits(1);

lcsim-contrib/src/main/java/org/lcsim/contrib/Cassell/recon
DebugReconDriver2.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- DebugReconDriver2.java	4 Nov 2010 15:08:49 -0000	1.1
+++ DebugReconDriver2.java	6 Nov 2010 17:40:32 -0000	1.2
@@ -1,6 +1,6 @@
 package org.lcsim.contrib.Cassell.recon;
 import org.lcsim.contrib.Cassell.recon.Cheat.UIClCheater;
-import org.lcsim.contrib.Cassell.recon.Cheat.ClusterLevelCheater;
+import org.lcsim.contrib.Cassell.recon.analysis.UIClusterCheck;
 import org.lcsim.recon.cheater.*;
 import org.lcsim.util.Driver;
 import org.lcsim.recon.cluster.util.*;
@@ -65,7 +65,12 @@
         ClusterEnergyCalculator nhcec = new QNeutralHadronClusterEnergyCalculator();
         pprd.setNeutralHadronClusterEnergyCalculator(nhcec);
         add(pprd);
-        /*
+//
+// Add Track to MCP driver
+//
+       TrackMCParticleDriver tmd = new TrackMCParticleDriver();
+       add(tmd);
+        add(new MakeUsedTrackPPR());
 //
 // Recluster the Ecal
 //
@@ -76,6 +81,7 @@
 //
        add(new DigitalCoreReclustererDriver(OHClNames[0],RHClNames[0]));
        add(new DigitalCoreReclustererDriver(OHClNames[1],RHClNames[1]));
+        /*
 //
 // Add cluster level cheater
 //
@@ -84,14 +90,9 @@
          * 
          */
 //
-// Add Track to MCP driver
-//
-       TrackMCParticleDriver tmd = new TrackMCParticleDriver();
-       add(tmd);
-        add(new MakeUsedTrackPPR());
-//
 // Add cheating at UI cluster level
 //
       add(new UIClCheater(tmd));
+      add(new UIClusterCheck());
     }
 }

lcsim-contrib/src/main/java/org/lcsim/contrib/Cassell/recon/analysis
UIClusterCheck.java added at 1.1
diff -N UIClusterCheck.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ UIClusterCheck.java	6 Nov 2010 17:40:32 -0000	1.1
@@ -0,0 +1,52 @@
+package org.lcsim.contrib.Cassell.recon.analysis;
+import org.lcsim.util.Driver;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.Cluster;
+import org.lcsim.event.CalorimeterHit;
+import java.util.*;
+import org.lcsim.geometry.IDDecoder;
+
+public class UIClusterCheck extends Driver
+{
+   int ievt;
+   int nmax = 1000000;
+    String[] calcoll = {"HcalBarrDigiHits","HcalEndcapDigiHits","EcalBarrDigiHits","EcalEndcapDigiHits","CorrMuonEndcapDigiHits"};
+   public UIClusterCheck()
+   {
+      ievt = 0;
+   }
+   protected void process(EventHeader event)
+   {
+       List<Cluster> cl = event.get(Cluster.class,"UIClusters");
+       List<CalorimeterHit> hl = new ArrayList<CalorimeterHit>();
+       List<CalorimeterHit> unused = new ArrayList<CalorimeterHit>();
+       for(int i=0;i<calcoll.length;i++)
+       {
+          unused.addAll(event.get(CalorimeterHit.class,calcoll[i]));
+       }
+       for(Cluster c:cl)
+       {
+//          System.out.println("Unused size: "+unused.size());
+          hl.addAll(c.getCalorimeterHits());
+          unused.removeAll(c.getCalorimeterHits());
+       }
+       int ndup = 0;
+       for(int i=0;i<hl.size()-1;i++)
+       {
+          for(int j=i+1;j<hl.size();j++)
+          {
+             if(hl.get(i) == hl.get(j))
+             {
+                IDDecoder id = hl.get(i).getIDDecoder();
+                id.setID(hl.get(i).getCellID());
+                int detector_index = id.getValue("system");
+                int lay = id.getValue("layer");
+                System.out.println("Event "+ievt+" with duplicate ("+i+","+j+"): System "+detector_index+", layer "+lay);
+                ndup++;
+             }
+          }
+       }
+       System.out.println("Event "+ievt+": ndup = "+ndup+", nmiss = "+unused.size());
+       ievt++;
+   }
+}
CVSspam 0.2.8