lcsim/src/org/lcsim/contrib/uiowa
diff -u -r1.27 -r1.28
--- NonTrivialPFA.java 20 Oct 2007 00:42:31 -0000 1.27
+++ NonTrivialPFA.java 20 Oct 2007 00:47:56 -0000 1.28
@@ -174,59 +174,24 @@
// Find tracks (non-cheating)
// Output: List<Track> saved as EventHeader.TRACKS
add (new MCFastTracking());
- String nonCheatingTrackList = EventHeader.TRACKS;
+ String fastMCTrackList = EventHeader.TRACKS;
// Find tracks (really cheating)
String cheatingTrackList = "Tracks_by_cheat";
- add (new ImprovisedTrackCheater(mcListName, cheatingTrackList));
+ // THIS BREAKS SOMETHING ELSE DOWNSTREAM // add (new ImprovisedTrackCheater(mcListName, cheatingTrackList));
// Find tracks (cheating)
- // Code taken from Steve Magill
String ronTrackList = "Tracks_by_ron";
- {
- // Make cheat tracks and cheat clusters
- String Tname = "RefinedCheatTracks";
- add(new org.lcsim.recon.tracking.cheat.CheatTrackDriver());
- String Cname = "PerfectCheatClusters";
- add (new org.lcsim.recon.cluster.cheat.CheatClusterDriver(eventHitCollections,Cname));
-
- // Make cheat reconstructed particles from cheat tracks and cheat clusters
- String CRPname = "CheatReconstructedParticles";
- org.lcsim.recon.particle.CheatParticleDriver cpd = new org.lcsim.recon.particle.CheatParticleDriver(Cname,Tname,mcListNameSim);
- // Inputs Cheated Tracks, Cheated Clusters, and MC particle list to create Cheated Particles
- cpd.setOutputName(CRPname);
- add(cpd);
-
- // Make perfect particles from cheat reconstructed particles
- String outName = "PerfectRecoParticles";
- String outNameMC = "PerfectRecoMCParticles";
- int minT = 4;
- int minC = 1;
- org.lcsim.contrib.Cassell.recon.Cheat.PPRParticleDriver d = new org.lcsim.contrib.Cassell.recon.Cheat.PPRParticleDriver(CRPname, outName, outNameMC);
- d.setMinTrackerHits(minT);
- d.setMinCalorimeterHits(minC);
- add(d);
-
- // Make up list of tracks
- // Don't use fast MC here since Ron has already sifted the tracks for
- // reconstructability, and applying the fast MC will double-count inefficiency.
- //org.lcsim.mc.fast.tracking.MCFastTracking ronFastMC = new org.lcsim.mc.fast.tracking.MCFastTracking();
- //ronFastMC.setOutputList(ronTrackList);
- //ronFastMC.setFSList("PerfectRecoMCParticles");
- //add(ronFastMC);
- add (new ImprovisedTrackCheater("PerfectRecoMCParticles", ronTrackList));
- }
+ String ronMCList = "ReconFSParticles";
+ add(new org.lcsim.contrib.Cassell.recon.Cheat.CheatReconDriver());
// Choose which track list to use
boolean useRonTrackList = false;
- boolean useCheatingTrackList = false;
if (useRonTrackList) {
trackList = ronTrackList;
- mcListName = "PerfectRecoMCParticles";
- } else if (useCheatingTrackList) {
- trackList = cheatingTrackList;
+ mcListName = ronMCList;
} else {
- trackList = nonCheatingTrackList;
+ trackList = fastMCTrackList;
}
}
@@ -279,8 +244,14 @@
{
// MIPs
String prefix = "mipfinder__";
- addMIPFinder(prefix, eventHitMapEcalWithoutPhotons, eventMipsEcal, eventHitMapEcalWithoutMipsOrPhotons);
- addMIPFinder(prefix, eventHitMapHcalWithoutMuons, eventMipsHcal, eventHitMapHcalWithoutMips);
+ boolean useFlexibleMIPFinder = false;
+ if (useFlexibleMIPFinder) {
+ addFlexibleMIPFinder(prefix, eventHitMapEcalWithoutPhotons, eventMipsEcal, eventHitMapEcalWithoutMipsOrPhotons);
+ addFlexibleMIPFinder(prefix, eventHitMapHcalWithoutMuons, eventMipsHcal, eventHitMapHcalWithoutMips);
+ } else {
+ addMIPFinder(prefix, eventHitMapEcalWithoutPhotons, eventMipsEcal, eventHitMapEcalWithoutMipsOrPhotons);
+ addMIPFinder(prefix, eventHitMapHcalWithoutMuons, eventMipsHcal, eventHitMapHcalWithoutMips);
+ }
// Merge ECAL & HCAL lists
ListAddDriver<Cluster> mergeMIPs = new ListAddDriver<Cluster>(Cluster.class);
mergeMIPs.addInputList(eventMipsEcal);
@@ -680,6 +651,12 @@
TrackClusterDriver findMIPs = new TrackClusterDriver(inputHitMap, outputMIPList, outputHitMap);
add(findMIPs);
}
+ protected void addFlexibleMIPFinder(String prefix, String inputHitMap, String outputMIPList, String outputHitMap)
+ {
+ FlexibleMIPFinder findMIPs = new FlexibleMIPFinder(inputHitMap, outputMIPList, outputHitMap);
+ add(findMIPs);
+ }
+
/** Find photons in the ECAL with cheating. */
protected void addCheatPhotonFinder(String prefix, String inputHitMap, String outputPhotonClusterList, String outputHitMap, String mcListName)