Belle II Software  release-08-01-10
CDCMCSegment2DLookUp Class Reference

Specialisation of the lookup for the truth values of two dimensional segments. More...

#include <CDCMCSegment2DLookUp.h>

Inheritance diagram for CDCMCSegment2DLookUp:
Collaboration diagram for CDCMCSegment2DLookUp:

Public Member Functions

 CDCMCSegment2DLookUp ()=default
 Default constructor, needs to be public for initialization in CDCMCManager.
 
 CDCMCSegment2DLookUp (CDCMCSegment2DLookUp &)=delete
 Singleton: Delete copy constructor and assignment operator,.
 
CDCMCSegment2DLookUpoperator= (const CDCMCSegment2DLookUp &)=delete
 Operator =.
 
void clear ()
 Clears all Monte Carlo information left from the last event.
 
MCTrackIdPurityPair getHighestPurity (const CDCSegment2D &hits) const
 Get the track id with the highest corresponding purity.
 
ITrackType getMCTrackId (const CDCSegment2D *ptrHits) const
 Getter for the Monte Carlo track id matched to this collection of hits. More...
 
int getCorrectRLVote (const CDCSegment2D *ptrHits) const
 Getter for the difference of correct versus incorrect right left passage informations.
 
double getRLPurity (const CDCSegment2D *ptrHits) const
 Getter for the right left passge purity which respects the forward backward reconstruction.
 
const MCParticlegetMCParticle (const CDCSegment2D *ptrHits) const
 Getter for the mc particle matched to this collection of hits.
 
const CDCHitgetFirstHit (const CDCSegment2D *ptrHits) const
 Getter for the first hit in the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
const CDCHitgetLastHit (const CDCSegment2D *ptrHits) const
 Getter for the last hit in the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
Index getFirstInTrackId (const CDCSegment2D *ptrHits) const
 Getter for in track id for the first hit in the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
Index getLastInTrackId (const CDCSegment2D *ptrHits) const
 Getter for in track id for the last hit in the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
Index getFirstInTrackSegmentId (const CDCSegment2D *ptrHits) const
 Getter for in track collection of hits id for the first hit in the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
Index getLastInTrackSegmentId (const CDCSegment2D *ptrHits) const
 Getter for in track collection of hits id for the last hit in the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
Index getFirstNPassedSuperLayers (const CDCSegment2D *ptrHits) const
 Getter for number of passed superlayer till the first hit the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
Index getLastNPassedSuperLayers (const CDCSegment2D *ptrHits) const
 Getter for number of passed superlayer till the last hit the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
Index getFirstNLoops (const CDCSegment2D *ptrHits) const
 Getter for number of loops till the first hit the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
Index getLastNLoops (const CDCSegment2D *ptrHits) const
 Getter for number of loops till the last hit the collection of hits which has the Monte Carlo track id matched to this collection of hits.
 
EForwardBackward isForwardOrBackwardToMCTrack (const CDCSegment2D *ptrHits) const
 Returns the orientation of the collection of hits relative to its matched track. More...
 
EForwardBackward areAlignedInMCTrack (const CDCSegment2D *ptrFromHits, const CDCSegment2D *ptrToHits) const
 Returns if the second collection of hits follows the first collection of hits in their common Monte Carlo track. More...
 
EForwardBackward areAlignedInMCTrackWithRLCheck (const CDCSegment2D *ptrFromHits, const CDCSegment2D *ptrToHits) const
 Returns if the second collection of hits follows the first collection of hits in their common Monte Carlo track. More...
 
CDCTrajectory3D getTrajectory3D (const CDCSegment2D *ptrHits) const
 Returns the trajectory of the collection of hits.
 

Static Public Member Functions

static const CDCMCSegment2DLookUpgetInstance ()
 Getter for the singletone instance.
 

Private Member Functions

std::map< ITrackType, size_t > getHitCountByMCTrackId (const CDCSegment2D &hits) const
 Fill a map with the number of hits for each track id contained in the given hit range.
 

Private Attributes

float m_minimalMatchPurity
 Threshold for the purity that must be exceeded to be considered as a match.
 
float m_minimalRLPurity
 Threshold for the correct fraction of right left passage informations to be considered a match.
 

Detailed Description

Specialisation of the lookup for the truth values of two dimensional segments.

Definition at line 23 of file CDCMCSegment2DLookUp.h.

Member Function Documentation

◆ areAlignedInMCTrack()

EForwardBackward areAlignedInMCTrack ( const CDCSegment2D ptrFromHits,
const CDCSegment2D ptrToHits 
) const
inherited

Returns if the second collection of hits follows the first collection of hits in their common Monte Carlo track.

  • Returns EForwardBackward::c_Invalid if the collection of hits is not matched in the same Monte Carlo track.
  • Returns EForwardBackward::c_Forward if both collections of hits are coaligned with the Monte Carlo track and the second collection of hits comes after the first.
  • Returns EForwardBackward::c_Backward if both collections of hits are anticoaligned with the Monte Carlo track and the second collection of hits comes after the first in the reversed sense.

Check if the segments are in the same track

Definition at line 168 of file CDCMCHitCollectionLookUp.icc.h.

◆ areAlignedInMCTrackWithRLCheck()

EForwardBackward areAlignedInMCTrackWithRLCheck ( const CDCSegment2D ptrFromHits,
const CDCSegment2D ptrToHits 
) const
inherited

Returns if the second collection of hits follows the first collection of hits in their common Monte Carlo track.

Also checks that the majority of the right left passage informations agrees with the forward backward information

Definition at line 176 of file CDCMCHitCollectionLookUp.icc.h.

◆ getMCTrackId()

ITrackType getMCTrackId ( const CDCSegment2D ptrHits) const
inherited

Getter for the Monte Carlo track id matched to this collection of hits.

On first encounter of a collection of hits this evaluates the purities for the contained track ids. The match is valid if the highest purity exceeds the s_minimalMatchPurity threshold. In case the highest purity is to low to result will be INVALID_ITRACK. To result is stored in member map object for fast look up for repeated calls.

Definition at line 92 of file CDCMCHitCollectionLookUp.icc.h.

◆ isForwardOrBackwardToMCTrack()

EForwardBackward isForwardOrBackwardToMCTrack ( const CDCSegment2D ptrHits) const
inherited

Returns the orientation of the collection of hits relative to its matched track.

  • Returns EForwardBackward::c_Invalid if the collection of hits is not matched to any track.
  • Returns EForwardBackward::c_Forward if the collection of hits is coaligned with the matched track.
  • Returns EForwardBackward::c_Backward if the collection of hits is coaligned with the matched track interpreted in reverse.
  • Returns EForwardBackward::c_Unknown if the matter cannot be decided.

Definition at line 155 of file CDCMCHitCollectionLookUp.icc.h.


The documentation for this class was generated from the following files: