lcsim/src/org/lcsim/recon/cluster/muonfinder
diff -u -r1.2 -r1.3
--- MipTrackMap.java 19 Dec 2008 21:08:54 -0000 1.2
+++ MipTrackMap.java 3 Feb 2010 19:40:42 -0000 1.3
@@ -18,6 +18,7 @@
import org.lcsim.geometry.*;
import org.lcsim.util.decision.*;
import org.lcsim.util.aida.AIDA;
+import org.lcsim.recon.util.CalorimeterInformation;
/**
* MIP finder.
@@ -26,7 +27,7 @@
* later need to make it as one cluster if it is assocated with the same track.
*
* @author [log in to unmask]
- * @version $Id: MipTrackMap.java,v 1.2 2008/12/19 21:08:54 tjkim Exp $
+ * @version $Id: MipTrackMap.java,v 1.3 2010/02/03 19:40:42 cassell Exp $
*/
@@ -48,13 +49,21 @@
protected int m_dL =1;
protected boolean use_DTree = false;
+ protected boolean init;
+ protected CalorimeterInformation ci;
public MipTrackMap(HelixExtrapolator extrap) {
m_extrap = extrap;
initTrackMatch();
+ init = false;
}
public Map<Track, BasicCluster> createCalMIPMap(Set<CalorimeterHit> allhits, List<Track> tracklist) {
+ if(!init)
+ {
+ ci = CalorimeterInformation.instance();
+ init = true;
+ }
m_allhits = allhits;
List<Track> trackList = tracklist;
List<Cluster> allMatchableClusters = createClusters(m_allhits);
@@ -131,11 +140,11 @@
String cursubdetName = curhit.getSubdetector().getName();
//use geometric information and layer number to find cur hit
boolean InSide = (curlayer > lastlayer) && cursubdetName.contains(lastsubdetName) && nearIDs.contains(curhit.getCellID());
- boolean EcalToHcalBarrel= (curid.getLayer()==0 && cursubdetName.contains("HADBarrel")) && lastsubdetName.contains("EMBarrel"); // ECal Barrel -> HCal Barrel
- boolean EcalToHcalEndcap= (curid.getLayer()==0 && cursubdetName.contains("HADEndcap")) && lastsubdetName.contains("EMEndcap"); // ECal Endcap -> HCal Endcap
- boolean BarrelEcalToEndHcal = (curid.getLayer()==0 && cursubdetName.contains("HADEndcap")) && lastsubdetName.contains("EMBarrel"); // ECal Barrel -> HCal Endcap (This is no way to HCal Barrel directly from ECal Endcap
- boolean EndToBarrelEcal = (curid.getLayer()==0 && cursubdetName.contains("EMBarrel")) && lastsubdetName.contains("EMEndcap"); // ECal Endcap -> ECal Barrel
- boolean EndToBarrelHcal = (curid.getLayer()==0 && cursubdetName.contains("HADBarrel")) && lastsubdetName.contains("HADEndcap"); // HCal Endcap -> HCal Barrel
+ boolean EcalToHcalBarrel= (curid.getLayer()==0 && cursubdetName.contains(ci.getName("HAD_BARREL"))) && lastsubdetName.contains(ci.getName("EM_BARREL")); // 1) ECal Barrel -> HCal Barrel
+ boolean BarrelEcalToEndHcal = (curid.getLayer()==0 && cursubdetName.contains(ci.getName("HAD_ENDCAP"))) && lastsubdetName.contains(ci.getName("EM_BARREL")); //2) ECal Barrel -> HCal Endcap (There is no way to HCal Barrel directly from ECal Endcap
+ boolean EcalToHcalEndcap= (curid.getLayer()==0 && cursubdetName.contains(ci.getName("HAD_ENDCAP"))) && lastsubdetName.contains(ci.getName("EM_ENDCAP")); // 3) ECal Endcap -> HCal Endcap
+ boolean EndToBarrelEcal = (curid.getLayer()==0 && cursubdetName.contains(ci.getName("EM_BARREL"))) && lastsubdetName.contains(ci.getName("EM_ENDCAP")); // 4) ECal Endcap -> ECal Barrel
+ boolean EndToBarrelHcal = (curid.getLayer()==0 && cursubdetName.contains(ci.getName("HAD_BARREL"))) && lastsubdetName.contains(ci.getName("HAD_ENDCAP")); // 5) HCal Endcap -> HCal Barrel
if(EcalToHcalBarrel || EcalToHcalEndcap || InSide || EndToBarrelEcal || EndToBarrelHcal || BarrelEcalToEndHcal){
Hep3Vector curFromTangent = result.getTangent(curpos);
Hep3Vector curFromLastTwo = VecOp.sub(curpos, last0);