Roman Pot Data Management Interfaces

Service name : RomanPotManager

Collimation Alignment Production

  • int saveOffsets(long startTime, string label, map<string, double> offsets)
    Description: Saves data from motor step counter offsets file into the database. Offsets can be further indentified by a given validity interval and a label. The method returns version number of saved data (in case of multiple similar inserts the old one is not removed, but new version of the same data is created instead).
    Parameters:
    startTime - a validity interval start time. Nonnegative long value.
    label - a text label, connected with offsets data type, i. e. optics ( beta90 ). Not null and not empty value.
    offsets - offset data map. It should contain roman pot string labels in format: STATION ARM POSITION (i. e. RP_220_Left_Det_Dist_0 ) paired with offset values. Keys of the map (strings) canont be null or empty strings. TODO: check format of string labels(rp)
  • map<string, double> loadOffsets(long timestamp, string label)
    Description: Loads the latest version of offset data (bound to given timestamp
    and label) from the database and returns it as a roman pot label - offset value
    map.
    Parameters:
    timestamp - a timestamp value, it should be between startTime and endTime
    specified in saveOffests method. Nonnegative long value.
    label - a text label, connected with offsets data type, i. e. optics ( beta90 ). Not null and not empty string value.
  • map<string, double> loadOffsets(long timestamp, string label,
    int version)
    Description: Loads the specified version of offset data (bound to given timestamp
    and label) from the database and returns it as a roman pot label - offset
    value map.
    Parameters:
    timestamp - a timestamp value, it should be between startTime and endTime
    specified in saveOffests method. Nonnegative long value.
    label - a text label, connected with offsets data type, i. e. optics ( beta90 ). Not null and not empty string value.
    version - a version number, positive integer value. If 0, method returns latest version of measurement.

Geometry production

  • int saveGeometry(long timestamp, string label, map<string, double>
    geometryValues)
    Description: Saves computed geometry values into the database. All data should
    be bound to specific timestamp and label in order to correctly indentify in the
    database. The method returns version number of saved data (in case of multiple
    similar inserts the old one is not removed, but new version of the same data is
    created instead).
    Parameters:
    timestamp - timestamp value in miliseconds, connected with this data. Nonnegative long value.
    label - a text label, connected with geometry data type, i. e. optics ( beta90 ). Not null and not empty string value.
    geometryValues - geometry data map. It should contain roman pot string
    labels in format: STATION ARM POSITION (i. e. RP_220_Left_Det_Dist_0 ) TODO: check format of string labels(rp)
    paired with geometry values. Keys of the map (strings) cannot be null or empty strings.
  • map<string, double> loadGeometry(long timestamp, string label)
    Description: Loads the latest version of geometry data (bound to given timestamp
    and label) from the database and returns it as a roman pot label - geometry
    value map.
    Parameters:
    timestamp - timestamp value in miliseconds, connected with this data. Nonnegative long value.
    label - a text label, connected with geometry data type, i. e. optics ( beta90 ). Not null and not empty string value.
  • map<string, double> loadGeometry(long timestamp, string
    label, int version)
    Description: Loads the specified version of geometry data (bound to given timestamp
    and label) from the database and returns it as a roman pot label - geometry value map.
    Parameters:
    timestamp - timestamp value in miliseconds, connected with this data. Nonnegative long value.
    label - a text label, connected with geometry data type, i. e. optics ( beta90 ). Not null and not empty string value.
    version - a version number, positive integer value. If 0, method returns latest version of measurement.
  • int saveRomanPotPosition(long startTime, long endTime, string label,
    double value)
    Description: Saves single roman pot position into the database. The method
    returns version number of saved data (in case of multiple similar inserts the old
    one is not removed, but new version of the same data is created instead).
    Parameters:
    startTime - validity interval start time. Nonnegative long value.
    endTime - validity interval end time. Nonnegative long value.
    label - roman pot and type label in text format. Not null and not empty string value. Format is described in the section below
    value - roman pot position value.
  • double loadRomanPotPosition(long timestamp, string label)
    Description: Loads latest version of single roman pot position for given timestamp
    from the database.
    Parameters:
    timestamp - timestamp value. Nonnegative long value.
    label - roman pot and type label in text format. Not null and not empty string value. Format is described in the section below
  • double loadRomanPotPosition(long timestamp, string label, int
    version)
    Description: Loads specific version of single roman pot position for given timestamp
    from the database.
    Parameters:
    timestamp - timestamp value. Nonnegative long value.
    label - roman pot and type label in text format. Not null and not empty string value. Format is described in the section below
    version - version number. If 0, method returns latest version of measurement.

Alignment Calculations

  • int saveAlignments(long startTime, long endTime, string label,
    vector<RomanPotAlignment> alignments)
    Description: Saves alignment values into the database. Alignment data is stored
    in RomanPotAlignment structure (described below) and is bound to specified
    validity interval and label. The method returns version number of saved data (in
    case of multiple similar inserts the old one is not removed, but new version of the
    same data is created instead).
    Parameters:
    startTime - a validity interval start time. Nonnegative long value.
    endTime - a validity interval end time. Nonnegative long value.
    label - a text label, connected with alignments data. Not null and not empty string value.
    alignments - the alignments vector, a set of RomanPotAlignment structures. Not null and not empty vector. Elements of the vector should have format specified below.



  • int saveAlignmentsByRun(int startRun, int endRun, string label,
    vector<RomanPotAlignment> alignments)
    Description: Saves alignment values into the database. Alignment data is stored
    in RomanPotAlignment structure (described below) and is bound to specified
    validity interval and label. The method returns version number of saved data (in
    case of multiple similar inserts the old one is not removed, but new version of the
    same data is created instead).
    Parameters:
    startRun - a validity interval start run. Nonnegative integer value.
    endRun - a validity interval end run. Nonnegative integer value.
    label - a text label, connected with alignments data. Not null and not empty string value.
    alignments - the alignments vector, a set of RomanPotAlignment structures. Not null and not empty vector. Elements of the vector should have format specified below.
  • map<IntervalOfValidity, vector<RomanPotAlignment>> loadAlignments(
    long startTime, long endTime, string label)
    Description: Loads the latest version of alignments data from the database (bound
    to a given time interval and label) and returns them as RomanPotAlignment vectors connected with validity intervals.
    Parameters:
    startTime - a time interval start. Nonnegative long value.
    endTime - a time interval end. Nonnegative long value.
  • label - a text label, connected with alignments data. Not null and not empty string value.
  • map<IntervalOfValidity, vector<RomanPotAlignment>> loadAlignments(
    long startTime, long endTime, string label, int version)
    Description: Loads the specific version of alignments data from the database
    (bound to a given time interval and label) and returns them as RomanPotAlignment
    vectors connected with validity intervals.
    Parameters:
    startTime - a time interval start. Nonnegative long value.
    endTime - a time interval end. Nonnegative long value.
    label - a text label, connected with alignments data. Not null and not empty string value.
    version - a version number. If 0, method returns latest version of measurement.
  • map<IntervalOfValidity, vector<RomanPotAlignment>> loadAlignmentsByRun(
    int startRun, int endRun, string label, int version)
    Description: Loads the specific version of alignments data from the database
    (bound to a given run interval and label) and returns them as RomanPotAlignment
    vectors connected with validity intervals.
    Parameters:
    startTime - a run interval start. Nonnegative long value.
    endTime - a run interval end. Nonnegative long value.
    label - a text label, connected with alignments data. Not null and not empty string value.
    version - a version number. If 0, method returns latest version of measurement.
  • RomanPotAlignment - a structure representing single alignment.
    Fields:
    string romanPotLabel - a label describing a roman pot structure, in
    number format (replacing insignificant zeros in the begining to spaces),
    i. e. ’ 103’. Not null and not empty string value.
    map<string, double> alignmentValues - a value map, describing alignment
    attributes and their values. The keys are attribute labels (i. e.
    sh r ). The keys of the map (strings) cannot be null or empty strings.
  • IntervalOfValidity - a structure representing single validity interval.
    Fields:
    long startTime - validity interval start time. Nonnegative long value.
    long endTime - validity interval end time. Nonnegative long value.

Standard Roman Pot Label

Roman Pot labels in all functions - apart those concerning Roman Pot positions saving/loading - should be in specific format:

The structure of the raw ID is the following (based on the concept of the DetId)

  • Bit 24 = Arm: 1=z>0 0=z<0
  • Bits [22:23] Station
  • Bits [19:21] Roman Pot number
  • Bits [15:18] Si det. number
The advantage of the symbolic ID is that it is easily readable and that it can address most of the elements int the RP subdetector system
  • chip ID = |arm|station|RP|det|VFAT|, ie. 5-digit decimal number (possibly with leading zeros)
  • detector ID = |arm|station|RP|det|
  • Roman Pot ID = |arm|station|RP|
  • station ID = |arm|station|
  • arm ID = |arm|
where:
  • arm = 0 (left, i.e. z < 0), 1 (right)
  • station = 0 (147m), 1 (180m), 2 (220m)
  • RP = 0 - 5; 0+1 vertical pots (lower |z|), 2+3 horizontal pots, 4+5 vertical pots (higher |z|)
  • det = 0 - 9 (0th det has the lowest |z|)
  • VFAT = 0 - 4

Roman Pot Position Label

LHC DIP(Data Interchange Protocol) definies labels used to identify each part of RP detectors system.
Label looks like:

<RP device>.<where>.<beam>:MEAS_<sensor type>_<ID>

  • RP device := XRPH | HRPV
  • where := (A|B)(6|4)(L|R)5
  • beam :=B1 | B2
  • sensor_type := MOTOR | LVDT | RESOLVER
  • ID := LU | RU in case that RP device is equal to XRPV, otherwise LU
For example: XRPH.A6R5.B1:MEAS_LVDT_LU

, XRPV.A4L5.B2:MEAS_MOTOR_LU



Each of the label part helps identifying system part:

  • RP device tells whether it is horizontal or vertical pot
  • Each part of "where" means other things:
    • A and B tells whether it is far or near (A - near, B - far)
    • 4 and 6 indicate station (4 - 147m, 6 - 220m)
    • L and R identify arm (L - left, R - right)
    • 5 - definies IP
  • beam identifies beam number
  • sensor type tells what is the type of the measurement.
  • ID indicates pot:
    • LU with RP device XRPV means that it is top pot
    • RU with RP device XRPV means that it is bottom pot
    • LU with RP device XRPH means that it is horizontal pot
Example mapping from LHC DIP identificator to the Database identification scheme: XRPH.B6R5.B1:MEAS_LVDT_LU
  1. R in the "where" means that it is right arm,current label: 1
  2. 6 in B6R5 part tells that it is station located 220 m from IP5, current label: 12
  3. B, XRPH and LU indicates that it is far horizontal pot, current label: 125
Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2012-09-13 - unknown
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    TOTEM All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback