-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Millepede-II set-up #9
Comments
…need to put Mille.cc/Mille.h on CVMFS. Added new plane alignment module (as a starting point), and a MilleWrapper object designed to interface between Mu2e code and Millepede.
Need Kalman Fit of straight cosmic track, and the form of the residual derivatives. Then it will be possible to start running Millepede. |
Can start running Millepede now to test with biased residuals and partial derivatives (analytically calculated). Start thinking about writing a steering and constraints file for plane alignment. |
Steering file format pretty easy to understand.
The above listing is an example, and the final steering file would probably need more settings applied. Can set up equality constraints between global parameters to 'eliminate' weak degrees of freedom. I'd first like to try gathering a sample of 10,000+ cosmic tracks to see how |
Hi Ryun, I've also started looking into Millepede for alignment but I've encountered some issues we might want to address before we continue. In particular, while Millepede would be a good solution for the alignment using straight cosmic tracks (so without a Kalman filter), it can't be used directly with our Kalman filter fit, which we will want do in the future (we will use DIOs and cosmic rays with magnetic field on eventually). |
Hi Stefano, A few details on alignment with cosmic rays:
I think it's worth a go. I've already written a module that takes track information and outputs Millepede binary files. I just need the Tracker misalignments simualation to work first (nearly done, issue Mu2e#77) |
For DIOs perhaps another approach would be suitable, such as the one described in this paper (LHCb uses this): (page 13) But currently not there yet |
I am well aware of the advantages of Millepede-II and I am not saying we should abandon it. As far as I've understood, Sophie's straight cosmic track fit is a "classic" fit and not a Kalman filter fit, which means it has a global parametrization. This makes it particularly suitable for Millepede-II. However, if we want to have a single alignment procedure that can use also |
Sophie is currently refactoring her CosmicReco package to use a Kalman Filter for single straight cosmic track fitting, instead of the Max Likelihood fit with MINUIT, so the classic fit wouldn't be used. The current state of my branch was an attempt to use the classic fit, but this will be changed to use the new track parameterisation when it is available For the alignment project, my supervisor Marco is in charge of 'alignment execution'. I will speak to my supervisors further (probably Monday?) for the details about the magnet-on and DIO case (also Dave will already know a great deal about this.) I agree at this stage it is difficult to be able to conveniently unify all of the Alignment procedures without further study and discussion. |
The problem of moving from a classic fit to a Kalman filter fit is that the correlations between track parameters at different positions are not calculated, so you can't use the result of Kalman filter fit, at least not directly, as explained here https://arxiv.org/pdf/0810.2241.pdf. There are few ways to overcome this but they are all non trivial and we should discuss them in detail. |
Hi Stefano, Apologies for the delay in replying. I had a quick read - I had actually downloaded this specific paper a few months back but haven't had a chance to read yet. I think this method is also used in the LHCb kalman filter alignment method as well. So you're saying that the direct inavailability of the variance-covariance matrix of the track parameters would not allow us to calculate the residual derivatives with respect to those parameters (which is needed by Millepede)? Up to now I was not entirely certain of how to go about it, so you raise a valid point. The reason I am still fairly certain of Millepede-II (for straight track kalman) is that the manual explicitly does not rule out the use of Kalman-fitted tracks (see: Application: alignment of tracking detectors.) The manual suggests a workaround to the problem you raise by calculating the residual derivatives numerically, but an analytical calculation of them sounds a million times better to me, and this paper seems to provide a solution for it. I'd definitely prefer using this paper's method if it is valid, over a numerical approximation. Making sure that the correct residual derivatives wrt the track parameters are available after a kalman track fit routine generally will be useful for any alignment routine that we may decide to use (such as a closed-form Kalman alignment, Millepede-II, or iterative method.) With that in mind, I agree it's worth implementing or at least discussing further? Best wishes, Ryun |
Also wrt DIO's and magnet on cosmics, we've not gotten around to discussing what to use for these yet, so that is still open to discussion. There is also still a lot of unfinished infrastructure in that area. Maybe it is worth discussing with Dave, Sophie, my supervisors in another zoom meeting to discuss alignment progress sometime? For straight cosmics, it seems like so far the consensus is to use Millepede-II. |
Yes, that was my point. I am not sure if the procedure described in the paper can be easily interfaced to Millepede. The paper itself doesn't mention it, so I assume it was a custom solution. It was actually implemented in LHCb so your supervisor probably knows more. It is true that the Millepede manual mentions the Kalman filter, however I couldn't find a paper describing it (probably it's too expensive computationally?). For example both CMS and Belle2 refit with General Broken Lines. Also, quoting from https://arxiv.org/pdf/1403.2286.pdf:
In any case, I agree it would be interesting to use Millepede with the straight cosmic track classic fit and maybe compare the results with a local iterative approach. |
Hi Roberto, Thanks for the reply. The problem with using the classic fit is we are working with biased residuals and 'cross-validation' or refitting isn't possible (I've tried it and it's very unstable + slow.) I'm relatively close to being able to run some tests with Millepede-II using nofield cosmic tracks from the classic fit, but these would use 'biased' residuals as input. In the case that a kalman track is used, we get 'unbiased residuals' and my understanding is that the Millepede manual suggests calculating (for each hit):
The residual in our case is the (DOCA - drift radius), so to find a residual derivative numerically we'd calculate the change in DOCA divided by the delta of the track parameter. (not 100% sure of this yet, and a good performance may not be guaranteed either)
My feeling is that implementing a GBL procedure would require rewriting a fresh cosmic track fit again (which seems undesirable, if just to accommodate Millepede, and since it is already undergoing a major refactor by Sophie for the straight track kalman fit) By local iterative approach do you mean the kalman filter alignment method you linked earlier? Thanks, Ryun |
Hi Ryun, Yes, I also think re-fitting is not the right solution. I was just pointing out that this was the choice made by CMS and Belle2 but we don't have to follow it necessarily. Yes, by local iterative approach I mean the procedure described in http://cds.cern.ch/record/1073700/files/CR2007_055.pdf. |
Set up
mille
binary file output for input to./pede
application, supplying the required info from an art module.Millepede-II will be given the straight track trajectory kalman fit result for straight cosmics
The text was updated successfully, but these errors were encountered: