Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DAnalysis::DSourceComboVertexer Class Reference

#include <DSourceComboVertexer.h>

Public Member Functions

 DSourceComboVertexer (void)=delete
 
 DSourceComboVertexer (JEventLoop *locEventLoop, DSourceComboer *locSourceComboer, DSourceComboP4Handler *locSourceComboP4Handler)
 
void Reset (void)
 
void Set_Vertex (const DVertex *locVertex)
 
void Set_SourceComboTimeHandler (const DSourceComboTimeHandler *locSourceComboTimeHandler)
 
void Set_DebugLevel (int locDebugLevel)
 
void Calc_VertexTimeOffsets_WithCharged (const DReactionVertexInfo *locReactionVertexInfo, const DSourceCombo *locReactionChargedCombo)
 
void Calc_VertexTimeOffsets_WithPhotons (const DReactionVertexInfo *locReactionVertexInfo, const DSourceCombo *locReactionChargedCombo, const DSourceCombo *locReactionFullCombo)
 
void Calc_VertexTimeOffsets_WithBeam (const DReactionVertexInfo *locReactionVertexInfo, const DSourceComboUse &locReactionFullComboUse, const DSourceCombo *locReactionFullCombo, const DKinematicData *locBeamParticle)
 
bool Get_VertexDeterminableWithCharged (const DReactionStepVertexInfo *locStepVertexInfo) const
 
bool Get_VertexDeterminableWithPhotons (const DReactionStepVertexInfo *locStepVertexInfo) const
 
bool Get_IsVertexKnown (bool locIsProductionVertex, const DSourceCombo *locReactionCombo, const DSourceCombo *locVertexCombo, const DKinematicData *locBeamParticle, bool locIsCombo2ndVertex) const
 
bool Get_IsVertexKnown_NoBeam (bool locIsProductionVertex, const DSourceCombo *locVertexCombo, bool locIsCombo2ndVertex) const
 
bool Get_IsTimeOffsetKnown (bool locIsPrimaryProductionVertex, const DSourceCombo *locReactionCombo, const DSourceCombo *locVertexCombo, const DKinematicData *locBeamParticle) const
 
DVector3 Get_Vertex_NoBeam (bool locIsProductionVertex, const DSourceCombo *locVertexCombo, bool locIsCombo2ndVertex) const
 
DVector3 Get_Vertex (bool locIsProductionVertex, const DSourceCombo *locReactionCombo, const DSourceCombo *locVertexCombo, const DKinematicData *locBeamParticle, bool locIsCombo2ndVertex) const
 
DVector3 Get_Vertex (bool locIsProductionVertex, const vector< const DKinematicData * > &locVertexParticles) const
 
DVector3 Get_Vertex (const DReactionStepVertexInfo *locStepVertexInfo, const DSourceCombo *locReactionCombo, const DKinematicData *locBeamParticle, bool locComboIsFullyCharged) const
 
DVector3 Get_PrimaryVertex (const DReactionVertexInfo *locReactionVertexInfo, const DSourceCombo *locReactionCombo, const DKinematicData *locBeamParticle) const
 
double Get_TimeOffset (bool locIsPrimaryProductionVertex, const DSourceCombo *locReactionCombo, const DSourceCombo *locVertexCombo, const DKinematicData *locBeamParticle) const
 
double Get_TimeOffset (const DReactionVertexInfo *locReactionVertexInfo, const DReactionStepVertexInfo *locStepVertexInfo, const DSourceCombo *locReactionCombo, const DKinematicData *locBeamParticle) const
 
vector< const DKinematicData * > Get_ConstrainingParticles (bool locIsProductionVertex, const DSourceCombo *locReactionCombo, const DSourceCombo *locVertexCombo, const DKinematicData *locBeamParticle, bool locIsCombo2ndVertex) const
 
vector< const DKinematicData * > Get_ConstrainingParticles_NoBeam (bool locIsProductionVertex, const DSourceCombo *locVertexCombo, bool locIsCombo2ndVertex) const
 
signed char Get_VertexZBin (bool locIsProductionVertex, const DSourceCombo *locReactionCombo, const DSourceCombo *locPrimaryVertexCombo, const DKinematicData *locBeamParticle, bool locIsCombo2ndVertex) const
 
signed char Get_VertexZBin_NoBeam (bool locIsProductionVertex, const DSourceCombo *locPrimaryVertexCombo, bool locIsCombo2ndVertex) const
 
signed char Get_VertexZBin (const DReactionStepVertexInfo *locStepVertexInfo, const DSourceCombo *locReactionCombo, const DKinematicData *locBeamParticle, bool locComboIsFullyCharged) const
 
vector< signed char > Get_VertexZBins (const DReactionVertexInfo *locReactionVertexInfo, const DSourceCombo *locReactionCombo, const DKinematicData *locBeamParticle, bool locComboIsFullyCharged) const
 

Private Member Functions

vector< const DKinematicData * >
::const_iterator 
Get_ThetaNearest90Iterator (const vector< const DKinematicData * > &locParticles)
 
vector< const DKinematicData * > Get_FullConstrainDecayingParticles (const DReactionStepVertexInfo *locStepVertexInfo, const map< pair< int, int >, const DKinematicData * > &locReconDecayParticleMap)
 
DVector3 Calc_Vertex (bool locIsProductionVertexFlag, const vector< pair< Particle_t, const JObject * >> &locChargedSourceParticles, const vector< const DKinematicData * > &locDecayingParticles, vector< const DKinematicData * > &locVertexParticles)
 
void Calc_TimeOffsets (const DReactionVertexInfo *locReactionVertexInfo, const DSourceCombo *locChargedReactionCombo, const DSourceCombo *locFullReactionCombo=nullptr)
 
void Construct_DecayingParticle_InvariantMass (const DReactionStepVertexInfo *locReactionStepVertexInfo, const DSourceCombo *locVertexCombo, DVector3 locVertex, map< pair< int, int >, const DKinematicData * > &locReconDecayParticleMap)
 
void Construct_DecayingParticle_MissingMass (const DReactionStepVertexInfo *locReactionStepVertexInfo, const DSourceComboUse &locReactionFullComboUse, const DSourceCombo *locReactionFullCombo, const DSourceCombo *locFullVertexCombo, const DKinematicData *locBeamParticle, DVector3 locVertex, int locRFBunch, double locRFVertexTime, map< pair< int, int >, const DKinematicData * > &locReconDecayParticleMap)
 

Private Attributes

DSourceComboerdSourceComboer
 
DSourceComboP4HandlerdSourceComboP4Handler
 
const DSourceComboTimeHandlerdSourceComboTimeHandler = nullptr
 
const DAnalysisUtilitiesdAnalysisUtilities
 
int dDebugLevel = 0
 
DVector3 dTargetCenter
 
const DVertexdVertex
 
double dMinThetaForVertex = 30.0
 
unordered_map< const
DReactionStepVertexInfo
*, bool > 
dVertexDeterminableWithChargedMap
 
unordered_map< const
DReactionStepVertexInfo
*, bool > 
dVertexDeterminableWithPhotonsMap
 
map< tuple< bool, const
DSourceCombo *, const
DKinematicData * >
, unordered_map< const
DSourceCombo *, double > > 
dTimeOffsets
 
map< tuple< bool, const
DSourceCombo *, const
DSourceCombo *, const
DKinematicData *, bool >
, vector< const DKinematicData * > > 
dConstrainingParticlesByCombo
 
map< pair< bool, vector< const
DKinematicData * > >, DVector3
dVertexMap
 
map< tuple< Particle_t, bool,
const DSourceCombo *, const
DKinematicData * >, const
DKinematicData * > 
dReconDecayParticles_FromProducts
 
map< tuple< Particle_t, const
DSourceCombo *, bool, const
DSourceCombo *, const
DKinematicData * >, const
DKinematicData * > 
dReconDecayParticles_FromMissing
 
DResourcePool< DKinematicDatadResourcePool_KinematicData
 

Detailed Description

Definition at line 35 of file DSourceComboVertexer.h.

Constructor & Destructor Documentation

DAnalysis::DSourceComboVertexer::DSourceComboVertexer ( void  )
delete
DAnalysis::DSourceComboVertexer::DSourceComboVertexer ( JEventLoop *  locEventLoop,
DSourceComboer locSourceComboer,
DSourceComboP4Handler locSourceComboP4Handler 
)

Member Function Documentation

DVector3 DAnalysis::DSourceComboVertexer::Calc_Vertex ( bool  locIsProductionVertexFlag,
const vector< pair< Particle_t, const JObject * >> &  locChargedSourceParticles,
const vector< const DKinematicData * > &  locDecayingParticles,
vector< const DKinematicData * > &  locVertexParticles 
)
private
void DAnalysis::DSourceComboVertexer::Construct_DecayingParticle_MissingMass ( const DReactionStepVertexInfo locReactionStepVertexInfo,
const DSourceComboUse locReactionFullComboUse,
const DSourceCombo locReactionFullCombo,
const DSourceCombo locFullVertexCombo,
const DKinematicData locBeamParticle,
DVector3  locVertex,
int  locRFBunch,
double  locRFVertexTime,
map< pair< int, int >, const DKinematicData * > &  locReconDecayParticleMap 
)
private
vector< const DKinematicData * > DAnalysis::DSourceComboVertexer::Get_ConstrainingParticles ( bool  locIsProductionVertex,
const DSourceCombo locReactionCombo,
const DSourceCombo locVertexCombo,
const DKinematicData locBeamParticle,
bool  locIsCombo2ndVertex 
) const
inline
vector< const DKinematicData * > DAnalysis::DSourceComboVertexer::Get_ConstrainingParticles_NoBeam ( bool  locIsProductionVertex,
const DSourceCombo locVertexCombo,
bool  locIsCombo2ndVertex 
) const
inline
bool DAnalysis::DSourceComboVertexer::Get_IsTimeOffsetKnown ( bool  locIsPrimaryProductionVertex,
const DSourceCombo locReactionCombo,
const DSourceCombo locVertexCombo,
const DKinematicData locBeamParticle 
) const
inline
bool DAnalysis::DSourceComboVertexer::Get_IsVertexKnown ( bool  locIsProductionVertex,
const DSourceCombo locReactionCombo,
const DSourceCombo locVertexCombo,
const DKinematicData locBeamParticle,
bool  locIsCombo2ndVertex 
) const
inline
bool DAnalysis::DSourceComboVertexer::Get_IsVertexKnown_NoBeam ( bool  locIsProductionVertex,
const DSourceCombo locVertexCombo,
bool  locIsCombo2ndVertex 
) const
inline
vector< const DKinematicData * >::const_iterator DAnalysis::DSourceComboVertexer::Get_ThetaNearest90Iterator ( const vector< const DKinematicData * > &  locParticles)
inlineprivate

Definition at line 293 of file DSourceComboVertexer.h.

References DKinematicData::momentum().

Referenced by Calc_Vertex().

DVector3 DAnalysis::DSourceComboVertexer::Get_Vertex ( bool  locIsProductionVertex,
const vector< const DKinematicData * > &  locVertexParticles 
) const
inline

Definition at line 241 of file DSourceComboVertexer.h.

References dTargetCenter, and dVertexMap.

signed char DAnalysis::DSourceComboVertexer::Get_VertexZBin ( bool  locIsProductionVertex,
const DSourceCombo locReactionCombo,
const DSourceCombo locPrimaryVertexCombo,
const DKinematicData locBeamParticle,
bool  locIsCombo2ndVertex 
) const
signed char DAnalysis::DSourceComboVertexer::Get_VertexZBin_NoBeam ( bool  locIsProductionVertex,
const DSourceCombo locPrimaryVertexCombo,
bool  locIsCombo2ndVertex 
) const
inline
vector< signed char > DAnalysis::DSourceComboVertexer::Get_VertexZBins ( const DReactionVertexInfo locReactionVertexInfo,
const DSourceCombo locReactionCombo,
const DKinematicData locBeamParticle,
bool  locComboIsFullyCharged 
) const
void DAnalysis::DSourceComboVertexer::Reset ( void  )
inline
void DAnalysis::DSourceComboVertexer::Set_DebugLevel ( int  locDebugLevel)
inline

Definition at line 46 of file DSourceComboVertexer.h.

void DAnalysis::DSourceComboVertexer::Set_SourceComboTimeHandler ( const DSourceComboTimeHandler locSourceComboTimeHandler)
inline

Definition at line 45 of file DSourceComboVertexer.h.

Referenced by DAnalysis::DSourceComboer::DSourceComboer().

void DAnalysis::DSourceComboVertexer::Set_Vertex ( const DVertex locVertex)
inline

Definition at line 43 of file DSourceComboVertexer.h.

Referenced by DAnalysis::DSourceComboer::Reset_NewEvent().

Member Data Documentation

const DAnalysisUtilities* DAnalysis::DSourceComboVertexer::dAnalysisUtilities
private

Definition at line 96 of file DSourceComboVertexer.h.

Referenced by Calc_Vertex(), and DSourceComboVertexer().

map<tuple<bool, const DSourceCombo*, const DSourceCombo*, const DKinematicData*, bool>, vector<const DKinematicData*> > DAnalysis::DSourceComboVertexer::dConstrainingParticlesByCombo
private
double DAnalysis::DSourceComboVertexer::dMinThetaForVertex = 30.0
private

Definition at line 102 of file DSourceComboVertexer.h.

Referenced by Calc_Vertex().

map<tuple<Particle_t, const DSourceCombo*, bool, const DSourceCombo*, const DKinematicData*>, const DKinematicData*> DAnalysis::DSourceComboVertexer::dReconDecayParticles_FromMissing
private

Definition at line 134 of file DSourceComboVertexer.h.

Referenced by Construct_DecayingParticle_MissingMass().

map<tuple<Particle_t, bool, const DSourceCombo*, const DKinematicData*>, const DKinematicData*> DAnalysis::DSourceComboVertexer::dReconDecayParticles_FromProducts
private

Definition at line 133 of file DSourceComboVertexer.h.

Referenced by Construct_DecayingParticle_InvariantMass().

DResourcePool<DKinematicData> DAnalysis::DSourceComboVertexer::dResourcePool_KinematicData
private
DSourceComboP4Handler* DAnalysis::DSourceComboVertexer::dSourceComboP4Handler
private
const DSourceComboTimeHandler* DAnalysis::DSourceComboVertexer::dSourceComboTimeHandler = nullptr
private

Definition at line 95 of file DSourceComboVertexer.h.

Referenced by Calc_VertexTimeOffsets_WithBeam(), and Get_VertexZBin().

DVector3 DAnalysis::DSourceComboVertexer::dTargetCenter
private

Definition at line 100 of file DSourceComboVertexer.h.

Referenced by DSourceComboVertexer(), and Get_Vertex().

map<tuple<bool, const DSourceCombo*, const DKinematicData*>, unordered_map<const DSourceCombo*, double> > DAnalysis::DSourceComboVertexer::dTimeOffsets
private
const DVertex* DAnalysis::DSourceComboVertexer::dVertex
private

Definition at line 101 of file DSourceComboVertexer.h.

Referenced by Calc_Vertex().

unordered_map<const DReactionStepVertexInfo*, bool> DAnalysis::DSourceComboVertexer::dVertexDeterminableWithChargedMap
private
unordered_map<const DReactionStepVertexInfo*, bool> DAnalysis::DSourceComboVertexer::dVertexDeterminableWithPhotonsMap
private
map<pair<bool, vector<const DKinematicData*> >, DVector3> DAnalysis::DSourceComboVertexer::dVertexMap
private

Definition at line 130 of file DSourceComboVertexer.h.

Referenced by Calc_Vertex(), and Get_Vertex().


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