lcsim/src/org/lcsim/digisim
diff -u -r1.9 -r1.10
--- DigiSimMain.java 2 Aug 2005 17:18:02 -0000 1.9
+++ DigiSimMain.java 10 Aug 2005 20:54:07 -0000 1.10
@@ -21,7 +21,7 @@
* The main driver for standalone digitization simulation
*
* @author Guilherme Lima
- * @version $Id: DigiSimMain.java,v 1.9 2005/08/02 17:18:02 tonyj Exp $
+ * @version $Id: DigiSimMain.java,v 1.10 2005/08/10 20:54:07 lima Exp $
*/
public class DigiSimMain extends Driver {
@@ -92,92 +92,12 @@
+ ", rawE=" + rawhit.getAmplitude() ;
}
-// checkCrosstalk(event);
}
catch(IllegalArgumentException e) {
// no problem if data is not there
}
}
- private void checkCrosstalk(final EventHeader event) {
- // Test crosstalk modifier: Use fixed 10% values, check neighbours,
- // weights, etc.
- try {
- List<SimCalorimeterHit> simhits
- = event.get(SimCalorimeterHit.class, "EcalEndcapHits");
- List<RawCalorimeterHit> rawhits
- = event.get(RawCalorimeterHit.class, "EcalEndcapRawHits");
- List<LCRelation> raw2simLinks
- = event.get(LCRelation.class, "EcalEndcapRaw2sim");
-
- System.out.println("Checking crosstalk for EcalEndcaps...");
- System.out.println("# hits: sim="+( simhits==null? 0 : simhits.size() )
- +", raw=" +( rawhits==null? 0 : rawhits.size() )
- +" - #links="+( raw2simLinks==null? 0: raw2simLinks.size()));
-
- Map<Long,Double> weightMap = new HashMap<Long,Double>();
- int ilink = 0;
- for( LCRelation rel : raw2simLinks ) {
- ++ilink;
- RawCalorimeterHit rawhit = (RawCalorimeterHit)rel.getFrom();
- SimCalorimeterHit simhit = (SimCalorimeterHit)rel.getTo();
-
- Long rawid = new Long(rawhit.getCellID());
- long simid = (simhit!=null ? simhit.getCellID() : 0);
- Double temp = weightMap.get(rawid);
- if(temp==null) {
- temp = new Double( rel.getWeight() );
- weightMap.put( rawid, temp );
- }
- else {
- temp += rel.getWeight();
-// double newval = temp.doubleValue() + rel.getWeight();
-// weightMap.put( new Long(rawid), new Double(rel.getWeight()) );
- }
-
- // discard links where simid==rawid or simid==zero
- if(rawid==simid) {
-// System.out.println("link "+ilink+" not crosstalk.");
- continue;
- }
- if(simid==0.0) {
-// System.out.println("link "+ilink+", simid=zero.");
- continue;
- }
-
- // make sure sim,raw cells are good neighbors
-// IDDecoder decoder = new IDDecoder();
-
- assert ((simid & 0x7f) == (rawid & 0x7f))
- : "link "+ilink+", layer discrepancy: "+ simid +" "+rawid;
- assert ((simid & 0x1f80) == (rawid & 0x1f80))
- : "link "+ilink+", system+barrel discrepancy: "+ simid +" "+rawid;
-
- // check theta,phi distance
- int rawthe = (int)(rawid >> 32) & 0x7ff;
- int simthe = (int)(simid >> 32) & 0x7ff;
- int rawphi = (int)(rawid >> 43) & 0x7ff;
- int simphi = (int)(simid >> 43) & 0x7ff;
- int delthe = rawthe - simthe + 1;
- int delphi = rawphi - simphi + 1;
- assert ((delthe>=0) && (delthe<=2))
- : "link "+ilink+", theta discrepancy: "+ simid +" "+rawid;
- assert ((delphi>=0) && (delphi<=2))
- : "link "+ilink+", phi discrepancy: "+ simid +" "+rawid;
-
- int simE = (int)(simhit.getRawEnergy()*1000000.0);
- int rawE = (int)(rawhit.getAmplitude());
- System.out.println("X-check: simid="+Long.toHexString(simid)
- +", simE=" + simE
- + " - RawID="+Long.toHexString(rawid.longValue())
- +", rawE=" + rawE );
- }
- }
- catch(IllegalArgumentException e) {
- // a collection requested does not exist in current event
- }
- }
-
//***** FIELDS *****
// event counter
private int _nevt;
lcsim/src/org/lcsim/digisim
diff -u -r1.3 -r1.4
--- Crosstalk.java 12 Jul 2005 19:11:47 -0000 1.3
+++ Crosstalk.java 10 Aug 2005 20:54:07 -0000 1.4
@@ -10,7 +10,7 @@
* A modifier for simulation of crosstalk in calorimeter cells
*
* @author Guilherme Lima
- * @version $Id: Crosstalk.java,v 1.3 2005/07/12 19:11:47 jeremy Exp $
+ * @version $Id: Crosstalk.java,v 1.4 2005/08/10 20:54:07 lima Exp $
*/
class Crosstalk extends AbstractCalHitModifier {
@@ -76,7 +76,7 @@
long destID = neigs[i];
// ** temporary crosscheck **
- assert (sourceID&0xffc00000ffffffffL) == (destID&0xffc00000ffffffffL)
+ assert (sourceID&0x00000000ffffffffL) == (destID&0x00000000ffffffffL)
: "Error: neighbor with incompatible cellID";
// Only first neighbors get any crosstalk