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

#include <DSourceComboer.h>

+ Inheritance diagram for DAnalysis::DSourceComboer:

Public Member Functions

 DSourceComboer (void)=delete
 
 DSourceComboer (JEventLoop *locEventLoop)
 
 ~DSourceComboer (void)
 
void Reset_NewEvent (JEventLoop *locEventLoop)
 
DCombosByReaction Build_ParticleCombos (const DReactionVertexInfo *locReactionVertexInfo)
 
Charge_t Get_ChargeContent (const DSourceComboInfo *locSourceComboInfo) const
 
bool Get_HasMassiveNeutrals (const DSourceComboInfo *locSourceComboInfo) const
 
bool Get_HasPhotons (const DSourceComboInfo *locSourceComboInfo) const
 
const DSourceComboGet_StepSourceCombo (const DReaction *locReaction, size_t locDesiredStepIndex, const DSourceCombo *locVertexPrimaryCombo, size_t locVertexPrimaryStepIndex=0) const
 
const DSourceComboGet_VertexPrimaryCombo (const DSourceCombo *locReactionCombo, const DReactionStepVertexInfo *locStepVertexInfo) const
 
const DSourceComboGet_VertexPrimaryCombo (const DSourceCombo *locReactionCombo, const DReactionStepVertexInfo *locStepVertexInfo)
 
pair< DSourceComboUse, size_t > Get_StepSourceComboUse (const DReaction *locReaction, size_t locDesiredStepIndex, DSourceComboUse locVertexPrimaryComboUse, size_t locVertexPrimaryStepIndex) const
 
DSourceComboUse Get_SourceComboUse (const DReactionStepVertexInfo *locStepVertexInfo) const
 
DSourceComboUse Get_SourceComboUse (const DReaction *locReaction, size_t locStepIndex) const
 
DSourceComboUse Get_PrimaryComboUse (const DReactionVertexInfo *locReactionVertexInfo) const
 
DParticleComboCreatorGet_ParticleComboCreator (void) const
 
void Print_NumCombosByUse (void)
 

Private Types

enum  ComboingStage_t { d_ChargedStage = 0, d_MixedStage_ZIndependent, d_MixedStage }
 
enum  DConstructionStage {
  DConstructionStage::Input = 0, DConstructionStage::Min_Particles, DConstructionStage::Max_Particles, DConstructionStage::In_Skim,
  DConstructionStage::Charged_Combos, DConstructionStage::Charged_RFBunch, DConstructionStage::Full_Combos, DConstructionStage::Neutral_RFBunch,
  DConstructionStage::NoVertex_RFBunch, DConstructionStage::HeavyNeutral_IM, DConstructionStage::Beam_Combos, DConstructionStage::MMVertex_Timing,
  DConstructionStage::MMVertex_IMCuts, DConstructionStage::AccuratePhoton_IM, DConstructionStage::Reaction_BeamRFCuts, DConstructionStage::Missing_Mass
}
 
using DConstructionStageType = std::underlying_type< DConstructionStage >::type
 

Private Member Functions

void Define_DefaultCuts (void)
 
void Get_CommandLineCuts_dEdx (void)
 
void Get_CommandLineCuts_EOverP (void)
 
void Create_CutFunctions (void)
 
void Setup_NeutralShowers (JEventLoop *locEventLoop)
 
void Recycle_Vectors (void)
 
bool Check_Reactions (vector< const DReaction * > &locReactions)
 
bool Check_NumParticles (const DReaction *locReaction)
 
bool Check_Skims (const DReaction *locReaction) const
 
bool Cut_dEdxAndEOverP (const DChargedTrackHypothesis *locHypo)
 
bool Cut_dEdx (Particle_t locPID, DetectorSystem_t locSystem, double locP, double locdEdx)
 
bool Cut_EOverP (Particle_t locPID, DetectorSystem_t locSystem, double locP, double locEOverP)
 
void Fill_CutHistograms (void)
 
void Fill_SurvivalHistograms (void)
 
void Create_SourceComboInfos (const DReactionVertexInfo *locReactionVertexInfo)
 
DSourceComboUse Create_ZDependentSourceComboUses (const DReactionVertexInfo *locReactionVertexInfo, const DSourceCombo *locReactionChargedCombo)
 
DSourceComboUse Build_NewZDependentUse (const DReaction *locReaction, size_t locStepIndex, signed char locVertexZBin, const DSourceComboUse &locOrigUse, const unordered_map< size_t, DSourceComboUse > &locCreatedUseMap)
 
DSourceComboUse Get_ZIndependentUse (const DSourceComboUse &locZDependentUse)
 
const DSourceComboInfoGet_ZIndependentComboInfo (const DSourceComboInfo *locZDependentComboInfo)
 
map< Particle_t, unsigned char > Build_ParticleMap (const DReaction *locReaction, size_t locStepIndex, Charge_t locCharge) const
 
pair< bool, map
< DSourceComboUse, unsigned
char > > 
Get_FinalStateDecayingComboUses (const DReaction *locReaction, size_t locStepIndex, const map< size_t, DSourceComboUse > &locStepComboUseMap) const
 
DSourceComboUse Make_ComboUse (Particle_t locInitPID, const map< Particle_t, unsigned char > &locNumParticles, const map< DSourceComboUse, unsigned char > &locFurtherDecays, bool locMissingDecayProductFlag, Particle_t locTargetToInclude)
 
const DSourceComboInfoMakeOrGet_SourceComboInfo (const vector< pair< Particle_t, unsigned char >> &locNumParticles, const vector< pair< DSourceComboUse, unsigned char >> &locFurtherDecays, unsigned char locNumTabs)
 
const DSourceComboInfoGetOrMake_SourceComboInfo (const vector< pair< Particle_t, unsigned char >> &locNumParticles, const vector< pair< DSourceComboUse, unsigned char >> &locFurtherDecays, unsigned char locNumTabs)
 
void Combo_WithNeutralsAndBeam (const vector< const DReaction * > &locReactions, const DReactionVertexInfo *locReactionVertexInfo, const DSourceComboUse &locPrimaryComboUse, const DSourceCombo *locReactionChargedCombo, const vector< int > &locBeamBunches_Charged, DCombosByReaction &locOutputComboMap)
 
void Combo_WithBeam (const vector< const DReaction * > &locReactions, const DReactionVertexInfo *locReactionVertexInfo, const DSourceComboUse &locReactionFullComboUse, const DSourceCombo *locReactionFullCombo, int locRFBunch, DCombosByReaction &locOutputComboMap)
 
const DParticleComboBuild_ParticleCombo (const DReactionVertexInfo *locReactionVertexInfo, const DSourceCombo *locFullCombo, const DKinematicData *locBeamParticle)
 
void Create_SourceCombos (const DSourceComboUse &locComboUseToCreate, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, unsigned char locNumTabs)
 
void Create_SourceCombos_Unknown (const DSourceComboUse &locComboUseToCreate, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, unsigned char locNumTabs)
 
void Combo_Vertically_AllDecays (const DSourceComboUse &locComboUseToCreate, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, unsigned char locNumTabs)
 
void Combo_Vertically_NDecays (const DSourceComboUse &locComboUseToCreate, const DSourceComboUse &locNMinus1ComboUse, const DSourceComboUse &locSourceComboDecayUse, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, unsigned char locNumTabs)
 
void Combo_Vertically_AllParticles (const DSourceComboUse &locComboUseToCreate, ComboingStage_t locComboingStage, unsigned char locNumTabs)
 
void Combo_Vertically_NParticles (const DSourceComboUse &locComboUseToCreate, const DSourceComboUse &locNMinus1ComboUse, ComboingStage_t locComboingStage, unsigned char locNumTabs)
 
void Combo_Horizontally_All (const DSourceComboUse &locComboUseToCreate, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, unsigned char locNumTabs)
 
void Combo_Horizontally_AddDecay (const DSourceComboUse &locComboUseToCreate, const DSourceComboUse &locComboUseAllBut1, const DSourceComboUse &locComboUseToAdd, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, bool locExpandAllBut1Flag, unsigned char locNumTabs)
 
void Combo_Horizontally_AddParticles (const DSourceComboUse &locComboUseToCreate, const DSourceComboUse &locComboUseAllBut1, const pair< Particle_t, unsigned char > &locParticlePairToAdd, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, bool locExpandAllBut1Flag, unsigned char locNumTabs)
 
void Create_Combo_OneParticle (const DSourceComboUse &locComboUseToCreate, ComboingStage_t locComboingStage, unsigned char locNumTabs)
 
void Create_Combo_OneDecay (const DSourceComboUse &locComboUseToCreate, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, unsigned char locNumTabs)
 
void Combo_Horizontally_AddCombo (const DSourceComboUse &locComboUseToCreate, const DSourceComboUse &locAllBut1ComboUse, const DSourceComboUse &locSourceComboUseToAdd, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, bool locExpandAllBut1Flag, unsigned char locNumTabs)
 
void Combo_Horizontally_AddParticle (const DSourceComboUse &locComboUseToCreate, const DSourceComboUse &locAllBut1ComboUse, Particle_t locPID, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding, unsigned char locNumTabs)
 
void Build_ParticleIndices (Particle_t locPID, const vector< int > &locBeamBunches, const vector< const JObject * > &locParticles, signed char locVertexZBin)
 
void Build_ComboIndices (const DSourceComboUse &locSourceComboUse, const vector< int > &locBeamBunches, const vector< const DSourceCombo * > &locCombos, ComboingStage_t locComboingStage)
 
size_t Get_ResumeAtIndex_Particles (Particle_t locPID, const JObject *locPreviousObject, vector< int > locBeamBunches, signed char locVertexZBin) const
 
size_t Get_ResumeAtIndex_Combos (const DSourceComboUse &locSourceComboUse, const DSourceCombo *locPreviousCombo, const vector< int > &locBeamBunches, ComboingStage_t locComboingStage) const
 
const vector< const
DSourceCombo * > & 
Get_CombosForComboing (const DSourceComboUse &locComboUse, ComboingStage_t locComboingStage, const vector< int > &locBeamBunches, const DSourceCombo *locChargedCombo_PresidingPrevious)
 
const vector< const
DSourceCombo * > & 
Get_CombosByBeamBunch (const DSourceComboUse &locComboUse, DCombosByBeamBunch &locCombosByBunch, const vector< int > &locBeamBunches, ComboingStage_t locComboingStage)
 
void Register_ValidRFBunches (const DSourceComboUse &locSourceComboUse, const DSourceCombo *locSourceCombo, const vector< int > &locRFBunches, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding)
 
void Build_ComboResumeIndices (const DSourceComboUse &locSourceComboUse, ComboingStage_t locComboingStage, const DSourceCombo *locChargedCombo_Presiding)
 
const vector< const JObject * > & Get_ParticlesForComboing (Particle_t locPID, ComboingStage_t locComboingStage, const vector< int > &locBeamBunches={}, signed char locVertexZBin=0)
 
const vector< const JObject * > & Get_ShowersByBeamBunch (const vector< int > &locBeamBunches, DPhotonShowersByBeamBunch &locShowersByBunch, signed char locVertexZBin)
 
shared_ptr< const DKinematicDataCreate_KinematicData (const DNeutralShower *locNeutralShower, const DVector3 &locVertex) const
 
bool Get_IsComboingZIndependent (const JObject *locObject, Particle_t locPID) const
 
DSourceCombosByUse_LargeGet_CombosSoFar (ComboingStage_t locComboingStage, Charge_t locChargeContent_SearchForUse, const DSourceCombo *locChargedCombo=nullptr)
 
DSourceCombosByBeamBunchByUseGet_SourceCombosByBeamBunchByUse (Charge_t locChargeContent_SearchForUse, const DSourceCombo *locChargedCombo=nullptr)
 
void Copy_ZIndependentMixedResults (const DSourceComboUse &locComboUseToCreate, const DSourceCombo *locChargedCombo_Presiding)
 
const DSourceComboGet_ChargedCombo_WithNow (const DSourceCombo *locChargedCombo_Presiding, const DSourceComboInfo *locToCreateComboInfo, ComboingStage_t locComboingStage) const
 
const DSourceComboGet_NextChargedCombo (const DSourceCombo *locChargedCombo_Presiding, const DSourceComboUse &locNextComboUse, ComboingStage_t locComboingStage, bool locGetPresidingFlag, size_t locInstance) const
 
bool Get_ExpandAllBut1Flag (ComboingStage_t locComboingStage, const DSourceComboUse &locAllBut1ComboUse, Charge_t locToAddChargeContent)
 
bool Get_PromoteFlag (ComboingStage_t locComboingStage, Particle_t locDecayPID_UseToCheck, const DSourceComboInfo *locComboInfo_UseToCreate, const DSourceComboInfo *locComboInfo_UseToCheck, DSourceComboUse &locNonNeutralUse) const
 
const DSourceComboFind_Combo_AtThisStep (const DSourceCombo *locSourceCombo, DSourceComboUse locUseToFind, size_t locDecayInstanceIndex) const
 
void Check_ForDuplicates (const vector< const DSourceCombo * > &locCombos) const
 
DSourceComboUse Find_ZDependentUse_AtThisStep (const DSourceComboUse &locSourceComboUse, DSourceComboUse locUseToFind, size_t locDecayInstanceIndex) const
 
DSourceComboGet_SourceComboResource (void)
 
vector< const DSourceCombo * > * Get_SourceComboVectorResource (void)
 

Private Attributes

uint64_t dEventNumber = 0
 
string dShowerSelectionTag = "PreSelect"
 
int dDebugLevel = 0
 
bool dPrintCutFlag = false
 
DVector3 dTargetCenter
 
pair< bool, size_t > dNumPlusMinusRFBunches = std::make_pair(false, 0)
 
unordered_map< const DReaction
*, size_t > 
dRFBunchCutsByReaction
 
unordered_map< const
DReactionVertexInfo *, size_t > 
dMaxRFBunchCuts
 
DSourceComboVertexerdSourceComboVertexer
 
DSourceComboP4HandlerdSourceComboP4Handler
 
DSourceComboTimeHandlerdSourceComboTimeHandler
 
DParticleComboCreatordParticleComboCreator
 
set< const DSourceComboInfo
*, DCompare_SourceComboInfos
dSourceComboInfoSet
 
vector< const DSourceComboInfo * > dSourceComboInfos
 
unordered_map< const
DSourceComboInfo *, Charge_t
dComboInfoChargeContent
 
unordered_set< const
DSourceComboInfo * > 
dComboInfosWithMassiveNeutrals
 
unordered_set< const
DSourceComboInfo * > 
dComboInfosWithPhotons
 
unordered_map< const
DReactionStepVertexInfo
*, DSourceComboUse
dSourceComboUseReactionMap
 
map< pair< const
DReactionStepVertexInfo
*, DSourceComboUse >, size_t > 
dSourceComboInfoStepMap
 
unordered_map< const DReaction
*, map< size_t,
DSourceComboUse > > 
dSourceComboUseReactionStepMap
 
map< pair< const
DReactionVertexInfo *, vector
< signed char >
>, DSourceComboUse
dSourceComboUseVertexZMap
 
map< DSourceComboUse,
DSourceComboUse
dZDependentUseToIndependentMap
 
const DESSkimDatadESSkimData = nullptr
 
size_t dMaxNumNeutrals = 20
 
map< Particle_t, vector< const
JObject * > > 
dTracksByPID
 
size_t dNumChargedTracks
 
map< bool, vector< const
JObject * > > 
dTracksByCharge
 
unordered_map< signed char,
DPhotonShowersByBeamBunch
dShowersByBeamBunchByZBin
 
size_t dInitialComboVectorCapacity = 100
 
DSourceCombosByUse_Large dSourceCombosByUse_Charged
 
unordered_map< const
DSourceCombo
*, DSourceCombosByUse_Large
dMixedCombosByUseByChargedCombo
 
unordered_map< const
DSourceCombo
*, DSourceCombosByBeamBunchByUse
dSourceCombosByBeamBunchByUse
 
map< pair< const DSourceCombo
*, const
DReactionStepVertexInfo * >
, const DSourceCombo * > 
dVertexPrimaryComboMap
 
map< tuple< const JObject
*, Particle_t, vector< int >
, signed char >, size_t > 
dResumeSearchAfterIndices_Particles
 
map< pair< const DSourceCombo
*, DSourceComboUse >, map
< vector< int >, size_t > > 
dResumeSearchAfterIndices_Combos
 
map< pair< const DSourceCombo
*, signed char >, vector< int > > 
dValidRFBunches_ByCombo
 
DResourcePool< DSourceCombodResourcePool_SourceCombo
 
DResourcePool< vector< const
DSourceCombo * > > 
dResourcePool_SourceComboVector
 
vector< DSourceCombo * > dCreatedCombos
 
vector< vector< const
DSourceCombo * > * > 
dCreatedComboVectors
 
map< const DReaction *, TH1 * > dNumEventsSurvivedStageMap
 
map< const DReaction *, TH1 * > dNumCombosSurvivedStageMap
 
map< const DReaction *, TH2 * > dNumCombosSurvivedStage2DMap
 
map< const DReaction *, map
< DConstructionStage, size_t > > 
dNumCombosSurvivedStageTracker
 
map< DSourceComboUse, size_t > dNumMixedCombosMap_Charged
 
map< DSourceComboUse, size_t > dNumMixedCombosMap_Mixed
 
map< vector< const JObject * >
, const DSourceCombo * > 
dNPhotonsToComboMap
 
map< Particle_t, map
< DetectorSystem_t, pair
< string, string > > > 
ddEdxCuts_TF1FunctionStrings
 
map< Particle_t, map
< DetectorSystem_t, pair
< vector< double >, vector
< double > > > > 
ddEdxCuts_TF1Params
 
map< Particle_t, map
< DetectorSystem_t, pair< TF1
*, TF1 * > > > 
ddEdxCutMap
 
map< Particle_t, map
< DetectorSystem_t, vector
< pair< double, double > > > > 
ddEdxValueMap
 
map< Particle_t, map
< DetectorSystem_t, TH2 * > > 
dHistMap_dEdx
 
map< Particle_t, map
< DetectorSystem_t, string > > 
dEOverPCuts_TF1FunctionStrings
 
map< Particle_t, map
< DetectorSystem_t, vector
< double > > > 
dEOverPCuts_TF1Params
 
map< Particle_t, map
< DetectorSystem_t, TF1 * > > 
dEOverPCutMap
 
map< Particle_t, map
< DetectorSystem_t, vector
< pair< double, double > > > > 
dEOverPValueMap
 
map< Particle_t, map
< DetectorSystem_t, TH2 * > > 
dHistMap_EOverP
 

Detailed Description

Definition at line 64 of file DSourceComboer.h.

Member Typedef Documentation

using DAnalysis::DSourceComboer::DConstructionStageType = std::underlying_type<DConstructionStage>::type
private

Definition at line 93 of file DSourceComboer.h.

Member Enumeration Documentation

Enumerator
d_ChargedStage 
d_MixedStage_ZIndependent 
d_MixedStage 

Definition at line 66 of file DSourceComboer.h.

Enumerator
Input 
Min_Particles 
Max_Particles 
In_Skim 
Charged_Combos 
Charged_RFBunch 
Full_Combos 
Neutral_RFBunch 
NoVertex_RFBunch 
HeavyNeutral_IM 
Beam_Combos 
MMVertex_Timing 
MMVertex_IMCuts 
AccuratePhoton_IM 
Reaction_BeamRFCuts 
Missing_Mass 

Definition at line 73 of file DSourceComboer.h.

Constructor & Destructor Documentation

DAnalysis::DSourceComboer::DSourceComboer ( void  )
delete
DAnalysis::DSourceComboer::~DSourceComboer ( void  )
inline

Definition at line 531 of file DSourceComboer.h.

References DAnalysis::Print_SourceComboUse().

Member Function Documentation

void DAnalysis::DSourceComboer::Build_ComboIndices ( const DSourceComboUse locSourceComboUse,
const vector< int > &  locBeamBunches,
const vector< const DSourceCombo * > &  locCombos,
ComboingStage_t  locComboingStage 
)
inlineprivate

Definition at line 415 of file DSourceComboer.h.

Referenced by Build_ComboResumeIndices(), and Get_CombosByBeamBunch().

DSourceComboUse DAnalysis::DSourceComboer::Build_NewZDependentUse ( const DReaction locReaction,
size_t  locStepIndex,
signed char  locVertexZBin,
const DSourceComboUse locOrigUse,
const unordered_map< size_t, DSourceComboUse > &  locCreatedUseMap 
)
private
const DParticleCombo* DAnalysis::DSourceComboer::Build_ParticleCombo ( const DReactionVertexInfo locReactionVertexInfo,
const DSourceCombo locFullCombo,
const DKinematicData locBeamParticle 
)
private
void DAnalysis::DSourceComboer::Build_ParticleIndices ( Particle_t  locPID,
const vector< int > &  locBeamBunches,
const vector< const JObject * > &  locParticles,
signed char  locVertexZBin 
)
inlineprivate

Definition at line 400 of file DSourceComboer.h.

Referenced by Get_ShowersByBeamBunch(), and Reset_NewEvent().

map< Particle_t, unsigned char > DAnalysis::DSourceComboer::Build_ParticleMap ( const DReaction locReaction,
size_t  locStepIndex,
Charge_t  locCharge 
) const
private

Definition at line 888 of file DSourceComboer.cc.

References DAnalysis::DReaction::Get_FinalPIDs().

Referenced by Create_SourceComboInfos().

void DAnalysis::DSourceComboer::Check_ForDuplicates ( const vector< const DSourceCombo * > &  locCombos) const
private
bool DAnalysis::DSourceComboer::Check_Skims ( const DReaction locReaction) const
inlineprivate

Definition at line 362 of file DSourceComboer.h.

References DAnalysis::DReaction::Get_EventStoreSkims(), and SplitString().

Referenced by Check_Reactions().

void DAnalysis::DSourceComboer::Combo_Horizontally_AddDecay ( const DSourceComboUse locComboUseToCreate,
const DSourceComboUse locComboUseAllBut1,
const DSourceComboUse locComboUseToAdd,
ComboingStage_t  locComboingStage,
const DSourceCombo locChargedCombo_Presiding,
bool  locExpandAllBut1Flag,
unsigned char  locNumTabs 
)
private
void DAnalysis::DSourceComboer::Combo_Horizontally_AddParticles ( const DSourceComboUse locComboUseToCreate,
const DSourceComboUse locComboUseAllBut1,
const pair< Particle_t, unsigned char > &  locParticlePairToAdd,
ComboingStage_t  locComboingStage,
const DSourceCombo locChargedCombo_Presiding,
bool  locExpandAllBut1Flag,
unsigned char  locNumTabs 
)
private
void DAnalysis::DSourceComboer::Combo_Vertically_AllDecays ( const DSourceComboUse locComboUseToCreate,
ComboingStage_t  locComboingStage,
const DSourceCombo locChargedCombo_Presiding,
unsigned char  locNumTabs 
)
private
void DAnalysis::DSourceComboer::Combo_Vertically_AllParticles ( const DSourceComboUse locComboUseToCreate,
ComboingStage_t  locComboingStage,
unsigned char  locNumTabs 
)
private
void DAnalysis::DSourceComboer::Combo_WithNeutralsAndBeam ( const vector< const DReaction * > &  locReactions,
const DReactionVertexInfo locReactionVertexInfo,
const DSourceComboUse locPrimaryComboUse,
const DSourceCombo locReactionChargedCombo,
const vector< int > &  locBeamBunches_Charged,
DCombosByReaction locOutputComboMap 
)
private
void DAnalysis::DSourceComboer::Create_Combo_OneDecay ( const DSourceComboUse locComboUseToCreate,
ComboingStage_t  locComboingStage,
const DSourceCombo locChargedCombo_Presiding,
unsigned char  locNumTabs 
)
private
void DAnalysis::DSourceComboer::Create_CutFunctions ( void  )
private
shared_ptr<const DKinematicData> DAnalysis::DSourceComboer::Create_KinematicData ( const DNeutralShower locNeutralShower,
const DVector3 locVertex 
) const
private
void DAnalysis::DSourceComboer::Create_SourceCombos_Unknown ( const DSourceComboUse locComboUseToCreate,
ComboingStage_t  locComboingStage,
const DSourceCombo locChargedCombo_Presiding,
unsigned char  locNumTabs 
)
private
bool DAnalysis::DSourceComboer::Cut_dEdx ( Particle_t  locPID,
DetectorSystem_t  locSystem,
double  locP,
double  locdEdx 
)
inlineprivate

Definition at line 510 of file DSourceComboer.h.

Referenced by Cut_dEdxAndEOverP().

bool DAnalysis::DSourceComboer::Cut_EOverP ( Particle_t  locPID,
DetectorSystem_t  locSystem,
double  locP,
double  locEOverP 
)
inlineprivate

Definition at line 521 of file DSourceComboer.h.

References IsLepton().

Referenced by Cut_dEdxAndEOverP().

void DAnalysis::DSourceComboer::Define_DefaultCuts ( void  )
private
void DAnalysis::DSourceComboer::Fill_CutHistograms ( void  )
private
void DAnalysis::DSourceComboer::Fill_SurvivalHistograms ( void  )
private
const DSourceCombo * DAnalysis::DSourceComboer::Find_Combo_AtThisStep ( const DSourceCombo locSourceCombo,
DSourceComboUse  locUseToFind,
size_t  locDecayInstanceIndex 
) const
private
DSourceComboUse DAnalysis::DSourceComboer::Find_ZDependentUse_AtThisStep ( const DSourceComboUse locSourceComboUse,
DSourceComboUse  locUseToFind,
size_t  locDecayInstanceIndex 
) const
private
Charge_t DAnalysis::DSourceComboer::Get_ChargeContent ( const DSourceComboInfo locSourceComboInfo) const
inline
const DSourceCombo * DAnalysis::DSourceComboer::Get_ChargedCombo_WithNow ( const DSourceCombo locChargedCombo_Presiding,
const DSourceComboInfo locToCreateComboInfo,
ComboingStage_t  locComboingStage 
) const
private
const vector< const DSourceCombo * > & DAnalysis::DSourceComboer::Get_CombosByBeamBunch ( const DSourceComboUse locComboUse,
DCombosByBeamBunch locCombosByBunch,
const vector< int > &  locBeamBunches,
ComboingStage_t  locComboingStage 
)
private

Definition at line 3695 of file DSourceComboer.cc.

References Build_ComboIndices(), and dDebugLevel.

Referenced by Get_CombosForComboing().

const vector< const DSourceCombo * > & DAnalysis::DSourceComboer::Get_CombosForComboing ( const DSourceComboUse locComboUse,
ComboingStage_t  locComboingStage,
const vector< int > &  locBeamBunches,
const DSourceCombo locChargedCombo_PresidingPrevious 
)
private
void DAnalysis::DSourceComboer::Get_CommandLineCuts_dEdx ( void  )
private

Definition at line 197 of file DSourceComboer.cc.

References dDebugLevel, ddEdxCuts_TF1FunctionStrings, ddEdxCuts_TF1Params, and string.

Referenced by DSourceComboer().

void DAnalysis::DSourceComboer::Get_CommandLineCuts_EOverP ( void  )
private

Definition at line 285 of file DSourceComboer.cc.

References dDebugLevel, dEOverPCuts_TF1FunctionStrings, dEOverPCuts_TF1Params, and string.

Referenced by DSourceComboer().

bool DAnalysis::DSourceComboer::Get_ExpandAllBut1Flag ( ComboingStage_t  locComboingStage,
const DSourceComboUse locAllBut1ComboUse,
Charge_t  locToAddChargeContent 
)
private
pair< bool, map< DSourceComboUse, unsigned char > > DAnalysis::DSourceComboer::Get_FinalStateDecayingComboUses ( const DReaction locReaction,
size_t  locStepIndex,
const map< size_t, DSourceComboUse > &  locStepComboUseMap 
) const
private
bool DAnalysis::DSourceComboer::Get_HasPhotons ( const DSourceComboInfo locSourceComboInfo) const
inline

Definition at line 110 of file DSourceComboer.h.

Referenced by Combo_WithNeutralsAndBeam().

bool DAnalysis::DSourceComboer::Get_IsComboingZIndependent ( const JObject *  locObject,
Particle_t  locPID 
) const
inlineprivate
DParticleComboCreator* DAnalysis::DSourceComboer::Get_ParticleComboCreator ( void  ) const
inline

Definition at line 123 of file DSourceComboer.h.

Referenced by DAnalysisResults_factory::brun().

const vector< const JObject * > & DAnalysis::DSourceComboer::Get_ParticlesForComboing ( Particle_t  locPID,
ComboingStage_t  locComboingStage,
const vector< int > &  locBeamBunches = {},
signed char  locVertexZBin = 0 
)
private
DSourceComboUse DAnalysis::DSourceComboer::Get_PrimaryComboUse ( const DReactionVertexInfo locReactionVertexInfo) const
inline
bool DAnalysis::DSourceComboer::Get_PromoteFlag ( ComboingStage_t  locComboingStage,
Particle_t  locDecayPID_UseToCheck,
const DSourceComboInfo locComboInfo_UseToCreate,
const DSourceComboInfo locComboInfo_UseToCheck,
DSourceComboUse locNonNeutralUse 
) const
private
size_t DAnalysis::DSourceComboer::Get_ResumeAtIndex_Combos ( const DSourceComboUse locSourceComboUse,
const DSourceCombo locPreviousCombo,
const vector< int > &  locBeamBunches,
ComboingStage_t  locComboingStage 
) const
inlineprivate

Definition at line 448 of file DSourceComboer.h.

Referenced by Combo_Vertically_NDecays().

size_t DAnalysis::DSourceComboer::Get_ResumeAtIndex_Particles ( Particle_t  locPID,
const JObject *  locPreviousObject,
vector< int >  locBeamBunches,
signed char  locVertexZBin 
) const
inlineprivate

Definition at line 430 of file DSourceComboer.h.

References Gamma, ParticleCharge(), and ParticleMass().

Referenced by Combo_Vertically_NParticles().

const vector< const JObject * > & DAnalysis::DSourceComboer::Get_ShowersByBeamBunch ( const vector< int > &  locBeamBunches,
DPhotonShowersByBeamBunch locShowersByBunch,
signed char  locVertexZBin 
)
private

Definition at line 3595 of file DSourceComboer.cc.

References Build_ParticleIndices(), and Gamma.

Referenced by Get_ParticlesForComboing().

DSourceCombo * DAnalysis::DSourceComboer::Get_SourceComboResource ( void  )
inlineprivate
DSourceCombosByBeamBunchByUse & DAnalysis::DSourceComboer::Get_SourceCombosByBeamBunchByUse ( Charge_t  locChargeContent_SearchForUse,
const DSourceCombo locChargedCombo = nullptr 
)
inlineprivate
DSourceComboUse DAnalysis::DSourceComboer::Get_SourceComboUse ( const DReaction locReaction,
size_t  locStepIndex 
) const
inline

Definition at line 120 of file DSourceComboer.h.

vector< const DSourceCombo * > * DAnalysis::DSourceComboer::Get_SourceComboVectorResource ( void  )
inlineprivate
const DSourceCombo * DAnalysis::DSourceComboer::Get_VertexPrimaryCombo ( const DSourceCombo locReactionCombo,
const DReactionStepVertexInfo locStepVertexInfo 
) const
const DSourceComboInfo * DAnalysis::DSourceComboer::Get_ZIndependentComboInfo ( const DSourceComboInfo locZDependentComboInfo)
inlineprivate
DSourceComboUse DAnalysis::DSourceComboer::Get_ZIndependentUse ( const DSourceComboUse locZDependentUse)
inlineprivate

Definition at line 379 of file DSourceComboer.h.

Referenced by Combo_Vertically_NDecays(), and Copy_ZIndependentMixedResults().

const DSourceComboInfo * DAnalysis::DSourceComboer::GetOrMake_SourceComboInfo ( const vector< pair< Particle_t, unsigned char >> &  locNumParticles,
const vector< pair< DSourceComboUse, unsigned char >> &  locFurtherDecays,
unsigned char  locNumTabs 
)
private
DSourceComboUse DAnalysis::DSourceComboer::Make_ComboUse ( Particle_t  locInitPID,
const map< Particle_t, unsigned char > &  locNumParticles,
const map< DSourceComboUse, unsigned char > &  locFurtherDecays,
bool  locMissingDecayProductFlag,
Particle_t  locTargetToInclude 
)
private
const DSourceComboInfo * DAnalysis::DSourceComboer::MakeOrGet_SourceComboInfo ( const vector< pair< Particle_t, unsigned char >> &  locNumParticles,
const vector< pair< DSourceComboUse, unsigned char >> &  locFurtherDecays,
unsigned char  locNumTabs 
)
private
void DAnalysis::DSourceComboer::Print_NumCombosByUse ( void  )
void DAnalysis::DSourceComboer::Recycle_Vectors ( void  )
inlineprivate

Definition at line 341 of file DSourceComboer.h.

Referenced by Reset_NewEvent().

void DAnalysis::DSourceComboer::Register_ValidRFBunches ( const DSourceComboUse locSourceComboUse,
const DSourceCombo locSourceCombo,
const vector< int > &  locRFBunches,
ComboingStage_t  locComboingStage,
const DSourceCombo locChargedCombo_Presiding 
)
private
void DAnalysis::DSourceComboer::Reset_NewEvent ( JEventLoop *  locEventLoop)
void DAnalysis::DSourceComboer::Setup_NeutralShowers ( JEventLoop *  locEventLoop)
private

Member Data Documentation

unordered_set<const DSourceComboInfo*> DAnalysis::DSourceComboer::dComboInfosWithMassiveNeutrals
private

Definition at line 257 of file DSourceComboer.h.

Referenced by GetOrMake_SourceComboInfo(), and MakeOrGet_SourceComboInfo().

unordered_set<const DSourceComboInfo*> DAnalysis::DSourceComboer::dComboInfosWithPhotons
private

Definition at line 258 of file DSourceComboer.h.

Referenced by GetOrMake_SourceComboInfo(), and MakeOrGet_SourceComboInfo().

vector<DSourceCombo*> DAnalysis::DSourceComboer::dCreatedCombos
private

Definition at line 304 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Reset_NewEvent().

vector<vector<const DSourceCombo*>*> DAnalysis::DSourceComboer::dCreatedComboVectors
private

Definition at line 305 of file DSourceComboer.h.

Referenced by DSourceComboer().

map<Particle_t, map<DetectorSystem_t, pair<TF1*, TF1*> > > DAnalysis::DSourceComboer::ddEdxCutMap
private

Definition at line 319 of file DSourceComboer.h.

Referenced by Create_CutFunctions().

map<Particle_t, map<DetectorSystem_t, pair<string, string> > > DAnalysis::DSourceComboer::ddEdxCuts_TF1FunctionStrings
private
map<Particle_t, map<DetectorSystem_t, pair<vector<double>, vector<double> > > > DAnalysis::DSourceComboer::ddEdxCuts_TF1Params
private
map<Particle_t, map<DetectorSystem_t, vector<pair<double, double> > > > DAnalysis::DSourceComboer::ddEdxValueMap
private

Definition at line 320 of file DSourceComboer.h.

Referenced by Fill_CutHistograms().

map<Particle_t, map<DetectorSystem_t, TF1*> > DAnalysis::DSourceComboer::dEOverPCutMap
private

Definition at line 326 of file DSourceComboer.h.

Referenced by Create_CutFunctions().

map<Particle_t, map<DetectorSystem_t, string> > DAnalysis::DSourceComboer::dEOverPCuts_TF1FunctionStrings
private
map<Particle_t, map<DetectorSystem_t, vector<double> > > DAnalysis::DSourceComboer::dEOverPCuts_TF1Params
private
map<Particle_t, map<DetectorSystem_t, vector<pair<double, double> > > > DAnalysis::DSourceComboer::dEOverPValueMap
private

Definition at line 327 of file DSourceComboer.h.

Referenced by Fill_CutHistograms().

const DESSkimData* DAnalysis::DSourceComboer::dESSkimData = nullptr
private

Definition at line 270 of file DSourceComboer.h.

Referenced by Reset_NewEvent().

uint64_t DAnalysis::DSourceComboer::dEventNumber = 0
private

Definition at line 230 of file DSourceComboer.h.

Referenced by Build_ParticleCombos(), Check_ForDuplicates(), and Reset_NewEvent().

map<Particle_t, map<DetectorSystem_t, TH2*> > DAnalysis::DSourceComboer::dHistMap_dEdx
private

Definition at line 321 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Fill_CutHistograms().

map<Particle_t, map<DetectorSystem_t, TH2*> > DAnalysis::DSourceComboer::dHistMap_EOverP
private

Definition at line 328 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Fill_CutHistograms().

size_t DAnalysis::DSourceComboer::dInitialComboVectorCapacity = 100
private

Definition at line 280 of file DSourceComboer.h.

Referenced by Copy_ZIndependentMixedResults().

size_t DAnalysis::DSourceComboer::dMaxNumNeutrals = 20
private

Definition at line 273 of file DSourceComboer.h.

Referenced by Check_NumParticles(), Check_Reactions(), and DSourceComboer().

unordered_map<const DReactionVertexInfo*, size_t> DAnalysis::DSourceComboer::dMaxRFBunchCuts
private

Definition at line 241 of file DSourceComboer.h.

Referenced by Combo_WithBeam(), and DSourceComboer().

unordered_map<const DSourceCombo*, DSourceCombosByUse_Large> DAnalysis::DSourceComboer::dMixedCombosByUseByChargedCombo
private

Definition at line 282 of file DSourceComboer.h.

Referenced by Print_NumCombosByUse(), and Reset_NewEvent().

map<vector<const JObject*>, const DSourceCombo*> DAnalysis::DSourceComboer::dNPhotonsToComboMap
private
size_t DAnalysis::DSourceComboer::dNumChargedTracks
private

Definition at line 275 of file DSourceComboer.h.

Referenced by Check_NumParticles(), Check_Reactions(), and Reset_NewEvent().

map<const DReaction*, TH2*> DAnalysis::DSourceComboer::dNumCombosSurvivedStage2DMap
private

Definition at line 310 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Fill_SurvivalHistograms().

map<const DReaction*, TH1*> DAnalysis::DSourceComboer::dNumCombosSurvivedStageMap
private

Definition at line 309 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Fill_SurvivalHistograms().

map<const DReaction*, map<DConstructionStage, size_t> > DAnalysis::DSourceComboer::dNumCombosSurvivedStageTracker
private
map<const DReaction*, TH1*> DAnalysis::DSourceComboer::dNumEventsSurvivedStageMap
private

Definition at line 308 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Fill_SurvivalHistograms().

map<DSourceComboUse, size_t> DAnalysis::DSourceComboer::dNumMixedCombosMap_Charged
private

Definition at line 312 of file DSourceComboer.h.

Referenced by Print_NumCombosByUse().

map<DSourceComboUse, size_t> DAnalysis::DSourceComboer::dNumMixedCombosMap_Mixed
private

Definition at line 313 of file DSourceComboer.h.

Referenced by Print_NumCombosByUse().

pair<bool, size_t> DAnalysis::DSourceComboer::dNumPlusMinusRFBunches = std::make_pair(false, 0)
private

Definition at line 239 of file DSourceComboer.h.

DParticleComboCreator* DAnalysis::DSourceComboer::dParticleComboCreator
private

Definition at line 247 of file DSourceComboer.h.

Referenced by Combo_WithBeam(), DSourceComboer(), and Reset_NewEvent().

bool DAnalysis::DSourceComboer::dPrintCutFlag = false
private

Definition at line 233 of file DSourceComboer.h.

Referenced by Create_CutFunctions(), and DSourceComboer().

DResourcePool<DSourceCombo> DAnalysis::DSourceComboer::dResourcePool_SourceCombo
private

Definition at line 301 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Reset_NewEvent().

DResourcePool<vector<const DSourceCombo*> > DAnalysis::DSourceComboer::dResourcePool_SourceComboVector
private

Definition at line 302 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Reset_NewEvent().

map<pair<const DSourceCombo*, DSourceComboUse>, map<vector<int>, size_t> > DAnalysis::DSourceComboer::dResumeSearchAfterIndices_Combos
private

Definition at line 294 of file DSourceComboer.h.

Referenced by Reset_NewEvent().

map<tuple<const JObject*, Particle_t, vector<int>, signed char>, size_t> DAnalysis::DSourceComboer::dResumeSearchAfterIndices_Particles
private

Definition at line 293 of file DSourceComboer.h.

Referenced by Reset_NewEvent().

unordered_map<const DReaction*, size_t> DAnalysis::DSourceComboer::dRFBunchCutsByReaction
private

Definition at line 240 of file DSourceComboer.h.

Referenced by Combo_WithBeam(), and DSourceComboer().

unordered_map<signed char, DPhotonShowersByBeamBunch> DAnalysis::DSourceComboer::dShowersByBeamBunchByZBin
private
string DAnalysis::DSourceComboer::dShowerSelectionTag = "PreSelect"
private

Definition at line 231 of file DSourceComboer.h.

Referenced by DSourceComboer(), and Reset_NewEvent().

vector<const DSourceComboInfo*> DAnalysis::DSourceComboer::dSourceComboInfos
private

Definition at line 255 of file DSourceComboer.h.

Referenced by DSourceComboer(), and GetOrMake_SourceComboInfo().

set<const DSourceComboInfo*, DCompare_SourceComboInfos> DAnalysis::DSourceComboer::dSourceComboInfoSet
private

Definition at line 254 of file DSourceComboer.h.

Referenced by DSourceComboer(), and MakeOrGet_SourceComboInfo().

map<pair<const DReactionStepVertexInfo*, DSourceComboUse>, size_t> DAnalysis::DSourceComboer::dSourceComboInfoStepMap
private

Definition at line 262 of file DSourceComboer.h.

Referenced by Create_SourceComboInfos().

DSourceComboP4Handler* DAnalysis::DSourceComboer::dSourceComboP4Handler
private
unordered_map<const DSourceCombo*, DSourceCombosByBeamBunchByUse> DAnalysis::DSourceComboer::dSourceCombosByBeamBunchByUse
private

Definition at line 284 of file DSourceComboer.h.

Referenced by Reset_NewEvent().

DSourceCombosByUse_Large DAnalysis::DSourceComboer::dSourceCombosByUse_Charged
private

Definition at line 281 of file DSourceComboer.h.

Referenced by Print_NumCombosByUse(), and Reset_NewEvent().

unordered_map<const DReactionStepVertexInfo*, DSourceComboUse> DAnalysis::DSourceComboer::dSourceComboUseReactionMap
private

Definition at line 260 of file DSourceComboer.h.

Referenced by Build_ParticleCombos(), and Create_SourceComboInfos().

unordered_map<const DReaction*, map<size_t, DSourceComboUse> > DAnalysis::DSourceComboer::dSourceComboUseReactionStepMap
private
map<pair<const DReactionVertexInfo*, vector<signed char> >, DSourceComboUse> DAnalysis::DSourceComboer::dSourceComboUseVertexZMap
private

Definition at line 266 of file DSourceComboer.h.

Referenced by Create_ZDependentSourceComboUses().

DVector3 DAnalysis::DSourceComboer::dTargetCenter
private

Definition at line 236 of file DSourceComboer.h.

Referenced by Create_SourceCombos(), and DSourceComboer().

map<bool, vector<const JObject*> > DAnalysis::DSourceComboer::dTracksByCharge
private

Definition at line 276 of file DSourceComboer.h.

Referenced by Reset_NewEvent().

map<Particle_t, vector<const JObject*> > DAnalysis::DSourceComboer::dTracksByPID
private

Definition at line 274 of file DSourceComboer.h.

Referenced by Reset_NewEvent().

map<pair<const DSourceCombo*, const DReactionStepVertexInfo*>, const DSourceCombo*> DAnalysis::DSourceComboer::dVertexPrimaryComboMap
private

Definition at line 285 of file DSourceComboer.h.

Referenced by Get_VertexPrimaryCombo(), and Reset_NewEvent().

map<DSourceComboUse, DSourceComboUse> DAnalysis::DSourceComboer::dZDependentUseToIndependentMap
private

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