Belle II Software development
|
Class that contains all the static sectors to which the filters are attached. More...
#include <VXDTFFilters.h>
Public Types | |
typedef 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.)) | twoHitFilter_t |
minimal working 2-hits-example used for redesign of VXDTF. | |
typedef 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.)) | threeHitFilter_t |
minimal working example for 3-hits: | |
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. | |
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. | |
const twoHitFilter_t | getTwoHitFilters (const FullSecID &outer, const FullSecID &inner) const |
retrieves a two hit filter: | |
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 | |
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 | |
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 | |
void | lockFilters () |
This function should be called only AFTER all adjustments to the filters have been performed. | |
void | modify2SPFilters (const std::vector< std::tuple< int, std::string > > &adjustFunctions) |
modifies the 2SP-filters according to the functions given | |
void | modify3SPFilters (const std::vector< std::tuple< int, std::string > > &adjustFunctions) |
modifies the 3SP-filters according to the functions given | |
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. | |
SectorMapConfig | m_testConfig |
Configuration: i.e. | |
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). | |
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.
typedef StaticSector< point_t, twoHitFilter_t, threeHitFilter_t, int > staticSector_t |
typedef to make a static sector type more readable.
Definition at line 117 of file VXDTFFilters.h.
typedef 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. ) ) threeHitFilter_t |
minimal working example for 3-hits:
big working example for 3-hits:
Definition at line 112 of file VXDTFFilters.h.
typedef 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. ) ) 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.
|
inline |
Construct the container of all the filters used by the VXD Track Finder.
Definition at line 120 of file VXDTFFilters.h.
|
inline |
Destructor.
Definition at line 131 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.
|
inlineprivate |
Adds the static sector: TODO: need documentation for the parameters.
Definition at line 600 of file VXDTFFilters.h.
|
inline |
adds a three hit filter
Definition at line 189 of file VXDTFFilters.h.
|
inline |
adds a two hit filter
Definition at line 175 of file VXDTFFilters.h.
|
inline |
check if using getFullID() would be safe (true if it is safe):
Definition at line 248 of file VXDTFFilters.h.
|
inline |
returns compactSecID for given FullSecID, == 0 if not found.
Definition at line 209 of file VXDTFFilters.h.
|
inline |
JKL: intended for some checks only - returns CompactIDsMap storing the static sectors.
Definition at line 282 of file VXDTFFilters.h.
|
inline |
returns the configuration settings for this VXDTFFilters.
Definition at line 274 of file VXDTFFilters.h.
|
inline |
returns fullSecID for given sensorID and local coordinates.
Definition at line 259 of file VXDTFFilters.h.
|
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 |
JKL: intended for some checks only - returns CompactIDsMap storing the static sectors.
Definition at line 286 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.
|
inlineprivate |
Persists on the current TDirectory the StaticSectors.
Definition at line 467 of file VXDTFFilters.h.
|
inline |
Persists (i.e.: writes) on the current TDirectory the whole object.
Definition at line 292 of file VXDTFFilters.h.
|
inlineprivate |
Persists all the sectors on the current TDirectory.
Definition at line 390 of file VXDTFFilters.h.
|
inlineprivate |
Retrieves from the current TDirectory the StaticSectors.
Definition at line 521 of file VXDTFFilters.h.
|
inline |
Retrieves from the current TDirectory all the VXDTFFilters.
Definition at line 307 of file VXDTFFilters.h.
|
inlineprivate |
Read the whole CompactSecIDs from the current TDirectory.
Definition at line 431 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.
|
inline |
returns number of compact secIDs stored for this filter-container.
Definition at line 289 of file VXDTFFilters.h.
|
private |
name of the tree the SecIDs are stored in when persisted
Definition at line 634 of file VXDTFFilters.h.
|
private |
This member takes care of converting the [layer][ladder] [sensor][sector] multi index into a linear index on the m_staticSectors vector.
Definition at line 622 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.