Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/SteveMagill on MAIN
TrShCompDriver.java+167added 1.1

lcsim-contrib/src/main/java/org/lcsim/contrib/SteveMagill
TrShCompDriver.java added at 1.1
diff -N TrShCompDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ TrShCompDriver.java	14 Feb 2012 19:23:18 -0000	1.1
@@ -0,0 +1,167 @@
+package org.lcsim.contrib.SteveMagill;
+
+import java.util.*;
+import org.lcsim.util.aida.AIDA;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.Driver;
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.SimCalorimeterHit;
+import hep.physics.vec.Hep3Vector;
+import org.lcsim.event.Track;
+import org.lcsim.recon.cluster.util.BasicCluster;
+import org.lcsim.spacegeom.*;
+import org.lcsim.event.base.*;
+import org.lcsim.event.MCParticle;
+
+/**
+ *   Diagnostic routine - checks cluster ID
+ */
+
+public class TrShCompDriver extends Driver
+{
+  public TrShCompDriver() {
+  }
+
+  private String _tmclusname;
+  private String _tcclusname;
+  private String _tpclusname;
+  private String _tsclusname;
+  private String _tcalclusmap;
+  private AIDA aida = AIDA.defaultInstance();
+  private boolean perfPFAD = true;
+  private boolean muons = false;
+  
+  public void process(EventHeader event) 
+  {
+
+      int NMipCl = 0;  // number of mip clusters
+      int nhitstm = 0;  // number of hits in a mip cluster
+      try
+      {
+          List<BasicCluster> tmclusters = event.get(BasicCluster.class,_tmclusname);
+          aida.cloud1D("Number of Mip Clusters").fill(tmclusters.size());
+          for (BasicCluster tmclus : tmclusters)
+          {
+              NMipCl++;
+              int numhits = tmclus.getSize();
+              nhitstm += tmclus.getSize();  // sum hits from all mips in event
+              double tmclE = tmclus.getEnergy();
+              aida.cloud1D("Tr Mip Clus E").fill(tmclE);
+              aida.cloud1D("Tr Mip Clus Size").fill(numhits);
+              aida.cloud2D("Tr Mip NumHits vs E").fill(tmclE,numhits);
+          }
+      }     
+      catch(java.lang.IllegalArgumentException ex)
+      {
+          System.out.println("requested object not found in event " + _tmclusname);      
+      }
+
+      int NCoreCl = 0;  // number of core clusters
+      int nhitstc = 0;  // number of hits in a core cluster
+      try
+      {
+          List<BasicCluster> tcclusters = event.get(BasicCluster.class,_tcclusname);
+          aida.cloud1D("Number of Tr Core Clusters").fill(tcclusters.size());
+          for (BasicCluster tcclus : tcclusters)
+          {
+              NCoreCl++;
+              int numhits = tcclus.getSize();
+              nhitstc += tcclus.getSize();  // sum hits from all cores in event
+              double tcclE = tcclus.getEnergy();
+              aida.cloud1D("Tr Core Clus E").fill(tcclE);
+              aida.cloud1D("Tr Core Clus Size").fill(numhits);
+              aida.cloud2D("Tr Core NumHits vs E").fill(tcclE,numhits);
+          }
+      }
+      catch(java.lang.IllegalArgumentException ex)
+      {
+          System.out.println("requested object not found in event " + _tcclusname);
+      }
+
+      int NILSPCl = 0;  // number of ILSP clusters
+      int nhitstp = 0;  // number of hits in a ILSP cluster
+      try
+      {
+          List<BasicCluster> tpclusters = event.get(BasicCluster.class,_tpclusname);
+          aida.cloud1D("Number of ILSP Clusters").fill(tpclusters.size());
+          for (BasicCluster tpclus : tpclusters)
+          {
+              NILSPCl++;
+              int numhits = tpclus.getSize();
+              nhitstp += tpclus.getSize();  // sum hits from all mips in event
+              double tpclE = tpclus.getEnergy();
+              aida.cloud1D("Tr ILSP Clus E").fill(tpclE);
+              aida.cloud1D("Tr ILSP Clus Size").fill(numhits);
+              aida.cloud2D("Tr ILSP NumHits vs E").fill(tpclE,numhits);
+          }
+      }
+      catch(java.lang.IllegalArgumentException ex)
+      {
+          System.out.println("requested object not found in event " + _tpclusname);
+      }
+
+      int NShowCl = 0;  // number of shower clusters
+      int nhitsts = 0;  // number of hits in a shower cluster
+      try
+      {
+          List<BasicCluster> tsclusters = event.get(BasicCluster.class,_tsclusname);
+          aida.cloud1D("Number of Shower Clusters").fill(tsclusters.size());
+          for (BasicCluster tsclus : tsclusters)
+          {
+              NShowCl++;
+              int numhits = tsclus.getSize();
+              nhitstm += tsclus.getSize();  // sum hits from all mips in event
+              double tsclE = tsclus.getEnergy();
+              aida.cloud1D("Tr Shower Clus E").fill(tsclE);
+              aida.cloud1D("Tr Shower Clus Size").fill(numhits);
+              aida.cloud2D("Tr Shower NumHits vs E").fill(tsclE,numhits);
+          }
+      }
+      catch(java.lang.IllegalArgumentException ex)
+      {
+          System.out.println("requested object not found in event " + _tsclusname);
+      }
+
+//  now check track cal matches - start from track cal cluster map
+      Map<Track, BasicCluster> tcmap = (Map<Track, BasicCluster>) event.get(_tcalclusmap);
+      for (Track itr : tcmap.keySet())
+      {
+          //  make sure there is a cluster linked to this track
+          if (tcmap.get(itr) != null)
+          {
+              BasicCluster tccl = tcmap.get(itr);
+              double clE = tccl.getEnergy();
+              double trP = Math.sqrt(itr.getPX()*itr.getPX()+itr.getPY()*itr.getPY()+itr.getPZ()*itr.getPZ());
+              aida.cloud1D("E over p of Track Cal Cluster").fill(clE/trP);
+              aida.cloud1D("E of Track Cal Cluster").fill(clE);
+          }
+      }
+
+  }
+  
+  public void setTrMipClusName(String tmclusname)
+  {
+      _tmclusname = tmclusname;
+  }
+
+  public void setTrCoreClusName(String tcclusname)
+  {
+      _tcclusname = tcclusname;
+  }
+
+  public void setTrPointClusName(String tpclusname)
+  {
+      _tpclusname = tpclusname;
+  }
+
+  public void setTrShowerClusName(String tsclusname)
+  {
+      _tsclusname = tsclusname;
+  }
+
+  public void setTrCalClusMap(String tcalclusmap)
+  {
+      _tcalclusmap = tcalclusmap;
+  }
+
+}
CVSspam 0.2.12


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