Author: luca
Date: Thu Jan 8 02:00:13 2015
New Revision: 1906
Log: (empty)
Modified:
java/trunk/users/src/main/java/org/hps/users/luca/CalibClusterAnalyzerEngRun.java
Modified: java/trunk/users/src/main/java/org/hps/users/luca/CalibClusterAnalyzerEngRun.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/luca/CalibClusterAnalyzerEngRun.java (original)
+++ java/trunk/users/src/main/java/org/hps/users/luca/CalibClusterAnalyzerEngRun.java Thu Jan 8 02:00:13 2015
@@ -15,7 +15,7 @@
import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
-import org.lcsim.util.aida.AIDA;
+
/**
*
@@ -23,27 +23,38 @@
*/
public class CalibClusterAnalyzerEngRun extends Driver {
double energyThreshold=0;
- protected String clusterCollectionName = "EcalClusters";
+ protected String clusterCollectionName = "EcalClustersGTP";
+ protected String clusterCollectionName2 = "EcalClustersIC";
private FileWriter writer;
-// private FileWriter writer2;
- String outputFileName = "CalibClusterAnalizerEngRun.txt";
- // String outputFileName2 = "LucaTriggerHits.txt";
+ private FileWriter writer2;
+ private FileWriter writer3;
+ String outputFileName = "CalibClusterAnalyzerEngRunGTP.txt";
+ String outputFileName2 = "CalibClusterAnalyzerEngRunIC.txt";
+ String outputFileName3 = "CalbClusterAnalyzerEngRunHIT.txt";
public void setEnergyThreshold (double threshold){
this.energyThreshold=threshold;
}
public void setOutputFileName(String outputFileName){
this.outputFileName = outputFileName;
+ }
+ public void setOutputFileName2(String outputFileName2){
+ this.outputFileName2 = outputFileName2;
+ }
+ public void setOutputFileName3(String outputFileName3){
+ this.outputFileName3 = outputFileName3;
}
@Override
public void startOfData(){
try{
//initialize the writers
writer=new FileWriter(outputFileName);
- // writer2=new FileWriter(outputFileName2);
+ writer2=new FileWriter(outputFileName2);
+ writer3=new FileWriter(outputFileName3);
//Clear the files
writer.write("");
- // writer2.write("");
+ writer2.write("");
+ writer3.write("");
}
catch(IOException e ){
System.err.println("Error initializing output file for event display.");
@@ -57,7 +68,8 @@
try{
//close the file writer.
writer.close();
- //writer2.close();
+ writer2.close();
+ writer3.close();
}
catch(IOException e){
System.err.println("Error closing utput file for event display.");
@@ -65,21 +77,51 @@
}
@Override
public void process (EventHeader event){
+ //here it writes the GTP clusters info
+ if(event.hasCollection(Cluster.class,"EcalClustersGTP"))
+ {List<Cluster> clusters= event.get(Cluster.class,"EcalClustersGTP");
+ for(Cluster cluster : clusters){
+ int idBack;
+ int idFront;
+ idFront=getCrystalFront(cluster);
+ idBack=getCrystal(cluster);
+ try{
+ writer.append(idBack + " " + idFront + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getCorrectedEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy") + "\n");
+ }
+ catch(IOException e ){System.err.println("Error writing to output for event display");}
+ }
+ }
+ //here it writes the ICCluster info
+ if(event.hasCollection(Cluster.class,"EcalClustersIC"))
+ {List<Cluster> clusters= event.get(Cluster.class,"EcalClustersIC");
+ for(Cluster cluster : clusters){
+ int idBack;
+ int idFront;
+ idFront=getCrystalFront(cluster);
+ idBack=getCrystal(cluster);
+ try{
+ writer2.append(idBack + " "+ idFront + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getCorrectedEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy") + "\n");
+ }
+ catch(IOException e ){System.err.println("Error writing to output for event display");}
+ }
+ }
- if(event.hasCollection(Cluster.class,"EcalClusters"))
- {List<Cluster> clusters= event.get(Cluster.class,"EcalClusters");
- for(Cluster cluster : clusters){
- int id;
- id=getCrystal(cluster);
- try{
- writer.append(id + " " + cluster.getEnergy()+ " " + cluster.getSize() + " " + cluster.getCalorimeterHits().get(0).getRawEnergy() + " " + cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix")+" " +cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy")+ cluster.getCalorimeterHits().get(0).getCellID() + "\n");
- }
- catch(IOException e ){System.err.println("Error writing to output for event display");}
-
+ //here it writes the hit info
+ if(event.hasCollection(CalorimeterHit.class,"EcalCalHits"))
+ {List<CalorimeterHit> hits= event.get(CalorimeterHit.class,"EcalCalHits");
+ for(CalorimeterHit hit : hits){
+ int idBack;
+ int idFront;
+ idFront=getCrystalFront(hit);
+ idBack=getCrystal(hit);
+ try{
+ writer3.append(idBack + " "+ idFront + " " + hit.getCorrectedEnergy() + " " + hit.getIdentifierFieldValue("ix")+ " " + hit.getIdentifierFieldValue("iy") + "\n");
+ }
+ catch(IOException e ){System.err.println("Error writing to output for event display");}
+ }
}
- }
}
@@ -211,5 +253,134 @@
return id;
+ }
+
+ public int getCrystalFront (Cluster cluster){
+ int x,y,id=0;
+ x= (-1)*cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("ix");
+ y= cluster.getCalorimeterHits().get(0).getIdentifierFieldValue("iy");
+
+ if(y==5){
+ if(x<0)
+ {id=x+24;}
+ else id= x+23;
+ }
+
+ else if(y==4)
+ {if(x<0){
+ id=x+70;}
+ else id=x+69;}
+
+ else if(y==3)
+ {if(x<0){
+ id=x+116;}
+ else id=x+115;}
+
+ else if(y==2)
+ {if(x<0){
+ id=x+162;}
+ else id=x+161;}
+
+ else if(y==1)
+ {x=-x;
+ if(x>0){
+ id=-x+208;}
+ else if(x==-1){id=208;}
+ else if(x<-1) id=-x+198;}
+
+ else if(y==-1)
+ {x=-x;
+ if(x>0){
+ id=-x+245;}
+ else if(x==-1 )id=245;
+ else if(x<-1){id=-x+235;}}
+
+
+ else if(y==-2)
+ {if(x<0){
+ id=x+282;}
+ else id=x+281;}
+
+ else if(y==-3)
+ {if(x<0){
+ id=x+328;}
+ else id=x+327;}
+
+ else if(y==-4)
+ {if(x<0){
+ id=x+374;}
+ else id=x+373;}
+
+ else if(y==-5)
+ {if(x<0){
+ id=x+420;}
+ else id=x+419;}
+
+ return id;
+
+ }
+ public int getCrystalFront (CalorimeterHit hit){
+ int x,y,id=0;
+ x= (-1)*hit.getIdentifierFieldValue("ix");
+ y= hit.getIdentifierFieldValue("iy");
+
+ if(y==5){
+ if(x<0)
+ {id=x+24;}
+ else id= x+23;
+ }
+
+ else if(y==4)
+ {if(x<0){
+ id=x+70;}
+ else id=x+69;}
+
+ else if(y==3)
+ {if(x<0){
+ id=x+116;}
+ else id=x+115;}
+
+ else if(y==2)
+ {if(x<0){
+ id=x+162;}
+ else id=x+161;}
+
+ else if(y==1)
+ {x=-x;
+ if(x>0){
+ id=-x+208;}
+ else if(x==-1){id=208;}
+ else if(x<-1) id=-x+198;}
+
+ else if(y==-1)
+ {x=-x;
+ if(x>0){
+ id=-x+245;}
+ else if(x==-1 )id=245;
+ else if(x<-1){id=-x+235;}}
+
+
+ else if(y==-2)
+ {if(x<0){
+ id=x+282;}
+ else id=x+281;}
+
+ else if(y==-3)
+ {if(x<0){
+ id=x+328;}
+ else id=x+327;}
+
+ else if(y==-4)
+ {if(x<0){
+ id=x+374;}
+ else id=x+373;}
+
+ else if(y==-5)
+ {if(x<0){
+ id=x+420;}
+ else id=x+419;}
+
+ return id;
+
}
}
|