- Author
- Eveli.nosp@m.na.B.nosp@m.ouhov.nosp@m.a@ce.nosp@m.rn.ch
Introduction:
InDetV0Finder is a package which contains the algorithm for finding V0 vertices in the Inner Detector. It retrieves a V0Container and writes all info to StoreGate.
How it works:
InDetV0Finder gets its input tracks from StoreGate and selects tracks pairs with opposite charge. If an acceptable starting point is found by m_getStartingPoint a 3D vertex fit without any mass or pointing constraints is performed using TrkV0Fitter.
If the unconstrained fit satisfies a number of conditions, mass constrained fits, assuming Kshort, Lambda, LambdaBar and Gamma hypotheses, are performed.
If at least one of these is successful and the imposed conditions are met, a Trk::V0Candidate is stored, containing all accepted Trk::V0Hypothesis
m_getStartingPoint calculates the initial approximation to the vertex position. Based on CTVMFT, it tries to intersect circles that are (R,Phi) projections of the helical trajectories of the two tracks. If the circles intersect, the intersection with smaller z difference between the two helices extrapolated to the intersection is chosen. If the circles do not intersect, the vertex approximation is taken as the point of closest approach of the two circles. The first track in the argument list should be the track with the smaller radius.
The jobOptions file:
The algorithm is automatically configured via genConf. Most cuts are controlled by parameters, which can be changed through jobOptions:
- int m_masses = 1 if using PDG values for the masses of the two tracks and the V0, = 2 if user set;
- double m_masspi : pion mass (139.57 MeV)
- double m_massp : proton mass (938.272 MeV)
- double m_masse : electron mass (0.510999 MeV)
- double m_massK0S : Kshort mass (497.672 MeV)
- double m_massLambda : Lambda mass (1115.68 MeV)
- double m_massGamma : Gamma mass (0.0 MeV)
- double m_d0min : Minimum d0 of charged tracks
- double m_z0min : Minimum z0 of charged tracks
- double m_ptmin : Minimumpt of charged tracks
- double m_minsxy : Minimum Rxy of starting point (1. mm)
- double m_minRxy : Minimum Rxy of vertex (10. mm)
- int m_lcuts = 1 if using vertex prob cuts, = 2 if using chi2 cuts
- int m_mcuts = 1 if using mass prob cuts, = 2 if using mass window cuts
- int m_mfcuts = 1 if using mass prob cuts, = 2 if using mass window cuts (final selection)
- int m_point = 1 if no pointing for conversions, = 2 if pointing to PV
- double m_maxChi2 : Maximum chi2/dof of vertex fit (6.)
- double m_minVertProb : Minimum vertex probability (0.001)
- double m_minMassProb : Minimum probability for a mass hypothesis (0.001)
- double m_maxMassErr : Maximum mass error (100.)
- double m_sigmassK0S : Kshort mass resolution (8.5 MeV)
- double m_sigmassLambda : Lambda mass resolution (3.5 MeV)
- double m_sigmassGamma : Gamma invariant mass cut (10.0 MeV)
- double m_nsig : mass windows set to m_nsig times the mass resolution (5.)