|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef SiSpacePointsSeedMakerEventData_h
12 #define SiSpacePointsSeedMakerEventData_h
144 std::vector<InDet::SiSpacePointForSeed*>
SP;
145 std::vector<ITk::SiSpacePointForSeed*>
ITkSP;
148 std::vector<float>
Zo;
149 std::vector<float>
Tz;
150 std::vector<float>
R;
151 std::vector<float>
U;
152 std::vector<float>
V;
153 std::vector<float>
X;
154 std::vector<float>
Y;
155 std::vector<float>
Er;
156 std::vector<FloatInt>
Tn;
166 std::vector<std::pair<float,InDet::SiSpacePointForSeed*>>
CmSp;
167 std::vector<std::pair<float,ITk::SiSpacePointForSeed*>>
ITkCmSp;
169 std::vector<std::vector<InDet::SiSpacePointForSeed*>>
r_Sorted;
170 std::vector<std::vector<InDet::SiSpacePointForSeed*>>
rf_Sorted;
171 std::vector<std::vector<InDet::SiSpacePointForSeed*>>
rfz_Sorted;
172 std::vector<std::vector<InDet::SiSpacePointForSeed*>>
rfzv_Sorted;
177 std::vector<InDet::SiSpacePointsSeed>
seeds;
218 template <
typename T>
222 poolList = std::list<T, SG::ArenaPoolSTLAllocator<T>>();
257 std::multimap<float,InDet::SiSpacePointsSeed*>
mapSeeds;
264 std::multimap<float,InDet::SiSpacePointsProSeed*>
seeds_Pro;
268 std::multimap<float,ITk::SiSpacePointsProSeed*>
ITkSeeds;
277 size_t currSizeSP =
SP.size();
278 size_t newSizeSP = currSizeSP + increment;
280 size_t currSizeITkSP =
ITkSP.size();
281 size_t newSizeITkSP = currSizeITkSP + increment;
282 ITkSP.resize(newSizeITkSP,
nullptr);
283 X.resize(newSizeITkSP, 0.);
284 Y.resize(newSizeITkSP, 0.);
285 Tn.resize(newSizeITkSP);
286 SP.resize(newSizeSP,
nullptr);
288 SP.resize(newSizeSP,
nullptr);
290 R.resize(newSizeSP, 0.);
291 Tz.resize(newSizeSP, 0.);
292 Er.resize(newSizeSP, 0.);
293 U.resize(newSizeSP, 0.);
294 V.resize(newSizeSP, 0.);
296 Zo.resize(newSizeSP, 0.);
329 r_map.resize(sizeR, 0);
393 #endif // SiSpacePointsSeedMakerEventData_h
std::vector< int > rfzv_index
std::vector< std::vector< ITk::SiSpacePointForSeed * > > r_ITkSorted
JetConstituentVector::iterator iterator
std::multimap< float, ITk::SiSpacePointsProSeed * > ITkMapOneSeeds
float xbeam[4]
x,ax,ay,az - center and x-axis direction
std::multimap< float, ITk::SiSpacePointsProSeed * > ITkMapOneSeedsQ
std::vector< InDet::SiSpacePointForSeed * > SP
space points to consider for the current seed candidate
std::vector< std::pair< float, InDet::SiSpacePointForSeed * > > CmSp
std::vector< std::vector< ITk::SiSpacePointForSeed * > > rfz_ITkSorted
float ybeam[4]
y,ax,ay,az - center and y-axis direction
@ ITk
ITk::SiSpacePointsSeedMaker.
SiSpacePointsSeedPoolList l_seeds
bool isvertex
whether or not we contain a non-empty vertex list
bool initialized
has the data object been initialized?
std::vector< InDet::SiSpacePointsProSeed > OneSeeds_Pro
std::vector< std::vector< InDet::SiSpacePointForSeed * > > r_Sorted
vector of space points in each bin of the 1D radial binning
std::multimap< float, InDet::SiSpacePointsProSeed * > mapOneSeeds_Pro
static void clearPoolList(std::list< T, SG::ArenaPoolSTLAllocator< T >> &poolList)
std::multimap< float, InDet::SiSpacePointsSeed * >::iterator i_seed_map
ITkSiSpacePointsProSeedPoolList::iterator i_ITkSeed
int nspoint
number of required SP
void resizeSPCont(size_t increment=50, ToolType type=ToolType::ATLxk)
allow to resize the space-point container on-the-fly in case more space is needed.
std::vector< std::vector< ITk::SiSpacePointForSeed * > > rfzv_ITkSorted
ITkSiSpacePointsProSeedPoolList::iterator i_ITkSeedEnd
ITkSiSpacePointsProSeedPoolList i_ITkSeeds
std::map< std::pair< std::size_t, std::size_t >, std::unique_ptr< InDet::SCT_SpacePoint > > v_StripSpacePointForSeed
@ HeavyIon
SiSpacePointsSeedMaker_HeavyIon.
int seedPerSpCapacity
capacity for seeds from a single SP in the respective storage vector
std::vector< float > Er
error component on 1/tan(theta)==dz/dr from the position errors on the space-points
std::vector< const xAOD::SpacePoint * > v_ActsSpacePointForSeed
ITkSiSpacePointForSeedPoolList l_ITkSpacePointForSeed
std::vector< int > rfz_map
number of SP in each bin of the 2D phi-z map
std::vector< float > Tz
1/tan(theta) == dz/dr estimate from 2 points
std::list< ITk::SiSpacePointForSeed, SG::ArenaPoolSTLAllocator< ITk::SiSpacePointForSeed > > ITkSiSpacePointForSeedPoolList
std::vector< std::unique_ptr< InDet::PixelSpacePoint > > v_PixelSpacePointForSeed
SiSpacePointForSeedPoolList l_spforseed
list of all space points considered for seed building.
std::multimap< float, InDet::SiSpacePointsSeed * > mapSeeds
std::multimap< float, InDet::SiSpacePointsSeed * >::iterator i_seede_map
SiSpacePointsProSeedPoolList::iterator i_seed_Pro
std::list< ITk::SiSpacePointsProSeed, SG::ArenaPoolSTLAllocator< ITk::SiSpacePointsProSeed > > ITkSiSpacePointsProSeedPoolList
std::vector< InDet::SiSpacePointForSeed * >::iterator rMin
std::multimap< float, ITk::SiSpacePointsProSeed * > ITkSeeds
std::multimap< float, InDet::SiSpacePointsSeed * > mapOneSeeds
SiSpacePointsProSeedPoolList l_seeds_Pro
STL-style allocator wrapper for ArenaPoolAllocator.
int maxSeedsPerSP
Number of Seeds allowed to be built per central Seed.
std::vector< int > rf_index
std::vector< int > rf_map
SiSpacePointsProSeedPoolList::iterator i_seede_Pro
@ Cosmic
SiSpacePointsSeedMaker_Cosmic.
int nr
this keeps track of the number of occupied radial bins (so it is typically less than the total number...
std::vector< int > rfz_index
2D index in the 2D phi-z map of each SP in the r-sored vector
ToolType
enums to specify which SiSpacePointsSeedMaker owns the object.
std::vector< FloatInt > Tn
std::multimap< float, InDet::SiSpacePointsSeed * > l_seeds_map
float ipt2C
inverse of 90% of the pt cut, squared, multiplied by a magic conversion factor
std::multimap< float, InDet::SiSpacePointsProSeed * > seeds_Pro
std::vector< float > Zo
The following are parameters characterising individual space points within a seed (relative to the ce...
std::vector< float > V
transformed V coordinate (y/(x²+y²)) in frame around central SP
std::multimap< float, InDet::SiSpacePointsSeed * >::iterator seede
std::multimap< float, InDet::SiSpacePointsProSeed * >::iterator seed_Pro
int fNmin
starting phi bin for looping
bool checketa
whether to apply eta cuts
std::vector< std::vector< InDet::SiSpacePointForSeed * > > rfz_Sorted
vector of space points in each bin of the 2D phi-z binning
bool trigger
are we running in trigger mode?
std::vector< std::vector< InDet::SiSpacePointForSeed * > > rf_Sorted
bool keepAllConfirmedSeeds
Do we keep an unlimited number of confirmed seeds per central SP?
int mode
operation mode (SP per seed etc)
std::vector< float > R
inverse distance to the central space point
float K
conversion from pT in MeV to twice the circle radius in the transverse plane in mm
std::vector< int > rfzv_map
int nsaz
number of SP in the Phi-Z 2D binning
InDet::SiSpacePointsSeed seedOutput
std::multimap< float, ITk::SiSpacePointsProSeed * >::iterator ITkSeedIterator
std::vector< std::pair< float, ITk::SiSpacePointForSeed * > > ITkCmSp
std::vector< ITk::SiSpacePointForSeed > v_PixelSiSpacePointForSeed
std::vector< ITk::SiSpacePointsProSeed > ITkOneSeedsQ
int r_first
points to the index of the highest occupied radius bin
std::vector< std::vector< InDet::SiSpacePointForSeed * > > rfzv_Sorted
int nrfz
also number of SP in the phi-Z 2D binning??
std::vector< float > U
transformed U coordinate (x/(x²+y²)) in frame around central SP
bool endlist
indicate if we are done with the seed search for an event.
std::vector< ITk::SiSpacePointForSeed * > ITkSP
int state
state info - 0 seems to mean cuts aren ot configured
STL-style allocator wrapper for ArenaPoolAllocator.
std::set< float > l_vertex
std::list< InDet::SiSpacePointForSeed, SG::ArenaPoolSTLAllocator< InDet::SiSpacePointForSeed > > SiSpacePointForSeedPoolList
We want to use a pool block allocator.
ITkSiSpacePointForSeedPoolList::iterator i_ITkSpacePointForSeed
int iteration
iteration currently being run
@ LowMomentum
SiSpacePointsSeedMaker_LowMomentum.
std::vector< InDet::SiSpacePointsSeed > seeds
std::vector< ITk::SiSpacePointsProSeed > ITkOneSeeds
std::vector< InDet::SiSpacePointsSeed > OneSeeds
@ ATLxk
SiSpacePointsSeedMaker_ATLxk.
@ BeamGas
SiSpacePointsSeedMaker_BeamGas.
void initialize(ToolType type, int maxsizeSP, int maxOneSize, int maxsize, int sizeR, int sizeRF, int sizeRFZ, int sizeRFZV, bool checkEta)
Initialize data members based on ToolType enum.
std::vector< int > r_index
std::list< InDet::SiSpacePointsSeed, SG::ArenaPoolSTLAllocator< InDet::SiSpacePointsSeed > > SiSpacePointsSeedPoolList
std::multimap< float, InDet::SiSpacePointsSeed * >::iterator seed
std::list< InDet::SiSpacePointsProSeed, SG::ArenaPoolSTLAllocator< InDet::SiSpacePointsProSeed > > SiSpacePointsProSeedPoolList
SiSpacePointsSeedPoolList::iterator i_seed
SiSpacePointsSeedPoolList::iterator i_seede
float ipt2K
1 / (K * 0.9 * pt cut)², allows us to directly apply our pt cut on the (2R)² estimate we obtain from ...
int ns
total number of SP that we sorted into our r-binned vector
SiSpacePointForSeedPoolList::iterator i_spforseed
std::vector< ITk::SiSpacePointForSeed * >::iterator ITk_rMin