Discussion on Bs to Ds K
-
-
14:00
→
14:20
News on the vertexing code 20mSpeaker: Franco Bedeschi (Universita & INFN Pisa (IT))
Additional info from Franco :
during my talk yesterday I forgot to remind that the momenta and the vertex you obtain after a vertex fit are in general strongly correlated. So, if you want to calculate the error on the Bs mass, for instance, you need to keep these correlations in mind. The class VertexMore has a method to return the full covariance matrix of vertex position and track momenta:
| C(x,x) C(x,p1) C(x,p2) .... C(x,pn) |
C(x,p1, p2, ..., pn) = | C(p1,x) C(p1,p1) C(p1,p2) .... C(p1,pn) |
| ....................................................................................... |
| C(pn,x) C(pn,p1) C(pn,p2) ... C(pn,pn) |
Where each block is a 3x3 matrix. The method is called GetBigCov(). The following a snippet of code shows how to calculate the error on the Bs mass after fitting a pion and a Ds pseudo-track. Hope it helps.
Best,
Franco
//
// Bs mass plots
TVector3 rBsPi = vBs->GetMomentum(0); // Momentum pion from Bs
TVector3 rBsDs = vBs->GetMomentum(1); // Momentum Ds from Bs
Double_t PiMass = pBsPi->Mass; // Pion mass
Double_t DsMass = pDs->Mass; // Ds mass
Double_t BsMass = pBs->Mass; // Bs mass
Double_t Epi = TMath::Sqrt(PiMass*PiMass+rBsPi.Mag2()); // Energy pion from Bs
Double_t Eds = TMath::Sqrt(DsMass*DsMass+rBsDs.Mag2()); // Energy Ds from Bs
Double_t Etot = Epi + Eds; // Bs energy
TVector3 Ptot = rBsPi + rBsDs; // Bs momentum
Double_t rBsMass = TMath::Sqrt(Etot*Etot-Ptot.Mag2()); // Reconstructed Bs mass
// Mass error
TVector3 dm1 = (1./BsMass)*((Etot/Epi)*rBsPi-Ptot); // dm/dp1
TVector3 dm2 = (1./BsMass)*((Etot/Eds)*rBsDs-Ptot); // dm/dp2
Double_t dmp[6] = {dm1(0), dm1(1), dm1(2),dm2(0), dm2(1), dm2(2)};
TVectorD DmDp(6, dmp);
TMatrixDSym Bcov = vBs->GetBigCov(); // cov(x,p1,p2)
TMatrixDSym pcov = Bcov.GetSub(3,8,3,8); // cov(p1,p2)
Double_t mBsErr = TMath::Sqrt(pcov.Similarity(DmDp)); // Error on Bs mass -
14:20
→
14:30
Status 10mSpeakers: Andrea Coccaro (INFN Genova (IT)), Fabrizio Parodi (Università degli Studi e INFN Genova (IT))
-
14:30
→
14:50
Interface of FCCAnalysis to the vertexing 20mSpeaker: Emmanuel Francois Perez (CERN)
I have just made a "Work in Progress" pull request to FCCAnalyses, in which the vertexing code of Franco is now interfaced properly, by linking Delphes:
Consequently, one can now use Franco's Vertexmore class. I have added an example that reconstructs the (Ds and) Bs vertices in Bs to Ds(KKpi) K :
It is an improved / cleaner version of the example that I had given to Marco S last summer (which was already using Vertexmore).
There are many comments in the example.
It runs over a test file, the corresponding EvtGen card being here:
The example is "MC seeded", i.e. I first use the MC truth in order to search for the K, K, K, pi tracks of interest.
The Ds daughter tracks are fitted to a common vertex; the Ds "pseudo-track" is then reconstructed, and fitted together
with the track of the bachelor K. The example is run with:
fccanalyses run analysis_Bs2DsK_MCseeded.py --test --nevents 2000
A simple script, plots_Bs2DsK.x in the same directory, makes some basic validation plots.
The next step would be to move away from the "MC seeding" and work with all tracks in the event.
I also point you to the SW tutorial and the vertexing examples:
You can see in 2.4.3 how to reconstruct the non-primary tracks (example updated in the PR, following the other changes
made in this PR), and some stuff in 2.4.5 for the tau -> 3 mu may also be of some interest.
-
14:50
→
15:50
Links to older material
-
14:50
List of backgrounds from Roy 20m
-
15:10
Link to Roy's paper 20m
-
15:30
Links to former talks 20m
-
14:50
-
14:00
→
14:20