lcsim/src/org/lcsim/contrib/uiowa/MuonFinder
diff -u -r1.10 -r1.11
--- MuonFinder.java 15 Oct 2008 00:51:33 -0000 1.10
+++ MuonFinder.java 17 Oct 2008 00:31:39 -0000 1.11
@@ -44,7 +44,7 @@
EventHeader m_event;
protected HelixExtrapolator m_findCluster = new org.lcsim.recon.pfa.identifier.LocalHelixExtrapolator();
- protected boolean useMuonhits = false;
+ protected boolean useMuonhits = true;
public MuonFinder(String tracklist, String inCal, String inMu, String outMap, String outMapTrackToClusters){
_inCal = inCal;
@@ -52,6 +52,11 @@
_outHitMap = outMap;
_tracklist = tracklist;
_outMapTrackToClusters = outMapTrackToClusters;
+ org.lcsim.contrib.uiowa.CalorimeterHitTimeCutDecision dec = new org.lcsim.contrib.uiowa.CalorimeterHitTimeCutDecision(100);
+ add(new ListFilterDriver(dec, "MuonBarrHits", "CorrMuonBarrHits", CalorimeterHit.class));
+ add(new ListFilterDriver(dec, "MuonEndcapHits", "CorrMuonEndcapHits", CalorimeterHit.class));
+ add(new SubsetFlagDriver("CorrMuonBarrHits"));
+ add(new SubsetFlagDriver("CorrMuonEndcapHits"));
}
public void process(EventHeader event)
@@ -75,8 +80,8 @@
calhits.addAll(allHitsEcalEndcap);
calhits.addAll(allHitsHcalBarrel);
calhits.addAll(allHitsHcalEndcap);
- List<CalorimeterHit> allHitsMUBarrel = event.get(CalorimeterHit.class, "MuonBarrDigiHits");
- List<CalorimeterHit> allHitsMUEndcap = event.get(CalorimeterHit.class, "MuonEndcapDigiHits");
+ List<CalorimeterHit> allHitsMUBarrel = event.get(CalorimeterHit.class, "CorrMuonBarrHits");
+ List<CalorimeterHit> allHitsMUEndcap = event.get(CalorimeterHit.class, "CorrMuonEndcapHits");
mudethits.addAll(allHitsMUBarrel);
mudethits.addAll(allHitsMUEndcap);
}else{
@@ -301,13 +306,22 @@
for(Track tr : outputmap.keySet()){
BasicCluster tmpClus = new BasicCluster();
+ BasicCluster muonClus = new BasicCluster();
+ Cluster calmip = mipmap.get(tr);
for(Cluster clus : outputmap.get(tr)){
for(CalorimeterHit hit : clus.getCalorimeterHits()){
+ if(calmip != clus) { muonClus.addHit(hit); }
tmpClus.addHit(hit);
muonclustershits.add(hit);
}
}
- MuonMapTrackToCluster.put(tr,tmpClus);
+
+ //Check Quality for mip in Muon Detector only
+ SimpleMipQualityDecision check = new SimpleMipQualityDecision();
+ boolean passesCheck = check.valid(muonClus);
+ if(passesCheck) {
+ MuonMapTrackToCluster.put(tr,tmpClus);
+ }
}
HitMap muonMap = new HitMap(muonclustershits);