|
17 | 17 | #include "DataFormatsParameters/GRPECSObject.h" |
18 | 18 | #include "CommonConstants/LHCConstants.h" |
19 | 19 | #include "Framework/Logger.h" |
| 20 | +#include <map> |
20 | 21 |
|
21 | 22 | using namespace o2::parameters; |
22 | 23 |
|
@@ -57,6 +58,80 @@ o2::parameters::AggregatedRunInfo AggregatedRunInfo::buildAggregatedRunInfo(int |
57 | 58 | // adjust to the nearest TF edge to satisfy condition (orbitSOR % nOrbitsPerTF == 0) |
58 | 59 | orbitSOR = (orbitSOR / nOrbitsPerTF + 1) * nOrbitsPerTF; // +1 to choose the safe boundary ... towards run middle |
59 | 60 | orbitEOR = orbitEOR / nOrbitsPerTF * nOrbitsPerTF; |
| 61 | + // temporary map of orbit shifts for runs <=LHC22m (while waiting for complete run list from CTP/Calib/FirstRunOrbit) |
| 62 | + std::map<int, int> mapOrbitShift; |
| 63 | + mapOrbitShift[517619] = 109; |
| 64 | + mapOrbitShift[517620] = 109; |
| 65 | + mapOrbitShift[517623] = 109; |
| 66 | + mapOrbitShift[517677] = 127; |
| 67 | + mapOrbitShift[517678] = 127; |
| 68 | + mapOrbitShift[517679] = 127; |
| 69 | + mapOrbitShift[517685] = 127; |
| 70 | + mapOrbitShift[517690] = 127; |
| 71 | + mapOrbitShift[517693] = 127; |
| 72 | + mapOrbitShift[517737] = 127; |
| 73 | + mapOrbitShift[517748] = 127; |
| 74 | + mapOrbitShift[517751] = 127; |
| 75 | + mapOrbitShift[517753] = 127; |
| 76 | + mapOrbitShift[517758] = 127; |
| 77 | + mapOrbitShift[517767] = 127; |
| 78 | + mapOrbitShift[518541] = 40; |
| 79 | + mapOrbitShift[518543] = 92; |
| 80 | + mapOrbitShift[518546] = 124; |
| 81 | + mapOrbitShift[518547] = 47; |
| 82 | + mapOrbitShift[519041] = 59; |
| 83 | + mapOrbitShift[519043] = 59; |
| 84 | + mapOrbitShift[519045] = 59; |
| 85 | + mapOrbitShift[519497] = 86; |
| 86 | + mapOrbitShift[519498] = 86; |
| 87 | + mapOrbitShift[519499] = 86; |
| 88 | + mapOrbitShift[519502] = 86; |
| 89 | + mapOrbitShift[519503] = 86; |
| 90 | + mapOrbitShift[519504] = 86; |
| 91 | + mapOrbitShift[519506] = 86; |
| 92 | + mapOrbitShift[519507] = 86; |
| 93 | + mapOrbitShift[519903] = 62; |
| 94 | + mapOrbitShift[519904] = 62; |
| 95 | + mapOrbitShift[519905] = 62; |
| 96 | + mapOrbitShift[519906] = 62; |
| 97 | + mapOrbitShift[520259] = 76; |
| 98 | + mapOrbitShift[520294] = 76; |
| 99 | + mapOrbitShift[520471] = 46; |
| 100 | + mapOrbitShift[520472] = 46; |
| 101 | + mapOrbitShift[520473] = 46; |
| 102 | + mapOrbitShift[523142] = 127; |
| 103 | + mapOrbitShift[523148] = 127; |
| 104 | + mapOrbitShift[523182] = 127; |
| 105 | + mapOrbitShift[523186] = 127; |
| 106 | + mapOrbitShift[523298] = 28; |
| 107 | + mapOrbitShift[523306] = 28; |
| 108 | + mapOrbitShift[523308] = 28; |
| 109 | + mapOrbitShift[523309] = 28; |
| 110 | + mapOrbitShift[523397] = 110; |
| 111 | + mapOrbitShift[523399] = 110; |
| 112 | + mapOrbitShift[523401] = 110; |
| 113 | + mapOrbitShift[523441] = 117; |
| 114 | + mapOrbitShift[523541] = 103; |
| 115 | + mapOrbitShift[523559] = 103; |
| 116 | + mapOrbitShift[523669] = 39; |
| 117 | + mapOrbitShift[523671] = 39; |
| 118 | + mapOrbitShift[523677] = 39; |
| 119 | + mapOrbitShift[523728] = 113; |
| 120 | + mapOrbitShift[523731] = 113; |
| 121 | + mapOrbitShift[523779] = 41; |
| 122 | + mapOrbitShift[523783] = 41; |
| 123 | + mapOrbitShift[523786] = 41; |
| 124 | + mapOrbitShift[523788] = 41; |
| 125 | + mapOrbitShift[523789] = 41; |
| 126 | + mapOrbitShift[523792] = 41; |
| 127 | + mapOrbitShift[523797] = 41; |
| 128 | + mapOrbitShift[523821] = 36; |
| 129 | + mapOrbitShift[523897] = 38; |
| 130 | + if (mapOrbitShift.find(runnumber) != mapOrbitShift.end()) { |
| 131 | + orbitSOR += mapOrbitShift[runnumber]; |
| 132 | + orbitEOR += mapOrbitShift[runnumber]; |
| 133 | + } |
| 134 | + |
60 | 135 | if (ctfFirstRunOrbitVec && ctfFirstRunOrbitVec->size() >= 3) { // if we have CTP first run orbit available, we should use it |
61 | 136 | int64_t creation_timeIGNORED = (*ctfFirstRunOrbitVec)[0]; // do not use CTP start of run time! |
62 | 137 | int64_t ctp_run_number = (*ctfFirstRunOrbitVec)[1]; |
|
0 commit comments