Print

Print


Commit in java/trunk/users/src/main/java/org/hps/users/luca on MAIN
CalibTest2.java+115added 527


java/trunk/users/src/main/java/org/hps/users/luca
CalibTest2.java added at 527
--- java/trunk/users/src/main/java/org/hps/users/luca/CalibTest2.java	                        (rev 0)
+++ java/trunk/users/src/main/java/org/hps/users/luca/CalibTest2.java	2014-04-29 16:02:16 UTC (rev 527)
@@ -0,0 +1,115 @@
+package org.hps.users.luca;
+
+//import hep.aida.ITupleColumn.String;
+import java.io.IOException;
+import java.io.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.lang.String;
+import java.lang.Math;
+import org.hps.recon.ecal.ECalUtils;
+import org.hps.recon.ecal.HPSEcalCluster;
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.ParticleID;
+import org.lcsim.geometry.Detector;
+import org.lcsim.geometry.subdetector.HPSEcal3;
+import org.lcsim.geometry.subdetector.HPSEcal3.NeighborMap;
+import org.lcsim.lcio.LCIOConstants;
+import org.lcsim.util.Driver;
+import java.util.List;
+import org.lcsim.event.Cluster;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.MCParticle;
+import org.lcsim.event.SimCalorimeterHit;
+import org.lcsim.event.SimTrackerHit;
+import org.lcsim.event.Track;
+import org.lcsim.util.Driver;
+import org.lcsim.event.base.CalorimeterHitImpl;
+/**
+ * <code>CalbTest2</code> reads the requested information from a SLIC output (non-reconstructed) slcio file and print
+ * the results into a text format that can be read offline
+ * @author Luca
+ */
+
+
+
+
+
+// the class has to be derived from the driver class
+public class CalibTest2 extends Driver {
+private FileWriter writer;
+String outputFileName = "data.txt";
+
+
+public void setOutputFileName(String outputFileName){
+this.outputFileName = outputFileName;
+}
+    
+public void startOfData(){
+try{
+    //initialize the writer
+    writer=new FileWriter(outputFileName);
+    //Clear the file
+    writer.write("");
+}
+catch(IOException e ){
+System.err.println("Error initializing output file for event display.");
+}
+}
+    
+public void endOfData(){
+try{
+//close the file writer.
+    writer.close();
+    }
+catch(IOException e){
+    System.err.println("Error closing utput file for event display.");
+}
+}
+    int counter=0;
+    double theta=0; //theta angle
+    double PTOT;//total quadrimomentum
+  // constructor
+//  public CalibTest2() {
+ // }
+    
+  //  overwrite the process method
+  @Override
+  protected void process(EventHeader event) {
+    // Get the list of mc particles from the event
+    List<MCParticle> mcParticles = event.getMCParticles();
+    // Print out the number of mc particles
+    //System.out.println("Event " + event.getEventNumber() + " contains " + mcParticles.size() + " mc particles.");
+  try{
+    for (MCParticle particle : mcParticles)
+    {
+       if(particle.getPDGID()==11)
+       {   if(particle.getEnergy()> 2.1)
+           {
+           PTOT=Math.sqrt(particle.getPX()*particle.getPX() + particle.getPY()*particle.getPY()+particle.getPZ()*particle.getPZ() );
+           theta=Math.acos(particle.getPZ()/PTOT);
+           counter++;
+           writer.append(theta+" "+particle.getPX()+" "+particle.getPY()+"\n");
+           }
+       }
+     
+     //System.out.println(particle.getPDGID());
+     } //end of for cycle
+  }//end of try
+ 
+  
+  catch(IOException e ){
+  System.err.println("Error writing tooutput for event display");
+  }
+//System.out.println("ho contato" + counter + "elettroni. \n");
+    
+   
+   
+  }//end of Process
+  
+}//end of driver
\ No newline at end of file
SVNspam 0.1