Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <RpcTrackAnaAlg.h>
|
typedef std::map< Identifier, std::shared_ptr< RpcPanel > > | RpcPanelMap |
|
typedef std::pair< ExResult, const std::shared_ptr< GasGapData > > | GasGapResult |
|
enum | Environment_t {
Environment_t::user = 0,
Environment_t::online,
Environment_t::tier0,
Environment_t::tier0Raw,
Environment_t::tier0ESD,
Environment_t::AOD,
Environment_t::altprod
} |
| Specifies the processing environment. More...
|
|
enum | DataType_t {
DataType_t::userDefined = 0,
DataType_t::monteCarlo,
DataType_t::collisions,
DataType_t::cosmics,
DataType_t::heavyIonCollisions
} |
| Specifies what type of input data is being monitored. More...
|
|
|
| RpcTrackAnaAlg (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~RpcTrackAnaAlg () |
|
virtual StatusCode | initialize () override |
| initialize More...
|
|
virtual StatusCode | fillHistograms (const EventContext &ctx) const override |
| adds event to the monitoring histograms More...
|
|
virtual StatusCode | execute (const EventContext &ctx) const override |
| Applies filters and trigger requirements. More...
|
|
void | fill (const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const |
| Fills a vector of variables to a group by reference. More...
|
|
void | fill (const ToolHandle< GenericMonitoringTool > &groupHandle, const std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &variables) const |
| Fills a vector of variables to a group by reference. More...
|
|
template<typename... T> |
void | fill (const ToolHandle< GenericMonitoringTool > &groupHandle, T &&... variables) const |
| Fills a variadic list of variables to a group by reference. More...
|
|
void | fill (const std::string &groupName, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const |
| Fills a vector of variables to a group by name. More...
|
|
void | fill (const std::string &groupName, const std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &variables) const |
| Fills a vector of variables to a group by name. More...
|
|
template<typename... T> |
void | fill (const std::string &groupName, T &&... variables) const |
| Fills a variadic list of variables to a group by name. More...
|
|
Environment_t | environment () const |
| Accessor functions for the environment. More...
|
|
Environment_t | envStringToEnum (const std::string &str) const |
| Convert the environment string from the python configuration to an enum object. More...
|
|
DataType_t | dataType () const |
| Accessor functions for the data type. More...
|
|
DataType_t | dataTypeStringToEnum (const std::string &str) const |
| Convert the data type string from the python configuration to an enum object. More...
|
|
const ToolHandle< GenericMonitoringTool > & | getGroup (const std::string &name) const |
| Get a specific monitoring tool from the tool handle array. More...
|
|
const ToolHandle< Trig::TrigDecisionTool > & | getTrigDecisionTool () const |
| Get the trigger decision tool member. More...
|
|
bool | trigChainsArePassed (const std::vector< std::string > &vTrigNames) const |
| Check whether triggers are passed. More...
|
|
SG::ReadHandle< xAOD::EventInfo > | GetEventInfo (const EventContext &) const |
| Return a ReadHandle for an EventInfo object (get run/event numbers, etc.) More...
|
|
virtual float | lbAverageInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the average mu, i.e. More...
|
|
virtual float | lbInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate instantaneous number of interactions, i.e. More...
|
|
virtual float | lbAverageLuminosity (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1). More...
|
|
virtual float | lbLuminosityPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the instantaneous luminosity per bunch crossing. More...
|
|
virtual double | lbDuration (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the duration of the luminosity block (in seconds) More...
|
|
virtual float | lbAverageLivefraction (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the average luminosity livefraction. More...
|
|
virtual float | livefractionPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the live fraction per bunch crossing ID. More...
|
|
virtual double | lbLumiWeight (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Calculate the average integrated luminosity multiplied by the live fraction. More...
|
|
virtual StatusCode | parseList (const std::string &line, std::vector< std::string > &result) const |
| Parse a string into a vector. More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
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 . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
ToolHandleArray< GenericMonitoringTool > | m_tools {this,"GMTools",{}} |
| Array of Generic Monitoring Tools. More...
|
|
PublicToolHandle< Trig::TrigDecisionTool > | m_trigDecTool {this, "TrigDecisionTool",""} |
| Tool to tell whether a specific trigger is passed. More...
|
|
ToolHandleArray< IDQFilterTool > | m_DQFilterTools {this,"FilterTools",{}} |
| Array of Data Quality filter tools. More...
|
|
SG::ReadCondHandleKey< LuminosityCondData > | m_lumiDataKey {this,"LuminosityCondDataKey","LuminosityCondData","SG Key of LuminosityCondData object"} |
|
SG::ReadCondHandleKey< LBDurationCondData > | m_lbDurationDataKey {this,"LBDurationCondDataKey","LBDurationCondData","SG Key of LBDurationCondData object"} |
|
SG::ReadCondHandleKey< TrigLiveFractionCondData > | m_trigLiveFractionDataKey {this,"TrigLiveFractionCondDataKey","TrigLiveFractionCondData", "SG Key of TrigLiveFractionCondData object"} |
|
AthMonitorAlgorithm::Environment_t | m_environment |
| Instance of the Environment_t enum. More...
|
|
AthMonitorAlgorithm::DataType_t | m_dataType |
| Instance of the DataType_t enum. More...
|
|
Gaudi::Property< std::string > | m_environmentStr {this,"Environment","user"} |
| Environment string pulled from the job option and converted to enum. More...
|
|
Gaudi::Property< std::string > | m_dataTypeStr {this,"DataType","userDefined"} |
| DataType string pulled from the job option and converted to enum. More...
|
|
Gaudi::Property< std::string > | m_triggerChainString {this,"TriggerChain",""} |
| Trigger chain string pulled from the job option and parsed into a vector. More...
|
|
std::vector< std::string > | m_vTrigChainNames |
| Vector of trigger chain names parsed from trigger chain string. More...
|
|
Gaudi::Property< std::string > | m_fileKey {this,"FileKey",""} |
| Internal Athena name for file. More...
|
|
Gaudi::Property< bool > | m_useLumi {this,"EnableLumi",false} |
| Allows use of various luminosity functions. More...
|
|
Gaudi::Property< float > | m_defaultLBDuration {this,"DefaultLBDuration",60.} |
| Default duration of one lumi block. More...
|
|
Gaudi::Property< int > | m_detailLevel {this,"DetailLevel",0} |
| Sets the level of detail used in the monitoring. More...
|
|
SG::ReadHandleKey< xAOD::EventInfo > | m_EventInfoKey {this,"EventInfoKey","EventInfo"} |
| Key for retrieving EventInfo from StoreGate. More...
|
|
|
StatusCode | readElIndexFromXML () |
|
StatusCode | initRpcPanel () |
|
StatusCode | setPanelIndex (std::shared_ptr< RpcPanel > panel) |
|
StatusCode | initTrigTag () |
|
StatusCode | initArrayHistosMap () |
|
StatusCode | fillMuonExtrapolateEff (const EventContext &ctx) const |
|
StatusCode | fillHistPRD (const EventContext &ctx) const |
|
StatusCode | triggerMatching (const xAOD::Muon *, const std::vector< TagDef > &) const |
|
StatusCode | extrapolate2RPC (const xAOD::TrackParticle *track, const Trk::PropDirection direction, std::vector< GasGapResult > &results, BarrelDL barrelDL) const |
|
std::unique_ptr< Trk::TrackParameters > | computeTrackIntersectionWithGasGap (ExResult &result, const xAOD::TrackParticle *track_particle, const std::shared_ptr< GasGapData > &gap) const |
|
StatusCode | extrapolate2RPC (std::unique_ptr< Trk::TrackParameters > trackParam, const Trk::PropDirection direction, std::vector< GasGapResult > &results, BarrelDL barrelDL) const |
|
std::unique_ptr< Trk::TrackParameters > | computeTrackIntersectionWithGasGap (ExResult &result, const Trk::TrackParameters *trackParam, const std::shared_ptr< GasGapData > &gap) const |
|
StatusCode | readHitsPerGasgap (const EventContext &ctx, std::vector< GasGapResult > &results, MuonSource muon_source) const |
|
StatusCode | fillClusterSize (std::vector< const Muon::RpcPrepData * > &view_hits, const int panel_index, int LB, int phiSector, int isPhi) const |
|
bool | IsNearbyHit (const std::vector< const Muon::RpcPrepData * > &cluster_hits, const Muon::RpcPrepData *hit) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
BooleanProperty | m_plotMuonEff |
|
BooleanProperty | m_plotPRD |
|
BooleanProperty | m_useAODParticle |
|
FloatProperty | m_lbDuraThr |
|
StringProperty | m_packageName |
|
StringProperty | m_elementsFileName |
|
StringProperty | m_trigTagList |
|
FloatProperty | m_trigMatchWindow |
|
BooleanProperty | m_TagAndProbe |
|
BooleanProperty | m_TagAndProbeZmumu |
|
FloatProperty | m_minPt {this, "minPt", 25.0e3, "minmum pT of muon"} |
|
FloatProperty | m_maxEta |
|
FloatProperty | m_barrelMinPt {this, "barrelMinPt", 2.0e3} |
|
FloatProperty | m_barrelMinEta {this, "barrelMinEta", 0.1} |
|
FloatProperty | m_barrelMaxEta {this, "barrelMaxEta", 1.05} |
|
FloatProperty | m_muonMass |
|
FloatProperty | m_zMass_lowLimit |
|
FloatProperty | m_zMass_upLimit |
|
FloatProperty | m_isolationWindow |
|
FloatProperty | m_l1trigMatchWindow |
|
FloatProperty | m_minDRTrackToGasGap |
|
FloatProperty | m_boundsToleranceReadoutElement |
|
FloatProperty | m_boundsToleranceReadoutElementTight |
|
FloatProperty | m_diffHitTrackPostion |
|
FloatProperty | m_outtime {this, "outtime", 12.5, "the out-time time"} |
|
ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc |
|
const RpcIdHelper * | m_rpcIdHelper {nullptr} |
|
ToolHandle< Trk::IExtrapolator > | m_extrapolator |
|
SG::ReadHandleKey< xAOD::MuonRoIContainer > | m_MuonRoIContainerKey |
|
SG::ReadHandleKey< xAOD::MuonContainer > | m_MuonContainerKey |
|
SG::ReadHandleKey< Muon::RpcPrepDataContainer > | m_rpcPrdKey |
|
SG::ReadHandleKey< xAOD::VertexContainer > | m_PrimaryVertexContainerKey |
|
SG::ReadDecorHandleKey< xAOD::EventInfo > | m_beamSigmaX |
|
SG::ReadDecorHandleKey< xAOD::EventInfo > | m_beamSigmaY |
|
SG::ReadDecorHandleKey< xAOD::EventInfo > | m_beamSigmaXY |
|
RpcPanelMap | m_rpcPanelMap {} |
|
std::vector< TagDef > | m_trigTagDefs {} |
|
std::map< std::pair< int, int >, std::vector< std::shared_ptr< GasGapData > > > | m_gasGapData {} |
|
std::map< BarrelDL, std::vector< int > > | m_StationNames {} |
|
std::map< std::string, int > | m_elementIndex {} |
|
std::map< std::string, int > | m_SectorGroup {} |
|
std::map< std::string, int > | m_TriggerThrGroup {} |
|
std::string | m_name |
|
std::unordered_map< std::string, size_t > | m_toolLookupMap |
|
const ToolHandle< GenericMonitoringTool > | m_dummy |
|
Gaudi::Property< bool > | m_enforceExpressTriggers |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 38 of file RpcTrackAnaAlg.h.
◆ GasGapResult
◆ MonVarVec_t
◆ RpcPanelMap
◆ StoreGateSvc_t
◆ BarrelDL
◆ DataType_t
Specifies what type of input data is being monitored.
An enumeration of the different types of data the monitoring application may be running over. This can be used to select which histograms to produce, e.g. to prevent the production of colliding-beam histograms when running on cosmic-ray data. Strings of the same names may be given as jobOptions.
Enumerator |
---|
userDefined | |
monteCarlo | |
collisions | |
cosmics | |
heavyIonCollisions | |
Definition at line 191 of file AthMonitorAlgorithm.h.
◆ Environment_t
Specifies the processing environment.
The running environment may be used to select which histograms are produced, and where they are located in the output. For example, the output paths of the histograms are different for the "user", "online" and the various offline flags. Strings of the same names may be given as jobOptions.
Enumerator |
---|
user | |
online | |
tier0 | |
tier0Raw | |
tier0ESD | |
AOD | |
altprod | |
Definition at line 172 of file AthMonitorAlgorithm.h.
◆ MuonSource
◆ RpcTrackAnaAlg()
RpcTrackAnaAlg::RpcTrackAnaAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~RpcTrackAnaAlg()
RpcTrackAnaAlg::~RpcTrackAnaAlg |
( |
| ) |
|
|
virtual |
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ computeTrackIntersectionWithGasGap() [1/2]
Definition at line 1035 of file RpcTrackAnaAlg.cxx.
1038 const EventContext& ctx = Gaudi::Hive::currentContext();
1051 if (!detParameters) {
1052 return detParameters;
1060 gap->readoutEl->globalToLocalCoords(detParameters->position(),
1062 const Amg::Vector2D local2dTrackPosition(local3dTrackPosition.y(),
1063 local3dTrackPosition.z());
1068 const bool inbounds =
1071 const bool inbounds_tight = bounds.
inside(
1075 result.localTrackPosInBounds = inbounds;
1076 result.localTrackPosInBoundsTight = inbounds_tight;
1077 result.localPos = local3dTrackPosition;
1078 result.globalPos = detParameters->position();
1080 return detParameters;
◆ computeTrackIntersectionWithGasGap() [2/2]
Definition at line 866 of file RpcTrackAnaAlg.cxx.
869 const EventContext& ctx = Gaudi::Hive::currentContext();
879 std::unique_ptr<Trk::TrackParameters> detParameters{};
885 }
else if (track_particle->
track()) {
887 ctx, *(track_particle->
track()), gapSurface,
result.direction,
true,
890 return detParameters;
893 if (!detParameters) {
894 return detParameters;
902 gap->readoutEl->globalToLocalCoords(detParameters->position(),
904 const Amg::Vector2D local2dTrackPosition(local3dTrackPosition.y(),
905 local3dTrackPosition.z());
910 const bool inbounds =
913 const bool inbounds_tight = bounds.
inside(
917 result.localTrackPosInBounds = inbounds;
918 result.localTrackPosInBoundsTight = inbounds_tight;
919 result.localPos = local3dTrackPosition;
920 result.globalPos = detParameters->position();
922 return detParameters;
◆ dataType()
DataType_t AthMonitorAlgorithm::dataType |
( |
| ) |
const |
|
inlineinherited |
Accessor functions for the data type.
- Returns
- the current value of the class's DataType_t instance.
Definition at line 221 of file AthMonitorAlgorithm.h.
◆ dataTypeStringToEnum()
Convert the data type string from the python configuration to an enum object.
- Returns
- a value in the DataType_t enumeration which matches the input string.
Definition at line 140 of file AthMonitorAlgorithm.cxx.
142 std::string lowerCaseStr =
str;
146 if( lowerCaseStr ==
"userdefined" ) {
148 }
else if( lowerCaseStr ==
"montecarlo" ) {
150 }
else if( lowerCaseStr ==
"collisions" ) {
152 }
else if( lowerCaseStr ==
"cosmics" ) {
154 }
else if( lowerCaseStr ==
"heavyioncollisions" ) {
157 ATH_MSG_WARNING(
"AthMonitorAlgorithm::dataTypeStringToEnum(): Unknown data type "
158 <<
str<<
", returning userDefined.");
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ environment()
Accessor functions for the environment.
- Returns
- the current value of the class's Environment_t instance.
Definition at line 205 of file AthMonitorAlgorithm.h.
◆ envStringToEnum()
Convert the environment string from the python configuration to an enum object.
- Returns
- a value in the Environment_t enumeration which matches the input string.
Definition at line 112 of file AthMonitorAlgorithm.cxx.
114 std::string lowerCaseStr =
str;
118 if( lowerCaseStr ==
"user" ) {
120 }
else if( lowerCaseStr ==
"online" ) {
122 }
else if( lowerCaseStr ==
"tier0" ) {
124 }
else if( lowerCaseStr ==
"tier0raw" ) {
126 }
else if( lowerCaseStr ==
"tier0esd" ) {
128 }
else if( lowerCaseStr ==
"aod" ) {
130 }
else if( lowerCaseStr ==
"altprod" ) {
133 ATH_MSG_WARNING(
"AthMonitorAlgorithm::envStringToEnum(): Unknown environment "
134 <<
str<<
", returning user.");
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode AthMonitorAlgorithm::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtualinherited |
Applies filters and trigger requirements.
Then, calls fillHistograms().
- Parameters
-
ctx | event context for reentrant Athena call |
- Returns
- StatusCode
Definition at line 73 of file AthMonitorAlgorithm.cxx.
78 if (!filterItr->accept()) {
80 return StatusCode::SUCCESS;
87 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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
◆ extraOutputDeps()
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.
◆ extrapolate2RPC() [1/2]
Definition at line 756 of file RpcTrackAnaAlg.cxx.
776 if (barrelDL >=
OUT) {
777 return StatusCode::SUCCESS;
778 }
else if (barrelDL ==
BM2 || barrelDL ==
BO2) {
786 return StatusCode::FAILURE;
789 std::map<BarrelDL, std::vector<int>>::const_iterator dl_vec_it =
792 return StatusCode::FAILURE;
795 std::unique_ptr<Trk::TrackParameters> trackParamLayer{};
798 const std::vector<int> dl_vec = dl_vec_it->second;
799 std::vector<int>::const_iterator it_dl = dl_vec.begin();
800 for (; it_dl != dl_vec.end(); ++it_dl) {
802 std::pair<int, int> st_dbR = std::make_pair(stName,
doubletR);
803 std::map<std::pair<int, int>,
804 std::vector<std::shared_ptr<GasGapData>>>::const_iterator
814 for (
const std::shared_ptr<GasGapData>&
gap : gasgapIt->second) {
827 auto trackParamInGap =
830 if (!trackParamInGap) {
834 if (!
result.localTrackPosInBoundsTight) {
838 if (
result.minTrackGasGapDR < minDR) {
839 minDR =
result.minTrackGasGapDR;
842 trackParamLayer = std::move(trackParamInGap);
855 if (trackParamLayer !=
nullptr) {
◆ extrapolate2RPC() [2/2]
Definition at line 926 of file RpcTrackAnaAlg.cxx.
946 if (barrelDL >=
OUT) {
947 return StatusCode::SUCCESS;
948 }
else if (barrelDL ==
BM2 || barrelDL ==
BO2) {
956 return StatusCode::FAILURE;
959 std::map<BarrelDL, std::vector<int>>::const_iterator dl_vec_it =
962 return StatusCode::FAILURE;
965 std::unique_ptr<Trk::TrackParameters> trackParamLayer{};
968 const std::vector<int> dl_vec = dl_vec_it->second;
970 std::vector<int>::const_iterator it_dl = dl_vec.begin();
971 for (; it_dl != dl_vec.end(); ++it_dl) {
973 std::pair<int, int> st_dbR = std::make_pair(stName,
doubletR);
974 std::map<std::pair<int, int>,
975 std::vector<std::shared_ptr<GasGapData>>>::const_iterator
986 for (
const std::shared_ptr<GasGapData>&
gap : gasgapIt->second) {
991 gap->computeTrackDistanceToGasGap(
result, trackParam.get());
1003 if (trackParamInGap ==
nullptr) {
1007 if (!
result.localTrackPosInBoundsTight) {
1013 if (
result.minTrackGasGapDR < minDR) {
1014 minDR =
result.minTrackGasGapDR;
1017 trackParamLayer = std::move(trackParamInGap);
1024 if (trackParamLayer ==
nullptr) {
1025 trackParamLayer = std::move(trackParam);
◆ fillClusterSize()
StatusCode RpcTrackAnaAlg::fillClusterSize |
( |
std::vector< const Muon::RpcPrepData * > & |
view_hits, |
|
|
const int |
panel_index, |
|
|
int |
LB, |
|
|
int |
phiSector, |
|
|
int |
isPhi |
|
) |
| const |
|
private |
Definition at line 1343 of file RpcTrackAnaAlg.cxx.
1352 std::vector<const Muon::RpcPrepData*> cluster_hits;
1353 while (!view_hits.empty()) {
1354 cluster_hits.clear();
1357 cluster_hits.push_back(view_hits.back());
1360 view_hits.pop_back();
1364 std::vector<const Muon::RpcPrepData*>::const_iterator hit =
1367 while (hit != view_hits.end()) {
1371 cluster_hits.push_back(*hit);
1372 view_hits.erase(hit);
1376 hit = view_hits.begin();
1382 int cluster_size = cluster_hits.size();
1383 for (
int i_hit = 0; i_hit < cluster_size; i_hit++) {
1384 auto i_phiSector =
Scalar<int>(
"PhiSector", phiSector);
1388 auto i_panelIndex =
Scalar<int>(
"panelInd_clust", panel_index);
1389 auto i_clusterSize =
Scalar<int>(
"clusterSize", cluster_size);
1390 fill(
tool, i_panelIndex, i_clusterSize);
1392 auto i_cs_sec =
Scalar<int>(
"cs_sec", cluster_size);
1398 auto i_clusterSize_view =
1402 auto i_clusterSize_view =
1408 return StatusCode::SUCCESS;
◆ fillHistograms()
StatusCode RpcTrackAnaAlg::fillHistograms |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
adds event to the monitoring histograms
User will overwrite this function. Histogram booking is no longer done in C++. This function is called in execute once the filters are all passed.
- Parameters
-
ctx | forwarded from execute |
- Returns
- StatusCode
Implements AthMonitorAlgorithm.
Definition at line 306 of file RpcTrackAnaAlg.cxx.
318 auto evtLB =
Scalar<int>(
"evtLB", ctx.eventID().lumi_block());
322 return StatusCode::SUCCESS;
◆ fillHistPRD()
StatusCode RpcTrackAnaAlg::fillHistPRD |
( |
const EventContext & |
ctx | ) |
const |
|
private |
Definition at line 616 of file RpcTrackAnaAlg.cxx.
625 const int i_lb = ctx.eventID().lumi_block();
626 std::vector<double> v_prdTime = {};
630 auto prd_sec_1214 =
Scalar<int>(
"prd_sec_1214", 0);
631 auto prd_layer_1214 =
Scalar<int>(
"prd_layer_1214", 0);
633 auto prd_sec_all_eta =
Scalar<int>(
"prd_sec_eta", 0);
634 auto prd_layer_all_eta =
Scalar<int>(
"prd_layer_eta", 0);
635 auto prd_sec_all_phi =
Scalar<int>(
"prd_sec_phi", 0);
636 auto prd_layer_all_phi =
Scalar<int>(
"prd_layer_phi", 0);
644 std::pair<int, int> sec_layer;
658 auto temp_panel = std::make_unique<RpcPanel>(
663 std::map<Identifier, std::shared_ptr<RpcPanel>>::const_iterator
667 "The panelID corresponding prd hit does NOT link to a "
671 rpcData->detectorElement()->identify())
675 panel_index = i_panel->second->panel_index;
678 sec_layer = temp_panel->getSectorLayer();
679 prd_sec_all = sec_layer.first;
680 prd_layer_all = sec_layer.second;
682 if (std::abs(sec_layer.first) == 12 ||
683 std::abs(sec_layer.first) == 14) {
684 prd_sec_1214 = sec_layer.first;
685 prd_layer_1214 = sec_layer.second;
688 fill(
tool, prd_sec_all, prd_layer_all, prd_sec_1214,
692 prd_sec_all_eta = sec_layer.first;
693 prd_layer_all_eta = sec_layer.second;
694 fill(
tool, prd_sec_all_eta, prd_layer_all_eta);
696 prd_sec_all_phi = sec_layer.first;
697 prd_layer_all_phi = sec_layer.second;
698 fill(
tool, prd_sec_all_phi, prd_layer_all_phi);
701 i_panelIndex = panel_index;
704 v_prdTime.push_back(rpcData->time());
708 auto prdTimeCollection =
Collection(
"prdTime", v_prdTime);
712 return StatusCode::SUCCESS;
◆ fillMuonExtrapolateEff()
StatusCode RpcTrackAnaAlg::fillMuonExtrapolateEff |
( |
const EventContext & |
ctx | ) |
const |
|
private |
Definition at line 326 of file RpcTrackAnaAlg.cxx.
338 if (primVtxContainer.isValid()) {
339 for (
const auto vtx : *primVtxContainer) {
347 const double primaryVertexZ = primVertex ? (primVertex->
z()) : (-999);
356 const float beamPosSigmaX = beamSigmaX(0);
357 const float beamPosSigmaY = beamSigmaY(0);
358 const float beamPosSigmaXY = beamSigmaXY(0);
366 if (!muons.isValid()) {
367 ATH_MSG_ERROR(
"evtStore() does not contain muon Collection with name "
369 return StatusCode::FAILURE;
375 std::vector<std::shared_ptr<MyMuon>> tagmuons;
376 std::vector<std::shared_ptr<MyMuon>> probemuons;
381 auto mymuon = std::make_shared<MyMuon>();
383 mymuon->fourvec.SetPtEtaPhiM(
muon->pt(),
muon->eta(),
muon->phi(),
394 auto track =
muon->primaryTrackParticle();
395 const double z0 =
track->z0() +
track->vz() - primaryVertexZ;
399 track, beamPosSigmaX, beamPosSigmaY, beamPosSigmaXY);
402 if (std::abs(z0sin) < 0.5 && std::abs(d0sig) < 3.0) {
403 mymuon->tagProbeOK =
true;
405 probemuons.push_back(mymuon);
408 if (
muon->pt() > 27.0e3 && std::abs(z0sin) < 1.0 &&
409 std::abs(d0sig) < 5.0) {
410 tagmuons.push_back(mymuon);
417 for (
const auto& tag_muon : tagmuons) {
418 if (!(tag_muon->tagged))
421 for (
const auto& probe_muon : probemuons) {
422 if (tag_muon->muon == probe_muon->muon)
426 if (!probe_muon->tagProbeOK)
430 if (tag_muon->muon->charge() == probe_muon->muon->charge())
434 float dimuon_mass = (tag_muon->fourvec + probe_muon->fourvec).M();
439 float dr = (tag_muon->fourvec).
DeltaR(probe_muon->fourvec);
443 probe_muon->tagProbeAndZmumuOK =
true;
450 std::vector<const xAOD::MuonRoI*> roisBarrel;
455 if (!muonRoIs.isValid()) {
457 "evtStore() does not contain muon L1 ROI Collection with name "
459 return StatusCode::FAILURE;
463 std::vector<float> roiEtaVec{}, roiBarrelEtaVec{};
464 std::vector<int> roiBarrelThrVec{};
466 roiEtaVec.reserve(muonRoIs->size());
467 roiBarrelEtaVec.reserve(muonRoIs->size());
468 roiBarrelThrVec.reserve(muonRoIs->size());
469 roisBarrel.reserve(muonRoIs->size());
471 roiEtaVec.push_back(roi->eta());
475 roiBarrelEtaVec.push_back(roi->eta());
476 roiBarrelThrVec.push_back(roi->getThrNumber());
477 roisBarrel.push_back(roi);
480 auto roiEtaCollection =
Collection(
"roiEta", roiEtaVec);
481 auto roiBarrelEtaCollection =
483 auto roiBarrelThrCollection =
506 std::vector<GasGapResult>
results;
507 int nmuon{0}, nmuon_barrel{0};
508 for (
const auto& probe_muon : probemuons) {
510 double pt = probe_muon->muon->pt();
511 double eta = probe_muon->muon->eta();
512 double phi = probe_muon->muon->phi();
521 xAOD::Muon::MuonSpectrometerTrackParticle);
533 fill(
tool, i_pt_allMu, i_eta_allMu, i_phi_allMu);
539 if (probe_muon->tagProbeAndZmumuOK) {
542 std::vector<bool> isMatcheds(6, 0);
545 const double deta = roi->eta() -
eta;
546 const double dr = std::hypot(dphi, deta);
551 int thr =
std::min(7, roi->getThrNumber());
552 for (
int i_thr = 1; i_thr <= thr; i_thr++) {
553 isMatcheds[i_thr - 1] =
true;
562 auto i_passTrigger =
Scalar<bool>(
"passTrigger",
false);
563 auto i_passTrigger_1 =
Scalar<bool>(
"passTrigger_plateau",
false);
565 for (
int i_thr = 1; i_thr < 7; i_thr++) {
566 i_passTrigger = isMatcheds[i_thr - 1];
567 i_passTrigger_1 = isMatcheds[i_thr - 1];
572 i_pt, i_passTrigger);
578 i_eta, i_phi, i_passTrigger_1);
594 fill(
tool, i_pt_zMu, i_eta_zMu, i_phi_zMu);
599 fill(
tool, i_eta_zMu_p, i_phi_zMu_p);
605 auto Nmuon_barrel =
Scalar<int>(
"nMuBarrel", nmuon_barrel);
612 return StatusCode::SUCCESS;
◆ filterPassed()
◆ GetEventInfo()
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
- Parameters
-
ctx | EventContext for the event |
- Returns
- a SG::ReadHandle<xAOD::EventInfo>
Definition at line 107 of file AthMonitorAlgorithm.cxx.
◆ getGroup()
Get a specific monitoring tool from the tool handle array.
Finds a specific GenericMonitoringTool instance from the list of monitoring tools (a ToolHandleArray). Throws a FATAL warning if the object found is empty.
- Parameters
-
name | string name of the desired tool |
- Returns
- reference to the desired monitoring tool
Definition at line 164 of file AthMonitorAlgorithm.cxx.
176 if (!isInitialized()) {
178 "It seems that the AthMonitorAlgorithm::initialize was not called "
179 "in derived class initialize method");
183 [](
const std::string&
s,
auto h) { return s +
"," + h.first; });
184 ATH_MSG_FATAL(
"The tool " <<
name <<
" could not be found in the tool array of the "
185 <<
"monitoring algorithm " <<
m_name <<
". This probably reflects a discrepancy between "
186 <<
"your python configuration and c++ filling code. Note: your available groups are {"
187 << available <<
"}.");
◆ getTrigDecisionTool()
Get the trigger decision tool member.
The trigger decision tool is used to check whether a specific trigger is passed by an event.
- Returns
- m_trigDecTool
Definition at line 194 of file AthMonitorAlgorithm.cxx.
◆ initArrayHistosMap()
StatusCode RpcTrackAnaAlg::initArrayHistosMap |
( |
| ) |
|
|
private |
◆ initialize()
StatusCode RpcTrackAnaAlg::initialize |
( |
| ) |
|
|
overridevirtual |
initialize
- Returns
- StatusCode
Reimplemented from AthMonitorAlgorithm.
Definition at line 38 of file RpcTrackAnaAlg.cxx.
57 std::vector<std::string> sectorStr = {
58 "sector1",
"sector2",
"sector3",
"sector4",
"sector5",
"sector6",
59 "sector7",
"sector8",
"sector9",
"sector10",
"sector11",
"sector12",
60 "sector13",
"sector14",
"sector15",
"sector16"};
62 Monitored::buildToolMap<int>(
m_tools,
"RpcTrackAnaAlg", sectorStr);
64 std::vector<std::string> triggerThrs = {
"thr1",
"thr2",
"thr3",
65 "thr4",
"thr5",
"thr6"};
67 Monitored::buildToolMap<int>(
m_tools,
"RpcTrackAnaAlg", triggerThrs);
73 return StatusCode::SUCCESS;
◆ initRpcPanel()
StatusCode RpcTrackAnaAlg::initRpcPanel |
( |
| ) |
|
|
private |
Definition at line 77 of file RpcTrackAnaAlg.cxx.
84 unsigned int nValidPanel = 0, nTriedPanel{0};
89 ATH_MSG_INFO(
"MuonGM::MuonDetectorManager::RpcDetElMaxHash= "
98 std::vector<int> BMBO_StationNames = {2, 3, 4, 5, 8, 9, 10, 53};
105 const unsigned int ngasgap = 2;
106 const unsigned int doubletZ = readoutEl->
getDoubletZ();
115 if (!
std::count(BMBO_StationNames.begin(), BMBO_StationNames.end(),
120 if (!
std::count(BMBO_StationNames.begin(), BMBO_StationNames.end(),
126 for (
unsigned gasgap = 1; gasgap <= ngasgap; ++gasgap) {
127 std::shared_ptr<GasGapData>
gap = std::make_shared<GasGapData>(
130 std::pair<int, int> st_dbR = std::make_pair(stName,
gap->doubletR);
133 std::shared_ptr<RpcPanel> rpcPanel_eta = std::make_shared<RpcPanel>(
137 std::shared_ptr<RpcPanel> rpcPanel_phi = std::make_shared<RpcPanel>(
146 <<
" doubletR:" << rpcPanel_eta->
doubletR
147 <<
"doubletZ:" << rpcPanel_eta->
doubletZ
149 <<
" gasGap:" << rpcPanel_eta->
gasGap
150 <<
" measPhi:" << rpcPanel_eta->
measPhi);
154 rpcPanel_eta->
panelId, rpcPanel_eta));
163 <<
" doubletR:" << rpcPanel_phi->
doubletR
164 <<
"doubletZ:" << rpcPanel_phi->
doubletZ
166 <<
" gasGap:" << rpcPanel_phi->
gasGap
167 <<
" measPhi:" << rpcPanel_phi->
measPhi);
171 rpcPanel_phi->
panelId, rpcPanel_phi));
175 gap->RpcPanel_eta_phi = std::make_pair(rpcPanel_eta, rpcPanel_phi);
181 ATH_MSG_INFO(
"Number of valid panels = " << nValidPanel <<
" tried panels "
183 return StatusCode::SUCCESS;
◆ initTrigTag()
StatusCode RpcTrackAnaAlg::initTrigTag |
( |
| ) |
|
|
private |
Definition at line 280 of file RpcTrackAnaAlg.cxx.
282 std::unique_ptr<TObjArray>
tagList(trigStr.Tokenize(
";"));
285 std::set<TString> alllist;
286 for (
int i = 0;
i <
tagList->GetEntries();
i++) {
287 TString tagTrig =
tagList->At(
i)->GetName();
288 if (alllist.find(tagTrig) != alllist.end())
290 alllist.insert(tagTrig);
291 std::unique_ptr<TObjArray> arr(tagTrig.Tokenize(
";"));
292 if (arr->GetEntries() == 0)
295 def.
eventTrig = TString(arr->At(0)->GetName());
297 if (arr->GetEntries() == 2)
298 def.
tagTrig = TString(arr->At(1)->GetName());
302 return StatusCode::SUCCESS;
◆ inputHandles()
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.
◆ isClonable()
◆ IsNearbyHit()
Definition at line 1412 of file RpcTrackAnaAlg.cxx.
1419 if (abs(rpcIdHelper.
strip(it_hit->identify()) -
1421 std::abs(it_hit->time() - hit->
time()) < 6.5) {
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ parseList()
StatusCode AthMonitorAlgorithm::parseList |
( |
const std::string & |
line, |
|
|
std::vector< std::string > & |
result |
|
) |
| const |
|
virtualinherited |
Parse a string into a vector.
The input string is a single long string of all of the trigger names. It parses this string and turns it into a vector, where each element is one trigger or trigger category.
- Parameters
-
line | The input string. |
result | The parsed output vector of strings. |
- Returns
- StatusCode
Definition at line 341 of file AthMonitorAlgorithm.cxx.
343 std::stringstream
ss(
line);
347 while ( std::getline(
ss,
item,
',') ) {
348 std::stringstream iss(
item);
353 return StatusCode::SUCCESS;
◆ readElIndexFromXML()
StatusCode RpcTrackAnaAlg::readElIndexFromXML |
( |
| ) |
|
|
private |
Definition at line 216 of file RpcTrackAnaAlg.cxx.
226 const std::string xml_file =
228 if (xml_file.empty()) {
230 return StatusCode::FAILURE;
236 read_xml(xml_file,
pt);
238 for (boost::property_tree::ptree::value_type& child:
239 pt.get_child(
"Elements")) {
240 if (child.first ==
"Element") {
241 int index = child.second.get<
int>(
"<xmlattr>.index");
242 int stName = child.second.get<
int>(
"<xmlattr>.stationName");
243 int stEta = child.second.get<
int>(
"<xmlattr>.stationEta");
244 int stPhi = child.second.get<
int>(
"<xmlattr>.stationPhi");
245 int dbR = child.second.get<
int>(
"<xmlattr>.doubletR");
246 int dbZ = child.second.get<
int>(
"<xmlattr>.doubletZ");
249 <<
", stationEta = " << stEta
250 <<
", stationPhi = " << stPhi
251 <<
", doubletR = " <<
dbR
252 <<
", doubletZ = " << dbZ);
253 std::ostringstream ele_key;
255 ele_key << stName <<
"_" << stEta <<
"_" << stPhi <<
"_" <<
dbR
262 ele_key.str(),
index));
272 "Total number of elements: "
274 <<
", should be consistent with the number of elements in xml file!");
276 return StatusCode::SUCCESS;
◆ readHitsPerGasgap()
StatusCode RpcTrackAnaAlg::readHitsPerGasgap |
( |
const EventContext & |
ctx, |
|
|
std::vector< GasGapResult > & |
results, |
|
|
MuonSource |
muon_source |
|
) |
| const |
|
private |
Definition at line 1084 of file RpcTrackAnaAlg.cxx.
1090 int lumiBlock = ctx.eventID().lumi_block();
1095 ATH_MSG_DEBUG(
" RpcPrepDataContainer size = " << rpcContainer->size());
1098 auto i_hitTime_sec =
Scalar<int>(
"hitTime_sec", 0);
1100 auto isOutTime_prd =
Scalar<bool>(
"isOutTime_prd",
false);
1101 auto isOutTime_onTrack =
Scalar<bool>(
"isOutTime_prd_onTrack",
false);
1102 auto i_panelIndex =
Scalar<int>(
"panelInd_prd", -1);
1103 auto i_panelIndex_onTrack =
Scalar<int>(
"panelInd_prd_onTrack", -1);
1107 auto closest_res_eta =
Scalar<int>(
"closest_residual_eta", 0);
1108 auto closest_res_phi =
Scalar<int>(
"closest_residual_phi", 0);
1111 auto i_panelInd_res =
Scalar<int>(
"panelInd_res_inTime", -1);
1114 const std::shared_ptr<GasGapData>
gap = exr.second;
1116 int sector = (
gap->RpcPanel_eta_phi.first->getSectorLayer()).
first;
1118 float clo_res_eta = 1001.;
1119 float clo_res_phi = 1001.;
1120 int NHitwithCut_perMuon_eta = 0;
1121 int NHitwithCut_perMuon_phi = 0;
1122 int NHitnoCut_perMuon_eta = 0;
1123 int NHitnoCut_perMuon_phi = 0;
1124 std::vector<const Muon::RpcPrepData*> view_hits_eta;
1125 std::vector<const Muon::RpcPrepData*> view_hits_phi;
1129 if (!rpcCollection) {
1145 const int doubletZ = rpcIdHelper.
doubletZ(
id);
1148 const int measuresPhi = rpcIdHelper.
measuresPhi(
id);
1156 doubletZ ==
gap->doubletZ) {
1159 i_hitTime_sec = rpcData->time();
1166 float hit_local_x = rpcData->localPosition().x();
1167 float trackPos_localY = exr.first.localPos.y();
1168 float trackPos_localZ = exr.first.localPos.z();
1170 float residual_phi = trackPos_localY-hit_local_x;
1171 float residual_eta = trackPos_localZ-hit_local_x;
1174 bool isOutTime = (std::abs(i_hitTime_sec+50.) >
m_outtime);
1175 int i_panel = measuresPhi ?
gap->RpcPanel_eta_phi.second->panel_index :
1176 gap->RpcPanel_eta_phi.first->panel_index;
1179 if (muon_source ==
ZCand) {
1181 isOutTime_prd = isOutTime;
1182 isOutTime_onTrack = isOutTime;
1185 i_panelIndex = i_panel;
1186 fill(
tool, i_panelIndex, isOutTime_prd);
1188 i_panelIndex_onTrack = i_panel;
1189 fill(
tool, i_panelIndex_onTrack, isOutTime_onTrack);
1192 i_panelIndex = i_panel;
1193 fill(
tool, i_panelIndex, isOutTime_prd);
1195 i_panelIndex_onTrack = i_panel;
1196 fill(
tool, i_panelIndex_onTrack, isOutTime_onTrack);
1202 NHitnoCut_perMuon_phi++;
1204 NHitnoCut_perMuon_eta++;
1211 i_panelInd_res = i_panel;
1214 res_phi = residual_phi;
1216 clo_res_phi =
std::min(clo_res_phi, residual_phi);
1221 NHitwithCut_perMuon_phi++;
1222 view_hits_phi.push_back(rpcData);
1225 res_eta = residual_eta;
1227 clo_res_eta =
std::min(clo_res_eta, residual_eta);
1232 NHitwithCut_perMuon_eta++;
1233 view_hits_eta.push_back(rpcData);
1240 int etaPanel_ind = -1;
1241 int phiPanel_ind = -1;
1243 etaPanel_ind =
gap->RpcPanel_eta_phi.first->panel_index;
1244 phiPanel_ind =
gap->RpcPanel_eta_phi.second->panel_index;
1247 if (muon_source ==
ZCand) {
1248 auto hitMulti_eta =
Scalar<int>(
"hitMulti_eta", NHitwithCut_perMuon_eta);
1249 auto hitMulti_phi =
Scalar<int>(
"hitMulti_phi", NHitwithCut_perMuon_phi);
1251 auto i_panelIndex =
Scalar<int>(
"panelInd_hM", -1);
1252 auto i_passExtrap =
Scalar<bool>(
"muon_passExtrap",
false);
1253 auto i_passExtrap_or =
Scalar<bool>(
"muon_passExtrap_or",
false);
1254 auto i_passExtrap_and =
Scalar<bool>(
"muon_passExtrap_and",
false);
1255 auto i_passExtrap_sig_or =
Scalar<bool>(
"muon_passExtrap_signalhit_or",
false);
1256 auto i_passExtrap_sig_and =
Scalar<bool>(
"muon_passExtrap_signalhit_and",
false);
1257 auto i_passExtrap_sig =
Scalar<bool>(
"muon_passExtrap_signalhit",
false);
1260 fill(
tool, hitMulti_eta, hitMulti_phi);
1264 if (NHitnoCut_perMuon_eta > 0 || NHitnoCut_perMuon_phi > 0)
1265 i_passExtrap_or =
true;
1266 if (NHitwithCut_perMuon_eta > 0 || NHitwithCut_perMuon_phi > 0)
1267 i_passExtrap_sig_or =
true;
1271 if (NHitnoCut_perMuon_eta > 0 && NHitnoCut_perMuon_phi > 0)
1272 i_passExtrap_and =
true;
1273 if (NHitwithCut_perMuon_eta > 0 && NHitwithCut_perMuon_phi > 0)
1274 i_passExtrap_sig_and =
true;
1277 hitMulti = NHitwithCut_perMuon_eta;
1278 i_panelIndex = etaPanel_ind;
1280 if (NHitnoCut_perMuon_eta > 0)
1281 i_passExtrap =
true;
1283 if (NHitwithCut_perMuon_eta > 0)
1284 i_passExtrap_sig =
true;
1286 fill(
tool, hitMulti, i_panelIndex, i_passExtrap, i_passExtrap_sig,
1287 i_passExtrap_or, i_passExtrap_and, i_passExtrap_sig_or, i_passExtrap_sig_and, i_LB);
1291 if (clo_res_eta < 1000.) {
1292 closest_res_eta = clo_res_eta;
1298 hitMulti = NHitwithCut_perMuon_phi;
1299 i_panelIndex = phiPanel_ind;
1300 if (NHitnoCut_perMuon_phi > 0)
1301 i_passExtrap =
true;
1303 if (NHitwithCut_perMuon_phi > 0)
1304 i_passExtrap_sig =
true;
1306 fill(
tool, hitMulti, i_panelIndex, i_passExtrap, i_passExtrap_sig,
1307 i_passExtrap_or, i_passExtrap_and, i_passExtrap_sig_or, i_passExtrap_sig_and, i_LB);
1311 if (clo_res_phi < 1000.) {
1312 closest_res_phi = clo_res_phi;
1320 auto i_panelIndex_allMu =
Scalar<int>(
"panelInd_hM_allMu", -1);
1321 auto i_passExtrap_allMu =
Scalar<bool>(
"muon_passExtrap_allMu",
false);
1325 i_panelIndex_allMu = etaPanel_ind;
1326 if (NHitwithCut_perMuon_eta > 0)
1327 i_passExtrap_allMu =
true;
1328 fill(
tool, i_panelIndex_allMu, i_passExtrap_allMu);
1332 i_panelIndex_allMu = phiPanel_ind;
1333 if (NHitwithCut_perMuon_phi > 0)
1334 i_passExtrap_allMu =
true;
1336 fill(
tool, i_panelIndex_allMu, i_passExtrap_allMu);
1339 return StatusCode::SUCCESS;
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ setPanelIndex()
StatusCode RpcTrackAnaAlg::setPanelIndex |
( |
std::shared_ptr< RpcPanel > |
panel | ) |
|
|
private |
Definition at line 187 of file RpcTrackAnaAlg.cxx.
201 <<
", doubletR = " << panel->
doubletR
202 <<
", doubletZ = " << panel->
doubletZ);
203 return StatusCode::FAILURE;
206 int ele_index = it_eleInd->second;
207 int panel_index = (ele_index - 1) * 8 + (panel->
doubletPhi - 1) * 4 +
212 return StatusCode::SUCCESS;
◆ sysExecute()
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.
◆ sysInitialize()
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 InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ trigChainsArePassed()
bool AthMonitorAlgorithm::trigChainsArePassed |
( |
const std::vector< std::string > & |
vTrigNames | ) |
const |
|
inherited |
Check whether triggers are passed.
For the event, use the trigger decision tool to check that at least one of the triggers listed in the supplied vector is passed.
- Parameters
-
vTrigNames | List of trigger names. |
- Returns
- If empty input, default to true. If at least one trigger is specified, returns whether at least one trigger was passed.
Definition at line 199 of file AthMonitorAlgorithm.cxx.
203 if (vTrigNames.empty())
return true;
215 bool expressPass = passedBits & TrigDefs::Express_passed;
222 return group->isPassed();
◆ triggerMatching()
StatusCode RpcTrackAnaAlg::triggerMatching |
( |
const xAOD::Muon * |
offline_muon, |
|
|
const std::vector< TagDef > & |
list_of_triggers |
|
) |
| const |
|
private |
Definition at line 716 of file RpcTrackAnaAlg.cxx.
720 return StatusCode::SUCCESS;
722 return StatusCode::SUCCESS;
724 muonvec.SetPtEtaPhi(offline_muon->
pt(), offline_muon->
eta(),
725 offline_muon->
phi());
727 for (
const auto& tagTrig : list_of_triggers) {
732 <<
"; tagTrig.tagTrig = "
737 std::vector<TrigCompositeUtils::LinkInfo<xAOD::MuonContainer>>
739 tagTrig.tagTrig.Data(), TrigDefs::Physics);
741 for (
const auto& aaa : features) {
743 auto trigmuon_link = aaa.link;
744 auto trigmuon = *trigmuon_link;
746 trigvec.SetPtEtaPhi(trigmuon->pt(), trigmuon->eta(),
749 return StatusCode::SUCCESS;
752 return StatusCode::FAILURE;
◆ updateVHKA()
◆ m_barrelMaxEta
FloatProperty RpcTrackAnaAlg::m_barrelMaxEta {this, "barrelMaxEta", 1.05} |
|
private |
◆ m_barrelMinEta
FloatProperty RpcTrackAnaAlg::m_barrelMinEta {this, "barrelMinEta", 0.1} |
|
private |
◆ m_barrelMinPt
FloatProperty RpcTrackAnaAlg::m_barrelMinPt {this, "barrelMinPt", 2.0e3} |
|
private |
◆ m_beamSigmaX
Initial value:{
this, "beamPosSigmaX", "EventInfo.beamPosSigmaX",
"Beam spot position sigma in X"}
Definition at line 192 of file RpcTrackAnaAlg.h.
◆ m_beamSigmaXY
Initial value:{
this, "beamPosSigmaXY", "EventInfo.beamPosSigmaXY",
"Beam spot covariance in XY"}
Definition at line 200 of file RpcTrackAnaAlg.h.
◆ m_beamSigmaY
Initial value:{
this, "beamPosSigmaY", "EventInfo.beamPosSigmaY",
"Beam spot position sigma in Y"}
Definition at line 195 of file RpcTrackAnaAlg.h.
◆ m_boundsToleranceReadoutElement
FloatProperty RpcTrackAnaAlg::m_boundsToleranceReadoutElement |
|
private |
Initial value:{
this, "boundsToleranceReadoutElement", 100.0,
"boundsToleranceReadoutElement"}
Definition at line 159 of file RpcTrackAnaAlg.h.
◆ m_boundsToleranceReadoutElementTight
FloatProperty RpcTrackAnaAlg::m_boundsToleranceReadoutElementTight |
|
private |
Initial value:{
this, "boundsToleranceReadoutElementTight", 20.0,
"boundsToleranceReadoutElementTight"}
Definition at line 162 of file RpcTrackAnaAlg.h.
◆ m_dataType
◆ m_dataTypeStr
Gaudi::Property<std::string> AthMonitorAlgorithm::m_dataTypeStr {this,"DataType","userDefined"} |
|
protectedinherited |
◆ m_defaultLBDuration
Gaudi::Property<float> AthMonitorAlgorithm::m_defaultLBDuration {this,"DefaultLBDuration",60.} |
|
protectedinherited |
◆ m_detailLevel
Gaudi::Property<int> AthMonitorAlgorithm::m_detailLevel {this,"DetailLevel",0} |
|
protectedinherited |
◆ m_detStore
◆ m_diffHitTrackPostion
FloatProperty RpcTrackAnaAlg::m_diffHitTrackPostion |
|
private |
Initial value:{
this, "diffHitTrackPostion", 30.0,
"the largest distance between hit and tracks local postion"}
Definition at line 166 of file RpcTrackAnaAlg.h.
◆ m_DQFilterTools
ToolHandleArray<IDQFilterTool> AthMonitorAlgorithm::m_DQFilterTools {this,"FilterTools",{}} |
|
protectedinherited |
◆ m_dummy
◆ m_elementIndex
std::map<std::string, int> RpcTrackAnaAlg::m_elementIndex {} |
|
private |
◆ m_elementsFileName
StringProperty RpcTrackAnaAlg::m_elementsFileName |
|
private |
Initial value:{this, "ElementsFileName", "Element.xml",
"Elements xml file"}
Definition at line 113 of file RpcTrackAnaAlg.h.
◆ m_enforceExpressTriggers
Gaudi::Property<bool> AthMonitorAlgorithm::m_enforceExpressTriggers |
|
privateinherited |
Initial value:{this,
"EnforceExpressTriggers", false,
"Requires that matched triggers made the event enter the express stream"}
Definition at line 372 of file AthMonitorAlgorithm.h.
◆ m_environment
◆ m_environmentStr
Gaudi::Property<std::string> AthMonitorAlgorithm::m_environmentStr {this,"Environment","user"} |
|
protectedinherited |
Environment string pulled from the job option and converted to enum.
Definition at line 352 of file AthMonitorAlgorithm.h.
◆ m_EventInfoKey
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_extrapolator
Initial value:{
this, "TrackExtrapolator", "Trk::Extrapolator/AtlasExtrapolator",
"Track extrapolator"}
Definition at line 177 of file RpcTrackAnaAlg.h.
◆ m_fileKey
Gaudi::Property<std::string> AthMonitorAlgorithm::m_fileKey {this,"FileKey",""} |
|
protectedinherited |
◆ m_gasGapData
std::map<std::pair<int, int>, std::vector<std::shared_ptr<GasGapData> > > RpcTrackAnaAlg::m_gasGapData {} |
|
private |
◆ m_idHelperSvc
Initial value:{
this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
Definition at line 172 of file RpcTrackAnaAlg.h.
◆ m_isolationWindow
FloatProperty RpcTrackAnaAlg::m_isolationWindow |
|
private |
Initial value:{
this, "IsolationWindow", 0.1,
"Window size in R for isolation with other muons"}
Definition at line 146 of file RpcTrackAnaAlg.h.
◆ m_l1trigMatchWindow
FloatProperty RpcTrackAnaAlg::m_l1trigMatchWindow |
|
private |
Initial value:{
this, "L1TrigMatchingWindow", 0.3,
"Window size in R for L1 trigger matching"}
Definition at line 149 of file RpcTrackAnaAlg.h.
◆ m_lbDuraThr
FloatProperty RpcTrackAnaAlg::m_lbDuraThr |
|
private |
Initial value:{this, "lbDuraThr", 10.,
"Thrshold of luminosity block deruation"}
Definition at line 108 of file RpcTrackAnaAlg.h.
◆ m_lbDurationDataKey
◆ m_lumiDataKey
◆ m_maxEta
FloatProperty RpcTrackAnaAlg::m_maxEta |
|
private |
Initial value:{this, "maxEta", 2.5,
"max eta absolute value of muon"}
Definition at line 129 of file RpcTrackAnaAlg.h.
◆ m_minDRTrackToGasGap
FloatProperty RpcTrackAnaAlg::m_minDRTrackToGasGap |
|
private |
Initial value:{
this, "minDRTrackToGasGap", 0.02,
"minimum of DR between track and gasgap"}
Definition at line 155 of file RpcTrackAnaAlg.h.
◆ m_minPt
FloatProperty RpcTrackAnaAlg::m_minPt {this, "minPt", 25.0e3, "minmum pT of muon"} |
|
private |
◆ m_MuonContainerKey
Initial value:{
this, "MuonContainerKey", "Muons",
"Key for Offline muon track Containers"}
Definition at line 182 of file RpcTrackAnaAlg.h.
◆ m_muonMass
FloatProperty RpcTrackAnaAlg::m_muonMass |
|
private |
Initial value:{this, "MuonMass", 105.6583755,
"muon invariant mass in MeV"}
Definition at line 137 of file RpcTrackAnaAlg.h.
◆ m_MuonRoIContainerKey
Initial value:{
this, "MuonRoIContainerName", "LVL1MuonRoIs", "Key for L1 ROIs"}
Definition at line 180 of file RpcTrackAnaAlg.h.
◆ m_name
std::string AthMonitorAlgorithm::m_name |
|
privateinherited |
◆ m_outtime
FloatProperty RpcTrackAnaAlg::m_outtime {this, "outtime", 12.5, "the out-time time"} |
|
private |
◆ m_packageName
StringProperty RpcTrackAnaAlg::m_packageName |
|
private |
Initial value:{this, "PackageName", "RpcTrackAnaAlg",
"group name for histograming"}
Definition at line 110 of file RpcTrackAnaAlg.h.
◆ m_plotMuonEff
BooleanProperty RpcTrackAnaAlg::m_plotMuonEff |
|
private |
Initial value:{
this, "plotMuonEff", false,
"switch to plot histograms for Muon Efficiency"}
Definition at line 99 of file RpcTrackAnaAlg.h.
◆ m_plotPRD
BooleanProperty RpcTrackAnaAlg::m_plotPRD |
|
private |
Initial value:{
this, "plotPRD", false,
"switch to plot histograms for Prepare Data objects"}
Definition at line 102 of file RpcTrackAnaAlg.h.
◆ m_PrimaryVertexContainerKey
Initial value:{
this, "PrimaryVertexContainerName", "PrimaryVertices",
"Primary Vertex Container"}
Definition at line 187 of file RpcTrackAnaAlg.h.
◆ m_rpcIdHelper
◆ m_rpcPanelMap
◆ m_rpcPrdKey
Initial value:{
this, "RpcPrepDataContainer", "RPC_Measurements", "RPC PRDs"}
Definition at line 185 of file RpcTrackAnaAlg.h.
◆ m_SectorGroup
std::map<std::string, int> RpcTrackAnaAlg::m_SectorGroup {} |
|
private |
◆ m_StationNames
std::map<BarrelDL, std::vector<int> > RpcTrackAnaAlg::m_StationNames {} |
|
private |
◆ m_TagAndProbe
BooleanProperty RpcTrackAnaAlg::m_TagAndProbe |
|
private |
Initial value:{this, "TagAndProbe", false,
"switch to perform tag-and-probe method"}
Definition at line 121 of file RpcTrackAnaAlg.h.
◆ m_TagAndProbeZmumu
BooleanProperty RpcTrackAnaAlg::m_TagAndProbeZmumu |
|
private |
Initial value:{
this, "TagAndProbeZmumu", false,
"switch to perform tag-and-probe method Z->mumu"}
Definition at line 123 of file RpcTrackAnaAlg.h.
◆ m_toolLookupMap
std::unordered_map<std::string, size_t> AthMonitorAlgorithm::m_toolLookupMap |
|
privateinherited |
◆ m_tools
◆ m_trigDecTool
◆ m_triggerChainString
Gaudi::Property<std::string> AthMonitorAlgorithm::m_triggerChainString {this,"TriggerChain",""} |
|
protectedinherited |
Trigger chain string pulled from the job option and parsed into a vector.
Definition at line 355 of file AthMonitorAlgorithm.h.
◆ m_TriggerThrGroup
std::map<std::string, int> RpcTrackAnaAlg::m_TriggerThrGroup {} |
|
private |
◆ m_trigLiveFractionDataKey
◆ m_trigMatchWindow
FloatProperty RpcTrackAnaAlg::m_trigMatchWindow |
|
private |
Initial value:{this, "TrigMatchingWindow", 0.005,
"Window size in R for trigger matching"}
Definition at line 119 of file RpcTrackAnaAlg.h.
◆ m_trigTagDefs
std::vector<TagDef> RpcTrackAnaAlg::m_trigTagDefs {} |
|
private |
◆ m_trigTagList
StringProperty RpcTrackAnaAlg::m_trigTagList |
|
private |
Initial value:{
this, "TagTrigList", "HLT_mu_ivarmedium;HLT_mu50",
"list of triggers to be used for trigger matching"}
Definition at line 116 of file RpcTrackAnaAlg.h.
◆ m_useAODParticle
BooleanProperty RpcTrackAnaAlg::m_useAODParticle |
|
private |
Initial value:{this, "useAODParticle", false,
"use AOD Particle"}
Definition at line 105 of file RpcTrackAnaAlg.h.
◆ m_useLumi
Gaudi::Property<bool> AthMonitorAlgorithm::m_useLumi {this,"EnableLumi",false} |
|
protectedinherited |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_vTrigChainNames
std::vector<std::string> AthMonitorAlgorithm::m_vTrigChainNames |
|
protectedinherited |
◆ m_zMass_lowLimit
FloatProperty RpcTrackAnaAlg::m_zMass_lowLimit |
|
private |
Initial value:{
this, "zMass_lowLimit", 50000.,
"2 muon invariant mass low limit in Zmumu event"}
Definition at line 139 of file RpcTrackAnaAlg.h.
◆ m_zMass_upLimit
FloatProperty RpcTrackAnaAlg::m_zMass_upLimit |
|
private |
Initial value:{
this, "zMass_upLimit", 150000.,
"2 muon invariant mass up limit in Zmumu event"}
Definition at line 142 of file RpcTrackAnaAlg.h.
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
std::unique_ptr< Trk::TrackParameters > computeTrackIntersectionWithGasGap(ExResult &result, const xAOD::TrackParticle *track_particle, const std::shared_ptr< GasGapData > &gap) const
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
std::map< std::string, int > m_TriggerThrGroup
constexpr uint8_t stationPhi
station Phi 1 to 8
BooleanProperty m_plotPRD
virtual bool inside(const Amg::Vector2D &locpo, double tol1=0., double tol2=0.) const =0
Each Bounds has a method inside, which checks if a LocalPosition is inside the bounds.
StatusCode triggerMatching(const xAOD::Muon *, const std::vector< TagDef > &) const
SG::ReadDecorHandleKey< xAOD::EventInfo > m_beamSigmaXY
bool IsNearbyHit(const std::vector< const Muon::RpcPrepData * > &cluster_hits, const Muon::RpcPrepData *hit) const
const_id_iterator detectorElement_begin() const
Iterators over full set of ids.
FloatProperty m_barrelMaxEta
Scalar phi() const
phi method
FloatProperty m_trigMatchWindow
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
Tool to tell whether a specific trigger is passed.
static std::string find_file(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
Scalar eta() const
pseudorapidity method
Eigen::Matrix< double, 2, 1 > Vector2D
int doubletZ(const Identifier &id) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
BooleanProperty m_plotMuonEff
SG::ReadDecorHandleKey< xAOD::EventInfo > m_beamSigmaX
virtual double phi() const
The azimuthal angle ( ) of the particle.
std::vector< std::string > m_vTrigChainNames
Vector of trigger chain names parsed from trigger chain string.
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)
double d0significance(const xAOD::TrackParticle *tp, double d0_uncert_beam_spot_2)
SG::ReadHandleKey< xAOD::EventInfo > m_EventInfoKey
Key for retrieving EventInfo from StoreGate.
FloatProperty m_minDRTrackToGasGap
virtual double eta() const
The pseudorapidity ( ) of the particle.
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_rpcPrdKey
bool measuresPhi(const Identifier &id) const override
const ToolHandle< Trig::TrigDecisionTool > & getTrigDecisionTool() const
Get the trigger decision tool member.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
BooleanProperty m_useAODParticle
std::vector< SG::VarHandleKeyArray * > m_vhka
FloatProperty m_barrelMinEta
std::unordered_map< std::string, size_t > m_toolLookupMap
AthMonitorAlgorithm::Environment_t m_environment
Instance of the Environment_t enum.
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
StringProperty m_packageName
std::map< std::string, int > m_SectorGroup
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
FloatProperty m_diffHitTrackPostion
int stationName(const Identifier &id) const
const_id_iterator detectorElement_end() const
bool empty() const
Test if the key is blank.
FloatProperty m_isolationWindow
__HOSTDEV__ double Phi_mpi_pi(double)
std::map< BarrelDL, std::vector< int > > m_StationNames
def gap(flags, cells_name, *args, **kw)
StatusCode fillHistPRD(const EventContext &ctx) const
bool trigChainsArePassed(const std::vector< std::string > &vTrigNames) const
Check whether triggers are passed.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
std::map< std::string, int > m_elementIndex
virtual void setOwner(IDataHandleHolder *o)=0
const ToolHandle< GenericMonitoringTool > m_dummy
int gasGap(const Identifier &id) const override
get the hashes
void SetPanelIndex(int index)
ToolHandle< Trk::IExtrapolator > m_extrapolator
float time() const
Returns the time.
StatusCode fillMuonExtrapolateEff(const EventContext &ctx) const
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
const Trk::Perigee & perigeeParameters() const
Returns the Trk::MeasuredPerigee track parameters.
FloatProperty m_l1trigMatchWindow
StatusCode extrapolate2RPC(const xAOD::TrackParticle *track, const Trk::PropDirection direction, std::vector< GasGapResult > &results, BarrelDL barrelDL) const
ToolHandleArray< IDQFilterTool > m_DQFilterTools
Array of Data Quality filter tools.
Handle class for reading a decoration on an object.
int doubletR(const Identifier &id) const
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SG::ReadHandleKey< xAOD::VertexContainer > m_PrimaryVertexContainerKey
Class to represent RPC measurements.
Generic monitoring tool for athena components.
StatusCode initRpcPanel()
::StatusCode StatusCode
StatusCode definition for legacy code.
FloatProperty m_boundsToleranceReadoutElementTight
void tolower(std::string &s)
virtual StatusCode fillHistograms(const EventContext &ctx) const =0
adds event to the monitoring histograms
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
FloatProperty m_zMass_upLimit
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Class describing a LVL1 muon region of interest.
StatusCode fillClusterSize(std::vector< const Muon::RpcPrepData * > &view_hits, const int panel_index, int LB, int phiSector, int isPhi) const
std::string getElementStr() const
BooleanProperty m_TagAndProbe
virtual double pt() const
The transverse momentum ( ) of the particle.
int strip(const Identifier &id) const
int getDoubletPhi() const
return DoubletPhi value for the given readout element, be aware that one RE can contain two DoubletPh...
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
float z() const
Returns the z position.
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Template to hold collections of MuonPrepRawData objects.
AthMonitorAlgorithm::DataType_t m_dataType
Instance of the DataType_t enum.
StatusCode readHitsPerGasgap(const EventContext &ctx, std::vector< GasGapResult > &results, MuonSource muon_source) const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
int stationPhi(const Identifier &id) const
Identifier identify() const
return the identifier
ToolHandleArray< GenericMonitoringTool > m_tools
Array of Generic Monitoring Tools.
boost::property_tree::ptree ptree
StringProperty m_elementsFileName
std::string res_panel[4][6]
std::string to_string(const DetectorType &type)
StatusCode setPanelIndex(std::shared_ptr< RpcPanel > panel)
Gaudi::Property< bool > m_enforceExpressTriggers
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonRoIContainerKey
int stationEta(const Identifier &id) const
SG::ReadDecorHandleKey< xAOD::EventInfo > m_beamSigmaY
Eigen::Matrix< double, 3, 1 > Vector3D
size_type module_hash_max() const
the maximum hash value
virtual StatusCode initialize() override
initialize
FloatProperty m_boundsToleranceReadoutElement
accumulate
Update flags based on parser line args.
bool empty() const noexcept
Class describing a Vertex.
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
#define ATH_MSG_WARNING(x)
StatusCode readElIndexFromXML()
std::map< std::pair< int, int >, std::vector< std::shared_ptr< GasGapData > > > m_gasGapData
Identifier identify() const override final
Returns the ATLAS Identifier of the MuonReadOutElement.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual StatusCode sysInitialize() override
Override sysInitialize.
Class describing a TrackParticle.
const Trk::Track * track() const
Returns a pointer (which can be NULL) to the Trk::Track which was used to make this TrackParticle.
std::pair< ExResult, const std::shared_ptr< GasGapData > > GasGapResult
StringProperty m_trigTagList
Declare a monitored scalar variable.
constexpr uint8_t stationEta
1 to 3
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
int getDoubletZ() const
return DoubletZ value for the given readout element
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
const ToolHandle< GenericMonitoringTool > & getGroup(const std::string &name) const
Get a specific monitoring tool from the tool handle array.
int doubletPhi(const Identifier &id) const
std::vector< TagDef > m_trigTagDefs
RpcPanelMap m_rpcPanelMap