You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[EMCAL-565, EMCAL-566] Keep start TS info in case of across-run calib.
- The calibration objects for the bad and time calibration are stored in
a root file at the end of run, and loaded at the start of the new run
- Here, the timestamp was not propagated and as such, the timestamps in
the ccdb were not covering the actual ranges of the corresponding
data
- This (rarely) leads to some seftover bad channels at the end of the
run, or for short runs
- Now, the timestamp is saved in the root-file with a granularity of
seconds, and read in during the next run.
- As the previous histograms did not contain the timestamp in seconds, a
protection is implemented that, if the histogram only contains 3 bins,
the start TS is neglected (This will only happen once!)
Copy file name to clipboardExpand all lines: Detectors/EMCAL/calibration/include/EMCALCalibration/EMCALCalibParams.h
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -88,6 +88,7 @@ struct EMCALCalibParams : public o2::conf::ConfigurableParamHelper<EMCALCalibPar
88
88
bool requireSameRunType = true; ///< if loading calib objects from previous run, require it to be the same run type
89
89
int tsDiffMax = 48; ///< if loading calib objects from previous run, limit time between the object being stored and loaded again (in hours)
90
90
unsignedint minNEventsSaveSlot = 100000; ///< minimum amount a slot has to have in order to be taken into accoutn in finalize slot. THis is also relevant if the slot should be saved at the EOR
91
+
bool useStaticStartTimeSlot = true; ///< if set to true, allows to use the start timestamp set manually. This is important if data from a previous run was loaded as otherwise, the start-timestamp will not include data from the previous run
91
92
92
93
// Parameters for pedestal calibration
93
94
short maxPedestalRMS = 10; ///< Maximum value for RMS for pedestals (has to be tuned)
int runType = hGlobalProperties->GetBinContent(2);
346
357
int tsOld = hGlobalProperties->GetBinContent(3);
358
+
int tsOldSec = (hGlobalProperties->GetNbinsX() > 3) ? hGlobalProperties->GetBinContent(4) : 0; // Protection as 4th bin was only added later
347
359
int tsDiff = (mStartTSCalib > 0 ? mStartTSCalib : static_cast<int>(o2::ccdb::getCurrentTimestamp() / o2::ccdb::CcdbObjectInfo::HOUR)) - tsOld; // get current timestamp if mStartTSCalib is not set
0 commit comments