 |
Belle II Software
release-05-02-19
|
14 #include <framework/datastore/RelationsObject.h>
15 #include <framework/core/FrameworkExceptions.h>
18 #include <tracking/spacePointCreation/SpacePoint.h>
50 BELLE2_DEFINE_EXCEPTION(UnsupportedDetType,
"The Detector Type is not supported by this class. Supported are: PXD and SVD");
56 " index that is out of bounds!");
62 "Trying to modify SortingParameters, but number of new SortingParameters differs from number of SpacePoints");
109 explicit SpacePointTrackCand(
const std::vector<const Belle2::SpacePoint*>& spacePoints,
int pdgCode = 0,
double charge = 0,
128 const std::vector<const Belle2::SpacePoint*>
getSortedHits()
const;
134 std::vector<const Belle2::SpacePoint*>::const_iterator
end()
const {
return m_trackSpacePoints.end(); }
141 const std::vector<const Belle2::SpacePoint*>
getHitsInRange(
int firstInd,
int lastInd)
const;
265 void print(
int debuglevel = 150,
const Option_t* =
"")
const;
389 TMatrixDSym
m_cov6D = TMatrixDSym(6);
double charge(int pdgCode)
Returns electric charge of a particle with given pdg code.
const std::vector< const Belle2::SpacePoint * > getSortedHits() const
get hits (space points) sorted by their respective sorting parameter
bool isCurling() const
get if the TrackCand is curling.
bool hasHitsOnSameSensor() const
Check if the SpacePointTrackCand contains consecutive SpacePoints that are on the same sensor WARNING...
const std::vector< const Belle2::SpacePoint * > getHitsInRange(int firstInd, int lastInd) const
get hits (SpacePoints) in range (indices of SpacePoint inside SpacePointTrackCand) including first in...
double getQualityIndicator() const
returns the current status of the estimated quality of this track candidate.
bool checkedForCurling() const
check if the TrackCand has been checked for Curling.
bool operator<(const SpacePointTrackCand &rhs) const
Overloading the less operator to compare SPTCs based on their quality index.
int getMcTrackId() const
get the MC Track ID (same writing as in genfit::TrackCand)
void setRefereeStatus(unsigned short int bitmask)
set referee status (resets the complete to the passed status!)
void addRefereeStatus(unsigned short int bitmask)
add a referee status
TMatrixDSym m_cov6D
global momentum plus position state (seed) covariance matrix
void setSortingParameters(const std::vector< double > &sortParams)
set the sorting parameters
const TVector3 getMomSeed() const
get momentum seed as TVector3
void removeRefereeStatus(unsigned short int bitmask)
remove a referee status
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
bool operator==(const SpacePointTrackCand &rhs)
Checks the equality of the pointers to the contained SpacePoints (pdg-code and charge estimate are no...
@ c_isActive
bit 11: SPTC is active (i.e.
@ c_checkedSameSensors
bit 6: It has been checked, if two consecutive SpacePoints are on the same sensor for this SPTC.
void setCovSeed(const TMatrixDSym &cov)
set the covariance matrix seed
void print(int debuglevel=150, const Option_t *="") const
print the Track Candidate in its "full beauty".
SpacePoint typically is build from 1 PXDCluster or 1-2 SVDClusters.
int m_pdg
PDG code of particle.
void setTrackStubIndex(int trackStubInd)
set TrackStub index
int m_MCTrackID
track ID from MC simulation
int m_iTrackStub
Index of TrackStub in a curling Track Candidate.
@ c_checkedTrueHits
bit 5: All SpacePoints of the SPTC have a relation to at least one TrueHit.
unsigned int getNHits() const
get the number of hits (space points) in the track candidate
@ c_curlingTrack
bit 8: SPTC is curling (resp.
const std::vector< double > getSortingParametersInRange(int firstIndex, int lastIndex) const
get the sorting parameters in range (indices of SpacePoints inside SpacePointTrackCand) including fir...
std::string getRefereeStatusString(std::string delimiter=" ") const
get the refereeStatus as a string (easier to read than an unsigned short int)
void set6DSeed(const TVectorD &state6D)
set the 6D state seed
std::vector< const Belle2::SpacePoint * >::const_iterator end() const
returns a const_iterator (end()) for easily looping over hits of SpacePointTrackCand.
void removeSpacePoint(int indexInTrackCand)
remove a SpacePoint (and its sorting parameter) from the SpacePointTrackCand
void setFamily(short family)
assign family identifier
int getPdgCode() const
get pdg code
const std::vector< const Belle2::SpacePoint * > & getHits() const
get hits (space points) of track candidate
unsigned int size() const
get the number of hits (space points) in the track candidate
Abstract base class for different kinds of events.
std::vector< const Belle2::SpacePoint * >::const_iterator begin() const
returns a const_iterator (begin()) for easily looping over hits of SpacePointTrackCand.
@ c_singleClustersSPs
bit 10: SPTC contains single Cluster SpacePoints.
void resetRefereeStatus()
resets the referee status to the initial value
void setChargeSeed(double charge)
Setter for assumed charge of tracked particle.
void setFlightDirection(bool direction)
set the direction of flight (true is outgoing, false is ingoing).
bool hasHitsLowDistance() const
Check if consecutive SpacePoints are far enough apart throughout the SpacePointTrackCand WARNING: doe...
std::vector< double > m_sortingParameters
sorting Parameters, can be used to sort the SpacePoints.
@ c_hitsOnSameSensor
bit 2: SPTC has two (or more) SpacePoints on same sensor.
TVectorD m_state6D
global momentum plus position state (seed) vector
double m_qualityIndicator
An estimation for the quality of the track.
void setPdgCode(int pdgCode)
set a hypothesis for the particle by setting a pdgcode (will also set the appropriate charge)
bool isPartOfCurlingTrack() const
check if the TrackCand is part of a curling TrackCand.
bool hasRefereeStatus(unsigned int short bitmask) const
Check if the SpacePointTrackCand has the status characterized by the bitmask.
@ c_removedHits
bit 4: SpacePoints were removed from this SPTC.
bool checkedSameSensors() const
Check if the SpacePointTrackCand has been checked for consecutive hits on same sensor.
const std::vector< double > & getSortingParameters() const
get the sorting parameters
double getChargeSeed() const
get charge
RefereeStatusBit
Status information that can be set to indicate several properties of the SpacePointTrackCand.
const TVector3 getPosSeed() const
get position seed as TVector3
@ c_isReserved
bit 12: SPTC is reserved (i.e.
SpacePointTrackCand()=default
Empty constructor with default values, including it to be active.
void clearRefereeStatus()
clear the referee status.
bool checkedMinDistance() const
Check if the SpacePointTrackCand has been checked for consecutive hits being far enough apart.
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
unsigned short int getRefereeStatus(unsigned short int bitmask=USHRT_MAX) const
Return the refere status code of the SpacePointTrackCand.
@ c_omittedClusters
bit 9: Not all Clusters of the genfit::TrackCand have been used to create this SPTC.
double m_q
charge of the particle in units of elementary charge
@ c_checkedMinDistance
bit 7: It has been checked if two consecutive SpacePoints are far enough apart.
bool isOutgoing() const
check if particle is outgoing (simply returns member m_flightDirection)!
void addSpacePoint(const SpacePoint *newSP, double sortParam)
add a new SpacePoint and its according sorting parameter to the track candidate
@ c_initialState
This is the initialState, which will always be set in the beginning and at reset.
const TVectorD & getStateSeed() const
get state seed as 6D vector
short getFamily() const
return family identifier
const TMatrixDSym & getCovSeed() const
get the covariance matrix seed (6D).
std::vector< const SpacePoint * > m_trackSpacePoints
pointers to SpacePoints in the datastore
@ c_checkedClean
bit 1: SPTC shows no 'problematic' behaviour.
int getTrackStubIndex() const
get TrackStub Index
short m_family
identifier for tracks that share at least two SpacePoints.
bool m_flightDirection
direction of flight.
@ c_hasFittedRecoTrack
bit 13: SPTC is related to a RecoTrack which has a successful fit.
int getMcTrackID() const
get the MC Track ID
unsigned short int m_refereeStatus
bit-field to indicate different properties that are checked by the referee module
@ c_hitsLowDistance
bit 3: SPTC has two (or more) SpacePoints that are not far enough apart.
@ c_checkedByReferee
bit 0: SPTC has been checked by a Referee (all possible tests).
Storage for (VXD) SpacePoint-based track candidates.
void setQualityIndicator(const double newIndicator)
sets the new status of the estimated quality of this track candidate.
BELLE2_DEFINE_EXCEPTION(UnsupportedDetType, "The Detector Type is not supported by this class. Supported are: PXD and SVD")
Exception thrown, when an Unsupported Detector Type occurs.
bool hasRemovedHits() const
Check if a SpacePointTrackCand has removed hits (i.e.