ATLAS Offline Software
Loading...
Searching...
No Matches
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.
virtual float AthMonitorAlgorithm::lbInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate instantaneous number of interactions, i.e.
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).
virtual float AthMonitorAlgorithm::lbLuminosityPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the instantaneous luminosity per bunch crossing.
virtual double AthMonitorAlgorithm::lbDuration (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the duration of the luminosity block (in seconds)
virtual float AthMonitorAlgorithm::lbAverageLivefraction (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the average luminosity livefraction.
virtual float AthMonitorAlgorithm::livefractionPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the live fraction per bunch crossing ID.
virtual double AthMonitorAlgorithm::lbLumiWeight (const EventContext &ctx=Gaudi::Hive::currentContext()) const
 Calculate the average integrated luminosity multiplied by the live fraction.

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()) {
234 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey, ctx);
235 return lumi->lbAverageInteractionsPerCrossing();
236 } else {
237 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageInteractionsPerCrossing() - luminosity tools are not retrieved.");
238 return -1.0;
239 }
240}
#define ATH_MSG_DEBUG(x)
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey

◆ 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
290 if (!m_trigLiveFractionDataKey.empty()) {
291 SG::ReadCondHandle<TrigLiveFractionCondData> live (m_trigLiveFractionDataKey, ctx);
292 return live->lbAverageLiveFraction();
293 } else {
294 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLivefraction() - luminosity not available.");
295 return -1.0;
296 }
297}
AthMonitorAlgorithm::DataType_t m_dataType
Instance of the DataType_t enum.
SG::ReadCondHandleKey< TrigLiveFractionCondData > m_trigLiveFractionDataKey
AthMonitorAlgorithm::Environment_t m_environment
Instance of the Environment_t enum.

◆ 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()) {
262 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey, ctx);
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()) {
336 SG::ReadCondHandle<LBDurationCondData> dur (m_lbDurationDataKey, ctx);
337 return dur->lbDuration();
338 } else {
339 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbDuration() - luminosity tools are not retrieved.");
340 return m_defaultLBDuration;
341 }
342}
Gaudi::Property< float > m_defaultLBDuration
Default duration of one lumi block.
SG::ReadCondHandleKey< LBDurationCondData > m_lbDurationDataKey

◆ 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()) {
246 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey, ctx);
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()) {
274 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey, ctx);
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()) {
321 } else {
322 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbLumiWeight() - luminosity tools are not retrieved.");
323 return -1.0;
324 }
325}
virtual float lbAverageLuminosity(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1).
virtual float lbAverageLivefraction(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Calculate the average luminosity livefraction.
virtual double lbDuration(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Calculate the duration of the luminosity block (in seconds)

◆ 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
307 if (!m_trigLiveFractionDataKey.empty()) {
308 SG::ReadCondHandle<TrigLiveFractionCondData> live (m_trigLiveFractionDataKey, ctx);
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}