Belle II Software development
|
Class to store TOP digitized hits (output of TOPDigitizer or raw data unpacker) relations to TOPSimHits, MCParticles. More...
#include <TOPDigit.h>
Public Types | |
enum | EHitQuality { c_Junk = 0 , c_Good = 1 , c_CrossTalk = 3 , c_CalPulse = 4 , c_Uncalibrated = 5 , c_Masked = 6 } |
hit quality enumerators More... | |
enum | EStatusBits { c_TimeBaseCalibrated = 1 , c_ChannelT0Calibrated = 2 , c_ModuleT0Calibrated = 4 , c_CommonT0Calibrated = 8 , c_FullyCalibrated = c_TimeBaseCalibrated | c_ChannelT0Calibrated | c_ModuleT0Calibrated | c_CommonT0Calibrated , c_OffsetSubtracted = 16 , c_EventT0Subtracted = 32 , c_BunchOffsetSubtracted = 64 } |
calibration status enumerators More... | |
enum | EChargeShare { c_PrimaryChargeShare = 1 , c_SecondaryChargeShare = 2 } |
charge sharing enumerators More... | |
enum | EAppendStatus { c_DontAppend = 0 , c_Append = 1 } |
Enum for return state of addBGDigit function. More... | |
Public Member Functions | |
TOPDigit () | |
Default constructor. | |
TOPDigit (int moduleID, int pixelID, double rawTime) | |
Usefull constructor. | |
void | setModuleID (int moduleID) |
Sets module ID. | |
void | setPixelID (int pixelID) |
Sets pixel ID. | |
void | setChannel (unsigned int channel) |
Sets hardware channel number (0-based) | |
void | setRawTime (double rawTime) |
Sets raw detection time. | |
void | setTime (double time) |
Sets calibrated detection time. | |
void | setTimeError (double timeError) |
Sets calibrated time uncertainty. | |
void | setPulseHeight (int pulseHeight) |
Sets pulse height. | |
void | setPulseWidth (double width) |
Sets pulse width. | |
void | setIntegral (int integral) |
Sets pulse integral. | |
void | setFirstWindow (unsigned window) |
Sets first ASIC window number of the merged waveform this hit is taken from. | |
void | setHitQuality (EHitQuality quality) |
Sets hit quality flag. | |
void | setStatus (unsigned short status) |
Sets calibration status (overwrites previously set bits) | |
void | addStatus (unsigned short bitmask) |
Add calibration status. | |
void | removeStatus (unsigned short bitmask) |
Remove calibration status. | |
void | setPrimaryChargeShare () |
Sets primary charge share flag. | |
void | setSecondaryChargeShare () |
Sets secondary charge share flag. | |
void | resetChargeShare () |
Remove charge share flag. | |
void | subtractT0 (double t0) |
Subtract start time from m_time. | |
EHitQuality | getHitQuality () const |
Returns hit quality. | |
unsigned short | getStatus () const |
Returns calibration status bits. | |
bool | hasStatus (unsigned short bitmask) const |
Returns calibration status. | |
bool | isCalibrated () const |
Returns calibration status. | |
bool | isTimeBaseCalibrated () const |
Returns calibration status. | |
bool | isChannelT0Calibrated () const |
Returns calibration status. | |
bool | isModuleT0Calibrated () const |
Returns calibration status. | |
bool | isCommonT0Calibrated () const |
Returns calibration status. | |
bool | isChargeShare () const |
Returns charge share status. | |
bool | isPrimaryChargeShare () const |
Returns charge share status. | |
bool | isSecondaryChargeShare () const |
Returns charge share status. | |
int | getModuleID () const |
Returns module ID. | |
int | getPixelID () const |
Returns pixel ID (1-based) | |
int | getPixelRow () const |
Returns pixel row number (1-based) | |
int | getPixelCol () const |
Returns pixel column number (1-based) | |
int | getPMTRow () const |
Returns PMT row number (1-based) | |
int | getPMTCol () const |
Returns PMT column number (1-based) | |
int | getPMTNumber () const |
Returns PMT number (1-based) | |
int | getPMTPixelRow () const |
Returns PMT pixel row number (1-based) | |
int | getPMTPixelCol () const |
Returns PMT pixel column number (1-based) | |
int | getPMTPixel () const |
Returns PMT pixel number (1-based) | |
unsigned int | getChannel () const |
Returns hardware channel number. | |
unsigned int | getASICChannel () const |
Returns ASIC channel number. | |
unsigned int | getASICNumber () const |
Returns ASIC number. | |
unsigned int | getCarrierNumber () const |
Returns carrier board number. | |
unsigned int | getBoardstackNumber () const |
Returns boardstack number. | |
double | getRawTime () const |
Returns raw detection time. | |
int | getModulo256Sample () const |
Returns sample number modulo 256. | |
double | getTime () const |
Returns t0-subtracted and calibrated time. | |
double | getTimeError () const |
Returns calibrated time uncertainty. | |
int | getPulseHeight () const |
Returns pulse height. | |
double | getPulseWidth () const |
Returns pulse width. | |
int | getIntegral () const |
Returns pulse integral. | |
unsigned | getFirstWindow () const |
Returns first ASIC window number of the merged waveform this hit is taken from. | |
unsigned int | getUniqueChannelID () const override |
Implementation of the base class function. | |
DigitBase::EAppendStatus | addBGDigit (const DigitBase *bg) override |
Implementation of the base class function. | |
virtual void | adjustAppendedBGDigit () |
Virtual method for possible modification of BG digit which is just appended to simulation store array. | |
void | addRelationTo (const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const |
Add a relation from this object to another object (with caching). | |
void | addRelationTo (const TObject *object, float weight=1.0, const std::string &namedRelation="") const |
Add a relation from this object to another object (no caching, can be quite slow). | |
void | copyRelations (const RelationsInterface< BASE > *sourceObj) |
Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights). | |
template<class TO > | |
RelationVector< TO > | getRelationsTo (const std::string &name="", const std::string &namedRelation="") const |
Get the relations that point from this object to another store array. | |
template<class FROM > | |
RelationVector< FROM > | getRelationsFrom (const std::string &name="", const std::string &namedRelation="") const |
Get the relations that point from another store array to this object. | |
template<class T > | |
RelationVector< T > | getRelationsWith (const std::string &name="", const std::string &namedRelation="") const |
Get the relations between this object and another store array. | |
template<class TO > | |
TO * | getRelatedTo (const std::string &name="", const std::string &namedRelation="") const |
Get the object to which this object has a relation. | |
template<class FROM > | |
FROM * | getRelatedFrom (const std::string &name="", const std::string &namedRelation="") const |
Get the object from which this object has a relation. | |
template<class T > | |
T * | getRelated (const std::string &name="", const std::string &namedRelation="") const |
Get the object to or from which this object has a relation. | |
template<class TO > | |
std::pair< TO *, float > | getRelatedToWithWeight (const std::string &name="", const std::string &namedRelation="") const |
Get first related object & weight of relation pointing to an array. | |
template<class FROM > | |
std::pair< FROM *, float > | getRelatedFromWithWeight (const std::string &name="", const std::string &namedRelation="") const |
Get first related object & weight of relation pointing from an array. | |
template<class T > | |
std::pair< T *, float > | getRelatedWithWeight (const std::string &name="", const std::string &namedRelation="") const |
Get first related object & weight of relation pointing from/to an array. | |
virtual std::string | getName () const |
Return a short name that describes this object, e.g. | |
virtual std::string | getInfoHTML () const |
Return a short summary of this object's contents in HTML format. | |
std::string | getInfo () const |
Return a short summary of this object's contents in raw text format. | |
std::string | getArrayName () const |
Get name of array this object is stored in, or "" if not found. | |
int | getArrayIndex () const |
Returns this object's array index (in StoreArray), or -1 if not found. | |
Static Public Member Functions | |
static void | setDoubleHitResolution (double time) |
Sets double hit resolution. | |
static void | setPileupTime (double time) |
Sets pile-up time. | |
Protected Member Functions | |
TClonesArray * | getArrayPointer () const |
Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse). | |
Private Member Functions | |
ClassDefOverride (TOPDigit, 15) | |
ClassDef. | |
ClassDef (DigitBase, 2) | |
ClassDef. | |
Private Attributes | |
int | m_moduleID = 0 |
module ID (1-based) | |
int | m_pixelID = 0 |
software channel ID (1-based) | |
unsigned | m_channel = 0 |
hardware channel number (0-based) | |
float | m_rawTime = 0 |
raw time expressed in samples (TDC bins) | |
float | m_time = 0 |
calibrated time in [ns], t0-subtracted | |
float | m_timeError = 0 |
time uncertainty (r.m.s) in [ns] | |
int | m_pulseHeight = 0 |
pulse height [ADC counts] | |
float | m_pulseWidth = 0 |
pulse width (FWHM) in [ns] | |
int | m_integral = 0 |
pulse integral [ADC counts] | |
unsigned short | m_firstWindow = 0 |
first ASIC window of the merged waveform | |
EHitQuality | m_quality = c_Junk |
hit quality | |
unsigned short | m_status = 0 |
calibration status bits | |
unsigned short | m_chargeShare = 0 |
charge sharing flags | |
DataStore::StoreEntry * | m_cacheDataStoreEntry |
Cache of the data store entry to which this object belongs. | |
int | m_cacheArrayIndex |
Cache of the index in the TClonesArray to which this object belongs. | |
Static Private Attributes | |
static float | s_doubleHitResolution = 0 |
double hit resolving time in [ns] | |
static float | s_pileupTime = 0 |
pile-up time in [ns] | |
Class to store TOP digitized hits (output of TOPDigitizer or raw data unpacker) relations to TOPSimHits, MCParticles.
Definition at line 24 of file TOPDigit.h.
|
inherited |
Enum for return state of addBGDigit function.
Enumerator | |
---|---|
c_DontAppend | do not append BG digit to digits |
c_Append | append BG digit to digits |
Definition at line 32 of file DigitBase.h.
enum EChargeShare |
charge sharing enumerators
Enumerator | |
---|---|
c_PrimaryChargeShare | the largest one among hits sharing the same charge |
c_SecondaryChargeShare | others sharing the same charge |
Definition at line 59 of file TOPDigit.h.
enum EHitQuality |
hit quality enumerators
Note: the only allowed place for switching c_Good to c_Masked or c_Uncalibrated is TOPChannelMasker because this information must also be passed to reconstruction
Definition at line 33 of file TOPDigit.h.
enum EStatusBits |
calibration status enumerators
Definition at line 45 of file TOPDigit.h.
|
inline |
|
inline |
Usefull constructor.
moduleID | module ID (1-based) |
pixelID | pixel ID (1-based) |
rawTime | raw time expressed in samples (TDC bins) |
Definition at line 76 of file TOPDigit.h.
|
inlineinherited |
Add a relation from this object to another object (with caching).
object | The object to which the relation should point. |
weight | The weight of the relation. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 142 of file RelationsObject.h.
|
inlineinherited |
Add a relation from this object to another object (no caching, can be quite slow).
object | The object to which the relation should point. |
weight | The weight of the relation. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 155 of file RelationsObject.h.
|
inline |
|
inlinevirtualinherited |
Virtual method for possible modification of BG digit which is just appended to simulation store array.
Reimplemented in SVDShaperDigit.
Definition at line 62 of file DigitBase.h.
|
inlineinherited |
Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).
Useful if you want to make a complete copy of a StoreArray object to make modifications to it, but retain all information on linked objects.
Note: this only works if sourceObj inherits from the same base (e.g. RelationsObject), and only for related objects that also inherit from the same base.
Definition at line 170 of file RelationsObject.h.
|
inlineinherited |
Returns this object's array index (in StoreArray), or -1 if not found.
Definition at line 385 of file RelationsObject.h.
|
inlineinherited |
Get name of array this object is stored in, or "" if not found.
Definition at line 377 of file RelationsObject.h.
|
inlineprotectedinherited |
Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).
Definition at line 418 of file RelationsObject.h.
|
inline |
Returns ASIC channel number.
Definition at line 336 of file TOPDigit.h.
|
inline |
|
inline |
|
inline |
Returns carrier board number.
Definition at line 348 of file TOPDigit.h.
|
inline |
Returns hardware channel number.
Definition at line 330 of file TOPDigit.h.
|
inline |
Returns first ASIC window number of the merged waveform this hit is taken from.
Definition at line 402 of file TOPDigit.h.
|
inline |
|
inlineinherited |
Return a short summary of this object's contents in raw text format.
Returns the contents of getInfoHTML() while translating line-breaks etc.
Definition at line 370 of file RelationsObject.h.
|
inlinevirtualinherited |
Return a short summary of this object's contents in HTML format.
Reimplement this in your own class to provide useful output for display or debugging purposes. For example, you might do something like:
Reimplemented in Particle, Cluster, MCParticle, PIDLikelihood, SoftwareTriggerResult, Track, TrackFitResult, TRGSummary, and RecoTrack.
Definition at line 362 of file RelationsObject.h.
|
inline |
Returns pulse integral.
Definition at line 396 of file TOPDigit.h.
|
inline |
|
inlinevirtualinherited |
Return a short name that describes this object, e.g.
pi+ for an MCParticle.
Reimplemented in Particle, MCParticle, and SpacePoint.
Definition at line 344 of file RelationsObject.h.
|
inline |
Returns pixel column number (1-based)
Definition at line 288 of file TOPDigit.h.
|
inline |
|
inline |
Returns pixel row number (1-based)
Definition at line 282 of file TOPDigit.h.
|
inline |
Returns PMT column number (1-based)
Definition at line 300 of file TOPDigit.h.
|
inline |
Returns PMT number (1-based)
Definition at line 306 of file TOPDigit.h.
|
inline |
Returns PMT pixel number (1-based)
Definition at line 324 of file TOPDigit.h.
|
inline |
Returns PMT pixel column number (1-based)
Definition at line 318 of file TOPDigit.h.
|
inline |
Returns PMT pixel row number (1-based)
Definition at line 312 of file TOPDigit.h.
|
inline |
|
inline |
|
inline |
Returns pulse width.
Definition at line 390 of file TOPDigit.h.
|
inline |
Returns raw detection time.
Definition at line 360 of file TOPDigit.h.
|
inlineinherited |
Get the object to or from which this object has a relation.
T | The class of objects to or from which the relation points. |
name | The name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 278 of file RelationsObject.h.
|
inlineinherited |
Get the object from which this object has a relation.
FROM | The class of objects from which the relation points. |
name | The name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 263 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing from an array.
FROM | The class of objects from which the relation points. |
name | The name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 314 of file RelationsObject.h.
|
inlineinherited |
Get the object to which this object has a relation.
TO | The class of objects to which the relation points. |
name | The name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 248 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing to an array.
TO | The class of objects to which the relation points. |
name | The name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 297 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing from/to an array.
T | The class of objects to or from which the relation points. |
name | The name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 331 of file RelationsObject.h.
|
inlineinherited |
Get the relations that point from another store array to this object.
FROM | The class of objects from which the relations point. |
name | The name of the store array from which the relations point. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 212 of file RelationsObject.h.
|
inlineinherited |
Get the relations that point from this object to another store array.
TO | The class of objects to which the relations point. |
name | The name of the store array to which the relations point. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 197 of file RelationsObject.h.
|
inlineinherited |
Get the relations between this object and another store array.
Relations in both directions are returned.
T | The class of objects to or from which the relations point. |
name | The name of the store array to or from which the relations point. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 230 of file RelationsObject.h.
|
inline |
|
inline |
Returns t0-subtracted and calibrated time.
Definition at line 372 of file TOPDigit.h.
|
inline |
Returns calibrated time uncertainty.
Definition at line 378 of file TOPDigit.h.
|
inlineoverridevirtual |
Implementation of the base class function.
Enables BG overlay module to identify uniquely the physical channel of this Digit.
Implements DigitBase.
Definition at line 409 of file TOPDigit.h.
|
inline |
|
inline |
Returns calibration status.
Definition at line 222 of file TOPDigit.h.
|
inline |
Returns calibration status.
Definition at line 234 of file TOPDigit.h.
|
inline |
Returns charge share status.
Definition at line 252 of file TOPDigit.h.
|
inline |
Returns calibration status.
Definition at line 246 of file TOPDigit.h.
|
inline |
Returns calibration status.
Definition at line 240 of file TOPDigit.h.
|
inline |
Returns charge share status.
Definition at line 258 of file TOPDigit.h.
|
inline |
Returns charge share status.
Definition at line 264 of file TOPDigit.h.
|
inline |
Returns calibration status.
Definition at line 228 of file TOPDigit.h.
|
inline |
Remove calibration status.
Definition at line 174 of file TOPDigit.h.
|
inline |
|
inline |
Sets hardware channel number (0-based)
channel | hardware channel number |
Definition at line 111 of file TOPDigit.h.
|
inlinestatic |
Sets double hit resolution.
time | double hit resolving time in [ns] |
Definition at line 87 of file TOPDigit.h.
|
inline |
Sets first ASIC window number of the merged waveform this hit is taken from.
window | ASIC window number |
Definition at line 153 of file TOPDigit.h.
|
inline |
Sets hit quality flag.
quality | hit quality |
Definition at line 159 of file TOPDigit.h.
|
inline |
Sets pulse integral.
integral | pulse integral [ADC counts] |
Definition at line 147 of file TOPDigit.h.
|
inline |
Sets module ID.
moduleID | module ID (1-based) |
Definition at line 99 of file TOPDigit.h.
|
inlinestatic |
Sets pile-up time.
time | pile-up time in [ns] |
Definition at line 93 of file TOPDigit.h.
|
inline |
Sets pixel ID.
pixelID | pixel ID (1-based) |
Definition at line 105 of file TOPDigit.h.
|
inline |
|
inline |
Sets pulse height.
pulseHeight | pulse height [ADC counts] |
Definition at line 135 of file TOPDigit.h.
|
inline |
Sets pulse width.
width | pulse width (FWHM) in [ns] |
Definition at line 141 of file TOPDigit.h.
|
inline |
Sets raw detection time.
rawTime | raw time expressed in samples (TDC bins) |
Definition at line 117 of file TOPDigit.h.
|
inline |
|
inline |
Sets calibration status (overwrites previously set bits)
Definition at line 164 of file TOPDigit.h.
|
inline |
Sets calibrated detection time.
time | time in [ns] |
Definition at line 123 of file TOPDigit.h.
|
inline |
Sets calibrated time uncertainty.
timeError | uncertainty (r.m.s.) in [ns] |
Definition at line 129 of file TOPDigit.h.
|
inline |
Subtract start time from m_time.
t0 | start time in [ns] |
Definition at line 195 of file TOPDigit.h.
|
mutableprivateinherited |
Cache of the index in the TClonesArray to which this object belongs.
Definition at line 432 of file RelationsObject.h.
|
mutableprivateinherited |
Cache of the data store entry to which this object belongs.
Definition at line 429 of file RelationsObject.h.
|
private |
hardware channel number (0-based)
Definition at line 423 of file TOPDigit.h.
|
private |
charge sharing flags
Definition at line 433 of file TOPDigit.h.
|
private |
first ASIC window of the merged waveform
Definition at line 430 of file TOPDigit.h.
|
private |
pulse integral [ADC counts]
Definition at line 429 of file TOPDigit.h.
|
private |
module ID (1-based)
Definition at line 421 of file TOPDigit.h.
|
private |
software channel ID (1-based)
Definition at line 422 of file TOPDigit.h.
|
private |
pulse height [ADC counts]
Definition at line 427 of file TOPDigit.h.
|
private |
pulse width (FWHM) in [ns]
Definition at line 428 of file TOPDigit.h.
|
private |
hit quality
Definition at line 431 of file TOPDigit.h.
|
private |
raw time expressed in samples (TDC bins)
Definition at line 424 of file TOPDigit.h.
|
private |
calibration status bits
Definition at line 432 of file TOPDigit.h.
|
private |
calibrated time in [ns], t0-subtracted
Definition at line 425 of file TOPDigit.h.
|
private |
time uncertainty (r.m.s) in [ns]
Definition at line 426 of file TOPDigit.h.