1 #ifndef _DKinFitResults_
2 #define _DKinFitResults_
6 #include "JANA/JObject.h"
7 #include "TMatrixDSym.h"
31 void Set_NDF(
unsigned int locNDF){dNDF = locNDF;}
35 void Set_VXi(
const TMatrixDSym& locVXi){dVXi = locVXi;}
40 void Set_Pulls(
const map<
const JObject*, map<DKinFitPullType, double> >& locPulls){dPulls = locPulls;}
49 unsigned int Get_NDF(
void)
const{
return dNDF;}
53 const TMatrixDSym&
Get_VXi(
void)
const{
return dVXi;}
58 void Get_Pulls(map<
const JObject*, map<DKinFitPullType, double> >& locPulls)
const{locPulls = dPulls;}
62 void Add_OutputKinFitParticles(
const set<shared_ptr<DKinFitParticle>>& locOutputKinFitParticles);
63 void Add_KinFitConstraints(
const set<shared_ptr<DKinFitConstraint>>& locKinFitConstraints);
65 void Add_ParticleMapping_SourceToOutput(
const JObject* locSourceJObject,
const shared_ptr<DKinFitParticle>& locOutputKinFitParticle);
69 set<shared_ptr<DKinFitParticle>> Get_OutputKinFitParticles(
void)
const;
70 set<shared_ptr<DKinFitParticle>> Get_OutputKinFitParticles(
DKinFitParticleType locKinFitParticleType)
const;
75 shared_ptr<DKinFitParticle> Get_OutputKinFitParticle(
const JObject* locSourceObject)
const;
81 unsigned int dNumConstraints = 0;
82 unsigned int dNumUnknowns = 0;
84 double dConfidenceLevel = 0.0;
86 unsigned int dNDF = 0;
88 map<const JObject*, map<DKinFitPullType, double> >
dPulls;
111 dConfidenceLevel = 0.0;
119 dOutputKinFitParticles.clear();
120 dKinFitConstraints.clear();
121 dParticleMap_SourceToOutput.clear();
128 dOutputKinFitParticles.clear();
129 dKinFitConstraints.clear();
130 dParticleMap_SourceToOutput.clear();
137 auto locIterator = locOutputKinFitParticles.begin();
138 for(; locIterator != locOutputKinFitParticles.end(); ++locIterator)
139 dOutputKinFitParticles[(*locIterator)->Get_KinFitParticleType()].insert(*locIterator);
144 for(
auto& locConstraint : locKinFitConstraints)
145 dKinFitConstraints.insert(std::const_pointer_cast<const DKinFitConstraint>(locConstraint));
150 dParticleMap_SourceToOutput[locSourceJObject] = locOutputKinFitParticle;
157 auto locIterator = dParticleMap_SourceToOutput.find(locSourceObject);
158 return ((locIterator != dParticleMap_SourceToOutput.end()) ? locIterator->second : NULL);
163 set<shared_ptr<DKinFitParticle>> locOutputKinFitParticles;
164 auto locIterator = dOutputKinFitParticles.begin();
165 for(; locIterator != dOutputKinFitParticles.end(); ++locIterator)
166 locOutputKinFitParticles.insert(locIterator->second.begin(), locIterator->second.end());
167 return locOutputKinFitParticles;
172 auto locIterator = dOutputKinFitParticles.find(locKinFitParticleType);
173 return ((locIterator != dOutputKinFitParticles.end()) ? locIterator->second : set<shared_ptr<DKinFitParticle>>());
176 #endif // _DKinFitResults_
void Set_Pulls(const map< const JObject *, map< DKinFitPullType, double > > &locPulls)
DKinFitType Get_KinFitType(void) const
void Set_ChiSq(double locChiSq)
void Add_KinFitConstraints(const set< shared_ptr< DKinFitConstraint >> &locKinFitConstraints)
set< shared_ptr< const DKinFitConstraint > > Get_OutputKinFitConstraints(void) const
void Set_NDF(unsigned int locNDF)
unsigned int Get_NumConstraints(void) const
unsigned int Get_NumUnknowns(void) const
void Add_ParticleMapping_SourceToOutput(const JObject *locSourceJObject, const shared_ptr< DKinFitParticle > &locOutputKinFitParticle)
void Set_NumUnknowns(unsigned int locNumUnknowns)
map< const JObject *, shared_ptr< DKinFitParticle > > dParticleMap_SourceToOutput
double Get_ChiSq(void) const
void Set_KinFitType(DKinFitType locKinFitType)
set< shared_ptr< const DKinFitConstraint > > dKinFitConstraints
void Add_OutputKinFitParticles(const set< shared_ptr< DKinFitParticle >> &locOutputKinFitParticles)
set< shared_ptr< DKinFitParticle > > Get_OutputKinFitParticles(void) const
map< DKinFitParticleType, set< shared_ptr< DKinFitParticle > > > dOutputKinFitParticles
void Set_NumConstraints(unsigned int locNumConstraints)
double Get_ConfidenceLevel(void) const
shared_ptr< DKinFitParticle > Get_OutputKinFitParticle(const JObject *locSourceObject) const
void Set_VXi(const TMatrixDSym &locVXi)
const TMatrixDSym & Get_VXi(void) const
map< const JObject *, map< DKinFitPullType, double > > dPulls
unsigned int Get_NDF(void) const
void Set_ConfidenceLevel(double locConfidenceLevel)
void Get_Pulls(map< const JObject *, map< DKinFitPullType, double > > &locPulls) const