Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 227 of file AthMonitorAlgorithm.cxx.

228 {
229  if (!m_lumiDataKey.empty()) {
231  return lumi->lbAverageInteractionsPerCrossing();
232  } else {
233  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageInteractionsPerCrossing() - luminosity tools are not retrieved.");
234  return -1.0;
235  }
236 }

◆ lbAverageLivefraction()

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

Calculate the average luminosity livefraction.

Definition at line 279 of file AthMonitorAlgorithm.cxx.

280 {
283  return 1.0;
284  }
285 
288  return live->lbAverageLiveFraction();
289  } else {
290  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLivefraction() - luminosity not available.");
291  return -1.0;
292  }
293 }

◆ 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 255 of file AthMonitorAlgorithm.cxx.

256 {
257  if (!m_lumiDataKey.empty()) {
259  return lumi->lbAverageLuminosity();
260  } else {
261  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLuminosity() - luminosity tools are not retrieved.");
262  return -1.0;
263  }
264 }

◆ lbDuration()

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

Calculate the duration of the luminosity block (in seconds)

Definition at line 324 of file AthMonitorAlgorithm.cxx.

325 {
328  return m_defaultLBDuration;
329  }
330 
331  if (!m_lbDurationDataKey.empty()) {
333  return dur->lbDuration();
334  } else {
335  ATH_MSG_DEBUG("AthMonitorAlgorithm::lbDuration() - luminosity tools are not retrieved.");
336  return m_defaultLBDuration;
337  }
338 }

◆ lbInteractionsPerCrossing()

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

Calculate instantaneous number of interactions, i.e.

mu.

Definition at line 239 of file AthMonitorAlgorithm.cxx.

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

◆ lbLuminosityPerBCID()

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

Calculate the instantaneous luminosity per bunch crossing.

Definition at line 267 of file AthMonitorAlgorithm.cxx.

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

◆ 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 313 of file AthMonitorAlgorithm.cxx.

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

◆ livefractionPerBCID()

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

Calculate the live fraction per bunch crossing ID.

Definition at line 296 of file AthMonitorAlgorithm.cxx.

297 {
300  return 1.0;
301  }
302 
305  return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
306  } else {
307  ATH_MSG_DEBUG("AthMonitorAlgorithm::livefractionPerBCID() - luminosity not available.");
308  return -1.0;
309  }
310 }
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:255
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
AthMonitorAlgorithm::m_environment
AthMonitorAlgorithm::Environment_t m_environment
Instance of the Environment_t enum.
Definition: AthMonitorAlgorithm.h:350
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:360
AthMonitorAlgorithm::m_dataType
AthMonitorAlgorithm::DataType_t m_dataType
Instance of the DataType_t enum.
Definition: AthMonitorAlgorithm.h:351
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:279
AthMonitorAlgorithm::m_lumiDataKey
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey
Definition: AthMonitorAlgorithm.h:344
lumiFormat.lumi
lumi
Definition: lumiFormat.py:106
AthMonitorAlgorithm::m_trigLiveFractionDataKey
SG::ReadCondHandleKey< TrigLiveFractionCondData > m_trigLiveFractionDataKey
Definition: AthMonitorAlgorithm.h:348
AthMonitorAlgorithm::lbDuration
virtual double lbDuration(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Calculate the duration of the luminosity block (in seconds)
Definition: AthMonitorAlgorithm.cxx:324
AthMonitorAlgorithm::m_lbDurationDataKey
SG::ReadCondHandleKey< LBDurationCondData > m_lbDurationDataKey
Definition: AthMonitorAlgorithm.h:346
AthMonitorAlgorithm::DataType_t::monteCarlo
@ monteCarlo