CTShower Testing - Apr. 20, 2006

Mirror of the best candidate showers page.

Previous CTShower Documentation

Current CTShower Documentation

It turns out that there were a number of reasons that v3.01 returned a large location chisq:

  1. All 1000 sites were being included individually, instead of averaged. (This is expected behaviour since v3.01 treats the 1000s as individual sites.)
  2. "Fake hit sites" were not included in the shower object. This was a problem which also affected the likelihood fit, not just the chisq values. This has been fixed using the same method as in GenerateFitShower - after looping through the sites in the "shower" object, the code loops through all sites in gChicosArray and adds any not already there.
    (See previous GenerateFitShower_Shawn() and the revised GenerateFitShower_Shawn().)
  3. For sites included in the shower, chisq values differed because of the way the shower object holds the hits and triggers.
    • Brant's fitshower holds only the average time and intensity at a given site.
    • Shawn's fitshower holds each hit individually. The fcnChisqAngle and fcnChisqCore functions were expecting only one average hit at each site and were only looking at the first hit when used with Shawn's fitshower. These were the only functions where this confusion was happening, because the function calls whichever shower object is currently being used in the fit. All other functions that use the fit object call Brant's fitshower directly (it is not deleted) rather than gMinuit->GetObjectFit(). (One exception is the function "PrintResiduals()" in CTShowerReconstructor, but this function is not referred to by anything.) This can be fixed by setting Brant's fitshower as the fit object before looking up the chisqs or by hardcoding the chisq functions to use Brant's fitshower only.

Other notes: