Skip to content

Resolve RICH-55

Anatoly Solomin requested to merge RICH-55 into master

This MR is the C++ part of the implementation of JIRA task RICH-55: Reimplement production of delta theta vs. phi distributions of photons within the RTA framework. Histogramming of Cherenkov delta theta (actual minus expected) vs. phi angles of the emitted photons is done here. This is a part of the RICH mirror alignment procedure.

It is indivisible from MR Moore!547 (merged) that implements the required configuration options control.

The new file is created: Rec/Rich/RichFutureRecMonitors/src/RichSIMDAlignment.cpp.

Apart from the main production task, it can also fill histograms needed for creating the map of solid angles for the track selection in the HLT1 line (for each of RICH1 and RICH2) and for the choice of the best RICH2 mirror segment combinations subset for the performance optimization of the entire RICH alignment procedure.

The choice of the tasks is done in Moore/Hlt/RecoConf/options/hlt2_reco_baseline_with_data_monitoring_alignment_rich.py, in the add_hlt2_rich.bind expression there:

align_tasks=[
    'Produce',  # the production set of histograms
    'Monitor',  # various checking histograms
    'Map',      # shaping the "map" for the HLT1 pre-selection line
    'Optimize', # the RICH2 mirror combinations subset
    'Explore',  # influence of coordinate systems on distribution shapes
],

And they are passed to RichSIMDAlignment via Gaudi::Property<std::vector<std::string>> "AlignmentTasks"

For the "Optimize" task, the counter of useful photons produced per mirror combination is stored in std::map<std::string, double> photCountSaturTrOpt. In the Finalize it is stored as a TTree object with one branch and one entry and written to a root file. The map can, later on, be read off that file and analyzed.

The goal is to eventually determine the minimal subset of the mirror segment combinations, that can be populated the fasted.

A typo is fixed in Rec/Rich/RichFutureRecEvent/RichFutureRecEvent/RichRecCherenkovPhotons.h (luckily, nobody except us is using that branch of code as yet).

Depends on Moore!547 (merged).

Edited by Anatoly Solomin

Merge request reports