![]() |
ATLAS Offline Software
|
Implementation of the Beam Background Identification Method. More...
#include <BeamBackgroundFiller.h>
Classes | |
| struct | Cache |
Public Member Functions | |
| BeamBackgroundFiller (const std::string &name, ISvcLocator *pSvcLocator) | |
| virtual | ~BeamBackgroundFiller ()=default |
| 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 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 | |
| void | FillMatchMatrix (const EventContext &ctx, Cache &cache) const |
| This function selects the muon segments with the direction parallel to the beam pipe and calorimeter clusters above certain energy threshold. | |
| void | SegmentMethod (Cache &cache) const |
| This function looks at the segments found by the FillMatchMatrix function. | |
| void | OneSidedMethod (Cache &cache) const |
| This function is the implementation of the "No-Time Method" and the "One-Sided Method". | |
| void | TwoSidedMethod (Cache &cache) const |
| This function is the implementation of the "Two-Sided No-Time Method" and the "Two-Sided Method" that looks at the clusters matched with at least one muon segment on side A and one muon segment on side C. | |
| void | ClusterShapeMethod (Cache &cache) const |
| This function is the implementation of the "Cluster-Shape Method". | |
| double | GetSegmentTime (const Muon::MuonSegment &pMuonSegment) const |
| void | FindFakeJets (const EventContext &ctx, Cache &cache) const |
| This function checks whether the matched clusters are contained in any jets. | |
| void | FillBeamBackgroundData (SG::WriteHandle< BeamBackgroundData > &beamBackgroundDataWriteHandle, Cache &cache) const |
| This function stores all the results in BeamBackgroundData. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| SG::ReadHandleKeyArray< Trk::SegmentCollection > | m_segmentKeys |
| ReadHandleKey for Trk::SegmentCollection from CSC. | |
| SG::ReadHandleKey< xAOD::CaloClusterContainer > | m_caloClusterContainerReadHandleKey |
| ReadHandleKey for CaloClusterContainer. | |
| SG::ReadHandleKey< xAOD::JetContainer > | m_jetContainerReadHandleKey |
| ReadHandleKey for JetContainer. | |
| SG::WriteHandleKey< BeamBackgroundData > | m_beamBackgroundDataWriteHandleKey |
| ToolHandle< Muon::IMuonSegmentSelectionTool > | m_segmentSelector {this, "SegmentSelector",""} |
| Gaudi::Property< double > | m_thetaCutNCB {this, "cutThetaNCB", 5. * Gaudi::Units::deg} |
| Inclanation cut between the segment position and its direction. | |
| Gaudi::Property< double > | m_cutDphiSegAC {this,"cutPhi", 4.* Gaudi::Units::deg} |
| Gaudi::Property< double > | m_clusEnergyCut {this,"clustEnergy", 10. *Gaudi::Units::GeV} |
| Minimum cut on the cluster energy to be considered. | |
| Gaudi::Property< double > | m_clusRadiusLow {this, "cutRadiusLow", 881. * Gaudi::Units::mm} |
| Gaudi::Property< double > | m_clusRadiusHigh {this,"cutRadiusHigh", 4250. * Gaudi::Units::mm} |
| Gaudi::Property< double > | m_cutDphiClusSeg {this, "cutDphiClusSeg", 4.* Gaudi::Units::deg} |
| Gaudi::Property< double > | m_cutDradClusSeg {this,"cutDrClusSet", 40. * Gaudi::Units::cm} |
| Gaudi::Property< double > | m_cutMuonTime {this, "cutMuonTime", 25.} |
| Gaudi::Property< double > | m_cutClusTime {this,"cutClusTime", 2.5} |
| Gaudi::Property< double > | m_cutTimeDiffAC {this,"cutTimeDiffAC", 25.} |
| Gaudi::Property< double > | m_cutDrdz {this,"cutDrdz", 0.15} |
| ServiceHandle< Muon::IMuonEDMHelperSvc > | m_edmHelperSvc |
| ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc |
| 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 |
Implementation of the Beam Background Identification Method.
This implementation defines the selection criteria for identifying beam background muons, and looks for them based on several methods. The result are stored in BeamBackgroundData.
Definition at line 37 of file BeamBackgroundFiller.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| BeamBackgroundFiller::BeamBackgroundFiller | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
Definition at line 30 of file BeamBackgroundFiller.cxx.
|
virtualdefault |
|
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.
|
private |
This function is the implementation of the "Cluster-Shape Method".
The shape of the cluster is described by the variable dr/dz which is the ratio of the standard deviation of the radial position of the contianed cells and the standard deviation of the z-position of the contained cells. Only the clusters matched with muon segments are checked.
Definition at line 574 of file BeamBackgroundFiller.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 50 of file BeamBackgroundFiller.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.
|
private |
This function stores all the results in BeamBackgroundData.
Definition at line 713 of file BeamBackgroundFiller.cxx.
|
private |
This function selects the muon segments with the direction parallel to the beam pipe and calorimeter clusters above certain energy threshold.
Matching matrix is created to store the results of beam background identification for each cluster and segment
Select only the segements from the EI station
match in phi
Definition at line 79 of file BeamBackgroundFiller.cxx.
|
inlinevirtualinherited |
Definition at line 96 of file AthCommonReentrantAlgorithm.h.
|
private |
This function checks whether the matched clusters are contained in any jets.
If yes, the jet is marked as fake jet and the corresponding result of the Beam Background Identification Method is stored (using the OR condition if more than one cluster is found within one jet)
Definition at line 655 of file BeamBackgroundFiller.cxx.
|
private |
Need to check how to translate the bcid bitmaps into timings
Definition at line 216 of file BeamBackgroundFiller.cxx.
|
overridevirtual |
Definition at line 36 of file BeamBackgroundFiller.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.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
private |
This function is the implementation of the "No-Time Method" and the "One-Sided Method".
The "One-Sided Method" compares the time of the calorimeter cluster with the expected time. The expected time is calculated based on the direction of the beam background muon which is reconstructed from the position and time of the muon segment. The "No-Time Method" does not use the time information of the muon segment thus the direction of the beam background muon is not known. Therefore, the cluster time is compared to two expected time values (corresponding to both A->C and C->A directions).
Definition at line 361 of file BeamBackgroundFiller.cxx.
|
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.
|
private |
This function looks at the segments found by the FillMatchMatrix function.
The following results are set:
take only the segments on side A (z > 0)
Definition at line 261 of file BeamBackgroundFiller.cxx.
|
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 |
This function is the implementation of the "Two-Sided No-Time Method" and the "Two-Sided Method" that looks at the clusters matched with at least one muon segment on side A and one muon segment on side C.
In case of the "Two-Sided Method", corresponding time difference of the muon segments is required and the direction of the beam background muon is also stored.
Definition at line 475 of file BeamBackgroundFiller.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 126 of file BeamBackgroundFiller.h.
|
private |
ReadHandleKey for CaloClusterContainer.
Definition at line 116 of file BeamBackgroundFiller.h.
|
private |
Minimum cut on the cluster energy to be considered.
Definition at line 139 of file BeamBackgroundFiller.h.
|
private |
Definition at line 144 of file BeamBackgroundFiller.h.
|
private |
Definition at line 143 of file BeamBackgroundFiller.h.
|
private |
Definition at line 152 of file BeamBackgroundFiller.h.
|
private |
Definition at line 146 of file BeamBackgroundFiller.h.
|
private |
Definition at line 136 of file BeamBackgroundFiller.h.
|
private |
Definition at line 147 of file BeamBackgroundFiller.h.
|
private |
Definition at line 154 of file BeamBackgroundFiller.h.
|
private |
Definition at line 151 of file BeamBackgroundFiller.h.
|
private |
Definition at line 153 of file BeamBackgroundFiller.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 155 of file BeamBackgroundFiller.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 114 of file AthCommonReentrantAlgorithm.h.
|
private |
Definition at line 158 of file BeamBackgroundFiller.h.
|
private |
ReadHandleKey for JetContainer.
Definition at line 121 of file BeamBackgroundFiller.h.
|
private |
ReadHandleKey for Trk::SegmentCollection from CSC.
Definition at line 110 of file BeamBackgroundFiller.h.
|
private |
Definition at line 130 of file BeamBackgroundFiller.h.
|
private |
Inclanation cut between the segment position and its direction.
Definition at line 134 of file BeamBackgroundFiller.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.