Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <TrigInDetAccelerationTool.h>
Definition at line 16 of file TrigInDetAccelerationTool.h.
◆ TrigInDetAccelerationTool()
TrigInDetAccelerationTool::TrigInDetAccelerationTool |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ exportSeedMakingJob()
Definition at line 24 of file TrigInDetAccelerationTool.cxx.
26 typedef struct SpIndexPair {
31 bool operator()(
const std::pair<int, const TrigSiSpacePointBase*>&
p1,
const std::pair<int, const TrigSiSpacePointBase*>&
p2) {
32 return p1.second->z() <
p2.second->z();
38 bool operator()(
const std::pair<int, const TrigSiSpacePointBase*>&
p1,
const std::pair<int, const TrigSiSpacePointBase*>&
p2) {
39 return p1.second->r() <
p2.second->r();
48 const std::vector<short>& pixelLayers =
m_accelSvc->getLayerInformation(1);
49 const std::vector<short>& sctLayers =
m_accelSvc->getLayerInformation(2);
50 const std::vector<short>& layerTypes =
m_accelSvc->getLayerInformation(0);
56 const size_t bufferOffset = 256;
57 size_t totalSize = bufferOffset+dataTypeSize;
63 memset(pJ,0,dataTypeSize);
101 unsigned int nSP = vsp.size();
102 if(nSP >= TrigAccel::MAX_NUMBER_SPACEPOINTS) {
103 nSP = TrigAccel::MAX_NUMBER_SPACEPOINTS-1;
104 ATH_MSG_WARNING(
"MAX_NUMBER_SPACEPOINTS exceeded, exported data truncated ...");
110 int nLayers =
static_cast<int>(layerTypes.size());
113 std::vector<std::vector<std::pair<int, const TrigSiSpacePointBase*> > > phiLArray;
114 phiLArray.resize(nLayers*nSlices);
116 for(
unsigned int i=0;
i<nSP;
i++) {
123 layerId = pixelLayers[hashId];
125 layerId = sctLayers[hashId];
131 int phiIdx = (sp.
phi()+
M_PI)/phiSliceWidth;
135 else if (phiIdx < 0) {
140 std::vector<std::pair<int, const TrigSiSpacePointBase*> >&
v = phiLArray[layerId + phiIdx*nLayers];
141 v.push_back(std::pair<int, const TrigSiSpacePointBase*>(
i,&sp));
146 for(std::vector<short>::const_iterator
it = layerTypes.begin();
it!=layerTypes.end();++
it, layerIdx++) {
147 short barrel_ec = (*it);
149 std::vector<std::pair<int, const TrigSiSpacePointBase*> >&
v = phiLArray[layerIdx +
slice*nLayers];
150 if(barrel_ec==0)
std::sort(
v.begin(),
v.end(), SP_INDEX_PAIR::compareZ());
151 else std::sort(
v.begin(),
v.end(), SP_INDEX_PAIR::compareR());
162 int layerStart = spIdx;
163 std::vector<std::pair<int, const TrigSiSpacePointBase*> >&
v = phiLArray[
layer +
slice*nLayers];
164 for(std::vector<std::pair<int, const TrigSiSpacePointBase*> >::
iterator it =
v.begin();
it!=
v.end();++
it) {
166 sps.
m_index[spIdx] = (*it).first;
168 sps.
m_x[spIdx] = sp->
x();
169 sps.
m_y[spIdx] = sp->
y();
170 sps.
m_z[spIdx] = sp->
z();
171 sps.
m_r[spIdx] = sp->
r();
177 int layerEnd = spIdx;
◆ extractTripletsFromOutput()
◆ initialize()
StatusCode TrigInDetAccelerationTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ m_accelSvc
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
void phi(const double phi)
unsigned int m_maxSiliconLayer
int m_layerEnd[MAX_SILICON_LAYERS]
struct TrigAccel::SeedMakingJob SEED_MAKING_JOB
float m_tripletD0_PPS_Max
int m_middleIndex[MAX_NUMBER_OUTPUT_SEEDS]
SPACEPOINT_LAYER_RANGE m_phiSlices[MAX_PHI_SLICES]
int m_layerBegin[MAX_SILICON_LAYERS]
float m_y[MAX_NUMBER_SPACEPOINTS]
int m_innerIndex[MAX_NUMBER_OUTPUT_SEEDS]
float m_phi[MAX_NUMBER_SPACEPOINTS]
unsigned int m_maxTripletBufferLength
float m_covR[MAX_NUMBER_SPACEPOINTS]
float m_Q[MAX_NUMBER_OUTPUT_SEEDS]
float m_x[MAX_NUMBER_SPACEPOINTS]
virtual double etaPlus() const =0
unsigned int m_maxEndcapPix
const Trk::SpacePoint * offlineSpacePoint() const
int m_outerIndex[MAX_NUMBER_OUTPUT_SEEDS]
int m_index[MAX_NUMBER_SPACEPOINTS]
unsigned int m_minEndcapPix
float m_r[MAX_NUMBER_SPACEPOINTS]
virtual double phiMinus() const =0
unsigned int m_maxTripletBufferLength
SPACEPOINT_STORAGE m_data
virtual double phiPlus() const =0
extreme phi values
float m_z[MAX_NUMBER_SPACEPOINTS]
const std::pair< IdentifierHash, IdentifierHash > & elementIdList() const
return the pair of Ids of the element by reference
SEED_FINDER_SETTINGS m_settings
decltype(auto) operator()(ObjectId< OT, CM > id) const noexcept
float m_tripletD0_PPS_Max
unsigned char * m_rawBuffer
virtual double zedPlus() const =0
the zed and eta values at the most forward and most rear ends of the RoI
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
int m_type[MAX_NUMBER_SPACEPOINTS]
virtual bool isFullscan() const =0
is this a full detector RoI?
unsigned int m_maxBarrelPix
virtual double zedMinus() const =0
float m_covZ[MAX_NUMBER_SPACEPOINTS]
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
virtual bool composite() const =0
Super RoI access methods.