12 ATH_MSG_DEBUG(
"calling the constructor of ZdcMonitorAlgorithm");
24 float log_min = std::log10(min_value);
25 float log_max = std::log10(max_value);
28 float step = (log_max - log_min) / num_bins;
31 for (
int i = 0;
i <= num_bins; ++
i) {
32 float edge = log_min +
i *
step;
33 bin_edges.push_back(
std::pow(10, edge));
40 if (event_value < bin_edges.front() || event_value > bin_edges.back()) {
41 ATH_MSG_DEBUG(
"In calculation of inverse-bin-width event weight for the variable " << variable_name <<
", the current event value " << event_value <<
" is out of the bin range.");
42 ATH_MSG_DEBUG(
"Assign zero weight for the current event (event not filled).");
47 for (
size_t i = 0;
i < bin_edges.size() - 1; ++
i) {
48 if (event_value >= bin_edges[
i] && event_value < bin_edges[
i + 1]) {
53 ATH_MSG_WARNING(
"Warning: in calculation of inverse-bin-width event weight for the variable " << variable_name <<
", bin width containing the event value " << event_value <<
" is zero.");
54 ATH_MSG_WARNING(
"Assign zero weight for the current event (event not filled).");
61 if (event_value == bin_edges.back()) {
62 size_t last_bin_index = bin_edges.size() - 2;
63 float bin_width = bin_edges[last_bin_index + 1] - bin_edges[last_bin_index];
68 ATH_MSG_WARNING(
"Warning: in calculation of inverse-bin-width event weight for the variable " << variable_name <<
", no valid bin found for the event value " << event_value <<
".");
69 ATH_MSG_WARNING(
"Assign zero weight for the current event (event not filled).");
151 std::vector<std::string>
sides = {
"C",
"A"};
152 std::vector<std::string> modules = {
"0",
"1",
"2",
"3"};
153 std::vector<std::string>
channels = {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15"};
176 <<
", first LB = " << startLB <<
", number of steps = " << nsteps);
190 ATH_MSG_DEBUG(
"calling the fillPhysicsDataHistograms function");
195 bool cur_event_ZDC_available =
true;
196 bool cur_event_RPD_available =
true;
197 bool cur_event_RPDCentroid_available =
true;
216 std::array<float, m_nDecodingErrorBits> decodingErrorBitsArr = {0, 0, 0};
218 cur_event_ZDC_available &= !zdcDecodingError;
219 cur_event_RPD_available &= !rpdDecodingError;
221 if (!zdcDecodingError && !rpdDecodingError){
222 decodingErrorBitsArr[0] += 1;
223 }
else if (zdcDecodingError){
225 decodingErrorBitsArr[1] += 1;
228 decodingErrorBitsArr[2] += 1;
231 auto zdcTool =
getGroup(
"genZdcMonTool");
245 passTrigSideA = trigDecTool->isPassed(
m_triggerSideA, TrigDefs::Physics);
246 passTrigSideC = trigDecTool->isPassed(
m_triggerSideC, TrigDefs::Physics);
257 std::array<float, m_nUCCTrigBits> uccTrigBitsArr = {0};
269 if (passUCCTrig_HELT15){
273 if (passUCCTrig_HELT20){
277 if (passUCCTrig_HELT25){
281 if (passUCCTrig_HELT35){
285 if (passUCCTrig_HELT50){
312 std::array<bool, 2> centroidSideValidArr;
313 std::array<bool, 2> rpdSideValidArr = {
false,
false};
314 std::array<std::vector<float>,2> rpdSubAmpVecs;
321 auto passMinZDCEnergyCutForCentroidValidEvaluation =
Monitored::Scalar<bool>(
"passMinZDCEnergyCutForCentroidValidEvaluation",
false);
326 std::array<float, 2> zdcEMModuleEnergyArr = {-1000.,-1000.};
327 std::array<float, 2> zdcEnergySumArr = {-1000,-1000.};
328 std::array<float, 2> zdcUncalibSumArr = {-1000.,-1000.};
329 std::array<float, 2> zdcAvgTimeArr = {-1000.,-1000.};
330 std::array<bool, 2> zdcModuleMaskArr = {
false,
false};
331 std::array<bool, 2> passTrigOppSideArr = {
false,
false};
332 std::array<float, 2> rpdAmplitudeCalibSum = {-1000.,-1000.};
333 std::array<float, 2> rpdMaxADCSum = {-1000.,-1000.};
335 std::array<float, m_nRpdCentroidStatusBits> centroidStatusBitsCountCurSide;
339 return StatusCode::SUCCESS;
348 zdcEnergySumTwoSidesTeV = 0.;
351 cur_event_ZDC_available &= ZdcSumCalibEnergyHandle.
isAvailable();
353 if (cur_event_ZDC_available){
354 for (
const auto zdcSum : *zdcSums) {
355 if (zdcSum->zdcSide() != 0){
356 int iside = (zdcSum->zdcSide() > 0)? 1 : 0;
358 zdcEnergySumArr[iside] = ZdcSumCalibEnergyHandle(*zdcSum);
359 zdcUncalibSumArr[iside] = ZdcSumUncalibSumHandle(*zdcSum);
360 zdcAvgTimeArr[iside] = ZdcSumAverageTimeHandle(*zdcSum);
361 zdcModuleMaskArr[iside] = ZdcSumModuleMaskHandle(*zdcSum);
363 passTrigOppSideArr[iside] = (iside == 0)? passTrigSideA : passTrigSideC;
365 zdcEnergySumTwoSidesTeV += (ZdcSumCalibEnergyHandle(*zdcSum)) / 1000.;
367 if (zdcSum->zdcSide() == 1){
368 zdcEnergySumA = ZdcSumCalibEnergyHandle(*zdcSum);
369 zdcUncalibSumA = ZdcSumUncalibSumHandle(*zdcSum);
372 zdcEnergySumC = ZdcSumCalibEnergyHandle(*zdcSum);
373 zdcUncalibSumC = ZdcSumUncalibSumHandle(*zdcSum);
379 cur_event_ZDC_available &= ZdcSumUncalibSumHandle.
isAvailable();
380 if (cur_event_ZDC_available){
381 for (
const auto zdcSum : *zdcSums) {
382 if (zdcSum->zdcSide() != 0){
383 int iside = (zdcSum->zdcSide() > 0)? 1 : 0;
384 zdcUncalibSumArr[iside] = ZdcSumUncalibSumHandle(*zdcSum);
393 cur_event_RPD_available &= RPDsideStatusHandle.
isAvailable();
394 if (cur_event_RPD_available){
395 for (
const auto zdcSum : *zdcSums) {
396 if (zdcSum->zdcSide() != 0){
397 int iside = (zdcSum->zdcSide() > 0)? 1 : 0;
398 unsigned int rpdStatusCurSide = RPDsideStatusHandle(*zdcSum);
415 cur_event_RPDCentroid_available &= RPDcentroidStatusHandle.
isAvailable();
416 if (cur_event_RPDCentroid_available){
417 for (
const auto zdcSum : *zdcSums) {
419 if (zdcSum->zdcSide() == 0){
420 rpdCosDeltaReactionPlaneAngle = RPDcosDeltaReactionPlaneAngleHandle(*zdcSum);
422 int iside = (zdcSum->zdcSide() > 0)? 1 : 0;
423 std::string side_str = (iside == 0)?
"C" :
"A";
425 rpdSubAmpVecs[iside] = RPDsubAmpHandle(*zdcSum);
426 rpdSubAmpSumCurSide = RPDsubAmpSumHandle(*zdcSum);
427 rpdXCentroidCurSide = RPDxCentroidHandle(*zdcSum);
428 rpdYCentroidCurSide = RPDyCentroidHandle(*zdcSum);
429 rpdReactionPlaneAngleCurSide = RPDreactionPlaneAngleHandle(*zdcSum);
431 unsigned int rpdCentroidStatusCurSide = RPDcentroidStatusHandle(*zdcSum);
444 centroidValidBitFloat = (centroidValid)? 0.5 : 1.5;
449 bothReactionPlaneAngleValid &= centroidValid;
450 bothHasCentroid &= curSideHasCentroid;
454 if (rpdCentroidStatusCurSide & 1 << bit){
455 centroidStatusBitsCountCurSide[bit] += 1;
458 auto centroidStatusBits =
Monitored::Collection(
"centroidStatusBits", centroidStatusBitsCountCurSide);
460 if (curSideHasCentroid){
464 fill(
m_tools[
m_ZDCSideToolIndices.at(side_str)], rpdSubAmpSumCurSide, centroidValid, passMinZDCEnergyCutForCentroidValidEvaluation, centroidValidBitFloat, rpdXCentroidCurSide, rpdYCentroidCurSide, rpdReactionPlaneAngleCurSide, centroidStatusBits,
lumiBlock,
bcid);
538 auto zdcModuleHGtoLGAmpRatioNoNonlinCorr =
Monitored::Scalar<float>(
"zdcModuleHGtoLGAmpRatioNoNonlinCorr", -1000.0);
556 std::array<float, m_nZdcStatusBits> zdcStatusBitsCount;
557 std::array<float, m_nRpdStatusBits> rpdStatusBitsCount;
561 return StatusCode::SUCCESS;
567 ATH_MSG_WARNING(
"The event run number differs from the fixed run number read from the input-file metadata!");
572 if (injectedPulseInputVoltage > 0){
581 zdcHadronicEnergySumTwoSidesTeV = 0.;
583 cur_event_ZDC_available &= zdcModuleStatusHandle.
isAvailable();
584 if (cur_event_ZDC_available){
585 for (
const auto zdcMod : *zdcModules){
586 int iside = (zdcMod->zdcSide() > 0)? 1 : 0;
587 std::string side_str = (iside == 0)?
"C" :
"A";
589 if (zdcMod->zdcType() == 0){
590 int imod = zdcMod->zdcModule();
593 int status = zdcModuleStatusHandle(*zdcMod);
595 for (
int bit = 0; bit <
m_nZdcStatusBits; bit++) zdcStatusBitsCount[bit] = 0;
598 zdcStatusBitsCount[bit] += 1;
606 zdcModuleAmp = zdcModuleAmplitudeHandle(*zdcMod);
607 float zdcModuleAmpNoNonLin = zdcModuleAmpNoNonLinHandle(*zdcMod);
608 zdcModuleFitAmp = zdcModuleFitAmpHandle(*zdcMod);
609 zdcModuleMaxADC = zdcModuleMaxADCHandle(*zdcMod);
610 zdcModuleMaxADCHG = zdcModuleMaxADCHGHandle(*zdcMod);
611 zdcModuleMaxADCLG = zdcModuleMaxADCLGHandle(*zdcMod);
612 zdcModuleAmpToMaxADCRatio = (zdcModuleMaxADC == 0)? -1000. : zdcModuleAmp / zdcModuleMaxADC;
613 zdcModuleTime = zdcModuleTimeHandle(*zdcMod);
614 zdcModuleFitT0 = zdcModuleFitT0Handle(*zdcMod);
615 zdcModuleChisq = zdcModuleChisqHandle(*zdcMod);
616 zdcModuleCalibAmp = zdcModuleCalibEnergyHandle(*zdcMod);
617 zdcModuleCalibTime = zdcModuleCalibTimeHandle(*zdcMod);
618 zdcUncalibSumCurrentSide = zdcUncalibSumArr[iside];
619 zdcEnergySumCurrentSide = zdcEnergySumArr[iside];
620 zdcAbove20NCurrentSide = (zdcUncalibSumCurrentSide > 20 *
m_expected1N);
624 zdcModuleFract = (zdcEnergySumCurrentSide == 0)? -1000. : zdcModuleCalibAmp / zdcEnergySumCurrentSide;
626 zdcModuleFract = (zdcUncalibSumCurrentSide == 0)? -1000. : zdcModuleAmp / zdcUncalibSumCurrentSide;
630 zdcModuleChisqOverAmp = (zdcModuleFitAmp == 0)? -1000. : zdcModuleChisq / zdcModuleFitAmp;
632 zdcModuleHG = !zdcModuleLG;
634 zdcModuleFractionValid = (zdcModuleFract >= 0 && zdcModuleFract <= 1);
635 zdcModuleTimeValid = (zdcModuleTime > -100.);
636 zdcModuleHGTimeValid = zdcModuleHG && zdcModuleTimeValid;
637 zdcModuleLGTimeValid = zdcModuleLG && zdcModuleTimeValid;
640 zdcModuleFitAmpLGRefit = zdcModuleFitAmpLGRefitHandle(*zdcMod);
641 zdcModuleAmpLGRefit = zdcModuleAmpLGRefitHandle(*zdcMod);
642 zdcModuleT0LGRefit = zdcModuleT0LGRefitHandle(*zdcMod);
643 zdcModuleT0SubLGRefit = zdcModuleT0SubLGRefitHandle(*zdcMod);
644 zdcModuleChisqLGRefit = zdcModuleChisqLGRefitHandle(*zdcMod);
646 zdcModuleLGFitAmp = (zdcModuleHG)? zdcModuleFitAmpLGRefit * 1. : zdcModuleFitAmp * 1.;
648 zdcModuleHGtoLGAmpRatio = (zdcModuleLG || zdcModuleAmpLGRefit == 0)? -1000. : zdcModuleAmp * 1. / zdcModuleAmpLGRefit;
649 zdcModuleHGtoLGAmpRatioNoNonlinCorr = (zdcModuleLG || zdcModuleAmpLGRefit == 0)? -1000. : zdcModuleAmpNoNonLin * 1. / zdcModuleAmpLGRefit;
650 zdcModuleHGtoLGT0Diff = (zdcModuleLG)? -1000. : zdcModuleFitT0 - zdcModuleT0LGRefit;
655 if (imod == 0) zdcEMModuleEnergyArr[iside] = zdcModuleCalibAmp;
656 else zdcHadronicEnergySumTwoSidesTeV += zdcModuleCalibAmp / 1000.;
665 bool retrievedLumiBlockTimes =
false;
669 if (lblbattrList==
nullptr) {
673 retrievedLumiBlockTimes =
true;
674 auto lb_stime_loc = (*lblbattrList)[
"StartTime"].data<cool::UInt63>();
675 auto lb_etime_loc = (*lblbattrList)[
"EndTime"].data<cool::UInt63>();
676 lb_stime = lb_stime_loc;
677 lb_etime = lb_etime_loc;
678 ATH_MSG_DEBUG(
"lb_stime: " << lb_stime <<
" lb_etime: " << lb_etime );
681 lb_stime /= 1000000000;
682 lb_etime /= 1000000000;
684 if (lb_etime <= lb_stime || !retrievedLumiBlockTimes){
685 ATH_MSG_WARNING(
"The LB start + end time for current event is not retrieved.");
686 ATH_MSG_WARNING(
"No event rejection at beginning of LB is implemented.");
687 }
else if(eventTime < lb_stime){
688 ATH_MSG_WARNING(
"Event time is before the start time of the current LB");
689 ATH_MSG_WARNING(
"Event time: " << eventTime <<
"; current LB: " <<
lumiBlock <<
"; start time of current LB: " << lb_stime);
690 }
else if (eventTime > lb_etime){
692 ATH_MSG_WARNING(
"Event time: " << eventTime <<
"; current LB: " <<
lumiBlock <<
"; end time of current LB: " << lb_etime);
701 zdcHGInjPulseValid &= zdcModuleHG;
724 if (
m_isStandalone) injectedPulseInputVoltage = zdcModuleAmp * 1. / 25000.;
725 fill(
m_tools[
m_ZDCModuleToolIndices.at(side_str).at(module_str)], zdcModuleAmp, zdcModuleFitAmp, zdcModuleMaxADC, zdcModuleMaxADCHG, zdcModuleMaxADCLG, zdcModuleAmpToMaxADCRatio, zdcModuleFract, zdcUncalibSumCurrentSide, zdcEnergySumCurrentSide, zdcModuleTime, zdcModuleFitT0, zdcModuleChisq, zdcModuleChisqOverAmp, zdcModuleChisqEventWeight, zdcModuleChisqOverAmpEventWeight, zdcModuleCalibAmp, zdcModuleCalibTime, zdcModuleLG, zdcModuleHG, zdcModuleAmpLGRefit, zdcModuleT0LGRefit, zdcModuleT0SubLGRefit, zdcModuleChisqLGRefit, zdcModuleLGFitAmp, zdcModuleHGtoLGAmpRatio, zdcModuleHGtoLGAmpRatioNoNonlinCorr, zdcModuleHGtoLGT0Diff, zdcModuleFractionValid, zdcModuleTimeValid, zdcModuleHGTimeValid, zdcModuleLGTimeValid, injectedPulseInputVoltage, zdcHGInjPulseValid, zdcLGInjPulseValid,
lumiBlock,
bcid);
727 fill(
m_tools[
m_ZDCModuleToolIndices.at(side_str).at(module_str)], zdcModuleAmp, zdcModuleMaxADC, zdcModuleMaxADCHG, zdcModuleMaxADCLG, zdcModuleAmpToMaxADCRatio, zdcModuleFract, zdcUncalibSumCurrentSide, zdcEnergySumCurrentSide, zdcAbove20NCurrentSide, zdcEnergyAboveModuleFractCut, zdcModuleTime, zdcModuleFitT0, zdcModuleChisq, zdcModuleChisqOverAmp, zdcModuleChisqEventWeight, zdcModuleChisqOverAmpEventWeight, zdcModuleCalibAmp, zdcModuleCalibTime, zdcModuleLG, zdcModuleHG, zdcModuleAmpLGRefit, zdcModuleT0LGRefit, zdcModuleT0SubLGRefit, zdcModuleChisqLGRefit, zdcModuleHGtoLGAmpRatio, zdcModuleHGtoLGAmpRatioNoNonlinCorr, zdcModuleHGtoLGT0Diff, zdcModuleFractionValid, zdcModuleTimeValid, zdcModuleHGTimeValid, zdcModuleLGTimeValid,
lumiBlock,
bcid);
747 cur_event_RPD_available &= RPDChannelStatusHandle.
isAvailable();
748 if (cur_event_RPD_available){
749 for (
const auto zdcMod : *zdcModules){
750 int iside = (zdcMod->zdcSide() > 0)? 1 : 0;
751 std::string side_str = (iside == 0)?
"C" :
"A";
753 if (zdcMod->zdcType() == 1) {
756 int ichannel = zdcMod->zdcChannel();
759 int status = RPDChannelStatusHandle(*zdcMod);
761 for (
int bit = 0; bit <
m_nRpdStatusBits; bit++) rpdStatusBitsCount[bit] = 0;
764 rpdStatusBitsCount[bit] += 1;
770 rpdChannelSubAmp = rpdSubAmpVecs[iside][ichannel];
771 rpdChannelAmplitude = RPDChannelAmplitudeHandle(*zdcMod);
772 rpdChannelMaxADC = RPDChannelMaxADCHandle(*zdcMod);
773 rpdChannelMaxSample = RPDChannelMaxSampleHandle(*zdcMod);
774 rpdChannelAmplitudeCalib = RPDChannelAmplitudeCalibHandle(*zdcMod);
775 std::vector<float> rpdChannelPileupFitParams = RPDChannelPileupExpFitParamsHandle(*zdcMod);
776 rpdChannelPileupFitSlope = rpdChannelPileupFitParams[1];
777 rpdChannelPileupFrac = RPDChannelPileupFracHandle(*zdcMod);
779 absRpdChannelAmplitude = abs(rpdChannelAmplitude);
780 zdcEMModuleEnergySameSide = zdcEMModuleEnergyArr[iside];
781 zdcEnergySumSameSide = zdcEnergySumArr[iside];
783 rpdChannelValid = curRpdChannelValid;
784 rpdChannelValidBitFloat = (curRpdChannelValid)? 0.5 : 1.5;
785 rpdChannelCentroidValid = centroidSideValidArr.at(iside);
787 rpdAmplitudeCalibSum[iside] += rpdChannelAmplitudeCalib;
788 rpdMaxADCSum[iside] += rpdChannelMaxADC;
790 fill(
m_tools[
m_RPDChannelToolIndices.at(side_str).at(channel_str)], rpdChannelSubAmp, rpdChannelAmplitude, rpdChannelAmplitudeCalib, rpdChannelMaxADC, rpdChannelMaxSample, rpdStatusBits, rpdChannelPileupFitSlope, absRpdChannelAmplitude, rpdChannelPileupFrac, zdcEMModuleEnergySameSide, zdcEnergySumSameSide, rpdChannelValid, rpdChannelValidBitFloat, rpdChannelCentroidValid,
lumiBlock,
bcid);
804 std::array<double,2> fcalEtArr = {0.,0.};
812 for (
const auto eventShape : *eventShapes){
813 int layer = eventShape->layer();
814 float eta = eventShape->etaMin();
815 float et = eventShape->et();
817 fcalEtSumTwoSides +=
et / 1000000.;
819 fcalEtA +=
et / 1000000.;
820 fcalEtArr[1] +=
et / 1000000.;
823 fcalEtC +=
et / 1000000.;
824 fcalEtArr[0] +=
et / 1000000.;
836 if (!cur_event_ZDC_available && !zdcDecodingError){
837 ATH_MSG_WARNING(
"Current event has no ZDC decoding error but ZDC aux data is not available!");
839 if (!cur_event_RPD_available && !rpdDecodingError){
840 ATH_MSG_WARNING(
"Current event has no RPD decoding error but RPD aux data is not available!");
845 if (!cur_event_ZDC_available && !cur_event_RPD_available){
846 ATH_MSG_WARNING(
"For current event, neither ZDC nor RPD data are available!");
847 return StatusCode::SUCCESS;
858 fill(zdcTool,
lumiBlock,
bcid, passTrigSideA, passTrigSideC, zdcEnergySumA, zdcEnergySumC, zdcUncalibSumA, zdcUncalibSumC, fcalEtA, fcalEtC);
860 ATH_MSG_DEBUG(
"zdcEnergySumTwoSidesTeV: " << zdcEnergySumTwoSidesTeV <<
"; fcalEtSumTwoSides: " << fcalEtSumTwoSides);
861 fill(zdcTool,
lumiBlock,
bcid, zdcEnergySumTwoSidesTeV, zdcHadronicEnergySumTwoSidesTeV, fcalEtSumTwoSides, passUCCTrig_HELT15, passUCCTrig_HELT20, passUCCTrig_HELT25, passUCCTrig_HELT35, passUCCTrig_HELT50);
863 fill(zdcTool,
lumiBlock,
bcid, zdcEnergySumTwoSidesTeV, zdcHadronicEnergySumTwoSidesTeV, fcalEtSumTwoSides);
866 fill(zdcTool,
lumiBlock,
bcid, passTrigSideA, passTrigSideC, zdcEnergySumA, zdcEnergySumC, zdcUncalibSumA, zdcUncalibSumC);
871 fill(zdcTool, rpdCosDeltaReactionPlaneAngle, bothReactionPlaneAngleValid, bothHasCentroid);
881 for (
int iside = 0; iside <
m_nSides; iside++){
882 std::string side_str = (iside == 0)?
"C" :
"A";
899 fill(
m_tools[
m_ZDCSideToolIndices.at(side_str)], passTrigOppSide, zdcEnergySumCurSide, zdcEnergySumCurSideTeV, zdcUncalibSumCurSide, zdcEMModuleEnergyCurSide, zdcAvgTimeCurSide, zdcModuleMaskCurSide, rpdAmplitudeCalibSumCurSide, rpdMaxADCSumCurSide, rpdCurSideValid, fcalEtCurSide,
lumiBlock,
bcid);
902 for (
int iside = 0; iside <
m_nSides; iside++){
903 std::string side_str = (iside == 0)?
"C" :
"A";
914 fill(
m_tools[
m_ZDCSideToolIndices.at(side_str)], passTrigOppSide, zdcEnergySumCurSide, zdcEnergySumCurSideTeV, zdcUncalibSumCurSide, zdcEMModuleEnergyCurSide, zdcAvgTimeCurSide, zdcModuleMaskCurSide, fcalEtCurSide,
lumiBlock,
bcid);
917 for (
int iside = 0; iside <
m_nSides; iside++){
918 std::string side_str = (iside == 0)?
"C" :
"A";
928 return StatusCode::SUCCESS;
939 return StatusCode::SUCCESS;
952 return StatusCode::SUCCESS;
954 for (
const auto zdcSum : *zdcSums) {
955 if (zdcSum->zdcSide() == 0){
957 ATH_MSG_WARNING(
"The global sum entry in zdc sum container can be retrieved; but it does NOT have the variable eventType written as a decoration!");
958 return StatusCode::SUCCESS;
962 ATH_MSG_WARNING(
"The global sum entry in zdc sum container can be retrieved; but it does NOT have the variable DAQMode written as a decoration!");
963 return StatusCode::SUCCESS;
966 eventType = eventTypeHandle(*zdcSum);
967 DAQMode = DAQModeHandle(*zdcSum);
974 ATH_MSG_WARNING(
"The zdc sum container can be retrieved from the evtStore() but");
975 ATH_MSG_WARNING(
"Either the event type or the DAQ mode is the default unknown value");
976 ATH_MSG_WARNING(
"Most likely, there is no global sum (side == 0) entry in the zdc sum container");
977 return StatusCode::SUCCESS;
984 ATH_MSG_WARNING(
"Event type should be PhysicsData/Simulation but it is NOT");
985 return StatusCode::SUCCESS;