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) const
 Calculate the average mu, i.e.
virtual float AthMonitorAlgorithm::lbInteractionsPerCrossing (const EventContext &ctx) const
 Calculate instantaneous number of interactions, i.e.
virtual float AthMonitorAlgorithm::lbAverageLuminosity (const EventContext &ctx) const
 Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1).
virtual float AthMonitorAlgorithm::lbLuminosityPerBCID (const EventContext &ctx) const
 Calculate the instantaneous luminosity per bunch crossing.
virtual double AthMonitorAlgorithm::lbDuration (const EventContext &ctx) const
 Calculate the duration of the luminosity block (in seconds).
virtual float AthMonitorAlgorithm::lbAverageLivefraction (const EventContext &ctx) const
 Calculate the average luminosity livefraction.
virtual float AthMonitorAlgorithm::livefractionPerBCID (const EventContext &ctx) const
 Calculate the live fraction per bunch crossing ID.
virtual double AthMonitorAlgorithm::lbLumiWeight (const EventContext &ctx) 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) const
virtual

Calculate the average mu, i.e.

<mu>.

Definition at line 236 of file AthMonitorAlgorithm.cxx.

237{
238 if (!m_lumiDataKey.empty()) {
239 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey, ctx);
240 return lumi->lbAverageInteractionsPerCrossing();
241 } else {
242 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageInteractionsPerCrossing() - luminosity tools are not retrieved.");
243 return -1.0;
244 }
245}
#define ATH_MSG_DEBUG(x)
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey

◆ lbAverageLivefraction()

float AthMonitorAlgorithm::lbAverageLivefraction ( const EventContext & ctx) const
virtual

Calculate the average luminosity livefraction.

Definition at line 288 of file AthMonitorAlgorithm.cxx.

289{
292 return 1.0;
293 }
294
295 if (!m_trigLiveFractionDataKey.empty()) {
296 SG::ReadCondHandle<TrigLiveFractionCondData> live (m_trigLiveFractionDataKey, ctx);
297 return live->lbAverageLiveFraction();
298 } else {
299 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLivefraction() - luminosity not available.");
300 return -1.0;
301 }
302}
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) const
virtual

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

Definition at line 264 of file AthMonitorAlgorithm.cxx.

265{
266 if (!m_lumiDataKey.empty()) {
267 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey, ctx);
268 return lumi->lbAverageLuminosity();
269 } else {
270 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLuminosity() - luminosity tools are not retrieved.");
271 return -1.0;
272 }
273}

◆ lbDuration()

double AthMonitorAlgorithm::lbDuration ( const EventContext & ctx) const
virtual

Calculate the duration of the luminosity block (in seconds).

Definition at line 333 of file AthMonitorAlgorithm.cxx.

334{
337 return m_defaultLBDuration;
338 }
339
340 if (!m_lbDurationDataKey.empty()) {
341 SG::ReadCondHandle<LBDurationCondData> dur (m_lbDurationDataKey, ctx);
342 return dur->lbDuration();
343 } else {
344 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbDuration() - luminosity tools are not retrieved.");
345 return m_defaultLBDuration;
346 }
347}
Gaudi::Property< float > m_defaultLBDuration
Default duration of one lumi block.
SG::ReadCondHandleKey< LBDurationCondData > m_lbDurationDataKey

◆ lbInteractionsPerCrossing()

float AthMonitorAlgorithm::lbInteractionsPerCrossing ( const EventContext & ctx) const
virtual

Calculate instantaneous number of interactions, i.e.

mu.

Definition at line 248 of file AthMonitorAlgorithm.cxx.

249{
250 if (!m_lumiDataKey.empty()) {
251 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey, ctx);
252 float muToLumi = lumi->muToLumi();
253 if (muToLumi > 0) {
254 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id()) / muToLumi;
255 }
256 return 0;
257 } else {
258 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbInteractionsPerCrossing() - luminosity tools are not retrieved.");
259 return -1.0;
260 }
261}

◆ lbLuminosityPerBCID()

float AthMonitorAlgorithm::lbLuminosityPerBCID ( const EventContext & ctx) const
virtual

Calculate the instantaneous luminosity per bunch crossing.

Definition at line 276 of file AthMonitorAlgorithm.cxx.

277{
278 if (!m_lumiDataKey.empty()) {
279 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey, ctx);
280 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id());
281 } else {
282 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbLuminosityPerBCID() - luminosity tools are not retrieved.");
283 return -1.0;
284 }
285}

◆ lbLumiWeight()

double AthMonitorAlgorithm::lbLumiWeight ( const EventContext & ctx) const
virtual

Calculate the average integrated luminosity multiplied by the live fraction.

Definition at line 322 of file AthMonitorAlgorithm.cxx.

323{
324 if (!m_lumiDataKey.empty()) {
326 } else {
327 ATH_MSG_DEBUG("AthMonitorAlgorithm::lbLumiWeight() - luminosity tools are not retrieved.");
328 return -1.0;
329 }
330}
virtual float lbAverageLuminosity(const EventContext &ctx) const
Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1).
virtual float lbAverageLivefraction(const EventContext &ctx) const
Calculate the average luminosity livefraction.
virtual double lbDuration(const EventContext &ctx) const
Calculate the duration of the luminosity block (in seconds).

◆ livefractionPerBCID()

float AthMonitorAlgorithm::livefractionPerBCID ( const EventContext & ctx) const
virtual

Calculate the live fraction per bunch crossing ID.

Definition at line 305 of file AthMonitorAlgorithm.cxx.

306{
309 return 1.0;
310 }
311
312 if (!m_trigLiveFractionDataKey.empty()) {
313 SG::ReadCondHandle<TrigLiveFractionCondData> live (m_trigLiveFractionDataKey, ctx);
314 return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
315 } else {
316 ATH_MSG_DEBUG("AthMonitorAlgorithm::livefractionPerBCID() - luminosity not available.");
317 return -1.0;
318 }
319}