  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
#include <CpmSimMonitorAlgorithm.h>
 | 
| 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...
  | 
|   | 
 | 
|   | CpmSimMonitorAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) | 
|   | 
| virtual  | ~CpmSimMonitorAlgorithm ()=default | 
|   | 
| 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, V, H > &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...
  | 
|   | 
 | 
| enum   | SummaryErrors {  
  EMTowerMismatch, 
HadTowerMismatch, 
EMRoIMismatch, 
TauRoIMismatch, 
 
  LeftCMXTobMismatch, 
RightCMXTobMismatch, 
LocalSumMismatch, 
RemoteSumMismatch, 
 
  TotalSumMismatch, 
TopoMismatch, 
NumberOfSummaryBins
 
 } | 
|   | 
| typedef std::vector< int >  | ErrorVector | 
|   | 
| typedef std::map< int, const xAOD::TriggerTower * >  | TriggerTowerMapEm | 
|   | 
| typedef std::map< int, const xAOD::TriggerTower * >  | TriggerTowerMapHad | 
|   | 
| typedef xAOD::CPMTowerMap_t  | CpmTowerMap | 
|   | 
| typedef std::map< int, const xAOD::CMXCPTob * >  | CmxCpTobMap | 
|   | 
| typedef std::map< int, const xAOD::CMXCPHits * >  | CmxCpHitsMap | 
|   | 
| typedef xAOD::CPMTobRoIMap_t  | CpmTobRoiMap | 
|   | 
| typedef std::vector< std::reference_wrapper< Monitored::IMonitoredVariable > >  | MonVarVec_t | 
|   | 
| typedef ServiceHandle< StoreGateSvc >  | StoreGateSvc_t | 
|   | 
 | 
| const TrigConf::L1Menu *  | getL1Menu (const EventContext &ctx) const | 
|   | 
| StatusCode  | setupMap (const xAOD::TriggerTowerContainer *coll, TriggerTowerMapEm &emmap, TriggerTowerMapHad &hadmap) const | 
|   | 
| StatusCode  | setupMap (const xAOD::CPMTowerContainer *coll, CpmTowerMap &map) const | 
|   | 
| StatusCode  | setupMap (const xAOD::CPMTobRoIContainer *coll, CpmTobRoiMap &map) const | 
|   | 
| StatusCode  | setupMap (const xAOD::CMXCPTobContainer *coll, CmxCpTobMap &map, std::vector< int > *parityMap=0) const | 
|   | 
| StatusCode  | setupMap (const xAOD::CMXCPHitsContainer *coll, CmxCpHitsMap &map) const | 
|   | 
| bool  | compareEm (const TriggerTowerMapEm &ttMap, const CpmTowerMap &cpMap, ErrorVector &errors, bool overlap) const | 
|   | 
| bool  | compareHad (const TriggerTowerMapHad &ttMap, const CpmTowerMap &cpMap, ErrorVector &errors, bool overlap) const | 
|   | 
| void  | compare (const CpmTobRoiMap &roiSimMap, const CpmTobRoiMap &roiMap, ErrorVector &errors, const xAOD::RODHeaderContainer *rodTES) const | 
|   | 
| void  | compare (const CmxCpTobMap &simMap, const CmxCpTobMap &datMap, const std::vector< int > &parityMap, ErrorVector &errorsCPM, ErrorVector &errorsCMX, const xAOD::RODHeaderContainer *rodTES) const | 
|   | 
| void  | compare (const CmxCpHitsMap &cmxSimMap, const CmxCpHitsMap &cmxMap, ErrorVector &errors, int selection) const | 
|   | 
| void  | simulate (const CpmTowerMap *towers, const CpmTowerMap *towersOv, xAOD::CPMTobRoIContainer *rois, const EventContext &ctx) const | 
|   | 
| void  | simulate (const CpmTowerMap *towers, xAOD::CPMTobRoIContainer *rois, const EventContext &ctx) const | 
|   | 
| void  | simulate (const xAOD::CPMTobRoIContainer *rois, xAOD::CMXCPTobContainer *tobs) const | 
|   | 
| void  | simulate (const xAOD::CMXCPTobContainer *tobs, xAOD::CMXCPHitsContainer *hits, int selection, const EventContext &ctx) const | 
|   | 
| void  | simulate (const xAOD::CMXCPHitsContainer *hitsIn, xAOD::CMXCPHitsContainer *hitsOut) const | 
|   | 
| int  | fpga (int crate, double phi) const | 
|   | 
| CpmTowerMap::mapped_type  | ttCheck (CpmTowerMap::mapped_type tt, xAOD::CPMTowerContainer *coll) const | 
|   | 
| bool  | limitedRoiSet (int crate, SG::ReadHandle< xAOD::RODHeaderContainer > &rodTES) const | 
|   | 
| bool  | limitedRoiSet (int crate, const xAOD::RODHeaderContainer *rodTES) const | 
|   | 
| int  | thresholdsSame (int val1, int val2, int nThresh, int nBits) const | 
|   | 
| int  | thresholdsDiff (int val1, int val2, int nThresh, int nBits) const | 
|   | 
| void  | fillXVsThresholds (Monitored::Scalar< int > &xitem, Monitored::Scalar< int > &yitem, Monitored::Scalar< int > &witem, int x, int val, int nThresh, int nBits, int offset=0) const | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleKey>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleKeyArray>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleBase>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) | 
|   | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>  More...
  | 
|   | 
 | 
| ServiceHandle< TrigConf::ITrigConfigSvc >  | m_configSvc {this, "TrigConfigSvc", "TrigConf::xAODConfigSvc/xAODConfigSvc"} | 
|   | 
| StringProperty  | m_packageName {this,"PackageName","CpmSimMonitor","group name for histograming"} | 
|   | 
| SG::WriteHandleKey< std::vector< int > >  | m_errorLocation {this,"ErrorLocation","L1CaloCPMMismatchVector","ErrorVector"} | 
|   | 
| Gaudi::Property< int >  | m_crates {this,"s_crates", 4, "Number of CPM crates"} | 
|   | 
| Gaudi::Property< int >  | m_modules {this,"s_modules", 14, "Number of modules per crate (modules numbered 1-14)"} | 
|   | 
| Gaudi::Property< int >  | m_maxSlices {this,"s_maxSlices", 5, "Maximum number of slices"} | 
|   | 
| Gaudi::Property< int >  | m_cmxs {this,"s_cmxs", 2, "Number of CMXs"} | 
|   | 
| Gaudi::Property< bool >  | m_legacyCpHadInputsDisabled {this,"s_legacyCpHadInputsDisabled", false, "Status of the L1Calo Legacy CP hadronic inputs"} | 
|   | 
| bool  | m_overlapPresent | 
|   | 
| SG::ReadHandleKey< xAOD::TriggerTowerContainer >  | m_triggerTowerLocation {this, "BS_xAODTriggerTowerContainer",LVL1::TrigT1CaloDefs::xAODTriggerTowerLocation,"TriggerTower Location"} | 
|   | 
| SG::ReadHandleKey< xAOD::CPMTowerContainer >  | m_cpmTowerLocation {this, "CPMTowerLocation", LVL1::TrigT1CaloDefs::CPMTowerLocation, "CPM container"} | 
|   | 
| SG::ReadHandleKey< xAOD::CPMTowerContainer >  | m_cpmTowerLocationOverlap {this, "CPMTowerLocationOverlap",LVL1::TrigT1CaloDefs::CPMTowerLocation + "Overlap", "CPM Overlap container"} | 
|   | 
| SG::ReadHandleKey< xAOD::CPMTobRoIContainer >  | m_cpmTobRoiLocation {this, "CPMTobRoILocation", LVL1::TrigT1CaloDefs::CPMTobRoILocation, "CPM RoI container"} | 
|   | 
| SG::ReadHandleKey< xAOD::CMXCPTobContainer >  | m_cmxCpTobLocation {this, "CMXCPTobLocation", LVL1::TrigT1CaloDefs::CMXCPTobLocation, "CMX CP Tob container"} | 
|   | 
| SG::ReadHandleKey< xAOD::CMXCPHitsContainer >  | m_cmxCpHitsLocation {this, "CMXCPHitsLocation", LVL1::TrigT1CaloDefs::CMXCPHitsLocation, "CMX CP Hits container"} | 
|   | 
| SG::ReadHandleKey< xAOD::RODHeaderContainer >  | m_rodHeaderLocation {this, "RodHeaderLocation", LVL1::TrigT1CaloDefs::RODHeaderLocation, "Rod header container"} | 
|   | 
| SG::ReadHandleKey< TrigConf::L1Menu >  | m_L1MenuKey { this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "L1 Menu" } | 
|   | 
| ToolHandle< LVL1::IL1CPCMXTools >  | m_cpCmxTool | 
|   | 
| ToolHandle< LVL1::IL1CPMTools >  | m_cpmTool | 
|   | 
| ToolHandle< LVL1::ITrigT1CaloMonErrorTool >  | m_errorTool | 
|   | 
| std::mutex  | m_mutex {} | 
|   | 
| std::map< uint32_t, int > m_errorLB_tt_counter  | ATLAS_THREAD_SAFE | 
|   | 
| std::map< uint32_t, int > m_errorLB_roi_counter  | ATLAS_THREAD_SAFE | 
|   | 
| std::map< uint32_t, int > m_errorLB_tob_counter  | ATLAS_THREAD_SAFE | 
|   | 
| std::map< uint32_t, int > m_errorLB_thresh_counter  | ATLAS_THREAD_SAFE | 
|   | 
| 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 40 of file CpmSimMonitorAlgorithm.h.
 
◆ CmxCpHitsMap
◆ CmxCpTobMap
◆ CpmTobRoiMap
◆ CpmTowerMap
◆ ErrorVector
◆ MonVarVec_t
◆ StoreGateSvc_t
◆ TriggerTowerMapEm
◆ TriggerTowerMapHad
◆ 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.
 
 
◆ SummaryErrors
| Enumerator | 
|---|
| EMTowerMismatch  |  | 
| HadTowerMismatch  |  | 
| EMRoIMismatch  |  | 
| TauRoIMismatch  |  | 
| LeftCMXTobMismatch  |  | 
| RightCMXTobMismatch  |  | 
| LocalSumMismatch  |  | 
| RemoteSumMismatch  |  | 
| TotalSumMismatch  |  | 
| TopoMismatch  |  | 
| NumberOfSummaryBins  |  | 
Definition at line 68 of file CpmSimMonitorAlgorithm.h.
 
 
◆ CpmSimMonitorAlgorithm()
      
        
          | CpmSimMonitorAlgorithm::CpmSimMonitorAlgorithm  | 
          ( | 
          const std::string &  | 
          name,  | 
        
        
           | 
           | 
          ISvcLocator *  | 
          pSvcLocator  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ ~CpmSimMonitorAlgorithm()
  
  
      
        
          | virtual CpmSimMonitorAlgorithm::~CpmSimMonitorAlgorithm  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
virtualdefault   | 
  
 
 
◆ 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.
 
 
◆ compare() [1/3]
Definition at line 1395 of file CpmSimMonitorAlgorithm.cxx.
 1399   ATH_MSG_DEBUG(
"Compare Simulated CMX Hit Sums and Data CMX Hit Sums");
 
 1444   CmxCpHitsMap::const_iterator cmxSimMapIter = cmxSimMap.begin();
 
 1445   CmxCpHitsMap::const_iterator cmxSimMapIterEnd = cmxSimMap.end();
 
 1446   CmxCpHitsMap::const_iterator cmxMapIter = cmxMap.begin();
 
 1447   CmxCpHitsMap::const_iterator cmxMapIterEnd = cmxMap.end();
 
 1449   while (cmxSimMapIter != cmxSimMapIterEnd || cmxMapIter != cmxMapIterEnd) {
 
 1453     unsigned int cmxSimHits0 = 0;
 
 1454     unsigned int cmxSimHits1 = 0;
 
 1455     unsigned int cmxHits0 = 0;
 
 1456     unsigned int cmxHits1 = 0;
 
 1461     if (cmxSimMapIter != cmxSimMapIterEnd)
 
 1462       cmxSimKey = cmxSimMapIter->first;
 
 1463     if (cmxMapIter != cmxMapIterEnd)
 
 1464       cmxKey = cmxMapIter->first;
 
 1466     if ((cmxMapIter == cmxMapIterEnd) ||
 
 1467         ((cmxSimMapIter != cmxSimMapIterEnd) && (cmxKey > cmxSimKey))) {
 
 1484       cmxSimHits0 = cmxS->
hits0();
 
 1485       cmxSimHits1 = cmxS->
hits1();
 
 1486       crate = cmxS->
crate();
 
 1489     } 
else if ((cmxSimMapIter == cmxSimMapIterEnd) ||
 
 1490                ((cmxMapIter != cmxMapIterEnd) && (cmxSimKey > cmxKey))) {
 
 1509       cmxHits0 = cmxD->
hits0();
 
 1510       cmxHits1 = cmxD->
hits1();
 
 1511       crate = cmxD->
crate();
 
 1536       cmxSimHits0 = cmxS->
hits0();
 
 1537       cmxSimHits1 = cmxS->
hits1();
 
 1538       cmxHits0 = cmxD->
hits0();
 
 1539       cmxHits1 = cmxD->
hits1();
 
 1540       crate = cmxS->
crate();
 
 1544     if (!cmxSimHits0 && !cmxSimHits1 && !cmxHits0 && !cmxHits1)
 
 1549     if (
local || total) {
 
 1550       int loc = crate * 
m_cmxs + cmx;
 
 1555       int loc_fill = (
local) ? loc : 14 + cmx;
 
 1556       if (cmxSimHits0 == cmxHits0 && cmxSimHits1 == cmxHits1) {
 
 1558     cmx_sum_loc_SimEqData=loc_fill;
 
 1561         errors[loc + cmxBins] |= bit;   
 
 1562         if ((cmxSimHits0 || cmxSimHits1) && (cmxHits0 || cmxHits1)) {
 
 1563       cmx_sum_loc_SimNeData=loc_fill;
 
 1565         } 
else if (!cmxHits0 && !cmxHits1) {
 
 1566       cmx_sum_loc_SimNoData=loc_fill;
 
 1569       cmx_sum_loc_DataNoSim=loc_fill;
 
 1574       loc = (
local) ? loc : 14 + cmx;
 
 1577       const int nThresh = 8;
 
 1578       const int thrLen = 3;
 
 1579       int same0 = 
thresholdsSame(cmxHits0, cmxSimHits0, nThresh, thrLen);
 
 1580       int diff0 = 
thresholdsDiff(cmxHits0, cmxSimHits0, nThresh, thrLen);
 
 1581       int same1 = 
thresholdsSame(cmxHits1, cmxSimHits1, nThresh, thrLen);
 
 1582       int diff1 = 
thresholdsDiff(cmxHits1, cmxSimHits1, nThresh, thrLen);
 
 1584       fillXVsThresholds(cmx_x_rightsums_SimEqData,cmx_y_rightsums_SimEqData,cmx_w_rightsums_SimEqData,
 
 1585                 loc, same0, nThresh, 1);
 
 1586       fillXVsThresholds(cmx_x_rightsums_SimNeData,cmx_y_rightsums_SimNeData,cmx_w_rightsums_SimNeData,
 
 1587                 loc, diff0, nThresh, 1);
 
 1588       const int offset = nThresh;
 
 1589       fillXVsThresholds(cmx_x_rightsums_SimEqData,cmx_y_rightsums_SimEqData,cmx_w_rightsums_SimEqData,
 
 1590                 loc, same1, nThresh, 1, 
offset);
 
 1591       fillXVsThresholds(cmx_x_rightsums_SimNeData,cmx_y_rightsums_SimNeData,cmx_w_rightsums_SimNeData,
 
 1592                 loc, diff1, nThresh, 1, 
offset);
 
 1594       fillXVsThresholds(cmx_x_leftsums_SimEqData,cmx_y_leftsums_SimEqData,cmx_w_leftsums_SimEqData,
 
 1595                 loc, same0, nThresh, 1);
 
 1596       fillXVsThresholds(cmx_x_leftsums_SimNeData,cmx_y_leftsums_SimNeData,cmx_w_leftsums_SimNeData,
 
 1597                 loc, diff0, nThresh, 1);
 
 1598       const int offset = nThresh;
 
 1599       fillXVsThresholds(cmx_x_leftsums_SimEqData,cmx_y_leftsums_SimEqData,cmx_w_leftsums_SimEqData,
 
 1600                 loc, same1, nThresh, 1, 
offset);
 
 1601       fillXVsThresholds(cmx_x_leftsums_SimNeData,cmx_y_leftsums_SimNeData,cmx_w_leftsums_SimNeData,
 
 1602                 loc, diff1, nThresh, 1, 
offset);
 
 1607           hits0Sim[crate * 
m_cmxs + cmx] = cmxSimHits0;
 
 1608           hits1Sim[crate * 
m_cmxs + cmx] = cmxSimHits1;
 
 1612         hits0[remCrate * 
m_cmxs + cmx] = cmxHits0;
 
 1613         hits1[remCrate * 
m_cmxs + cmx] = cmxHits1;
 
 1620       if (cmxSimHits0 == cmxHits0 && cmxSimHits1 == cmxHits1) {
 
 1622     cmxTopoLocXSimEqData=
locX;
 
 1623     cmxTopoLocYSimEqData=
locY;
 
 1627         if ((cmxSimHits0 || cmxSimHits1) && (cmxHits0 || cmxHits1)) {
 
 1628       cmxTopoLocXSimNeData=
locX;
 
 1629       cmxTopoLocYSimNeData=
locY;
 
 1631         } 
else if (!cmxHits0 && !cmxHits1) {
 
 1632       cmxTopoLocXSimNoData=
locX;
 
 1633       cmxTopoLocYSimNoData=
locY;
 
 1636       cmxTopoLocXDataNoSim=
locX;
 
 1637       cmxTopoLocYDataNoSim=
locY;
 
 1644     for (
int crate = 0; crate < 
m_crates - 1; ++crate) {
 
 1645       for (
int cmx = 0; cmx < 
m_cmxs; ++cmx) {
 
 1646         int loc = crate * 
m_cmxs + cmx;
 
 1649         const unsigned int hd0 = hits0[loc];
 
 1650         const unsigned int hd1 = hits1[loc];
 
 1651         const unsigned int hs0 = hits0Sim[loc];
 
 1652         const unsigned int hs1 = hits1Sim[loc];
 
 1654         if (!hd0 && !hd1 && !hs0 && !hs1)
 
 1657     int loc_fill = loc + 8;
 
 1658         if (hs0 == hd0 && hs1 == hd1) {
 
 1660       cmx_sum_loc_SimEqData=loc_fill;
 
 1663           errors[loc + cmxBins] |= bit;   
 
 1664           if ((hs0 || hs1) && (hd0 || hd1)) {
 
 1665         cmx_sum_loc_SimNeData=loc_fill;
 
 1667           } 
else if (!hd0 && !hd1) {
 
 1668         cmx_sum_loc_SimNoData=loc_fill;
 
 1671         cmx_sum_loc_DataNoSim=loc_fill;
 
 1679         const int nThresh = 8;
 
 1680         const int thrLen = 3;
 
 1686       fillXVsThresholds(cmx_x_rightsums_SimEqData,cmx_y_rightsums_SimEqData,cmx_w_rightsums_SimEqData,
 
 1687                 loc, same0, nThresh, 1);
 
 1688       fillXVsThresholds(cmx_x_rightsums_SimNeData,cmx_y_rightsums_SimNeData,cmx_w_rightsums_SimNeData,
 
 1689                 loc, diff0, nThresh, 1);
 
 1690       const int offset = nThresh;
 
 1691       fillXVsThresholds(cmx_x_rightsums_SimEqData,cmx_y_rightsums_SimEqData,cmx_w_rightsums_SimEqData,
 
 1692                 loc, same1, nThresh, 1, 
offset);
 
 1693       fillXVsThresholds(cmx_x_rightsums_SimNeData,cmx_y_rightsums_SimNeData,cmx_w_rightsums_SimNeData,
 
 1694                 loc, diff1, nThresh, 1, 
offset);
 
 1696       fillXVsThresholds(cmx_x_leftsums_SimEqData,cmx_y_leftsums_SimEqData,cmx_w_leftsums_SimEqData,
 
 1697                 loc, same0, nThresh, 1);
 
 1698       fillXVsThresholds(cmx_x_leftsums_SimNeData,cmx_y_leftsums_SimNeData,cmx_w_leftsums_SimNeData,
 
 1699                 loc, diff0, nThresh, 1);
 
 1700       const int offset = nThresh;
 
 1701       fillXVsThresholds(cmx_x_leftsums_SimEqData,cmx_y_leftsums_SimEqData,cmx_w_leftsums_SimEqData,
 
 1702                 loc, same1, nThresh, 1, 
offset);
 
 1703       fillXVsThresholds(cmx_x_leftsums_SimNeData,cmx_y_leftsums_SimNeData,cmx_w_leftsums_SimNeData,
 
 1704                 loc, diff1, nThresh, 1, 
offset);
 
 
 
 
◆ compare() [2/3]
Definition at line 1094 of file CpmSimMonitorAlgorithm.cxx.
 1162   CmxCpTobMap::const_iterator simMapIter = simMap.begin();
 
 1163   CmxCpTobMap::const_iterator simMapIterEnd = simMap.end();
 
 1164   CmxCpTobMap::const_iterator datMapIter = datMap.begin();
 
 1165   CmxCpTobMap::const_iterator datMapIterEnd = datMap.end();
 
 1167   while (simMapIter != simMapIterEnd || datMapIter != datMapIterEnd) {
 
 1179     if (simMapIter != simMapIterEnd)
 
 1180       simKey = simMapIter->first;
 
 1181     if (datMapIter != datMapIterEnd)
 
 1182       datKey = datMapIter->first;
 
 1184     if ((datMapIter == datMapIterEnd) ||
 
 1185         ((simMapIter != simMapIterEnd) && (datKey > simKey))) {
 
 1189       tob = simMapIter->second;
 
 1190       simEnergy = tob->
energy();
 
 1195     } 
else if ((simMapIter == simMapIterEnd) ||
 
 1196                ((datMapIter != datMapIterEnd) && (simKey > datKey))) {
 
 1200       tob = datMapIter->second;
 
 1201       datEnergy = tob->
energy();
 
 1211       tob = datMapIter->second;
 
 1212       simEnergy = tobS->
energy();
 
 1215       datEnergy = tob->
energy();
 
 1222     if (!simEnergy && !simIsol && !datEnergy && !datIsol)
 
 1227     const int crate = tob->
crate();
 
 1230     const int cpm = tob->
cpm();
 
 1231     const int cmx = tob->
cmx();
 
 1232     if (!datEnergy && !datIsol) {
 
 1234       if (parityMap[
index])
 
 1240     const int chip = tob->
chip();
 
 1243     const int locY = chip * 4 + loc;
 
 1248     const uint32_t roiWord = ((((((crate << 4) + cpm) << 4) + chip) << 2) + loc)
 
 1255     if (simEnergy || datEnergy) {
 
 1256       if (simEnergy == datEnergy) {
 
 1257         errorsCPM[
locX] |= bit;
 
 1258         errorsCMX[
loc2] |= bit;
 
 1260       cmxRightEnerSimEqDataLocX=
locX;
 
 1261       cmxRightEnerSimEqDataLocY=
locY;
 
 1264       cmxLeftEnerSimEqDataLocX=
locX;
 
 1265       cmxLeftEnerSimEqDataLocY=
locY;
 
 1269         errorsCPM[
locX + cpmBins] |= bit;
 
 1270         errorsCMX[
loc2 + cmxBins] |= bit;
 
 1271         if (simEnergy && datEnergy) {
 
 1273         cmxRightEnerSimNeDataLocX=
locX;
 
 1274         cmxRightEnerSimNeDataLocY=
locY;
 
 1277         cmxLeftEnerSimNeDataLocX=
locX;
 
 1278         cmxLeftEnerSimNeDataLocY=
locY;
 
 1281         } 
else if (simEnergy && !datEnergy) {
 
 1283         cmxRightEnerSimNoDataLocX=
locX;
 
 1284         cmxRightEnerSimNoDataLocY=
locY;
 
 1287         cmxLeftEnerSimNoDataLocX=
locX;
 
 1288         cmxLeftEnerSimNoDataLocY=
locY;
 
 1293         cmxRightEnerDataNoSimLocX=
locX;
 
 1294         cmxRightEnerDataNoSimLocY=
locY;
 
 1297         cmxLeftEnerDataNoSimLocX=
locX;
 
 1298         cmxLeftEnerDataNoSimLocY=
locY;
 
 1304     if (simIsol || datIsol) {
 
 1305       if (simIsol == datIsol) {
 
 1306         errorsCPM[
locX] |= bit;
 
 1307         errorsCMX[
loc2] |= bit;
 
 1309       cmxRightIsolSimEqDataLocX=
locX;
 
 1310       cmxRightIsolSimEqDataLocY=
locY;
 
 1313       cmxLeftIsolSimEqDataLocX=
locX;
 
 1314       cmxLeftIsolSimEqDataLocY=
locY;
 
 1318         errorsCPM[
locX + cpmBins] |= bit;
 
 1319         errorsCMX[
loc2 + cmxBins] |= bit;
 
 1320         if (simIsol && datIsol) {
 
 1322         cmxRightIsolSimNeDataLocX=
locX;
 
 1323         cmxRightIsolSimNeDataLocY=
locY;
 
 1326         cmxLeftIsolSimNeDataLocX=
locX;
 
 1327         cmxLeftIsolSimNeDataLocY=
locY;
 
 1330         } 
else if (simIsol && !datIsol) {
 
 1332         cmxRightIsolSimNoDataLocX=
locX;
 
 1333         cmxRightIsolSimNoDataLocY=
locY;
 
 1336         cmxLeftIsolSimNoDataLocX=
locX;
 
 1337         cmxLeftIsolSimNoDataLocY=
locY;
 
 1342         cmxRightIsolDataNoSimLocX=
locX;
 
 1343         cmxRightIsolDataNoSimLocY=
locY;
 
 1346         cmxLeftIsolDataNoSimLocX=
locX;
 
 1347         cmxLeftIsolDataNoSimLocY=
locY;
 
 1353     if (simOvf || datOvf) {
 
 1354       if (simOvf == datOvf) {
 
 1355         errorsCPM[
locX] |= bit;
 
 1356         errorsCMX[
loc2] |= bit;
 
 1357     cmxOverLocXSimEqData = 
locX;
 
 1358     cmxOverCmxSimEqData = cmx;
 
 1361         errorsCPM[
locX + cpmBins] |= bit;
 
 1362         errorsCMX[
loc2 + cmxBins] |= bit;
 
 1363     cmxOverLocXSimNeData = 
locX;
 
 1364     cmxOverCmxSimNeData = cmx;
 
 1368     const double phiMod = 
phi * (32./
M_PI) - 0.5;
 
 1370     if (simEnergy == datEnergy && simIsol == datIsol) {
 
 1372       cmxPhiSimEqData=phiMod;
 
 1375       if ((simEnergy || simIsol) && (datEnergy || datIsol)) {
 
 1377     cmxPhiSimNeData=phiMod;
 
 1379       } 
else if (!datEnergy && !datIsol) {
 
 1381     cmxPhiSimNoData=phiMod;
 
 1385     cmxPhiDataNoSim=phiMod;
 
 
 
 
◆ compare() [3/3]
Definition at line 834 of file CpmSimMonitorAlgorithm.cxx.
  841   CpmTobRoiMap::const_iterator simMapIter = roiSimMap.begin();
 
  842   CpmTobRoiMap::const_iterator simMapIterEnd = roiSimMap.end();
 
  843   CpmTobRoiMap::const_iterator datMapIter = roiMap.begin();
 
  844   CpmTobRoiMap::const_iterator datMapIterEnd = roiMap.end();
 
  899   while (simMapIter != simMapIterEnd || datMapIter != datMapIterEnd) {
 
  903     unsigned int simEnergy = 0;
 
  904     unsigned int datEnergy = 0;
 
  905     unsigned int simIsol = 0;
 
  906     unsigned int datIsol = 0;
 
  909     if (simMapIter != simMapIterEnd)
 
  910       simKey = simMapIter->first;
 
  911     if (datMapIter != datMapIterEnd)
 
  912       datKey = datMapIter->first;
 
  914     if ((datMapIter == datMapIterEnd) ||
 
  915         ((simMapIter != simMapIterEnd) && (datKey > simKey))) {
 
  919       roi = simMapIter->second;
 
  920       simEnergy = roi->
energy();
 
  924     } 
else if ((simMapIter == simMapIterEnd) ||
 
  925                ((datMapIter != datMapIterEnd) && (simKey > datKey))) {
 
  929       roi = datMapIter->second;
 
  930       datEnergy = roi->
energy();
 
  939       roi = datMapIter->second;
 
  940       simEnergy = roiS->
energy();
 
  942       datEnergy = roi->
energy();
 
  948     if (!simEnergy && !simIsol && !datEnergy && !datIsol)
 
  953     const int crate = roi->
crate();
 
  959     const int cpm = roi->
cpm();
 
  960     const int chip = roi->
chip();
 
  973     if (simEnergy || datEnergy) {
 
  974       if (simEnergy == datEnergy) {
 
  977       tauEnerSimEqDataLocX=
locX;
 
  978       tauEnerSimEqDataLocY=
locY;
 
  981       emEnerSimEqDataLocX=
locX;
 
  982       emEnerSimEqDataLocY=
locY;
 
  987         if (simEnergy && datEnergy) {
 
  989         tauEnerSimNeDataLocX=
locX;
 
  990         tauEnerSimNeDataLocY=
locY;
 
  993         emEnerSimNeDataLocX=
locX;
 
  994         emEnerSimNeDataLocY=
locY;
 
  997         } 
else if (simEnergy && !datEnergy) {
 
  999         tauEnerSimNoDataLocX=
locX;
 
 1000         tauEnerSimNoDataLocY=
locY;
 
 1003         emEnerSimNoDataLocX=
locX;
 
 1004         emEnerSimNoDataLocY=
locY;
 
 1009         tauEnerDataNoSimLocX=
locX;
 
 1010         tauEnerDataNoSimLocY=
locY;
 
 1013         emEnerDataNoSimLocX=
locX;
 
 1014         emEnerDataNoSimLocY=
locY;
 
 1020     if (simIsol || datIsol) {
 
 1021       if (simIsol == datIsol) {
 
 1024       tauIsolSimEqDataLocX=
locX;
 
 1025       tauIsolSimEqDataLocY=
locY;
 
 1028       emIsolSimEqDataLocX=
locX;
 
 1029       emIsolSimEqDataLocY=
locY;
 
 1035         if (simIsol && datIsol) {
 
 1037         tauIsolSimNeDataLocX=
locX;
 
 1038         tauIsolSimNeDataLocY=
locY;
 
 1041         emIsolSimNeDataLocX=
locX;
 
 1042         emIsolSimNeDataLocY=
locY;
 
 1045         } 
else if (simIsol && !datIsol) {
 
 1047         tauIsolSimNoDataLocX=
locX;
 
 1048         tauIsolSimNoDataLocY=
locY;
 
 1051         emIsolSimNoDataLocX=
locX;
 
 1052         emIsolSimNoDataLocY=
locY;
 
 1057         tauIsolDataNoSimLocX=
locX;
 
 1058         tauIsolDataNoSimLocY=
locY;
 
 1061         emIsolDataNoSimLocX=
locX;
 
 1062         emIsolDataNoSimLocY=
locY;
 
 1068     const double phiMod = (
phi * (32./
M_PI)) - 0.5;
 
 1070     if (simEnergy == datEnergy && simIsol == datIsol) {
 
 1072       roiPhiSimEqData=phiMod;
 
 1075       if ((simEnergy || simIsol) && (datEnergy || datIsol)) {
 
 1077     roiPhiSimNeData=phiMod;
 
 1079       } 
else if (!datEnergy && !datIsol) {
 
 1081     roiPhiSimNoData=phiMod;
 
 1085     roiPhiDataNoSim=phiMod;
 
 
 
 
◆ compareEm()
Definition at line 387 of file CpmSimMonitorAlgorithm.cxx.
  431   bool mismatch = 
false;
 
  433   TriggerTowerMapEm::const_iterator ttMapIter = ttMap.begin();
 
  434   TriggerTowerMapEm::const_iterator ttMapIterEnd = ttMap.end();
 
  435   CpmTowerMap::const_iterator cpMapIter = cpMap.begin();
 
  436   CpmTowerMap::const_iterator cpMapIterEnd = cpMap.end();
 
  438   while (ttMapIter != ttMapIterEnd || cpMapIter != cpMapIterEnd) {
 
  448     if (ttMapIter != ttMapIterEnd)
 
  449       ttKey = ttMapIter->first;
 
  450     if (cpMapIter != cpMapIterEnd)
 
  451       cpKey = cpMapIter->first;
 
  453     if ((cpMapIter == cpMapIterEnd) ||
 
  454         ((ttMapIter != ttMapIterEnd) && (cpKey > ttKey))) {
 
  475     } 
else if ((ttMapIter == ttMapIterEnd) ||
 
  476                ((cpMapIter != cpMapIterEnd) && (ttKey > cpKey))) {
 
  484       cpEm = 
cp->emEnergy();
 
  503       cpEm = 
cp->emEnergy();
 
  518     const int loc = crate * 
m_modules + cpm - 1;
 
  521     double phiFPGA = 
phi;
 
  523       const double twoPi = 2. * 
M_PI;
 
  524       const double piByFour = 
M_PI / 4.;
 
  525       if (
phi > 7. * piByFour)
 
  527       else if (
phi < piByFour)
 
  530     const int loc2 = 
fpga(crate, phiFPGA);
 
  532     const double phiMod = 
phi * (32./
M_PI);
 
  534     if (ttEm && ttEm == cpEm) { 
 
  537     eta_em_PpmEqOverlap=
eta;
 
  538     phi_em_PpmEqOverlap=phiMod;
 
  542     phi_em_PpmEqCor=phiMod;
 
  545       loc_PpmEqCpmFpga=loc;
 
  546       loc_fpga_PpmEqCpmFpga=
loc2;
 
  549     } 
else if (ttEm != cpEm) { 
 
  551       errors[loc + cpmBins] |= bitEm;
 
  554       eta_em_PpmNeOverlap=
eta;
 
  555       phi_em_PpmNeOverlap=phiMod;
 
  559       phi_em_PpmNeCor=phiMod;
 
  562     loc_PpmNeCpmFpga=loc;
 
  563     loc_fpga_PpmNeCpmFpga=
loc2;
 
  568       eta_em_PpmNoOverlap=
eta;
 
  569       phi_em_PpmNoOverlap=phiMod;
 
  573       phi_em_PpmNoCor=phiMod;
 
  576     loc_PpmNoCpmFpga=loc;
 
  577     loc_fpga_PpmNoCpmFpga=
loc2;
 
  583       eta_em_OverlapNoPpm=
eta;
 
  584       phi_em_OverlapNoPpm=phiMod;
 
  587       eta_em_OverlapNoPpm=
eta;
 
  588       phi_em_OverlapNoPpm=phiMod;
 
  591     loc_CpmNoPpmFpga=loc;
 
  592     loc_fpga_CpmNoPpmFpga=
loc2;
 
  596       ATH_MSG_DEBUG(
" EMTowerMismatch key/eta/phi/crate/cpm/tt/cp: " 
  597             << 
key << 
"/" << 
eta << 
"/" << 
phi << 
"/" << crate
 
  598             << 
"/" << cpm << 
"/" << ttEm << 
"/" << cpEm);
 
 
 
 
◆ compareHad()
Definition at line 605 of file CpmSimMonitorAlgorithm.cxx.
  651   bool mismatch = 
false;
 
  653   TriggerTowerMapHad::const_iterator ttMapIter = ttMap.begin();
 
  654   TriggerTowerMapHad::const_iterator ttMapIterEnd = ttMap.end();
 
  655   CpmTowerMap::const_iterator cpMapIter = cpMap.begin();
 
  656   CpmTowerMap::const_iterator cpMapIterEnd = cpMap.end();
 
  658   while (ttMapIter != ttMapIterEnd || cpMapIter != cpMapIterEnd) {
 
  668     if (ttMapIter != ttMapIterEnd)
 
  669       ttKey = ttMapIter->first;
 
  670     if (cpMapIter != cpMapIterEnd)
 
  671       cpKey = cpMapIter->first;
 
  673     if ((cpMapIter == cpMapIterEnd) ||
 
  674         ((ttMapIter != ttMapIterEnd) && (cpKey > ttKey))) {
 
  699     } 
else if ((ttMapIter == ttMapIterEnd) ||
 
  700                ((cpMapIter != cpMapIterEnd) && (ttKey > cpKey))) {
 
  708       cpHad = 
cp->hadEnergy();
 
  730       cpHad = 
cp->hadEnergy();
 
  734     if (!ttHad && !cpHad)
 
  745     const int loc = crate * 
m_modules + cpm - 1;
 
  748     double phiFPGA = 
phi;
 
  750       const double twoPi = 2. * 
M_PI;
 
  751       const double piByFour = 
M_PI / 4.;
 
  752       if (
phi > 7. * piByFour)
 
  754       else if (
phi < piByFour)
 
  757     const int loc2 = 
fpga(crate, phiFPGA);
 
  758     const int loc2Mod = 
loc2+1;
 
  760     const double phiMod = 
phi * (32./
M_PI);
 
  761     if (ttHad && ttHad == cpHad) { 
 
  764     eta_had_PpmEqOverlap=
eta;
 
  765     phi_had_PpmEqOverlap=phiMod;
 
  768     eta_had_PpmEqCor=
eta;
 
  769     phi_had_PpmEqCor=phiMod;
 
  772       loc_PpmEqCpmFpga=loc;
 
  773       loc_fpga_PpmEqCpmFpga=loc2Mod;
 
  777     } 
else if (ttHad != cpHad) { 
 
  779       errors[loc + cpmBins] |= bitHad;
 
  780       if (ttHad && cpHad) { 
 
  782       eta_had_PpmNeOverlap=
eta;
 
  783       phi_had_PpmNeOverlap=phiMod;
 
  786       eta_had_PpmNeCor=
eta;
 
  787       phi_had_PpmNeCor=phiMod;
 
  790     loc_PpmNeCpmFpga=loc;
 
  791     loc_fpga_PpmNeCpmFpga=loc2Mod;
 
  795       eta_had_PpmNoOverlap=
eta;
 
  796       phi_had_PpmNoOverlap=phiMod;
 
  799       eta_had_PpmNoCor=
eta;
 
  800       phi_had_PpmNoCor=phiMod;
 
  803     loc_PpmNoCpmFpga=loc;
 
  804     loc_fpga_PpmNoCpmFpga=loc2Mod;
 
  809       eta_had_OverlapNoPpm=
eta;
 
  810       phi_had_OverlapNoPpm=phiMod;
 
  813       eta_had_OverlapNoPpm=
eta;
 
  814       phi_had_OverlapNoPpm=phiMod;
 
  817     loc_CpmNoPpmFpga=loc;
 
  818     loc_fpga_CpmNoPpmFpga=loc2Mod;
 
  822       ATH_MSG_DEBUG(
" HadTowerMismatch key/eta/phi/crate/cpm/tt/cp: " 
  823             << 
key << 
"/" << 
eta << 
"/" << 
phi << 
"/" << crate
 
  824             << 
"/" << cpm << 
"/" << ttHad << 
"/" << cpHad);
 
 
 
 
◆ 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.
 
 
◆ fillHistograms()
  
  
      
        
          | StatusCode CpmSimMonitorAlgorithm::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 59 of file CpmSimMonitorAlgorithm.cxx.
   64   std::vector<std::reference_wrapper<Monitored::IMonitoredVariable>> 
variables;
 
  134   bool overlap = 
false;
 
  135   bool mismatchCoreEm = 
false;
 
  136   bool mismatchCoreHad = 
false;
 
  137   bool mismatchOverlapEm = 
false;
 
  138   bool mismatchOverlapHad = 
false;
 
  140   mismatchCoreEm = 
compareEm(ttMapEm, cpMap, errorsCPM, overlap);
 
  141   mismatchCoreHad = 
compareHad(ttMapHad, cpMap, errorsCPM, overlap);
 
  144     mismatchOverlapEm = 
compareEm(ttMapEm, ovMap, errorsCPM, overlap);
 
  145     mismatchOverlapHad = 
compareHad(ttMapHad, ovMap, errorsCPM, overlap); 
 
  151   std::unique_ptr<xAOD::CPMTobRoIContainer> cpmRoiSIM = std::make_unique<xAOD::CPMTobRoIContainer>();
 
  152   std::unique_ptr<xAOD::CPMTobRoIAuxContainer> cpmRoiSIMAux = std::make_unique<xAOD::CPMTobRoIAuxContainer>();
 
  154   cpmRoiSIM.get()->setStore(cpmRoiSIMAux.get());
 
  155   if (mismatchCoreEm || mismatchCoreHad || mismatchOverlapEm ||
 
  156       mismatchOverlapHad) {
 
  157     simulate(&cpMap, &ovMap, cpmRoiSIM.get(), ctx);
 
  159     simulate(&cpMap, cpmRoiSIM.get(), ctx);
 
  165   compare(crSimMap, crMap, errorsCPM, rodTESptr);
 
  170   std::unique_ptr<xAOD::CMXCPTobContainer> cmxCpTobSIM = std::make_unique<xAOD::CMXCPTobContainer>();
 
  171   std::unique_ptr<xAOD::CMXCPTobAuxContainer> cmxCpTobSIMAux = std::make_unique<xAOD::CMXCPTobAuxContainer>();
 
  173   cmxCpTobSIM.get()->setStore(cmxCpTobSIMAux.get());
 
  174   simulate(cpmRoiTESptr, cmxCpTobSIM.get());
 
  178   compare(cbSimMap, cbMap, parityMap, errorsCPM, errorsCMX, rodTESptr);
 
  183   std::unique_ptr<xAOD::CMXCPHitsContainer> cmxLocalSIM = std::make_unique<xAOD::CMXCPHitsContainer>();
 
  184   std::unique_ptr<xAOD::CMXCPHitsAuxContainer> cmxLocalSIMAux = std::make_unique<xAOD::CMXCPHitsAuxContainer>();
 
  185   cmxLocalSIM.get()->setStore(cmxLocalSIMAux.get());
 
  191   cmxLocalSimMap.clear();
 
  200   std::unique_ptr<xAOD::CMXCPHitsContainer> cmxTotalSIM = std::make_unique<xAOD::CMXCPHitsContainer>();
 
  201   std::unique_ptr<xAOD::CMXCPHitsAuxContainer> cmxTotalSIMAux = std::make_unique<xAOD::CMXCPHitsAuxContainer>();
 
  203   cmxTotalSIM->setStore(cmxTotalSIMAux.get());
 
  204   simulate(cmxCpHitsTESptr, cmxTotalSIM.get());
 
  209   cmxTotalSimMap.clear();
 
  214   std::unique_ptr<xAOD::CMXCPHitsContainer> cmxTopoSIM = std::make_unique<xAOD::CMXCPHitsContainer>();
 
  215   std::unique_ptr<xAOD::CMXCPHitsAuxContainer> cmxTopoSIMAux = std::make_unique<xAOD::CMXCPHitsAuxContainer>();
 
  216   cmxTopoSIM.get()->setStore(cmxTopoSIMAux.get());
 
  222   cmxTopoSimMap.clear();
 
  240   const int maxErrorsPerLB=10;
 
  241   bool error_tt{
false}, error_roi{
false}, error_tob{
false}, error_thresh{
false};
 
  250     for (
int loc = 0; loc < cpmBins; ++loc) {
 
  251       if ((errorsCPM[loc] >> 
err) & 0
x1) {
 
  256       const long long eventNumber = ctx.eventID().event_number();
 
  257       if ((errorsCPM[loc + cpmBins] >> 
err) & 0
x1) {
 
  258     cpmErrorLoc_SimNeData=loc;
 
  259     cpmError_SimNeData=
err;
 
  269             m_errorLB_tt_counter[
lb]+=1;
 
  272           if (m_errorLB_tt_counter[
lb]<=maxErrorsPerLB) {
 
  284       } 
else if (
err==2 || 
err==3) {
 
  289             m_errorLB_roi_counter[
lb]+=1;
 
  292           if (m_errorLB_roi_counter[
lb]<=maxErrorsPerLB) {
 
  304       } 
else if (
err==4 || 
err==5) {
 
  309             m_errorLB_tob_counter[
lb]+=1;
 
  312           if(m_errorLB_tob_counter[
lb]<=maxErrorsPerLB) {
 
  328         if ((errorsCMX[loc] >> 
err) & 0
x1) {
 
  329       cpmErrorLoc=loc+cpmBins;
 
  333         if ((errorsCMX[loc + cmxBins] >> 
err) & 0
x1) {
 
  334       cpmErrorLoc_SimNeData=loc+cpmBins;
 
  335       cpmError_SimNeData=
err;
 
  351             m_errorLB_thresh_counter[
lb]+=1;
 
  354         if(m_errorLB_thresh_counter[
lb]<=maxErrorsPerLB) {
 
  372     auto save = std::make_unique<ErrorVector>(crateErr);
 
  376       return StatusCode::FAILURE;
 
  384   return StatusCode::SUCCESS;
 
 
 
 
◆ fillXVsThresholds()
◆ filterPassed()
◆ fpga()
  
  
      
        
          | int CpmSimMonitorAlgorithm::fpga  | 
          ( | 
          int  | 
          crate,  | 
         
        
           | 
           | 
          double  | 
          phi  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
private   | 
  
 
 
◆ 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 << 
"}.");
 
 
 
 
◆ getL1Menu()
◆ 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.
 
 
◆ initialize()
  
  
      
        
          | StatusCode CpmSimMonitorAlgorithm::initialize  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ 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()
◆ limitedRoiSet() [1/2]
Definition at line 2017 of file CpmSimMonitorAlgorithm.cxx.
 2022   for (; rodIter != rodIterE; ++rodIter) {
 
 2024     const int rodCrate = 
rod->crate() - 8;
 
 2025     if (rodCrate >= 0 && rodCrate < m_crates && rod->
dataType() == 1 &&
 
 2026     rod->limitedRoISet()) {
 
 2027       limitedRoi |= (1 << rodCrate);
 
 2030   return (((limitedRoi >> crate) & 0
x1) == 1);
 
 
 
 
◆ limitedRoiSet() [2/2]
Definition at line 2033 of file CpmSimMonitorAlgorithm.cxx.
 2038   for (; rodIter != rodIterE; ++rodIter) {
 
 2040     const int rodCrate = 
rod->crate() - 8;
 
 2041     if (rodCrate >= 0 && rodCrate < m_crates && rod->
dataType() == 1 &&
 
 2042     rod->limitedRoISet()) {
 
 2043       limitedRoi |= (1 << rodCrate);
 
 2046   return (((limitedRoi >> crate) & 0
x1) == 1);
 
 
 
 
◆ 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;
 
 
 
 
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ setupMap() [1/5]
Definition at line 1868 of file CpmSimMonitorAlgorithm.cxx.
 1872   for (; 
pos != posE; ++
pos) {
 
 1873     const int crate = (*pos)->crate();
 
 1874     const int cmx = (*pos)->cmx();
 
 1875     const int source = (*pos)->sourceComponent();
 
 1876     const int key = (crate * 2 + cmx) * 8 + 
source;
 
 1877     map.insert(std::make_pair(
key, *
pos));
 
 1879   return StatusCode::SUCCESS;
 
 
 
 
◆ setupMap() [2/5]
Definition at line 1840 of file CpmSimMonitorAlgorithm.cxx.
 1845   for (; 
pos != posE; ++
pos) {
 
 1846     const int crate = (*pos)->crate();
 
 1847     const int cpm = (*pos)->cpm();
 
 1848     const int cmx = (*pos)->cmx();
 
 1849     const int chip = (*pos)->chip();
 
 1850     const int loc = (*pos)->location();
 
 1852       (((((((crate << 1) | cmx) << 4) | cpm) << 4) | chip) << 2) | loc;
 
 1853     map.insert(std::make_pair(
key, *
pos));
 
 1859     (*parityMap)[
index] = parity;
 
 1863   return StatusCode::SUCCESS;
 
 
 
 
◆ setupMap() [3/5]
Definition at line 1819 of file CpmSimMonitorAlgorithm.cxx.
 1824     for (; 
pos != posE; ++
pos) {
 
 1825       const int crate = (*pos)->crate();
 
 1826       const int cpm = (*pos)->cpm();
 
 1827       const int chip = (*pos)->chip();
 
 1828       const int loc = (*pos)->location();
 
 1829       const int type = (*pos)->type();
 
 1831           (((((((
type << 2) | crate) << 4) | cpm) << 3) | chip) << 3) | loc;
 
 1832       map.insert(std::make_pair(
key, *
pos));
 
 1835   return StatusCode::SUCCESS;
 
 
 
 
◆ setupMap() [4/5]
Definition at line 1802 of file CpmSimMonitorAlgorithm.cxx.
 1807   for (; 
pos != posE; ++
pos) {
 
 1808     CpmTowerMap::mapped_type 
cp = (*pos);
 
 1809     const double eta = (*pos)->eta();
 
 1810     const double phi = (*pos)->phi();
 
 1812     map.insert(std::make_pair(
key, 
cp));
 
 1814   return StatusCode::SUCCESS;
 
 
 
 
◆ setupMap() [5/5]
Definition at line 1767 of file CpmSimMonitorAlgorithm.cxx.
 1776   for (; 
pos != posE; ++
pos) {
 
 1778     const int layer = (*pos)->layer();
 
 1780       emE = (*pos)->cpET();
 
 1783       hadE = (*pos)->cpET();
 
 1785     const double eta = (*pos)->eta();
 
 1786     if (
eta > -2.5 && 
eta < 2.5 && (emE > 0 || hadE > 0)) {
 
 1787       const double phi = (*pos)->phi();
 
 1790     mapEm.insert(std::make_pair(
key, 
tt));
 
 1792     mapHad.insert(std::make_pair(
key, 
tt));
 
 1796   return StatusCode::SUCCESS;
 
 
 
 
◆ simulate() [1/5]
Definition at line 1884 of file CpmSimMonitorAlgorithm.cxx.
 1890   std::vector<CpmTowerMap> crateMaps(
m_crates);
 
 1892   std::unique_ptr<xAOD::CPMTowerContainer> tempColl = std::make_unique<xAOD::CPMTowerContainer>();
 
 1893   std::unique_ptr<xAOD::CPMTowerAuxContainer> tempCollAux = std::make_unique<xAOD::CPMTowerAuxContainer>();
 
 1895   tempColl.get()->setStore(tempCollAux.get());
 
 1897     CpmTowerMap::mapped_type 
tt = 
ttCheck(
iter.second, tempColl.get());
 
 1902     crateMaps[crate].insert(std::make_pair(
iter.first, 
tt));
 
 1906     CpmTowerMap::mapped_type 
tt = 
ttCheck(
iter.second, tempColl.get());
 
 1911     crateMaps[crate].insert(std::make_pair(
iter.first, 
tt));
 
 1914   for (
int crate = 0; crate < 
m_crates; ++crate) {
 
 1922     for (; roiIter != roiIterE; ++roiIter) {
 
 1923       if ((*roiIter)->crate() == crate) {
 
 1924         rois->push_back(*roiIter);
 
 
 
 
◆ simulate() [2/5]
◆ simulate() [3/5]
◆ simulate() [4/5]
◆ simulate() [5/5]
◆ 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. 
 
 
◆ thresholdsDiff()
  
  
      
        
          | int CpmSimMonitorAlgorithm::thresholdsDiff  | 
          ( | 
          int  | 
          val1,  | 
         
        
           | 
           | 
          int  | 
          val2,  | 
         
        
           | 
           | 
          int  | 
          nThresh,  | 
         
        
           | 
           | 
          int  | 
          nBits  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
private   | 
  
 
 
◆ thresholdsSame()
  
  
      
        
          | int CpmSimMonitorAlgorithm::thresholdsSame  | 
          ( | 
          int  | 
          val1,  | 
         
        
           | 
           | 
          int  | 
          val2,  | 
         
        
           | 
           | 
          int  | 
          nThresh,  | 
         
        
           | 
           | 
          int  | 
          nBits  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
private   | 
  
 
 
◆ 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();
 
 
 
 
◆ ttCheck()
  
  
      
        
          | CpmSimMonitorAlgorithm::CpmTowerMap::mapped_type CpmSimMonitorAlgorithm::ttCheck  | 
          ( | 
          CpmTowerMap::mapped_type  | 
          tt,  | 
         
        
           | 
           | 
          xAOD::CPMTowerContainer *  | 
          coll  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
private   | 
  
 
Definition at line 1991 of file CpmSimMonitorAlgorithm.cxx.
 1997   if ((emParity && 
tt->emEnergy()) || (hadParity && 
tt->hadEnergy())) {
 
 1998     const int peak = 
tt->peak();
 
 1999     std::vector<uint8_t> emEnergyVec(
tt->emEnergyVec());
 
 2000     std::vector<uint8_t> hadEnergyVec(
tt->hadEnergyVec());
 
 2001     std::vector<uint32_t> emErrorVec(
tt->emErrorVec());
 
 2002     std::vector<uint32_t> hadErrorVec(
tt->hadErrorVec());
 
 2004       emEnergyVec[peak] = 0;
 
 2006       hadEnergyVec[peak] = 0;
 
 2008     ct->makePrivateStore();
 
 2009     ct->initialize(
tt->eta(), 
tt->phi(), emEnergyVec, hadEnergyVec, emErrorVec,
 
 
 
 
◆ updateVHKA()
◆ ATLAS_THREAD_SAFE [1/4]
  
  
      
        
          | std::map<uint32_t, int> m_errorLB_tt_counter CpmSimMonitorAlgorithm::ATLAS_THREAD_SAFE | 
         
       
   | 
  
mutableprivate   | 
  
 
 
◆ ATLAS_THREAD_SAFE [2/4]
  
  
      
        
          | std::map<uint32_t, int> m_errorLB_roi_counter CpmSimMonitorAlgorithm::ATLAS_THREAD_SAFE | 
         
       
   | 
  
mutableprivate   | 
  
 
 
◆ ATLAS_THREAD_SAFE [3/4]
  
  
      
        
          | std::map<uint32_t, int> m_errorLB_tob_counter CpmSimMonitorAlgorithm::ATLAS_THREAD_SAFE | 
         
       
   | 
  
mutableprivate   | 
  
 
 
◆ ATLAS_THREAD_SAFE [4/4]
  
  
      
        
          | std::map<uint32_t, int> m_errorLB_thresh_counter CpmSimMonitorAlgorithm::ATLAS_THREAD_SAFE | 
         
       
   | 
  
mutableprivate   | 
  
 
 
◆ cfg
      
        
          | CpmSimMonitorAlgorithm.cfg | 
        
      
 
 
◆ CpmSimMonitorCfg
      
        
          | CpmSimMonitorAlgorithm.CpmSimMonitorCfg | 
        
      
 
 
◆ False
      
        
          | CpmSimMonitorAlgorithm.False | 
        
      
 
 
◆ Files
      
        
          | CpmSimMonitorAlgorithm.Files | 
        
      
 
 
◆ flags
      
        
          | CpmSimMonitorAlgorithm.flags | 
        
      
 
 
◆ HISTFileName
      
        
          | CpmSimMonitorAlgorithm.HISTFileName | 
        
      
 
 
◆ inputs
      
        
          | CpmSimMonitorAlgorithm.inputs | 
        
      
 
 
◆ m_cmxCpHitsLocation
◆ m_cmxCpTobLocation
◆ m_cmxs
  
  
      
        
          | Gaudi::Property<int> CpmSimMonitorAlgorithm::m_cmxs {this,"s_cmxs", 2, "Number of CMXs"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_configSvc
◆ m_cpCmxTool
◆ m_cpmTobRoiLocation
◆ m_cpmTool
◆ m_cpmTowerLocation
◆ m_cpmTowerLocationOverlap
  
  
      
        
          | SG::ReadHandleKey<xAOD::CPMTowerContainer> CpmSimMonitorAlgorithm::m_cpmTowerLocationOverlap {this, "CPMTowerLocationOverlap",LVL1::TrigT1CaloDefs::CPMTowerLocation + "Overlap", "CPM Overlap container"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_crates
  
  
      
        
          | Gaudi::Property<int> CpmSimMonitorAlgorithm::m_crates {this,"s_crates", 4, "Number of CPM crates"} | 
         
       
   | 
  
private   | 
  
 
 
◆ 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_DQFilterTools
  
  
      
        
          | ToolHandleArray<IDQFilterTool> AthMonitorAlgorithm::m_DQFilterTools {this,"FilterTools",{}} | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_dummy
◆ 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_errorLocation
◆ m_errorTool
◆ 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_fileKey
  
  
      
        
          | Gaudi::Property<std::string> AthMonitorAlgorithm::m_fileKey {this,"FileKey",""} | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_L1MenuKey
◆ m_lbDurationDataKey
◆ m_legacyCpHadInputsDisabled
  
  
      
        
          | Gaudi::Property<bool> CpmSimMonitorAlgorithm::m_legacyCpHadInputsDisabled {this,"s_legacyCpHadInputsDisabled", false, "Status of the L1Calo Legacy CP hadronic inputs"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_lumiDataKey
◆ m_maxSlices
  
  
      
        
          | Gaudi::Property<int> CpmSimMonitorAlgorithm::m_maxSlices {this,"s_maxSlices", 5, "Maximum number of slices"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_modules
  
  
      
        
          | Gaudi::Property<int> CpmSimMonitorAlgorithm::m_modules {this,"s_modules", 14, "Number of modules per crate (modules numbered 1-14)"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_mutex
  
  
      
        
          | std::mutex CpmSimMonitorAlgorithm::m_mutex {} | 
         
       
   | 
  
mutableprivate   | 
  
 
 
◆ m_name
  
  
      
        
          | std::string AthMonitorAlgorithm::m_name | 
         
       
   | 
  
privateinherited   | 
  
 
 
◆ m_overlapPresent
  
  
      
        
          | bool CpmSimMonitorAlgorithm::m_overlapPresent | 
         
       
   | 
  
private   | 
  
 
 
◆ m_packageName
  
  
      
        
          | StringProperty CpmSimMonitorAlgorithm::m_packageName {this,"PackageName","CpmSimMonitor","group name for histograming"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_rodHeaderLocation
◆ 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_triggerTowerLocation
◆ m_trigLiveFractionDataKey
◆ 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   | 
  
 
 
◆ nevents
      
        
          | CpmSimMonitorAlgorithm.nevents | 
        
      
 
 
◆ OutputLevel
      
        
          | CpmSimMonitorAlgorithm.OutputLevel | 
        
      
 
 
◆ summariseProps
      
        
          | CpmSimMonitorAlgorithm.summariseProps | 
        
      
 
 
◆ withDetails
      
        
          | CpmSimMonitorAlgorithm.withDetails | 
        
      
 
 
The documentation for this class was generated from the following files:
 
unsigned int cpModuleOverlap(const Coordinate &coord)
return ID of CP module for overlap coord
 
int isolation() const
Return isolation.
 
DataType_t dataType() const
Accessor functions for the data type.
 
Const iterator class for DataVector/DataList.
 
void simulate(const CpmTowerMap *towers, const CpmTowerMap *towersOv, xAOD::CPMTobRoIContainer *rois, const EventContext &ctx) const
 
uint32_t hits0() const
Peak functions - return value of peak bunch crossing Assuming we have got the timing calibration corr...
 
ToolHandle< LVL1::IL1CPMTools > m_cpmTool
 
uint8_t crate() const
get crate
 
ToolHandle< LVL1::ITrigT1CaloMonErrorTool > m_errorTool
 
Scalar phi() const
phi method
 
int thresholdsSame(int val1, int val2, int nThresh, int nBits) const
 
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
Tool to tell whether a specific trigger is passed.
 
const_pointer_type cptr()
Dereference the pointer.
 
decoder
def channelSelection(self, channelList, groupType): if groupType == self.SingleGroup: pass elif group...
 
StringProperty m_packageName
 
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
 
void fillXVsThresholds(Monitored::Scalar< int > &xitem, Monitored::Scalar< int > &yitem, Monitored::Scalar< int > &witem, int x, int val, int nThresh, int nBits, int offset=0) const
 
int fpga(int crate, double phi) const
 
Scalar eta() const
pseudorapidity method
 
accumulate
Update flags based on parser line args.
 
SG::ReadHandleKey< xAOD::RODHeaderContainer > m_rodHeaderLocation
 
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)
 
SG::ReadHandleKey< xAOD::EventInfo > m_EventInfoKey
Key for retrieving EventInfo from StoreGate.
 
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
std::unordered_map< std::string, size_t > m_toolLookupMap
 
AthMonitorAlgorithm::Environment_t m_environment
Instance of the Environment_t enum.
 
@ loc2
generic first and second local coordinate
 
int crate() const
Return crate number (0-1)
 
int thresholdsDiff(int val1, int val2, int nThresh, int nBits) const
 
Description of CMXCPTob_v1.
 
const std::string & key() const
Return the StoreGate ID for the referenced object.
 
std::string to_string(const SectorProjector proj)
 
ToolHandle< LVL1::IL1CPCMXTools > m_cpCmxTool
 
CPMTower_v2 CPMTower
Define the latest version of the CPMTower class.
 
SG::ReadHandleKey< xAOD::CMXCPTobContainer > m_cmxCpTobLocation
 
bool limitedRoiSet(int crate, SG::ReadHandle< xAOD::RODHeaderContainer > &rodTES) const
 
bool trigChainsArePassed(const std::vector< std::string > &vTrigNames) const
Check whether triggers are passed.
 
xAOD::CPMTowerMap_t CpmTowerMap
 
bool compareHad(const TriggerTowerMapHad &ttMap, const CpmTowerMap &cpMap, ErrorVector &errors, bool overlap) const
 
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
 
virtual void setOwner(IDataHandleHolder *o)=0
 
const ToolHandle< GenericMonitoringTool > m_dummy
 
SG::ReadHandleKey< xAOD::CPMTowerContainer > m_cpmTowerLocation
 
SG::ReadHandleKey< xAOD::CPMTowerContainer > m_cpmTowerLocationOverlap
 
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
 
void compare(const CpmTobRoiMap &roiSimMap, const CpmTobRoiMap &roiMap, ErrorVector &errors, const xAOD::RODHeaderContainer *rodTES) const
 
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
 
SG::WriteHandleKey< std::vector< int > > m_errorLocation
 
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
 
def save(self, fileName="./columbo.out")
 
uint8_t cmx() const
get cmx
 
ToolHandleArray< IDQFilterTool > m_DQFilterTools
Array of Data Quality filter tools.
 
CoordinateRange class declaration.
 
std::vector< int > ErrorVector
 
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
 
Coordinate class declaration.
 
(Non-const) Iterator class for DataVector/DataList.
 
int cpm() const
Return CPM number (1-14)
 
std::map< int, const xAOD::CMXCPTob * > CmxCpTobMap
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
uint32_t error() const
get errorVec at peak bunch crossing
 
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
 
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.
 
SG::ReadHandleKey< xAOD::CPMTobRoIContainer > m_cpmTobRoiLocation
 
CpmTowerMap::mapped_type ttCheck(CpmTowerMap::mapped_type tt, xAOD::CPMTowerContainer *coll) const
 
Description of TriggerTower_v2.
 
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
 
std::map< int, const xAOD::TriggerTower * > TriggerTowerMapEm
 
Gaudi::Property< bool > m_legacyCpHadInputsDisabled
 
unsigned int cpModule(const Coordinate &coord)
return ID of CP module.
 
int type() const
Return type em/tau (0/1)
 
uint32_t roiWord() const
get roiWord
 
StatusCode setupMap(const xAOD::TriggerTowerContainer *coll, TriggerTowerMapEm &emmap, TriggerTowerMapHad &hadmap) const
 
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
 
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.
 
AthConfigFlags cosmics(AthConfigFlags flags, str instanceName, str recoMode)
 
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
 
Gaudi::Property< int > m_cmxs
 
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
 
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_triggerTowerLocation
 
Gaudi::Property< int > m_crates
 
virtual bool isValid() override final
Can the handle be successfully dereferenced?
 
AthMonitorAlgorithm::DataType_t m_dataType
Instance of the DataType_t enum.
 
SG::ReadHandleKey< xAOD::CMXCPHitsContainer > m_cmxCpHitsLocation
 
virtual void renounce()=0
 
ServiceHandle< TrigConf::ITrigConfigSvc > m_configSvc
 
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
 
ToolHandleArray< GenericMonitoringTool > m_tools
Array of Generic Monitoring Tools.
 
returns the trigger hardware components associated with a given Coordinate
 
const std::string selection
 
uint8_t cmx() const
get cmx
 
Gaudi::Property< int > m_modules
 
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setPhiMap phiBin
 
unsigned int cpCrate(const Coordinate &coord)
returns crate ID covering that coord.
 
Gaudi::Property< bool > m_enforceExpressTriggers
 
value_type push_back(value_type pElem)
Add an element to the end of the collection.
 
unsigned int cpCrateOverlap(const Coordinate &coord)
returns crate ID covering that overlap coord.
 
virtual StatusCode initialize() override
initialize
 
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
 
A level 1 calorimeter trigger conversion service: returns the Coordinate represented by a RoI word.
 
uint8_t energy() const
Peak functions - return value of peak bunch crossing Assuming we have got the timing calibration corr...
 
Gaudi::Property< int > m_maxSlices
 
#define ATH_MSG_WARNING(x)
 
uint8_t crate() const
get crate
 
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
 
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
 
const TrigConf::L1Menu * getL1Menu(const EventContext &ctx) const
 
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
 
int chip() const
Return CP chip number (0-7)
 
virtual StatusCode sysInitialize() override
Override sysInitialize.
 
uint8_t isolation() const
get isolationVec at peak bunch crossing
 
bool compareEm(const TriggerTowerMapEm &ttMap, const CpmTowerMap &cpMap, ErrorVector &errors, bool overlap) const
 
CPMTobRoIContainer_v1 CPMTobRoIContainer
Define the latest version of the CPMTobRoI class.
 
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
 
std::map< int, const xAOD::CMXCPHits * > CmxCpHitsMap
 
xAOD::CPMTobRoIMap_t CpmTobRoiMap
 
Declare a monitored scalar variable.
 
virtual unsigned int ttKey(const TriggerTower &tower)
returns the key of the passed tower
 
uint8_t sourceComponent() const
get source
 
int energy() const
Return energy.
 
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
 
Description of CMXCPHits_v1.
 
int location() const
Return location (RoI local coords) (0-7)
 
The TriggerTowerKey object provides the key for each trigger tower depending on its eta-phi coords.
 
uint32_t hits1() const
get hitsVec1 at peak bunch crossing
 
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
 
uint8_t cpm() const
get cpm
 
Description of CPMTobRoI_v1.
 
uint8_t location() const
get location
 
uint8_t chip() const
get chip
 
Description of CPMTower_v2.