ATLAS Offline Software
Functions
Luminosity Functions

A group of functions which all deal with calculating luminosity. More...

Functions

virtual float AthMonitorAlgorithm::lbAverageInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the average mu, i.e. More...
 
virtual float AthMonitorAlgorithm::lbInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate instantaneous number of interactions, i.e. More...
 
virtual float AthMonitorAlgorithm::lbAverageLuminosity (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1). More...
 
virtual float AthMonitorAlgorithm::lbLuminosityPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the instantaneous luminosity per bunch crossing. More...
 
virtual double AthMonitorAlgorithm::lbDuration (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the duration of the luminosity block (in seconds) More...
 
virtual float AthMonitorAlgorithm::lbAverageLivefraction (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the average luminosity livefraction. More...
 
virtual float AthMonitorAlgorithm::livefractionPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the live fraction per bunch crossing ID. More...
 
virtual double AthMonitorAlgorithm::lbLumiWeight (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the average integrated luminosity multiplied by the live fraction. More...
 

Detailed Description

A group of functions which all deal with calculating luminosity.

Function Documentation

◆ lbAverageInteractionsPerCrossing()

float AthMonitorAlgorithm::lbAverageInteractionsPerCrossing ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtual

Calculate the average mu, i.e.

<mu>.

Definition at line 231 of file AthMonitorAlgorithm.cxx.

232 {
233  if (!m_lumiDataKey.empty()) {
235  return lumi->lbAverageInteractionsPerCrossing();
236  } else {
237  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageInteractionsPerCrossing() - luminosity tools are not retrieved.");
238  return -1.0;
239  }
240 }

◆ lbAverageLivefraction()

float AthMonitorAlgorithm::lbAverageLivefraction ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtual

Calculate the average luminosity livefraction.

Definition at line 283 of file AthMonitorAlgorithm.cxx.

284 {
287  return 1.0;
288  }
289 
292  return live->lbAverageLiveFraction();
293  } else {
294  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLivefraction() - luminosity not available.");
295  return -1.0;
296  }
297 }

◆ lbAverageLuminosity()

float AthMonitorAlgorithm::lbAverageLuminosity ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtual

Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1).

Definition at line 259 of file AthMonitorAlgorithm.cxx.

260 {
261  if (!m_lumiDataKey.empty()) {
263  return lumi->lbAverageLuminosity();
264  } else {
265  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLuminosity() - luminosity tools are not retrieved.");
266  return -1.0;
267  }
268 }

◆ lbDuration()

double AthMonitorAlgorithm::lbDuration ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtual

Calculate the duration of the luminosity block (in seconds)

Definition at line 328 of file AthMonitorAlgorithm.cxx.

329 {
332  return m_defaultLBDuration;
333  }
334 
335  if (!m_lbDurationDataKey.empty()) {
337  return dur->lbDuration();
338  } else {
339  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbDuration() - luminosity tools are not retrieved.");
340  return m_defaultLBDuration;
341  }
342 }

◆ lbInteractionsPerCrossing()

float AthMonitorAlgorithm::lbInteractionsPerCrossing ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtual

Calculate instantaneous number of interactions, i.e.

mu.

Definition at line 243 of file AthMonitorAlgorithm.cxx.

244 {
245  if (!m_lumiDataKey.empty()) {
247  float muToLumi = lumi->muToLumi();
248  if (muToLumi > 0) {
249  return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id()) / muToLumi;
250  }
251  return 0;
252  } else {
253  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbInteractionsPerCrossing() - luminosity tools are not retrieved.");
254  return -1.0;
255  }
256 }

◆ lbLuminosityPerBCID()

float AthMonitorAlgorithm::lbLuminosityPerBCID ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtual

Calculate the instantaneous luminosity per bunch crossing.

Definition at line 271 of file AthMonitorAlgorithm.cxx.

272 {
273  if (!m_lumiDataKey.empty()) {
275  return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id());
276  } else {
277  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbLuminosityPerBCID() - luminosity tools are not retrieved.");
278  return -1.0;
279  }
280 }

◆ lbLumiWeight()

double AthMonitorAlgorithm::lbLumiWeight ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtual

Calculate the average integrated luminosity multiplied by the live fraction.

Definition at line 317 of file AthMonitorAlgorithm.cxx.

318 {
319  if (!m_lumiDataKey.empty()) {
320  return (lbAverageLuminosity(ctx)*lbDuration(ctx))*lbAverageLivefraction(ctx);
321  } else {
322  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbLumiWeight() - luminosity tools are not retrieved.");
323  return -1.0;
324  }
325 }

◆ livefractionPerBCID()

float AthMonitorAlgorithm::livefractionPerBCID ( const EventContext &  ctx = Gaudi::Hive::currentContext()) const
virtual

Calculate the live fraction per bunch crossing ID.

Definition at line 300 of file AthMonitorAlgorithm.cxx.

301 {
304  return 1.0;
305  }
306 
309  return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
310  } else {
311  ATH_MSG_DEBUG("AthMonitorAlgorithm::livefractionPerBCID() - luminosity not available.");
312  return -1.0;
313  }
314 }
AthMonitorAlgorithm::lbAverageLuminosity
virtual float lbAverageLuminosity(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1).
Definition: AthMonitorAlgorithm.cxx:259
SG::ReadCondHandle
Definition: ReadCondHandle.h:40
AthMonitorAlgorithm::m_environment
AthMonitorAlgorithm::Environment_t m_environment
Instance of the Environment_t enum.
Definition: AthMonitorAlgorithm.h:355
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthMonitorAlgorithm::m_defaultLBDuration
Gaudi::Property< float > m_defaultLBDuration
Default duration of one lumi block.
Definition: AthMonitorAlgorithm.h:365
AthMonitorAlgorithm::m_dataType
AthMonitorAlgorithm::DataType_t m_dataType
Instance of the DataType_t enum.
Definition: AthMonitorAlgorithm.h:356
AthMonitorAlgorithm::Environment_t::online
@ online
AthMonitorAlgorithm::lbAverageLivefraction
virtual float lbAverageLivefraction(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Calculate the average luminosity livefraction.
Definition: AthMonitorAlgorithm.cxx:283
AthMonitorAlgorithm::m_lumiDataKey
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey
Definition: AthMonitorAlgorithm.h:349
lumiFormat.lumi
lumi
Definition: lumiFormat.py:106
AthMonitorAlgorithm::m_trigLiveFractionDataKey
SG::ReadCondHandleKey< TrigLiveFractionCondData > m_trigLiveFractionDataKey
Definition: AthMonitorAlgorithm.h:353
AthMonitorAlgorithm::lbDuration
virtual double lbDuration(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Calculate the duration of the luminosity block (in seconds)
Definition: AthMonitorAlgorithm.cxx:328
AthMonitorAlgorithm::m_lbDurationDataKey
SG::ReadCondHandleKey< LBDurationCondData > m_lbDurationDataKey
Definition: AthMonitorAlgorithm.h:351
AthMonitorAlgorithm::DataType_t::monteCarlo
@ monteCarlo