Skip to content

CA: New scheme of CA tracking parameterisation

Sergei Zharko requested to merge s.zharko/cbmroot:ca-params-2 into master

In this merge request, a new parameterisation scheme of the CA tracking is introduced.

Introduction

Parameters of CA are initialized in two steps. The first step requires a mandatory "main" configuration file, which provides a full set of the default parameters depending from the TrackingMode (STS+MVD, mCBM, Global). The files can be found by the paths:

  • ${VMCWORKDIR}/macro/L1/configs/ca_params_sts.yaml -- L1Algo::TrackingMode::kSts
  • ${VMCWORKDIR}/macro/L1/configs/ca_params_mcbm.yaml -- L1Algo::TrackingMode::kMcbm
  • ${VMCWORKDIR}/macro/L1/configs/ca_params_global.yaml -- L1Algo::TrackingMode::kGlobal

The second step is optional and requires a "user" configuration file. With minor exceptions, the user configuration file repeats the structure of the main config, thus the default value of the parameter is used, if the user does not provide it in the user config. The path to the user config can be set in the reconstruction macro with the function CbmL1::SetConfigUser(), and the example of the user config can be found by the path ${VMCWORKDIR}/macro/L1/config/ca_params_user_example.yaml.

CA Iterations set initialization

Many of the parameters for the CA tracking are dependent from the track finder iteration and are represented with a class L1CAIteration. In the user config, a sequence of iterations and the corresponding parameters can be specified in the branch "ca/core/track_finder/iterations". The ordering of the sequence fully defines the ordering of the iterations execution in the CA algorithm. Each element of the sequence can be defined in several ways, as shown in the examples below.

a)

- name: "FastPrim"
- name: "AllPrim"
- name: "AllPrimElectron"

In this example, tracking runs three iterations, each is fully defined in the main configuration file.

b)

- name: "FastPrim"
  track_chi2_cut: 15.
- name: "AllPrim"
  max_slope: 4.
- name: "AllPrimElectron"

In this example, the chi2 cut for tracks for "FastPrim" iteration and maximal slope for "AllPrim" iteration were loosened, and all remaining parameters are left unmodified.

c)

- name: "FastPrim"
  track_chi2_cut: 15.
- name: "AllPrim"
  max_slope: 4.
- name: "AllPrim-User"
  base_iteration: "AllPrim"
  track_chi2_cut: 4.
- name: "AllPrimElectron"

In this example, a new iteration "AllPrim-User" is added to the iterations sequence, which is constructed based on the "AllPrim" iteration. Please note, that the default iteration "AllPrim" will be used as a basis, so the parameter "max_slope" from the previously defined iteration will be set to the value, defined in the main config.

d)

- name: "FastPrim"
  track_chi2_cut: 15.
- name: "AllPrim"
  max_slope: 4.
- name: "AllPrim-User"
  base_iteration: "AllPrim"
  track_chi2_cut: 4.
- name: "AllPrim-User2"
  base_iteration: "AllPrim-User"
  max_qp: 10.
- name: "AllPrimElectron"

In this example, the iteration "AllPrim-User2" is based on the iteration "AllPrim-User" defined above. Since there is no "AllPrim-User" iteration in the list of defaults, the previously set track_chi2_cut = 4 remains in the new iteration.

List of inactive tracking stations

In CA tracking it is possible to exclude a particular station from the algorithm, so the hits produced on this station are never used in the finding and fitting of the tracks. To exclude stations in the file one can provide a list of station names to the ca/core/common/inactive_stations branch. If the name contains only the subsystem name (e.g. "MUCH"), all of the much stations will be excluded. If a local index of the station (in terms of the tracking detector interfaces) follows after the detector subsystem name (e.g. "MUCH2"), only this particular station will be excluded.

Edited by Sergei Zharko

Merge request reports