Belle II Software
release-08-01-10
|
Class that contains all the static sectors to which the filters are attached. More...
#include <VXDTFFilters.h>
Public Types | |
typedef StaticSector< point_t, twoHitFilter_t, threeHitFilter_t, int > | staticSector_t |
typedef to make a static sector type more readable. | |
Public Member Functions | |
VXDTFFilters () | |
Construct the container of all the filters used by the VXD Track Finder. | |
~VXDTFFilters () | |
Destructor. | |
int | addSectorsOnSensor (const std::vector< double > &normalizedUsup, const std::vector< double > &normalizedVsup, const std::vector< std::vector< FullSecID > > §orIds) |
To add an array of sectors on a sensor. More... | |
int | addTwoHitFilter (FullSecID outer, FullSecID inner, const twoHitFilter_t &filter) |
adds a two hit filter | |
int | addThreeHitFilter (FullSecID outer, FullSecID center, FullSecID inner, const threeHitFilter_t &filter) |
adds a three hit filter | |
CompactSecIDs::sectorID_t | getCompactID (FullSecID outer) const |
returns compactSecID for given FullSecID, == 0 if not found. | |
const staticSector_t * | getStaticSector (const FullSecID secID) const |
returns pointer to static sector for given fullSecID. More... | |
const twoHitFilter_t | getTwoHitFilters (const FullSecID &outer, const FullSecID &inner) const |
retrieves a two hit filter: More... | |
bool | areCoordinatesValid (VxdID aSensorID, double normalizedU, double normalizedV) const |
check if using getFullID() would be safe (true if it is safe): | |
FullSecID | getFullID (VxdID aSensorID, double normalizedU, double normalizedV) const |
returns fullSecID for given sensorID and local coordinates. | |
FullSecID | getFullID (CompactSecIDs::sectorID_t compactSecID) const |
returns the FullSecId of More... | |
const SectorMapConfig & | getConfig (void) const |
returns the configuration settings for this VXDTFFilters. | |
void | setConfig (const SectorMapConfig &config) |
set the configuration which is used to create this filter More... | |
const CompactSecIDs & | getCompactIDsMap () const |
JKL: intended for some checks only - returns CompactIDsMap storing the static sectors. | |
const std::vector< staticSector_t * > & | getStaticSectors () const |
JKL: intended for some checks only - returns CompactIDsMap storing the static sectors. | |
unsigned | size () const |
returns number of compact secIDs stored for this filter-container. | |
bool | persistOnRootFile (void) const |
Persists (i.e.: writes) on the current TDirectory the whole object. | |
bool | retrieveFromRootFile (const TString *dirName) |
Retrieves from the current TDirectory all the VXDTFFilters. | |
bool | setSubLayerIDs (FullSecID sector, int sublayer) |
during the trainings phase the sublayer ids have to be updated More... | |
void | lockFilters () |
This function should be called only AFTER all adjustments to the filters have been performed. More... | |
void | modify2SPFilters (const std::vector< std::tuple< int, std::string > > &adjustFunctions) |
modifies the 2SP-filters according to the functions given More... | |
void | modify3SPFilters (const std::vector< std::tuple< int, std::string > > &adjustFunctions) |
modifies the 3SP-filters according to the functions given More... | |
Public Attributes | |
decltype((0.<=DistanceInTimeUside< point_t >()<=0. &&0.<=DistanceInTimeVside< point_t >()<=0. &&0.<=Distance3DSquared< point_t >()<=0.&&0.<=Distance2DXYSquared< point_t >()<=0.&&0.<=Distance1DZ< point_t >()<=0.&&0.<=SlopeRZ< point_t >()<=0.&&0.<=Distance3DNormed< point_t >()<=0.)) typedef | twoHitFilter_t |
minimal working 2-hits-example used for redesign of VXDTF. More... | |
decltype((0.<=DistanceInTime< point_t >()<=0. &&0.<=Angle3DSimple< point_t >()<=0.&&0.<=CosAngleXY< point_t >()<=0.&&0.<=AngleRZSimple< point_t >()<=0.&&CircleDist2IP< point_t >()<=0.&&0.<=DeltaSlopeRZ< point_t >()<=0.&&0.<=DeltaSlopeZoverS< point_t >()<=0.&&0.<=DeltaSoverZ< point_t >()<=0.&&0.<=HelixParameterFit< point_t >()<=0.&&0.<=Pt< point_t >()<=0.&&0.<=CircleRadius< point_t >()<=0.)) typedef | threeHitFilter_t |
minimal working example for 3-hits: More... | |
Private Member Functions | |
bool | persistSectors (void) const |
Persists all the sectors on the current TDirectory. | |
bool | retrieveSectors (const TString *dirName) |
Read the whole CompactSecIDs from the current TDirectory. | |
bool | persistFilters (void) const |
Persists on the current TDirectory the StaticSectors. | |
bool | retrieveFilters (const TString *dirName) |
Retrieves from the current TDirectory the StaticSectors. | |
int | addSectorsOnSensor (const std::vector< double > &normalizedUsup, const std::vector< double > &normalizedVsup, const std::vector< std::vector< unsigned int >> &fullSecIDsBaseType) |
Adds the static sector: TODO: need documentation for the parameters. | |
Private Attributes | |
CompactSecIDs | m_compactSecIDsMap |
This member takes care of converting the [layer][ladder] [sensor][sector] multi index into a linear index on the m_staticSectors vector. | |
std::vector< staticSector_t * > | m_staticSectors |
This vector contains all the static sectors on a sector map. More... | |
SectorMapConfig | m_testConfig |
Configuration: i.e. More... | |
const char * | c_CompactSecIDstreeName = "CompactSecIDs" |
name of the tree the SecIDs are stored in when persisted | |
bool | m_preventModification = false |
The filters are not supposed to be altered after initialization (typically in the Module::initialize() function). More... | |
Class that contains all the static sectors to which the filters are attached.
It contains functions that are used to attach and retrieve filters. Also the type of the filters is defined in this class
Definition at line 63 of file VXDTFFilters.h.
|
inline |
To add an array of sectors on a sensor.
normalizedUsup | and |
normalizedVsup | are two vectors of double coding the geometry of the sectors. |
sectorIds | is a rectangular matrix of FullSecID. It returns the number of sectors added to the compactSecIDsMap |
Definition at line 142 of file VXDTFFilters.h.
|
inline |
|
inline |
returns pointer to static sector for given fullSecID.
if fullSecID is not found, a nullptr is returned.
secID | FullSecID of the filter to be retrieved |
Definition at line 220 of file VXDTFFilters.h.
|
inline |
retrieves a two hit filter:
outer | FullSecID of the outer static sector this filter is attached to |
inner | FullSecID of the inner static sector this filter is attached to |
Definition at line 231 of file VXDTFFilters.h.
|
inline |
This function should be called only AFTER all adjustments to the filters have been performed.
It sets m_preventModification to true and the VXDTFFilter is locked meaning that all function trying to modify it will be doing nothing. After a filter is locked it can NOT be unlocked.
Definition at line 351 of file VXDTFFilters.h.
|
inline |
modifies the 2SP-filters according to the functions given
adjustFunctions | a vector of vectors that contain exactly two strings, the first string will be interpreted integer, the second one will be interpreted TF1 regexp. |
Definition at line 356 of file VXDTFFilters.h.
|
inline |
modifies the 3SP-filters according to the functions given
adjustFunctions | a vector of vectors that contain exactly two strings, the first string will be interpreted integer, the second one will be interpreted as regexp to generate a TF1. |
Definition at line 373 of file VXDTFFilters.h.
|
inline |
set the configuration which is used to create this filter
config | the new configuration |
Definition at line 278 of file VXDTFFilters.h.
|
inline |
during the trainings phase the sublayer ids have to be updated
sector | : FullSecID of the sector to be updated (SubLayerID of sector will be ignored while searching for it!) |
sublayer | : new value for the sublayer, the new SubLayerID will be 0 if sublayer==0, and 1 else |
Definition at line 329 of file VXDTFFilters.h.
|
private |
The filters are not supposed to be altered after initialization (typically in the Module::initialize() function).
To prevent accidental alteration of the contained filters one can set this parameter to true which will not allow further modification of the stored filters. A check of this variable should be included in every public function that modifies filters!
Definition at line 640 of file VXDTFFilters.h.
|
private |
This vector contains all the static sectors on a sector map.
The index is the compact ID provided by the CompactSecIDs
Definition at line 627 of file VXDTFFilters.h.
|
private |
Configuration: i.e.
name of the sector map, tuning parameters, etc.
Definition at line 631 of file VXDTFFilters.h.
decltype( ( 0. <= DistanceInTime<point_t>() <= 0. && 0. <= Angle3DSimple<point_t>() <= 0.&& 0. <= CosAngleXY<point_t>() <= 0.&& 0. <= AngleRZSimple<point_t>() <= 0.&& CircleDist2IP<point_t>() <= 0.&& 0. <= DeltaSlopeRZ<point_t>() <= 0.&& 0. <= DeltaSlopeZoverS<point_t>() <= 0.&& 0. <= DeltaSoverZ<point_t>() <= 0.&& 0. <= HelixParameterFit<point_t>() <= 0.&& 0. <= Pt<point_t>() <= 0.&& 0. <= CircleRadius<point_t>() <= 0. ) ) typedef threeHitFilter_t |
minimal working example for 3-hits:
big working example for 3-hits:
Definition at line 112 of file VXDTFFilters.h.
decltype( ( 0. <= DistanceInTimeUside<point_t>() <= 0. && 0. <= DistanceInTimeVside<point_t>() <= 0. && 0. <= Distance3DSquared<point_t>() <= 0.&& 0. <= Distance2DXYSquared<point_t>() <= 0.&& 0. <= Distance1DZ<point_t>() <= 0.&& 0. <= SlopeRZ<point_t>() <= 0.&& 0. <= Distance3DNormed<point_t>() <= 0. ) ) typedef twoHitFilter_t |
minimal working 2-hits-example used for redesign of VXDTF.
big working 2-hits-example used for redesign of VXDTF.
Definition at line 82 of file VXDTFFilters.h.