Belle II Software light-2406-ragdoll
mdst data objects
Collaboration diagram for mdst data objects:

Classes

class  Cluster
 Class to collect log likelihoods from Clusters from ECL and KLM aimed for output to mdst includes functions to return combined likelihood probability. More...
 
class  ECLCluster
 ECL cluster data. More...
 
class  EventLevelClusteringInfo
 ECL/KLM clustering event level information: More...
 
class  EventLevelTrackingInfo
 Tracking-related info on event-level, for example number of unassigned measurements. More...
 
class  EventLevelTriggerTimeInfo
 Storage element for information from the Trigger Timing Distribution (TTD) More...
 
class  HitPatternCDC
 Hit pattern of CDC hits within a track. More...
 
class  HitPatternVXD
 Hit pattern of the VXD within a track. More...
 
class  Kink
 Object holding information for Kinks. More...
 
class  KlId
 Klong identifcation (KlId) datastore object to store results from KlId calculations. More...
 
class  KLMCluster
 KLM cluster data. More...
 
class  MCParticle
 A Class to store the Monte Carlo particle information. More...
 
class  MCParticleGraph
 Class to build, validate and sort a particle decay chain. More...
 
class  PIDLikelihood
 Class to collect log likelihoods from TOP, ARICH, dEdx, ECL and KLM aimed for output to mdst includes functions to return combined likelihood probability. More...
 
class  SoftwareTriggerResult
 Dataobject to store the results of the cut calculations performed by the SoftwareTriggerModule. More...
 
class  Track
 Class that bundles various TrackFitResults. More...
 
class  TrackFitResult
 Values of the result of a track fit with a given particle hypothesis. More...
 
class  TRGSummary
 Trigger Summary Information input bits input bits from subdetectors ftdl (Final Trigger Decision Logic) bits output bits of trigger logic psnm (Prescale and Mask) bits prescaled ftdl bits timType types of trigger timing source defined in b2tt firmware. More...
 
class  V0
 Object holding information for V0s. More...
 

Enumerations

enum class  SoftwareTriggerCutResult {
  c_reject = -1 ,
  c_accept = 1 ,
  c_noResult = 0
}
 Enumeration with all possible results of the SoftwareTriggerCut. More...
 

Functions

bool isVirtual () const
 Check if particle is virtual.
 
bool isInitial () const
 Check if particle is an initial particle such as ISR.
 
bool isPrimaryParticle () const
 Check if particle is a primary particle which was created by the generator (and not, for example material interaction)
 
MCParticlegetMother () const
 Returns a pointer to the mother particle.
 
void clear ()
 Reset particles and decay information to make the class reusable.
 
GraphParticleaddParticle ()
 Add new particle to the graph.
 
void addDecay (GraphParticle &mother, GraphParticle &daughter)
 Add decay information between two particles.
 

Detailed Description

Enumeration Type Documentation

◆ SoftwareTriggerCutResult

enum class SoftwareTriggerCutResult
strong

Enumeration with all possible results of the SoftwareTriggerCut.

Enumerator
c_reject 

Reject this event.

c_accept 

Accept this event.

c_noResult 

There were not enough information to decide on what to do with the event.

Definition at line 21 of file SoftwareTriggerResult.h.

21 {
22 c_reject = -1,
23 c_accept = 1,
24 c_noResult = 0
25 };
@ c_accept
Accept this event.
@ c_reject
Reject this event.
@ c_noResult
There were not enough information to decide on what to do with the event.

Function Documentation

◆ addDecay()

void addDecay ( MCParticleGraph::GraphParticle mother,
MCParticleGraph::GraphParticle daughter 
)
inline

Add decay information between two particles.

If the daughter has already a mother attached, an exception of type DaughterHasMotherError is thrown.

Parameters
motherThe mother particle which decays.
daughterThe daughter particle in which the mother particle decays.

Definition at line 302 of file MCParticleGraph.h.

303 {
304 if (this != mother.m_graph || this != daughter.m_graph) throw NotSameGraphError();
305 //if (daughter.getMother() != NULL) throw DaughterHasMotherError();
306 m_decays.insert(DecayLine(mother.m_vertexId, daughter.m_vertexId));
307 daughter.m_primary = false;
308 }
std::pair< unsigned int, unsigned int > DecayLine
Type representing a decay in the graph.
std::set< DecayLine > m_decays
internal set of decay lines

◆ addParticle()

MCParticleGraph::GraphParticle & addParticle ( )
inline

Add new particle to the graph.

Set the values of the returned reference to determine the particle parameters.

Returns
A reference to the added particle.

Definition at line 294 of file MCParticleGraph.h.

295 {
296 unsigned int index = m_particles.size() + 1;
297 MCParticleGraph::GraphParticle* p = new (m_particles.add()) MCParticleGraph::GraphParticle(this, index);
298 return *p;
299 }
MemoryPool< GraphParticle > m_particles
internal list of particles

◆ clear()

void clear ( )
inline

Reset particles and decay information to make the class reusable.

New particles can be added again after a call to clear(), e.g. in the next event

Definition at line 287 of file MCParticleGraph.h.

288 {
289 m_particles.clear();
290 m_decays.clear();
291 }

◆ getMother()

MCParticle * getMother ( ) const
inline

Returns a pointer to the mother particle.

NULL if the particle doesn't have a mother.

Returns
A pointer to the mother particle. NULL if no mother was defined for the particle.

Definition at line 600 of file MCParticle.h.

601 {
602 if (m_mother == 0)
603 return nullptr;
605 return static_cast<MCParticle*>(m_plist->At(m_mother - 1));
606 }
int m_mother
1-based index of the mother particle
Definition: MCParticle.h:560
void fixParticleList() const
Search the DataStore for the corresponding MCParticle array.
Definition: MCParticle.cc:82
MCParticle()
Default constructor for ROOT.
Definition: MCParticle.h:72
TClonesArray * m_plist
Internal pointer to DataStore Array containing particles belonging to this collection.
Definition: MCParticle.h:532

◆ isInitial()

bool isInitial ( ) const
inline

Check if particle is an initial particle such as ISR.

Definition at line 590 of file MCParticle.h.

591 {
592 return hasStatus(c_Initial);
593 }
@ c_Initial
bit 5: Particle is initial such as e+ or e- and not going to Geant4
Definition: MCParticle.h:57
bool hasStatus(unsigned short int bitmask) const
Return if specific status bit is set.
Definition: MCParticle.h:129

◆ isPrimaryParticle()

bool isPrimaryParticle ( ) const
inline

Check if particle is a primary particle which was created by the generator (and not, for example material interaction)

Definition at line 595 of file MCParticle.h.

596 {
598 }
@ c_PrimaryParticle
bit 0: Particle is primary particle.
Definition: MCParticle.h:47

◆ isVirtual()

bool isVirtual ( ) const
inline

Check if particle is virtual.

Definition at line 575 of file MCParticle.h.

576 {
577 bool virtuality = hasStatus(c_IsVirtual);
578 if (!virtuality) {
579 double E2 = m_energy * m_energy;
580 double m2 = m_mass * m_mass;
581 double p2 = m_momentum_x * m_momentum_x;
584
585 virtuality = (fabs(E2 - (p2 + m2)) > c_epsilon * E2);
586 }
587 return virtuality;
588 }
@ c_IsVirtual
bit 4: Particle is virtual and not going to Geant4.
Definition: MCParticle.h:55
float m_mass
mass of the particle
Definition: MCParticle.h:542
float m_energy
energy of the particle
Definition: MCParticle.h:543
static const double c_epsilon
limit of precision for two doubles to be the same.
Definition: MCParticle.h:563
float m_momentum_x
momentum of particle, x component
Definition: MCParticle.h:544
float m_momentum_z
momentum of particle, z component
Definition: MCParticle.h:546
float m_momentum_y
momentum of particle, y component
Definition: MCParticle.h:545