-
Notifications
You must be signed in to change notification settings - Fork 29
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
Need some smearing function for secondary vertices #38
Comments
I think the key difficulty here is the correlation with the opening angle, no? I am certain there is nothing public for this, although maybe it could be reverse engineered from some decay-time resolutions? |
https://arxiv.org/pdf/1405.7808.pdf has the decay length resolution for Bs → J/psi phi. Similarly https://arxiv.org/pdf/1412.6352.pdf . These might do for a start. |
Talking with Matt and Wouter, we are considering putting DTF into RapidSim. This would not only allow us to get SV resolutions, but also put in mass constraints and have errors on lifetimes. For this to work we would need to cook up some covariance matrix and the position of the "first hit" at a particular z for the track. The LHCb implementation is here: https://gitlab.cern.ch/lhcb/Phys/tree/master/Phys/DecayTreeFitter According to Wouter it is not so hard to port: the classes that you would need to reimplement are the 'external' constraints, e.g. the track, the photon cluster, the beam spot etc. Then we need to change the 'LHCb::Particle' and references to the property svc to whatever we have in RapidSim. Thoughts? Maybe this is too much (and potentially slows things down significantly). Maybe we can get away with a simpler vertexing? |
I think the crucial thing is to get the first hit and some reasonable model of the multiple scattering right (perhaps the VELO material model can give us this). If we have those, the opening angle correlation ought to come more or less for free. I would implement a simple vertexing first, not only for performance reasons but to keep the code as lightweight as possible. We can evolve from there if needed/wanted no? |
Having looked a bit more at DTF, there is a lot to pull into RapidSim, so I am heading more towards some simple vertex fit (at least initially). |
Maybe not the right place, but has there been any subsequent investigation into implementing DTF-like variables to RapidSim? |
I've not had any time to look at this. If you (or anyone else) has a smart idea and would like to make a contribution then it would be more than welcome! |
To be honest, I was just wondering if there had been anyone working on it 😅 |
I actually just started looking at this though it seems that the conversation went away from simple SV smearing more towards a full on DTF, then came back, so maybe this is the wrong place. I think there are two solutions one could think of:
Concerning 1, if I think about an individual vertex to smear, I think the easiest thing to do is to write a base class Concerning 2, For 1, I would envisage each decaying particle allowed to have a smearing of its own. This would only smear its own end vertex, implemented in a similar way to the IP smearing. It could in principle be different for each decaying particle. At this point, the SV and PV are separated, since you only change the SV. Once the base class I'm currently trying to make this work for histogram smearing of 1,2 and 3 dimensions. As for a vertex fit, a simple Cholesky Decomposition would probably be fast enough to be used. |
Some progress now in !43 |
Currently we are using the PV smearing parameterisation for SVs. Clearly we need some better here. Is there a publicly available source of information for this? For this to work we also need some mods to the code so that we can distinguish RapidVertices as PVs or SVs. Argument or derived class?
The text was updated successfully, but these errors were encountered: