9#ifndef INDETTRT_LOCALOCCUPANCY_H
10#define INDETTRT_LOCALOCCUPANCY_H
14#include "GaudiKernel/AlgTool.h"
15#include "GaudiKernel/ToolHandle.h"
64 const double phi)
const override;
72 virtual std::vector<float>
GlobalOccupancy(
const EventContext& ctx)
const override;
94 const OccupancyData*
getData(
const EventContext& ctx)
const;
95 std::unique_ptr<OccupancyData>
makeData(
const EventContext& ctx)
const;
96 std::unique_ptr<OccupancyData>
makeDataTrigger(
const EventContext &ctx)
const;
112 ToolHandle< ITRT_CalDbTool >
m_CalDbTool{
this,
"TRTCalDbTool",
"TRT_CalDbTool",
""};
122 Gaudi::Property<bool>
m_T0Shift{
this,
"includeT0Shift",
true,
"choice to use T0shift or not"};
123 Gaudi::Property<float>
m_lowGate{
this,
"LowGate", 14.0625*Gaudi::Units::ns,
""};
124 Gaudi::Property<float>
m_highGate{
this,
"HighGate", 42.1875*Gaudi::Units::ns,
""};
126 Gaudi::Property<float>
m_lowWideGate{
this,
"LowWideGate", 20.3125*Gaudi::Units::ns,
""};
127 Gaudi::Property<float>
m_highWideGate{
this,
"HighWideGate", 54.6875*Gaudi::Units::ns,
""};
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
char data[hepevt_bytes_allocation_ATLAS]
Property holding a SG store/key/clid from which a ReadHandle is made.
InDetRawDataContainer< InDetRawDataCollection< TRT_RDORawData > > TRT_RDO_Container
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
std::unique_ptr< OccupancyData > makeData(const EventContext &ctx) const
SG::ReadCondHandleKey< TRTCond::AliveStraws > m_strawReadKey
SG::ReadHandleKey< TRT_DriftCircleContainer > m_trt_driftcircles
Gaudi::Property< bool > m_T0Shift
TRT_LocalOccupancy(const std::string &, const std::string &, const IInterface *)
std::unique_ptr< OccupancyData > makeDataTrigger(const EventContext &ctx) const
virtual std::map< int, double > getDetectorOccupancy(const EventContext &ctx, const TRT_RDO_Container *p_trtRDOContainer) const override
Return a map of the occupancy in the barrel (-1,+1) and endcaps (-2,+2)
Gaudi::Property< float > m_lowWideGate
SG::WriteHandleKey< OccupancyData > m_occupancyCacheWrite
static bool isMiddleBXOn(unsigned int word)
Gaudi::Property< float > m_highWideGate
static const int NLOCALPHI
virtual float LocalOccupancy(const EventContext &ctx, const Trk::Track &track) const override
Return the local occupancy for the sectors crossed by a given track.
const TRT_ID * m_TRTHelper
External tools:
static int mapPhiToPhisector(const double phi)
virtual StatusCode initialize() override
standard Athena-Algorithm method
Gaudi::Property< float > m_lowGate
SG::ReadHandleKey< OccupancyData > m_occupancyCacheRead
const OccupancyData * getData(const EventContext &ctx) const
int mapEtaToPartition(const double eta) const
bool passValidityGate(unsigned int word, float t0) const
ToolHandle< ITRT_CalDbTool > m_CalDbTool
Gaudi::Property< float > m_highGate
SG::ReadCondHandleKey< TRTCond::StrawStatusData > m_strawStatusKey
int findArrayTotalIndex(const int det, const int lay) const
To convert from array index to det id and viceversa.
virtual std::vector< float > GlobalOccupancy(const EventContext &ctx) const override
Return the global occupancy of the event.
void countHitsNearTrack(const EventContext &ctx, OccupancyData &data, int track_local[NLOCAL][NLOCALPHI]) const
Gaudi::Property< bool > m_isTrigger
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
This is an Identifier helper class for the TRT subdetector.
Ensure that the ATLAS eigen extensions are properly loaded.
int m_occ_local[NLOCAL][NLOCALPHI]
float m_stws_ratio[2][NLOCALPHI]
int m_hit_local[NLOCAL][NLOCALPHI]
const std::array< std::array< int, NLOCALPHI >, NLOCAL > & m_stw_local
OccupancyData(const std::array< std::array< int, NLOCALPHI >, NLOCAL > &local)