22 return StatusCode::SUCCESS;
31 float averageMu = 0.0;
34 if (lumiData->lbAverageLuminosity() != 0 ||
35 lumiData->lbAverageInteractionsPerCrossing() != 0) {
36 muToLumi = lumiData->muToLumi();
37 if( std::abs( muToLumi ) > 0.00001 ) {
38 unsigned int bcid = ctx.eventID().bunch_crossing_id();
39 actualMu = lumiData->lbLuminosityPerBCIDVector().at(bcid) / muToLumi;
42 averageMu = lumiData->lbAverageInteractionsPerCrossing();
47 ATH_MSG_ERROR(
"actualInteractionsPerCrossing.isPresent check fails" );
48 return StatusCode::FAILURE;
56 ATH_MSG_ERROR(
"averageInteractionsPerCrossing.isPresent check fails" );
57 return StatusCode::FAILURE;
63 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Handle class for adding a decoration to an object.
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteDecorHandleKey< xAOD::EventInfo > m_actMuKey
SG::WriteDecorHandleKey< xAOD::EventInfo > m_aveMuKey
virtual StatusCode execute(const EventContext &ctx) const override
LumiBlockMuWriter(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey
Handle class for adding a decoration to an object.
bool isAvailable()
Test to see if this variable exists in the store, for the referenced object.
bool isPresent() const
Is the referenced container present in SG?