AlibavaMerger.cc allows merging the telescope data collections with the corresponding alibava ones. It's possible to merge hit or cluster collections. The code has the following parts (9 functions):
- processor's parameters and variables definition. Names of the processors' parameters correspond to the names of the ones which can be set in the megre-tmp.xml streering-template
- the function to streamout initial parameters which were set in the prev. part and/or in the steering-template and config.cfg
- the function to read the alibava event's header out and store it to a variable
- the function which reads the telescope *.lcio data file on the event by event basis
- the function where the alibava data collections are being read on the event by event basis and merged with the corresponding telescope data collection from the same event. Thomas also tried here to estimate the DUT hit's missing coordinated by averaging the corresponding coordinates from from the telescope planes projecting them onto the DUT's plane, but this part of code was commented out. This function is also sending the data points' coordinated to the function 6.
- the function for filling in the correlation (X, Y and Z-correlations between the telescope planes clusters' coordinates) histos
- a standard Marlin function check() which is being launched at the end of the run analysis. it's empty (by default), but can be filled by extra hists to check e.g. data quality
- the function which closes the telescope *.lcio file and streaming out a msg showing the end of the merging job. This function is also checking if the calculation was properly over or not (e.g. without reacing EORE)
- the standard(?) function for filling the histos out. It's empty
- the function where the histos (which are being filled in the function 6) are being defined and added to the output tree of *.root histograms.
Merger does the following steps: