Belle II Software development
|
Tracking-related info on event-level, for example number of unassigned measurements. More...
#include <EventLevelTrackingInfo.h>
Public Member Functions | |
EventLevelTrackingInfo ()=default | |
default constructor | |
uint16_t | getNCDCHitsNotAssigned () const |
Getter for number of CDC measurements, that are not assigned to any Track. | |
void | setNCDCHitsNotAssigned (uint16_t const nCDCHitsNotAssigned) |
Setter for number of CDC measurements, that are not assigned to any Track. | |
uint16_t | getNCDCHitsNotAssignedPostCleaning () const |
Getter for number of CDC measurements, that are not assigned to any Track nor very likely beam-background. | |
void | setNCDCHitsNotAssignedPostCleaning (uint16_t const nCDCHitsNotAssignedPostCleaning) |
Setter for number of CDC measurements, that are not assigned to any Track nor very likely beam-background. | |
bool | hasCDCLayer (uint16_t const cdcLayer) const |
Getter for presence of hit in specific CDC Layer. | |
void | setCDCLayer (uint16_t const cdcLayer) |
Setter for presence of hit in specific CDC Layer. | |
bool | hasCDCSLayer (uint16_t const cdcSLayer) const |
Getter for the presence of hit in a SuperLayer. | |
uint16_t | getNCDCSegments () const |
Getter for number of segments not used in Tracks. | |
void | setNCDCSegments (uint16_t nHits) |
Setter for number of Segments not used in Tracks. | |
uint16_t | getNVXDClustersInLayer (uint16_t const layer, bool const isU) |
Getter for number of clusters in a specific VXD layer, SVD separated by direction. | |
uint16_t | getNVXDClustersInLayer (uint16_t const layer) |
Getter for number of clusters in specific VXD layer, SVD directions are accumulated. | |
void | setNVXDClustersInLayer (uint16_t const layer, bool const isU, uint16_t const nClusters) |
Setter for number of clusters in specific VXD layer, SVD directions are separated. | |
int8_t | getSVDFirstSampleTime () const |
Getter for time of first SVD sample relative to event T0. | |
void | setSVDFirstSampleTime (int8_t const sampleTime) |
Setter for time of first SVD sample relatvie to event T0. | |
bool | hasAnErrorFlag () const |
Check if any flag was set in the event. | |
bool | hasUnspecifiedTrackFindingFailure () const |
Getter for unspecified hint of track finding failure. | |
void | setUnspecifiedTrackFindingFailure () |
Setter for unspecified hint of track finding failure. | |
bool | hasVXDTF2AbortionFlag () const |
Getter for flag indicating that the VXDTF2 was aborted due to high combinatorics in the event. | |
void | setVXDTF2AbortionFlag () |
Setter for flag indicating that the VXDTF2 was aborted due to high combinatorics in the event. | |
bool | hasSVDCKFAbortionFlag () const |
Getter for flag indicating that the SVD CKF was aborted due to high combinatorics in the event. | |
void | setSVDCKFAbortionFlag () |
Setter for flag indicating that the SVD CKF was aborted due to high combinatorics in the event. | |
bool | hasPXDCKFAbortionFlag () const |
Getter for flag indicating that the PXD CKF was aborted due to high combinatorics in the event. | |
void | setPXDCKFAbortionFlag () |
Setter for flag indicating that the PXD CKF was aborted due to high combinatorics in the event. | |
bool | hasSVDSpacePointCreatorAbortionFlag () const |
Getter for flag indicating that the SVD Space Point Creator was aborted due to very busy event. | |
void | setSVDSpacePointCreatorAbortionFlag () |
Setter for flag indicating that the SVD Space Point Creator was aborted due to very busy event. | |
Private Types | |
enum | ETrackingErrorFlags { c_unspecifiedError = 0 , c_vxdtf2Abortion = 1 , c_svdckfAbortion = 2 , c_pxdckfAbortion = 3 , c_svdSpacePointAbortion = 4 } |
Enum to specify meaning of bits in m_flagBlock bitset. More... | |
Private Member Functions | |
ClassDef (EventLevelTrackingInfo, 2) | |
ROOTification. | |
Private Attributes | |
uint16_t | m_nCDCHitsNotAssigned {0} |
Number of hits in the CDC, that were not assigned to any Track. | |
uint16_t | m_nCDCHitsNotAssignedPostCleaning {0} |
Number of unassigned hits in the CDC, that survived the background filter. | |
uint64_t | m_hitPatternCDCInitializer {0} |
Efficient way of storing, which layers in the CDC have at least a single hit. | |
uint16_t | m_nPXDClusters [2] {0, 0} |
Storage for number of clusters in the PXD. | |
uint8_t | m_nSVDClusters [8] {0, 0, 0, 0, 0, 0, 0, 0} |
Storage for number of clusters in the SVD. | |
int8_t | m_sampleTime {0} |
storage for time of first SVD sample. | |
std::bitset< 16 > | m_flagBlock |
Set of further flags useful in the context of tracking reconstruction. | |
Tracking-related info on event-level, for example number of unassigned measurements.
This kind of information has various use-cases, e.g.
Additionally, setters and getters for hints of track finding failure during an event are included in this object. If we have a reason to assume, that there was a track in the event, that we didn't find or the track finding process was affected in any way we set a flag, respectively, that might be useful for veto purposes. The covered causes for a failure coded in the member bitset m_flagBlock can be identified via the TrackingErrorFlags enum.
Definition at line 37 of file EventLevelTrackingInfo.h.
|
private |
Enum to specify meaning of bits in m_flagBlock bitset.
Enumerator | |
---|---|
c_unspecifiedError | Indicating a unspecified failure during track finding. |
c_vxdtf2Abortion | Indicating abortion of the VXDTF2 due to high combinatorics in the event. |
c_svdckfAbortion | Indicating abortion of the SVD CKF due to high combinatorics in the event. |
c_pxdckfAbortion | Indicating abortion of the PXD CKF due to high combinatorics in the event. |
c_svdSpacePointAbortion | Indicating abortion of the SVD Space Point Creator due to very busy event. |
Definition at line 255 of file EventLevelTrackingInfo.h.
|
inline |
Getter for number of CDC measurements, that are not assigned to any Track.
Definition at line 44 of file EventLevelTrackingInfo.h.
|
inline |
Getter for number of CDC measurements, that are not assigned to any Track nor very likely beam-background.
CDC hits, that are close to each other are combined in clusters during the reconstruction, which are evaluated with respect to the likelihood to stem from beam-background and the like rather than from an interesting physics object. Before any real attempt to actually combine CDC hits into a track, a cut on the output of such a classifier is performed. Here we want to get only the number of those CDC hits, that survive that cut, but are then not used for an actual Track.
Definition at line 64 of file EventLevelTrackingInfo.h.
|
inline |
Getter for number of segments not used in Tracks.
During the CDC track finding, we search for segments within one superlayer. We want to store the number of segments, that we couldn't attach to any Track. The maximum number of unstored segments is 255.
Definition at line 106 of file EventLevelTrackingInfo.h.
|
inline |
Getter for number of clusters in specific VXD layer, SVD directions are accumulated.
layer | 1 to 6 for respective VXD layer, for which you want to have the remaining clusters. |
Definition at line 144 of file EventLevelTrackingInfo.h.
|
inline |
Getter for number of clusters in a specific VXD layer, SVD separated by direction.
All clusters, that have been part of a RecoTrack, that was converted into a Track, are removed. Only clusters, that in principle are considered valid, e.g. that are compatible with the event T0 are counted. The maximum number of clusters per layer and direction, that are considered in the SVD is 255.
layer | 1 to 6 for respective VXD layer for which you want to have the remaining clusters. |
isU | only used for layers 3 to 6, set true for u direction, false for v direction. |
Definition at line 129 of file EventLevelTrackingInfo.h.
|
inline |
Getter for time of first SVD sample relative to event T0.
An additional hint on the quality of the SVD reconstruction can be the time, at which the first sample point for the shape estimation was taken relative to the true T0 of the event. We assume, that the event type etc. that ultimately determines the total number of samples, that were taken, can be gotten from elsewhere. The minimum and maximum are -128 ns and 127 ns.
Definition at line 175 of file EventLevelTrackingInfo.h.
|
inline |
Check if any flag was set in the event.
Definition at line 188 of file EventLevelTrackingInfo.h.
|
inline |
Getter for presence of hit in specific CDC Layer.
This information refers as well to the cleaned hits.
cdcLayer | Specification, which layer in the CDC shall be tested for a hit. |
Definition at line 81 of file EventLevelTrackingInfo.h.
|
inline |
Getter for the presence of hit in a SuperLayer.
Definition at line 95 of file EventLevelTrackingInfo.h.
|
inline |
Getter for flag indicating that the PXD CKF was aborted due to high combinatorics in the event.
Definition at line 230 of file EventLevelTrackingInfo.h.
|
inline |
Getter for flag indicating that the SVD CKF was aborted due to high combinatorics in the event.
Definition at line 218 of file EventLevelTrackingInfo.h.
|
inline |
Getter for flag indicating that the SVD Space Point Creator was aborted due to very busy event.
Definition at line 242 of file EventLevelTrackingInfo.h.
|
inline |
Getter for unspecified hint of track finding failure.
Definition at line 194 of file EventLevelTrackingInfo.h.
|
inline |
Getter for flag indicating that the VXDTF2 was aborted due to high combinatorics in the event.
Definition at line 206 of file EventLevelTrackingInfo.h.
|
inline |
Setter for presence of hit in specific CDC Layer.
Definition at line 87 of file EventLevelTrackingInfo.h.
|
inline |
Setter for number of CDC measurements, that are not assigned to any Track.
Definition at line 50 of file EventLevelTrackingInfo.h.
|
inline |
Setter for number of CDC measurements, that are not assigned to any Track nor very likely beam-background.
Definition at line 70 of file EventLevelTrackingInfo.h.
|
inline |
Setter for number of Segments not used in Tracks.
Definition at line 112 of file EventLevelTrackingInfo.h.
|
inline |
Setter for number of clusters in specific VXD layer, SVD directions are separated.
Definition at line 153 of file EventLevelTrackingInfo.h.
|
inline |
Setter for flag indicating that the PXD CKF was aborted due to high combinatorics in the event.
Definition at line 236 of file EventLevelTrackingInfo.h.
|
inline |
Setter for flag indicating that the SVD CKF was aborted due to high combinatorics in the event.
Definition at line 224 of file EventLevelTrackingInfo.h.
|
inline |
Setter for time of first SVD sample relatvie to event T0.
Definition at line 181 of file EventLevelTrackingInfo.h.
|
inline |
Setter for flag indicating that the SVD Space Point Creator was aborted due to very busy event.
Definition at line 248 of file EventLevelTrackingInfo.h.
|
inline |
Setter for unspecified hint of track finding failure.
Definition at line 200 of file EventLevelTrackingInfo.h.
|
inline |
Setter for flag indicating that the VXDTF2 was aborted due to high combinatorics in the event.
Definition at line 212 of file EventLevelTrackingInfo.h.
|
private |
Set of further flags useful in the context of tracking reconstruction.
Definition at line 309 of file EventLevelTrackingInfo.h.
|
private |
Efficient way of storing, which layers in the CDC have at least a single hit.
Using indirectly the HitPatternCDC. However, as that object has internal data, that isn't supposed to be written out, we only store an initalizer integer. As we are expecting a larger number of hits, some functionality can't be used and the corresponding information is handled with speparate members. Instead we store the number of segments into the bits reserved for number of hits in the Track.
Definition at line 288 of file EventLevelTrackingInfo.h.
|
private |
Number of hits in the CDC, that were not assigned to any Track.
HitPatternCDC saves only up to 255 hits, as its primary use-case is the Track, but we we can easily have a larger number of hits, that are not assigned. Therefore, we save this as a separate number.
Definition at line 269 of file EventLevelTrackingInfo.h.
|
private |
Number of unassigned hits in the CDC, that survived the background filter.
During the pattern recognition, a cleaning of hits, that are very likely due to background is performed. Here we save only the number of unassinged hits, that survive that cut.
Definition at line 276 of file EventLevelTrackingInfo.h.
|
private |
Storage for number of clusters in the PXD.
We can store up to 65'535 cluster per layer here. This is slightly above the hardware readout limit, and therefore sufficient.
Definition at line 295 of file EventLevelTrackingInfo.h.
|
private |
Storage for number of clusters in the SVD.
We can store up to 255 clusters per layer and direction. Typically events are much below that, if not, the event is a noisy one. The first 4 numbers refer to u-direction strips, the second 4 to the v-direction.
Definition at line 303 of file EventLevelTrackingInfo.h.
|
private |
storage for time of first SVD sample.
Definition at line 306 of file EventLevelTrackingInfo.h.