Bogus/Aslund/bbsim Validation:
I have used release 8.0.0 for both Bogus and Aslund/Beta (and release 7.11.2 for bbsim). In both cases, 5,000 single mu-s were generated and reconstructed. I have looked at both soft (500 MeV) and stiff (5 GeV) tracks. In Bogus and bbsim, all physics proccesses except for multiple scattering were turned off; the magnetic field was set to uniform in both cases. I've used fast models for PEP, SVT, and DCH, and fast cylinders for the rest of the subdetectors.
In all three cases, the events were exactly the same at the generator level
-
These plots show the actual track parameters and errors for Bogus and Aslund for the 500 MeV sample. One can see that the agreement is almost perfect! If one compares the parameters on the event-by-event basis (pp. 3-12), one can see that the per-event agreement is also very good. These plots show the same parameters for the 5 GeV muons.
-
These plots show track parameter residuals (central values + RMS) in bins of cos(Theta) for the 500 MeV sample for Bogus and Aslund (displaced slighttly with respect to each other for better viewing), and these, for the 5 GeV one. Again, one can see that the agreement is excellent. The plots here show the same thing in bins of phi for the 500 MeV muons, and the plots here, for the 5 GeV ones.
-
The agreement between straight-out-of-the-box bbsim/Beta and Aslund/Bogus is not so good, especially for d0, phi0, and curvature, as shown in these plots. One possible explanation may be the non-zero sag value in the DCH code that was just discovered in PRV0 tests. I tried to follow the suggestion about reloading the database to get rid of the problem, but it did not change anything. This must be followed up.
Note: These validation studies must of course be repeated for each individual subsystem, but I am not sure how to control which subsystems should be taken into account in this version of Aslund. I found, however, that the agreement between Bogus with only the SVT hit scoring and Aslund is still excellent.
Problems I noticed while doing these studies:
- When I tried generating a sample of really soft muons (100 MeV) in Bogus, I got crashes on many events that looked like this:
Assertion failed: arg >= 0., file /u1/drjohn/bfdist/packages/TrkFitter/V01-00-02/HelixTraj.cc, line 162
signal ABRT (Abort) in _kill at 0xef20800c
0xef20800c: _kill+0x0008: bgeu _kill+0x30
Current function is HelixTraj::distTo1stError
162 assert (arg >= 0.);
(dbx) where
[1] _kill(0x0, 0x6, 0xeffef218, 0xef22577c, 0xef222eb4, 0xef1ba438), at 0xef20800c
[2] abort(0xef222eb4, 0x68, 0x68, 0x7efefeff, 0x81010100, 0xff0000), at 0xef1ba4a4
[3] __assert(0x238bee4, 0x238bef0, 0xa2, 0x40000000, 0x0, 0xffffffff), at 0xef1ba774
=>[4] HelixTraj::distTo1stError(this = 0xc82a620, _ARG1 = 0.0, tol = 1e-05, _ARG2 = -1), line 162 in "HelixTraj.cc"
[5] TrkPoca::TrkPoca(this = 0xeffef6c8, traj = CLASS, flt = 0.0, pt = CLASS, prec = 1e-05), line 157 in "TrkPoca.cc"
[6] BtaRecoTrackingObject::flight_(this = 0xb42f2c0, point = CLASS), line 154 in "BtaRecoTrackingObject.cc"
[7] BtaRecoTrackingObject::positionErr(this = 0xb42f2c0, point = CLASS), line 99 in "BtaRecoTrackingObject.cc"
[8] BtaFitParams::set(this = 0xc7b7838, mass = 0.13956999778748, recoObject = CLASS, origin = CLASS), line 194 in "BtaFitParams.c"
[9] BtaRecoTrkCand::BtaRecoTrkCand(this = 0xc7b77e8, trk = 0xc768c28, vp = (nil)), line 73 in "BtaRecoTrkCand.cc"
[10] LoadRecoBtaCandidates::loadRecoTrack(this = 0x9dfaf40, trk = 0xc768c28, evt = 0xb12f190), line 609 in "LoadRecoBtaCandidates.cc"
[11] LoadRecoBtaCandidates::event(this = 0x9dfaf40, anEvent = 0xb12f190), line 491 in "LoadRecoBtaCandidate
Aslund generated this sample without any problems.
-
Sigmas in Bogus' track parameter error matrix sometimes come out negative. This never happens in Aslund.
-
Bogus sometimes gives very large track parameters, such as z0 ~110 cm. This happens for cos(Theta) ~ +-1, as expected. Would it make sense to intoduce an acceptance check somewhere in the downstream module?
Conclusion:
While there are still studies to do (such as looking at each individual subdetector), questions to resolve (such as the poor bbsim and Aslund/Bogus agreement), and bugs to fix (see above), I believe it is safe to say that Bogus fast simulation, on average, agrees very well with the existing fast simulation.
Natalia Kuznetsova natalia@charm.physics.ucsb.edu