![]() |
ATLAS Offline Software
|
Conditions algorithm for luminosity data. More...
#include <LuminosityCondAlg.h>
Public Member Functions | |
| virtual StatusCode | initialize () override |
| Gaudi initialize method. | |
| virtual StatusCode | execute (const EventContext &ctx) const override |
| Algorithm execute method. | |
| virtual bool | isReEntrant () const override |
| Avoid scheduling algorithm multiple times. | |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. | |
| virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. | |
| virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| virtual bool | filterPassed (const EventContext &ctx) const |
| virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| 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 | 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. | |
| StatusCode | updateMuToLumi (const EventContext &ctx, unsigned int calibChannel, SG::WriteCondHandle< LuminosityCondData > &wHdl, LuminosityCondData &lumi, bool &isValid) const |
| Fill in mu-to-lumi calibration. | |
| StatusCode | updatePerBunchLumiRun2 (const coral::Blob &bunchInstLumiBlob, unsigned int preferredChannel, LuminosityCondData &lumi) const |
| Fill in per-bunch luminosity data, run 2 and later. | |
| StatusCode | updatePerBunchLumiRun1 (const EventContext &ctx, unsigned int preferredChannel, SG::WriteCondHandle< LuminosityCondData > &wHdl, LuminosityCondData &lumi) const |
| Fill in per-bunch luminosity data, run 1. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| Gaudi::Property< unsigned long > | m_lumiChannel { this, "LumiChannelNumber", 0, "Luminosity channel to read. 0 means to determine from the data." } |
| Gaudi::Property< unsigned long > | m_calibBackupChannel { this, "CalibBackupChannel", 112, "Backup channel in case calibChannel doesn't exist in online calibration folder" } |
| Gaudi::Property< bool > | m_skipInvalid { this, "SkipInvalid", true, "Flag to control whether invalid data is skipped: True (default), returning a zero luminosity; false, returning available luminosity values anyway." } |
| Gaudi::Property< bool > | m_expectInvalid { this, "ExpectInvalid", false, "Flag to control printouts when invalid data are encountered: True suppresses messages, False (default) leaves them in" } |
| Gaudi::Property< bool > | m_isMC { this, "IsMC", false, "Set to true when running on MC instead of data" } |
| Gaudi::Property< float > | m_muToLumi { this, "MCMuToLumi", 0.140569, "mu to lumi conversion factor in MC (80 mb/LHC rev freq)" } |
| SG::ReadCondHandleKey< CondAttrListCollection > | m_luminosityFolderInputKey |
| SG::ReadCondHandleKey< OnlineLumiCalibrationCondData > | m_onlineLumiCalibrationInputKey |
| SG::ReadCondHandleKey< BunchLumisCondData > | m_bunchLumisInputKey |
| SG::ReadCondHandleKey< BunchGroupCondData > | m_bunchGroupInputKey |
| SG::ReadCondHandleKey< FillParamsCondData > | m_fillParamsInputKey |
| SG::ReadCondHandleKey< AthenaAttributeList > | m_mcDigitizationInputKey |
| SG::ReadHandleKey< ByteStreamMetadataContainer > | m_byteStreamMetadataKey |
| SG::ReadHandleKey< xAOD::EventInfo > | m_eventInfoKey { this, "EventInfoKey", "EventInfo", "EventInfo key, used to read in simulated mu in MC" } |
| SG::ReadDecorHandleKey< xAOD::EventInfo > | m_actualMuKey |
| SG::ReadDecorHandleKey< xAOD::EventInfo > | m_averageMuKey |
| SG::WriteCondHandleKey< LuminosityCondData > | m_luminosityOutputKey |
| Output conditions object. | |
| DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. | |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Conditions algorithm for luminosity data.
Definition at line 35 of file LuminosityCondAlg.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
overridevirtual |
Algorithm execute method.
| ctx | Event Context. |
Definition at line 90 of file LuminosityCondAlg.cxx.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
|
inlinevirtualinherited |
Definition at line 96 of file AthCommonReentrantAlgorithm.h.
|
overridevirtual |
Gaudi initialize method.
Definition at line 60 of file LuminosityCondAlg.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ITkPixelCablingAlg, ITkStripCablingAlg, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, and Simulation::BeamEffectsAlg.
Definition at line 68 of file AthCommonReentrantAlgorithm.cxx.
|
inlineoverridevirtualinherited |
Avoid scheduling algorithm multiple times.
With multiple concurrent events, conditions objects often expire simultaneously for all slots. To avoid that the scheduler runs the CondAlg in each slot, we declare it as "non-reentrant". This ensures that the conditions objects are only created once.
In case a particular CondAlg should behave differently, it can override this method again and return true.
Definition at line 39 of file AthCondAlgorithm.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
inlinevirtualinherited |
Definition at line 100 of file AthCommonReentrantAlgorithm.h.
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in HypoBase, and InputMakerBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
private |
Unpack luminosity data from the attribute list.
| lumiData | Input luminosity data. |
| lumi | Output luminosity data being filled. |
| preferredChannel[out] | Preferred luminosity channel to use. |
| calibChannel[out] | Calibration luminosity channel to use. |
| bunchInstLumiBlob[out] | Packed per-bunch luminosity data. Set to null for Run 1. |
Unpacks luminosity data from the attribute list. Fills in the average luminosity fields in lumi, and determines the luminosity channels to use. For Run 2 and later, returns the packed luminosity data.
Definition at line 244 of file LuminosityCondAlg.cxx.
|
private |
Fill in mu-to-lumi calibration.
| ctx | Event context. |
| calibChannel | Calibration luminosity channel to use. |
| wHdl | WriteCondHandle of the conditions data being filled. Range is updated if needed. |
| lumi | Output luminosity data being filled. |
| isValid | Set to false if data are not valid. |
| ctx | Event context. |
| calibChannel | Calibration luminosity channel to use. |
| wHdl | WriteHandle of the conditions data being filled. Range is updated if needed. |
| lumi | Output luminosity data being filled. |
| isValid | Set to false if data are not valid. |
Definition at line 418 of file LuminosityCondAlg.cxx.
|
private |
Fill in per-bunch luminosity data.
| ctx | Event context. |
| bunchInstLumiBlob | Packed per-bunch luminosity data. Null for Run 1. |
| preferredChannel | Preferred luminosity channel to use. |
| calibChannel | Calibration luminosity channel to use. |
| wHdl | WriteCondHandle conditions data being filled. Range is updated if needed. |
| lumi | Output luminosity data being filled. |
| ctx | Event context. |
| bunchInstLumiBlob | Packed per-bunch luminosity data. Null for Run 1. |
| preferredChannel | Preferred luminosity channel to use. |
| calibChannel | Calibration luminosity channel to use. |
| wHdl | WriteHandle of the conditions data being filled. Range is updated if needed. |
| lumi | Output luminosity data being filled. |
Definition at line 367 of file LuminosityCondAlg.cxx.
|
private |
Fill in per-bunch luminosity data, run 1.
| preferredChannel | Preferred luminosity channel to use. |
| wHdl | WriteHandle of the conditions data being filled. Range is updated if needed. |
| lumi | Output luminosity data being filled. |
| preferredChannel | Preferred luminosity channel to use. |
| wHdl | WriteHandle of the conditions data being filled. |
| lumi | Output luminosity data being filled. |
Definition at line 551 of file LuminosityCondAlg.cxx.
|
private |
Fill in per-bunch luminosity data, run 2 and later.
| bunchInstLumiBlob | Packed per-bunch luminosity data. |
| preferredChannel | Preferred luminosity channel to use. |
| lumi | Output luminosity data being filled. |
Definition at line 484 of file LuminosityCondAlg.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 189 of file LuminosityCondAlg.h.
|
private |
Definition at line 193 of file LuminosityCondAlg.h.
|
private |
Definition at line 169 of file LuminosityCondAlg.h.
|
private |
Definition at line 165 of file LuminosityCondAlg.h.
|
private |
Definition at line 182 of file LuminosityCondAlg.h.
|
private |
Definition at line 140 of file LuminosityCondAlg.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 186 of file LuminosityCondAlg.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 146 of file LuminosityCondAlg.h.
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
|
private |
Definition at line 173 of file LuminosityCondAlg.h.
|
private |
Definition at line 150 of file LuminosityCondAlg.h.
|
private |
Definition at line 137 of file LuminosityCondAlg.h.
|
private |
Definition at line 157 of file LuminosityCondAlg.h.
|
private |
Output conditions object.
Definition at line 198 of file LuminosityCondAlg.h.
|
private |
Definition at line 178 of file LuminosityCondAlg.h.
|
private |
Definition at line 153 of file LuminosityCondAlg.h.
|
private |
Definition at line 161 of file LuminosityCondAlg.h.
|
private |
Definition at line 143 of file LuminosityCondAlg.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.