Skip to content

RICH-22 Rich/RichMirrorAlignmentOnline v3r2 (and v3r1p0, v3r1 before it)

Paras Naik requested to merge 20170522-pnaik-alignOnline into master

! 2017-06-03 - Paras Naik

  • "Tagged" as v3r2 (internally, since only Panoptes gets a tag now).
  • We now make a copy of Rich/RichMirrorAlignmentOnline/python/RichMirrorAlignmentOnlineConfiguration.py every time we run.
  • Fixed a bug in RichAnalyzer that was keeping the RunChangeHandler from seeing our conditions.
  • Fixed the conditions structure, necessary to run on 2017 data.
  • Changed shutil.copyfile() to shutil.copy2() in several places, to preserve timestamps.
  • Rich1 and Rich2 thresholds now settled upon for 2017.
  • Event threshold for automatic update set to 70% of maximum expected value (based on test 2016 alignments).
  • Automatically adjust scale for 2D plots, keeping colors the same for the same set of values.

! 2017-05-30 - Paras Naik

  • We now record the number of events properly.
  • The hlt02 log now contains the output of the Iterator.
  • We now make a copy of /group/online/dataflow/options/LHCbA/HLT/OnlineEnvBase.py every time we run.

! 2017-05-28 - Paras Naik

  • “Tagged" as v3r1p0 (internally, since only Panoptes gets a tag now).
  • Improved AlignSummary plots.
  • Introduced 'testing' Configurable. If this is true, the alignment is in testing mode and we do not enable our DB update DIM service.

! 2017-05-24 - Paras Naik

  • “Tagged" as v3r1 (internally, since only Panoptes gets a tag now).
  • Prepared RichAnalyzer.py to use the git DB and accept 2017 data (and also 2016/2015 data).
  • Introduced 2D mirror compensation heatmaps. Split getChange function into setChange and getGraphs, in tiltObj.py, to facilitate this.
  • Summary file now being copied from our work area to the stored alignments area again.
  • Un-hardcoded the length of tiltNames and call it tiltNamesLength.
  • Added a subprocess that obtains the changes to the hlt02 messages log while the Iterator is running. Unfortunately, this log does not contain the output of the Iterator yet... Need to find the log where this is stored and change the filename.
  • Added elapsed times for RichMirrAlign and RichMirrCombinFit.
  • Created a dictionary elapsed_runtimes for different kinds of runtimes, now passing that in functions.
  • Now detecting the dataVariant and using it to change Brunel settings in RichAnalyzer if needed.
  • Number of events is now averaged over the iterations, instead of cumulative.
  • Configuration previously attributed to dbXMLFile is now attributed to compareXMLFile.
  • Updated RICH2 tolerances to 2017 draft values
  • Updated Configuration to allow the alignment to expect Collision17 data.
  • Un-hardcoded the maximum number of iterations before the alignment gives up, now set from 'maxIterations' Configurable.
  • Introduced 'autoUpdate' Configurable. If we wish to update the DB automatically set this to True.
  • Introduced 'requiredEvents' Configurable. If we reconstruct fewer than requiredEvents on the farm (i.e. farm nodes are down), then we disable any automatic update of the DB, if the alignment has changed.
  • If we do not automatically update, but the alignment has changed OR there was a change in magnet polarity, instead of creating v{N+1}.xml, we make a file called v{N+1}maybe{setupHelper.directoryTime}.xml
  • Created getNEventsListList(n_it) function in SetupHelper to allow the Iterator to get nEvents.
  • Changed name of CkResSummary(.py) to AlignSummary(.py).

Merge request reports