|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   13 #ifndef LUMIBLOCKCOMPS_LUMINOSITYCONDALG_H 
   14 #define LUMIBLOCKCOMPS_LUMINOSITYCONDALG_H 
   27 #include "CoralBase/Blob.h" 
   39   using AthReentrantAlgorithm::AthReentrantAlgorithm;
 
   69                  unsigned int& preferredChannel,
 
   70                  unsigned int& calibChannel,
 
   88                       unsigned int preferredChannel,
 
   89                       unsigned int calibChannel,
 
  105                   unsigned int calibChannel,
 
  119                           unsigned int preferredChannel,
 
  132                           unsigned int preferredChannel,
 
  138     { 
this, 
"LumiChannelNumber", 0, 
"Luminosity channel to read.  0 means to determine from the data." };
 
  141     { 
this, 
"CalibBackupChannel", 112, 
"Backup channel in case calibChannel doesn't exist in online calibration folder" };
 
  144     { 
this, 
"SkipInvalid", 
true, 
"Flag to control whether invalid data is skipped:  True (default), returning a zero luminosity; false, returning available luminosity values anyway." };
 
  147     { 
this, 
"ExpectInvalid", 
false, 
"Flag to control printouts when invalid data are encountered: True suppresses messages, False (default) leaves them in" };
 
  151     { 
this, 
"IsMC", 
false, 
"Set to true when running on MC instead of data" };
 
  154     { 
this, 
"MCMuToLumi", 0.140569, 
"mu to lumi conversion factor in MC (80 mb/LHC rev freq)" };
 
  158   { 
this, 
"LuminosityFolderInputKey", 
"/TRIGGER/OFLLUMI/LBLESTOFL",
 
  159     "Input luminosity COOL folder." };
 
  162   { 
this, 
"OnlineLumiCalibrationInputKey", 
"OnlineLumiCalibrationCondData",
 
  163     "Input luminosity calibration." };
 
  166   { 
this, 
"BunchLumisInputKey", 
"",
 
  167     "Input raw luminosities.  Only used for Run 1." };
 
  170   { 
this, 
"BunchGroupInputKey", 
"",
 
  171     "Input filled bunch data.  Only used for Run 1." };
 
  174   { 
this, 
"FillParamsInputKey", 
"",
 
  175     "Input luminous bunch data.  Only used for Run 1." };
 
  179   { 
this, 
"DigitizationFolderInputKey", 
"/Digitization/Parameters",
 
  180     "Digitization parameters metadata folder." };
 
  183   { 
this, 
"EventInfoKey", 
"EventInfo", 
"EventInfo key, used to read in simulated mu in MC" };
 
  186   { 
this, 
"actualMuKey", 
m_eventInfoKey, 
"actualInteractionsPerCrossing",
 
  187     "Decoration for Actual Interaction Per Crossing, for MC" };
 
  190   { 
this, 
"averageMuKey", 
m_eventInfoKey, 
"averageInteractionsPerCrossing",
 
  191     "Decoration for Average Interaction Per Crossing" };
 
  195   { 
this, 
"LuminosityOutputKey", 
"LuminosityCondData",
 
  196     "Output luminosity data." };
 
  200 #endif // not LUMIBLOCKCOMPS_LUMINOSITYCONDALG_H 
  
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
StatusCode updateMuToLumi(const EventContext &ctx, unsigned int calibChannel, SG::WriteCondHandle< LuminosityCondData > &wHdl, LuminosityCondData &lumi, bool &isValid) const
Fill in mu-to-lumi calibration.
SG::WriteCondHandleKey< LuminosityCondData > m_luminosityOutputKey
Output conditions object.
SG::ReadCondHandleKey< CondAttrListCollection > m_luminosityFolderInputKey
StatusCode updatePerBunchLumi(const EventContext &ctx, const coral::Blob *bunchInstLumiBlob, unsigned int preferredChannel, unsigned int calibChannel, SG::WriteCondHandle< LuminosityCondData > &wHdl, LuminosityCondData &lumi) const
Fill in per-bunch luminosity data.
Conditions algorithm for luminosity data.
SG::ReadCondHandleKey< OnlineLumiCalibrationCondData > m_onlineLumiCalibrationInputKey
SG::ReadCondHandleKey< FillParamsCondData > m_fillParamsInputKey
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
bool const RAWDATA *ch2 const
virtual StatusCode execute(const EventContext &ctx) const override
Algorithm execute method.
This class is a collection of AttributeLists where each one is associated with a channel number....
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< unsigned long > m_calibBackupChannel
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
SG::ReadCondHandleKey< BunchGroupCondData > m_bunchGroupInputKey
Gaudi::Property< bool > m_expectInvalid
virtual StatusCode initialize() override
Gaudi initialize method.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< float > m_muToLumi
Holds fill parameters data.
SG::ReadDecorHandleKey< xAOD::EventInfo > m_actualMuKey
Luminosity calibration data, produced by OnlineLumiCalibrationCondAlg.
Holds data on filled bunches.
Hold luminosity data produced by LuminosityCondAlg.
virtual bool isReEntrant() const override final
StatusCode updateAvgLumi(const CondAttrListCollection &lumiData, LuminosityCondData &lumi, unsigned int &preferredChannel, unsigned int &calibChannel, const coral::Blob *&bunchInstLumiBlob) const
Unpack luminosity data from the attribute list.
StatusCode updatePerBunchLumiRun1(const EventContext &ctx, unsigned int preferredChannel, SG::WriteCondHandle< LuminosityCondData > &wHdl, LuminosityCondData &lumi) const
Fill in per-bunch luminosity data, run 1.
Gaudi::Property< bool > m_isMC
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
StatusCode updatePerBunchLumiRun2(const coral::Blob &bunchInstLumiBlob, unsigned int preferredChannel, LuminosityCondData &lumi) const
Fill in per-bunch luminosity data, run 2 and later.
SG::ReadCondHandleKey< BunchLumisCondData > m_bunchLumisInputKey
Holds raw luminosity data, per channel.
Gaudi::Property< bool > m_skipInvalid
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
SG::ReadCondHandleKey< AthenaAttributeList > m_mcDigitizationInputKey
Gaudi::Property< unsigned long > m_lumiChannel
SG::ReadDecorHandleKey< xAOD::EventInfo > m_averageMuKey