![]() |
ATLAS Offline Software
|
Subtract the BCID-dependent pile-up offset from the LArDigit samples. More...
#include <LArRODBCIDCorrAlg.h>
Public Member Functions | |
| virtual StatusCode | initialize () override |
| virtual StatusCode | execute (const EventContext &ctx) const override |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. | |
| 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 |
| Get filter decision: | |
| virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
| Set filter decision: | |
| 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 | fillLumi () |
Fill m_lumi from the beam intensity pattern. | |
| void | computePileupADCCorrection (float mbEnergy, const ILArShape::ShapeRef_t &pulseShape, int bcid, float adc2MeVSlope, float intperBC, bool hecShift, std::vector< float > &pileupADC) const |
| Compute the mean pile-up ADC offset per sample for one channel. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| SG::ReadHandleKey< LArDigitContainer > | m_digitKey |
| SG::WriteHandleKey< LArDigitContainer > | m_digitCorrKey |
| SG::ReadCondHandleKey< LArADC2MeV > | m_adc2MeVKey |
| SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey |
| SG::ReadCondHandleKey< ILArShape > | m_shapeKey |
| SG::ReadCondHandleKey< ILArMinBiasAverage > | m_minBiasAvgKey |
| SG::ReadHandleKey< xAOD::EventInfo > | m_eventInfoKey { this, "EventInfo", "EventInfo", "SG key of the EventInfo object" } |
| Gaudi::Property< std::vector< float > > | m_beamIntensityPattern { this, "BeamIntensityPattern", {}, "LHC beam intensity pattern" } |
| Gaudi::Property< int > | m_firstSample |
| Gaudi::Property< int > | m_minBunchCrossing |
| Gaudi::Property< int > | m_maxBunchCrossing |
| std::vector< float > | m_lumi |
| Per-BCID luminosity, indexed by absolute BCID in [0, s_nBCID). | |
| const LArOnlineID * | m_onlineId = nullptr |
| Online identifier helper, used to recognise HEC channels. | |
| 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 |
Static Private Attributes | |
| static constexpr int | s_nBCID = 3564 |
| Number of bunch crossings in one LHC orbit. | |
Subtract the BCID-dependent pile-up offset from the LArDigit samples.
This is the ADC-level equivalent of the energy-level correction performed by CaloBCIDAvgAlg and CaloBCIDCoeffs (Calo.Cell.doPileupOffsetBCIDCorr). The two must not both be enabled, or the offset is subtracted twice.
The sample filling in LArHitEMapToDigitAlg::ConvertHits2Samples is
j = i - ishift + firstSample; sampleList[i] += Shape[j] * energy
with ishift the bunch crossing of the energy deposit relative to the triggered one, and firstSample the digitisation firstSample (that is, -nPreceedingSamples; see LArDigitizationConfig.py). Averaging over minimum bias events therefore gives, for digit sample i,
ADC_pileup[i] = mbEnergy * mu / adc2MeV
* sum_j Shape[j] * lumi[(bcid + i + firstSample - j) % 3564]
which for firstSample = 0 is exactly the convolution implemented by CaloBCIDCoeffs. Note that the sample index i and the shape index j enter the luminosity lookup with opposite signs.
Definition at line 51 of file LArRODBCIDCorrAlg.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
private |
Compute the mean pile-up ADC offset per sample for one channel.
| mbEnergy | Average minimum bias energy for this channel, in MeV. | |
| pulseShape | Pulse shape for this channel and gain. | |
| bcid | Bunch crossing identifier of the current event. | |
| adc2MeVSlope | Linear ADC to MeV conversion factor for this gain. | |
| intperBC | Average number of interactions per bunch crossing. | |
| hecShift | Whether to apply the one sample shift that LArHitEMapToDigitAlg applies to HEC channels when there are four samples and firstSample is zero. | |
| [out] | pileupADC | Offset per sample. Must be sized to the number of digit samples on entry. |
The result is returned through pileupADC rather than by value so that the caller can reuse one buffer across all channels of an event.
Definition at line 268 of file LArRODBCIDCorrAlg.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 |
Definition at line 71 of file LArRODBCIDCorrAlg.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 89 of file AthCommonAlgorithm.cxx.
|
private |
Fill m_lumi from the beam intensity pattern.
Uses the same pattern-to-BCID mapping as BunchCrossingCondAlg, so that the set of filled bunch crossings matches the one CaloBCIDLumi would see.
Definition at line 212 of file LArRODBCIDCorrAlg.cxx.
|
inlinevirtualinherited |
Get filter decision:
Definition at line 93 of file AthCommonAlgorithm.h.
|
overridevirtual |
Definition at line 43 of file LArRODBCIDCorrAlg.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.
|
inlineoverridevirtualinherited |
Specify if the algorithm is clonable.
Only relevant for non-reentrant algorithms. Actual number of clones needs to be set via the "Cardinality" property.
Reimplemented in AFP_DigiTop, AlgB, AlgT, BCM_Digitization, CscDigitBuilder, CscDigitToCscRDO, G4AtlasAlg, G4RunAlg, HGTD_Digitization, HiveAlgBase, InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ISF::SimKernelMT, ITk::StripDigitization, ITkPixelCablingAlg, ITkStripCablingAlg, LArHitEMapMaker, LArTTL1Maker, LUCID_DigiTop, LVL1::L1TopoSimulation, MergeCalibHits, MergeGenericMuonSimHitColl, MergeHijingPars, MergeMcEventCollection, MergeTrackRecordCollection, MergeTruthJets, MergeTruthParticles, MuonDigitizer, PileUpMTAlg, PixelDigitization, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_Digitization, 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, SGInputLoader, Simulation::BeamEffectsAlg, TileHitVecToCnt, TileMuonFitter, TilePulseForTileMuonReceiver, TileRawChannelMaker, TRTDigitization, and ZDC_DigiTop.
Definition at line 68 of file AthCommonAlgorithm.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 |
Set filter decision:
Reimplemented in AthFilterAlgorithm.
Definition at line 99 of file AthCommonAlgorithm.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.
Reimplemented in AthAnalysisAlgorithm.
Definition at line 80 of file AthCommonAlgorithm.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 AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, HypoBase, InputMakerBase, and PyAthena::Alg.
Definition at line 60 of file AthCommonAlgorithm.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.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 71 of file LArRODBCIDCorrAlg.h.
|
private |
Definition at line 90 of file LArRODBCIDCorrAlg.h.
|
private |
Definition at line 75 of file LArRODBCIDCorrAlg.h.
|
privateinherited |
Pointer to StoreGate (detector store by default).
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 67 of file LArRODBCIDCorrAlg.h.
|
private |
Definition at line 63 of file LArRODBCIDCorrAlg.h.
|
private |
Definition at line 87 of file LArRODBCIDCorrAlg.h.
|
privateinherited |
Pointer to StoreGate (event store by default).
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 108 of file AthCommonAlgorithm.h.
|
private |
Definition at line 93 of file LArRODBCIDCorrAlg.h.
|
private |
Per-BCID luminosity, indexed by absolute BCID in [0, s_nBCID).
Filled once in initialize() and only read afterwards, so it is safe to share between threads.
Definition at line 113 of file LArRODBCIDCorrAlg.h.
|
private |
Definition at line 105 of file LArRODBCIDCorrAlg.h.
|
private |
Definition at line 83 of file LArRODBCIDCorrAlg.h.
|
private |
Definition at line 99 of file LArRODBCIDCorrAlg.h.
|
private |
Online identifier helper, used to recognise HEC channels.
Definition at line 116 of file LArRODBCIDCorrAlg.h.
|
private |
Definition at line 79 of file LArRODBCIDCorrAlg.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
staticconstexprprivate |
Number of bunch crossings in one LHC orbit.
Definition at line 61 of file LArRODBCIDCorrAlg.h.