MINT2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SpinFactor Class Referenceabstract

#include <SpinFactor.h>

Inheritance diagram for SpinFactor:
MINT::IReturnRealForEvent< IDalitzEvent > MINT::IReturnComplexForEvent< IDalitzEvent > CachedByEvent< std::complex< double > > MINT::FitParDependent ISpinFactor MINT::IFitParDependent MINT::IFitParRegister MINT::PolymorphVector< FitParRef > MINT::IReturnRealForEvent< IDalitzEvent > MINT::IReturnComplexForEvent< IDalitzEvent > MINT::IFitParDependent SF_AtoSP1_StoP2P3_BASE SF_AtoVP1_VtoP2P3_BASE SF_BtoAP1_AtoVV0_VtoP2P3_BASE SF_BtoAS_AtoP1V0_StoP2P3_BASE SF_BtoAV0_AtoSP1_StoP2P3_BASE SF_BtoAV0_AtoVP1_VtoP2P3_BASE SF_BtoAV_AtoP1V0_VtoP2P3_BASE SF_BtoPP1_PtoVV0_VtoP2P3_BASE SF_BtoPS_PtoP1V0_StoP2P3_BASE SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_BASE SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_BASE SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_BASE SF_BtoPV0_PtoP1V1_V1toP2P3_BASE SF_BtoPV0_PtoS_StoP2P3_BASE SF_BtoPV_PtoP1V0_VtoP2P3_BASE SF_BtoSP1_StoVV0_VtoP2P3_BASE SF_BtoTV0_TtoVP1_VtoP2P3_BASE SF_BtoV1P1_V1toV2V0_V2toP2P3_BASE SF_BtoV1V0_V1toV2P1_V2toP2P3_BASE SF_BtoV1V2_V1toP1V0_V2toP2P3_BASE SF_BtoVP1_VtoAP2_AtoV0P3_BASE SF_BtoVP1_VtoSV0_StoP2P3_BASE SF_BtoVP1_VtoTV0_TtoP2P3_BASE SF_BtoVP1_VtoV0S_StoP2P3_BASE SF_DtoAP0_AtoSP1_StoP2P3 SF_DtoAP0_AtoTP1_TtoP2P3 SF_DtoAP0_AtoVP1_VtoP2P3_BASE SF_DtoPP0_PtoVP1_VtoP2P3 SF_DtoPseudoTP0_PseudoTtoSP1_StoP2P3 SF_DtoPseudoTP0_PseudoTtoTP1_TtoP2P3 SF_DtoPseudoTP0_PseudoTtoVP1_VtoP2P3 SF_DtoT1P0_T1toT2P1_T2toP2P3 SF_DtoT1T2_T1toP0P1_T2toP2P3_BASE SF_DtoTP0_TtoVP1_VtoP2P3 SF_DtoTS_TtoP0P1_StoP2P3 SF_DtoV1P0_V1toV2P1_V2toP2P3 SF_DtoV1V2_V1toP0P1_V1toP2P3_BASE SF_DtoV1V2_V1toP0P1_V1toP2P3_S_nonResV1 SF_DtoVS_VtoP0P1_StoP2P3 SF_DtoVS_VtoP0P1_StoP2P3_nonResV SF_DtoVT_VtoP0P1_TtoP2P3_BASE SF_VtoAP1_AtoV0P2_BASE SF_VtoSV0_StoP2P3_BASE SF_VtoV0P1_V0toP2P3_BASE SpinFactor3

Public Member Functions

virtual double getVal (IDalitzEvent &evt)=0
 
virtual double RealVal (IDalitzEvent &evt)
 
virtual std::complex< double > ComplexVal (IDalitzEvent &evt)
 
virtual std::complex< double > getNewVal (IDalitzEvent &evt)
 
double mRes (const AssociatedDecayTreeItem &adt, IDalitzEvent &evt)
 
double mRes (const MINT::const_counted_ptr< AssociatedDecayTree > &adt, IDalitzEvent &evt)
 
const AssociatedDecayTreetheDecay () const
 
const AssociatedDecayTreetheDecay (const DalitzEventPattern &) const
 
const AssociatedDecayTreetheDecay (IDalitzEvent &evt) const
 
 SpinFactor (const AssociatedDecayTree &decay, int nFinal=3)
 
 SpinFactor (const SpinFactor &other)
 
virtual void printYourself (std::ostream &os=std::cout) const =0
 
virtual void printParsing (std::ostream &os=std::cout) const
 
virtual ~SpinFactor ()
 
virtual const DecayTreeexampleDecay ()=0
 
virtual std::string name () const =0
 
- Public Member Functions inherited from MINT::IReturnRealForEvent< IDalitzEvent >
virtual ~IReturnRealForEvent ()
 
- Public Member Functions inherited from MINT::IReturnComplexForEvent< IDalitzEvent >
virtual ~IReturnComplexForEvent ()
 
- Public Member Functions inherited from CachedByEvent< std::complex< double > >
 CachedByEvent ()
 
 CachedByEvent (const CachedByEvent &)
 
std::complex< double > getValWithCaching (IDalitzEvent &evt)
 
std::complex< double > getValWithCachingPermutation (IDalitzEvent &evt)
 
- Public Member Functions inherited from MINT::FitParDependent
virtual unsigned int size () const
 
virtual const FitParRefoperator[] (unsigned int i) const
 
virtual FitParRefoperator[] (unsigned int i)
 
virtual bool changedSinceLastCall () const
 
virtual void rememberFitParValues ()
 
virtual bool registerFitParDependence (const IFitParDependent &fpd)
 
bool registerFitParDependence (const FitParRef &fpr)
 
void removeAllFitParDependencies ()
 
 FitParDependent (IFitParRegister *daddy=0)
 
 FitParDependent (const FitParDependent &other, IFitParRegister *newDaddy=0)
 
void listFitParDependencies (std::ostream &os=std::cout) const
 
- Public Member Functions inherited from MINT::PolymorphVector< FitParRef >
 PolymorphVector ()
 
 PolymorphVector (unsigned int N)
 
 PolymorphVector (unsigned int N, const FitParRef &c)
 
 PolymorphVector (const PolymorphVector &other)
 
 PolymorphVector (const typename std::vector< FitParRef > &other)
 
virtual ~PolymorphVector ()
 
std::vector< FitParRef > & theVector ()
 
const std::vector< FitParRef > & theVector () const
 
FitParRefoperator[] (unsigned int i)
 
const FitParRefoperator[] (unsigned int i) const
 
FitParRefat (unsigned int i)
 
const FitParRefat (unsigned int i) const
 
std::vector< FitParRef >::iterator begin ()
 
std::vector< FitParRef >::const_iterator begin () const
 
std::vector< FitParRef >::iterator end ()
 
std::vector< FitParRef >::const_iterator end () const
 
std::vector< FitParRef >::iterator find (const FitParRef &c)
 
std::vector< FitParRef >::const_iterator find (const FitParRef &c) const
 
FitParReffront ()
 
const FitParReffront () const
 
FitParRefback ()
 
const FitParRefback () const
 
unsigned int size () const
 
bool empty () const
 
void push_back (const FitParRef &c)
 
void pop_back ()
 
void erase (typename std::vector< FitParRef >::iterator pos)
 
void erase (typename std::vector< FitParRef >::iterator first, typename std::vector< FitParRef >::iterator last)
 
PolymorphVector< FitParRef > & operator= (const PolymorphVector< FitParRef > &other)
 
void clear ()
 
void resize (unsigned int N)
 
void resize (unsigned int N, const FitParRef &c)
 
 operator const typename std::vector< FitParRef > & () const
 
 operator typename std::vector< FitParRef > & ()
 
bool operator== (const MINT::PolymorphVector< FitParRef > &v2) const
 
bool operator!= (const MINT::PolymorphVector< FitParRef > &v2) const
 
bool operator< (const MINT::PolymorphVector< FitParRef > &v2) const
 
bool operator> (const MINT::PolymorphVector< FitParRef > &v2) const
 
- Public Member Functions inherited from ISpinFactor
virtual ~ISpinFactor ()
 

Protected Member Functions

TLorentzVector p (int i, IDalitzEvent &evt)
 
- Protected Member Functions inherited from MINT::IReturnRealForEvent< IDalitzEvent >
 IReturnRealForEvent ()
 
- Protected Member Functions inherited from MINT::IReturnComplexForEvent< IDalitzEvent >
 IReturnComplexForEvent ()
 
- Protected Member Functions inherited from CachedByEvent< std::complex< double > >
long int rememberNumber ()
 
long int rememberNumberPermutation (IDalitzEvent &evt)
 
long int configNumber ()
 
std::complex< double > recalculate (IDalitzEvent &evt)
 
std::complex< double > recalculatePermutation (IDalitzEvent &evt)
 
- Protected Member Functions inherited from ISpinFactor
 ISpinFactor ()
 

Protected Attributes

const AssociatedDecayTree_theDecay
 
int _nFinal
 
std::vector< MINT::const_counted_ptr< AssociatedDecayTree > > fsPS
 
MINT::NamedParameter< int > _useZemachTensors
 
- Protected Attributes inherited from CachedByEvent< std::complex< double > >
long int _rememberNumber
 
std::vector< long int > _rememberNumberPermutation
 
long int _configNumber
 
- Protected Attributes inherited from MINT::PolymorphVector< FitParRef >
std::vector< FitParRef_vec
 

Detailed Description

Definition at line 19 of file SpinFactor.h.

Constructor & Destructor Documentation

◆ SpinFactor() [1/2]

SpinFactor::SpinFactor ( const AssociatedDecayTree decay,
int  nFinal = 3 
)
inline

Definition at line 74 of file SpinFactor.h.

77  , ISpinFactor()
78  //, _associatingDecayTree(decay)
79  , _theDecay(decay)
80  , _nFinal(nFinal)
83  {}
std::vector< MINT::const_counted_ptr< AssociatedDecayTree > > fsPS
Definition: SpinFactor.h:30
int _nFinal
Definition: SpinFactor.h:28
MINT::NamedParameter< int > _useZemachTensors
Definition: SpinFactor.h:31
const AssociatedDecayTree & _theDecay
Definition: SpinFactor.h:27

◆ SpinFactor() [2/2]

SpinFactor::SpinFactor ( const SpinFactor other)
inline

Definition at line 85 of file SpinFactor.h.

88  , ISpinFactor()
89  , CachedByEvent(other)
90  , FitParDependent(other)
91  // , _associatingDecayTree(other._associatingDecayTree)
92  , _theDecay(other._theDecay)
93  , _nFinal(other._nFinal)
96  {}
FitParDependent(IFitParRegister *daddy=0)
std::vector< MINT::const_counted_ptr< AssociatedDecayTree > > fsPS
Definition: SpinFactor.h:30
int _nFinal
Definition: SpinFactor.h:28
MINT::NamedParameter< int > _useZemachTensors
Definition: SpinFactor.h:31
const AssociatedDecayTree & _theDecay
Definition: SpinFactor.h:27

◆ ~SpinFactor()

virtual SpinFactor::~SpinFactor ( )
inlinevirtual

Definition at line 99 of file SpinFactor.h.

Member Function Documentation

◆ ComplexVal()

virtual std::complex<double> SpinFactor::ComplexVal ( IDalitzEvent evt)
inlinevirtual

Implements ISpinFactor.

Definition at line 36 of file SpinFactor.h.

36  {
37  //return getNewVal(evt);
38  return getValWithCachingPermutation(evt);
39  //return std::complex<double>(getVal(evt),0);
40  }
std::complex< double > getValWithCachingPermutation(IDalitzEvent &evt)
Definition: CachedByEvent.h:93

◆ exampleDecay()

virtual const DecayTree& SpinFactor::exampleDecay ( )
pure virtual

Implemented in SF_BtoVP1_VtoTV0_TtoP2P3, SF_BtoVP1_VtoTV0_TtoP2P3_BASE, SF_BtoPP1_PtoVV0_VtoP2P3, SF_BtoPP1_PtoVV0_VtoP2P3_BASE, SF_BtoSP1_StoVV0_VtoP2P3, SF_BtoSP1_StoVV0_VtoP2P3_BASE, SF_BtoPV0_PtoP1V1_V1toP2P3, SF_BtoPV0_PtoP1V1_V1toP2P3_BASE, SF_BtoVP1_VtoSV0_StoP2P3, SF_BtoVP1_VtoSV0_StoP2P3_BASE, SF_BtoVP1_VtoAP2_AtoV0P3, SF_BtoVP1_VtoAP2_AtoV0P3_BASE, SF_BtoPV0_PtoS_StoP2P3, SF_BtoPV0_PtoS_StoP2P3_BASE, SF_BtoPV_PtoP1V0_VtoP2P3, SF_BtoPV_PtoP1V0_VtoP2P3_BASE, SF_BtoPS_PtoP1V0_StoP2P3, SF_BtoPS_PtoP1V0_StoP2P3_BASE, SF_BtoAS_AtoP1V0_StoP2P3, SF_BtoAS_AtoP1V0_StoP2P3_BASE, SF_BtoAV_AtoP1V0_VtoP2P3_D, SF_BtoAV_AtoP1V0_VtoP2P3_P, SF_BtoAV_AtoP1V0_VtoP2P3, SF_BtoAV_AtoP1V0_VtoP2P3_BASE, SF_BtoV1V2_V1toP1V0_V2toP2P3, SF_BtoV1V2_V1toP1V0_V2toP2P3_BASE, SF_BtoAP1_AtoVV0_VtoP2P3, SF_BtoAP1_AtoVV0_VtoP2P3_BASE, SF_BtoV1P1_V1toV2V0_V2toP2P3, SF_BtoV1P1_V1toV2V0_V2toP2P3_BASE, SF_BtoVP1_VtoV0S_StoP2P3, SF_BtoVP1_VtoV0S_StoP2P3_BASE, SF_BtoTV0_TtoVP1_VtoP2P3_P, SF_BtoTV0_TtoVP1_VtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_P, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_D, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_BASE, SF_DtoV1P0_V1toV2P1_V2toP2P3, SF_DtoAP0_AtoTP1_TtoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_D, SF_DtoVS_VtoP0P1_StoP2P3_nonResV, SF_DtoPseudoTP0_PseudoTtoTP1_TtoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_P, SF_DtoVS_VtoP0P1_StoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3, SF_DtoPseudoTP0_PseudoTtoSP1_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_S_nonResV1, SF_BtoV1V0_V1toV2P1_V2toP2P3_BASE, SF_DtoPseudoTP0_PseudoTtoVP1_VtoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_D, SF_BtoAV0_AtoSP1_StoP2P3_D, SF_VtoAP1_AtoV0P2, SF_DtoTS_TtoP0P1_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_P, SF_BtoAV0_AtoSP1_StoP2P3_P, SF_VtoAP1_AtoV0P2_BASE, SF_DtoT1P0_T1toT2P1_T2toP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_S, SF_BtoAV0_AtoSP1_StoP2P3, SF_VtoSV0_StoP2P3, SF_BtoAV0_AtoSP1_StoP2P3_BASE, SF_DtoV1V2_V1toP0P1_V1toP2P3_BASE, SF_DtoTP0_TtoVP1_VtoP2P3, SF_VtoSV0_StoP2P3_BASE, SF_BtoAV0_AtoVP1_VtoP2P3_D, SF_DtoAP0_AtoSP1_StoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_D, SF_VtoV0P1_V0toP2P3, SF_BtoAV0_AtoVP1_VtoP2P3_P, SF_DtoAP0_AtoVP1Dwave_VtoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_P, SF_VtoV0P1_V0toP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_D, SF_DtoAP0_AtoVP1_VtoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_S, SF_AtoSP1_StoP2P3, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_P, SF_DtoAP0_AtoVP1_VtoP2P3_BASE, SF_DtoT1T2_T1toP0P1_T2toP2P3_BASE, SF_AtoSP1_StoP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3, SF_DtoPP0_PtoVP1_VtoP2P3, SF_DtoVT_VtoP0P1_TtoP2P3_D, SF_AtoVP1_VtoP2P3_D, SF_BtoAV0_AtoVP1_VtoP2P3, SF_DtoVT_VtoP0P1_TtoP2P3_P, SF_AtoVP1_VtoP2P3, SpinFactor3, SF_BtoAV0_AtoVP1_VtoP2P3_BASE, SF_DtoVT_VtoP0P1_TtoP2P3_BASE, and SF_AtoVP1_VtoP2P3_BASE.

◆ getNewVal()

virtual std::complex<double> SpinFactor::getNewVal ( IDalitzEvent evt)
inlinevirtual

Implements CachedByEvent< std::complex< double > >.

Reimplemented in SF_BtoVP1_VtoTV0_TtoP2P3, SF_BtoVP1_VtoTV0_TtoP2P3_BASE, SF_BtoPP1_PtoVV0_VtoP2P3, SF_BtoPP1_PtoVV0_VtoP2P3_BASE, SF_BtoSP1_StoVV0_VtoP2P3, SF_BtoSP1_StoVV0_VtoP2P3_BASE, SF_BtoPV0_PtoP1V1_V1toP2P3, SF_BtoPV0_PtoP1V1_V1toP2P3_BASE, SF_BtoVP1_VtoSV0_StoP2P3, SF_BtoVP1_VtoSV0_StoP2P3_BASE, SF_BtoVP1_VtoAP2_AtoV0P3, SF_BtoVP1_VtoAP2_AtoV0P3_BASE, SF_BtoPV0_PtoS_StoP2P3, SF_BtoPV0_PtoS_StoP2P3_BASE, SF_BtoPV_PtoP1V0_VtoP2P3, SF_BtoPV_PtoP1V0_VtoP2P3_BASE, SF_BtoPS_PtoP1V0_StoP2P3, SF_BtoPS_PtoP1V0_StoP2P3_BASE, SF_BtoAS_AtoP1V0_StoP2P3, SF_BtoAS_AtoP1V0_StoP2P3_BASE, SF_BtoAV_AtoP1V0_VtoP2P3_D, SF_BtoAV_AtoP1V0_VtoP2P3_P, SF_BtoAV_AtoP1V0_VtoP2P3, SF_BtoAV_AtoP1V0_VtoP2P3_BASE, SF_BtoV1V2_V1toP1V0_V2toP2P3, SF_BtoV1V2_V1toP1V0_V2toP2P3_BASE, SF_BtoAP1_AtoVV0_VtoP2P3, SF_BtoAP1_AtoVV0_VtoP2P3_BASE, SF_BtoV1P1_V1toV2V0_V2toP2P3, SF_BtoV1P1_V1toV2V0_V2toP2P3_BASE, SF_BtoVP1_VtoV0S_StoP2P3, SF_BtoVP1_VtoV0S_StoP2P3_BASE, SF_BtoTV0_TtoVP1_VtoP2P3_P, SF_BtoTV0_TtoVP1_VtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_P, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_D, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_BASE, SF_BtoV1V0_V1toV2P1_V2toP2P3_D, SF_BtoV1V0_V1toV2P1_V2toP2P3_P, SF_BtoV1V0_V1toV2P1_V2toP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_BASE, SF_BtoAV0_AtoSP1_StoP2P3_D, SF_VtoAP1_AtoV0P2, SF_BtoAV0_AtoSP1_StoP2P3_P, SF_VtoAP1_AtoV0P2_BASE, SF_BtoAV0_AtoSP1_StoP2P3, SF_VtoSV0_StoP2P3, SF_BtoAV0_AtoSP1_StoP2P3_BASE, SF_VtoSV0_StoP2P3_BASE, SF_BtoAV0_AtoVP1_VtoP2P3_D, SF_VtoV0P1_V0toP2P3, SF_BtoAV0_AtoVP1_VtoP2P3_P, SF_VtoV0P1_V0toP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_D, SF_AtoSP1_StoP2P3, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_P, SF_AtoSP1_StoP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3, SF_AtoVP1_VtoP2P3_D, SF_BtoAV0_AtoVP1_VtoP2P3, SF_AtoVP1_VtoP2P3, SF_BtoAV0_AtoVP1_VtoP2P3_BASE, and SF_AtoVP1_VtoP2P3_BASE.

Definition at line 41 of file SpinFactor.h.

41 {return std::complex<double>(getVal(evt),0);}
virtual double getVal(IDalitzEvent &evt)=0

◆ getVal()

virtual double SpinFactor::getVal ( IDalitzEvent evt)
pure virtual

Implements ISpinFactor.

Implemented in SF_BtoVP1_VtoTV0_TtoP2P3, SF_BtoVP1_VtoTV0_TtoP2P3_BASE, SF_BtoPP1_PtoVV0_VtoP2P3, SF_BtoPP1_PtoVV0_VtoP2P3_BASE, SF_BtoSP1_StoVV0_VtoP2P3, SF_BtoSP1_StoVV0_VtoP2P3_BASE, SF_BtoPV0_PtoP1V1_V1toP2P3, SF_BtoPV0_PtoP1V1_V1toP2P3_BASE, SF_BtoVP1_VtoSV0_StoP2P3, SF_BtoVP1_VtoSV0_StoP2P3_BASE, SF_BtoVP1_VtoAP2_AtoV0P3, SF_BtoVP1_VtoAP2_AtoV0P3_BASE, SF_BtoPV0_PtoS_StoP2P3, SF_BtoPV0_PtoS_StoP2P3_BASE, SF_BtoPV_PtoP1V0_VtoP2P3, SF_BtoPV_PtoP1V0_VtoP2P3_BASE, SF_BtoPS_PtoP1V0_StoP2P3, SF_BtoPS_PtoP1V0_StoP2P3_BASE, SF_BtoAS_AtoP1V0_StoP2P3, SF_BtoAS_AtoP1V0_StoP2P3_BASE, SF_BtoAV_AtoP1V0_VtoP2P3_D, SF_BtoAV_AtoP1V0_VtoP2P3_P, SF_BtoAV_AtoP1V0_VtoP2P3, SF_BtoAV_AtoP1V0_VtoP2P3_BASE, SF_BtoV1V2_V1toP1V0_V2toP2P3, SF_BtoV1V2_V1toP1V0_V2toP2P3_BASE, SF_BtoAP1_AtoVV0_VtoP2P3, SF_BtoAP1_AtoVV0_VtoP2P3_BASE, SF_BtoV1P1_V1toV2V0_V2toP2P3, SF_BtoV1P1_V1toV2V0_V2toP2P3_BASE, SF_BtoVP1_VtoV0S_StoP2P3, SF_BtoVP1_VtoV0S_StoP2P3_BASE, SF_BtoTV0_TtoVP1_VtoP2P3_P, SF_BtoTV0_TtoVP1_VtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_P, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_D, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_BASE, SF_DtoV1P0_V1toV2P1_V2toP2P3, SF_DtoAP0_AtoTP1_TtoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_D, SF_DtoVS_VtoP0P1_StoP2P3_nonResV, SF_DtoPseudoTP0_PseudoTtoTP1_TtoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_P, SF_DtoVS_VtoP0P1_StoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3, SF_DtoPseudoTP0_PseudoTtoSP1_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_S_nonResV1, SF_BtoV1V0_V1toV2P1_V2toP2P3_BASE, SF_DtoPseudoTP0_PseudoTtoVP1_VtoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_D, SF_BtoAV0_AtoSP1_StoP2P3_D, SF_VtoAP1_AtoV0P2, SF_DtoTS_TtoP0P1_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_P, SF_BtoAV0_AtoSP1_StoP2P3_P, SF_VtoAP1_AtoV0P2_BASE, SF_DtoT1P0_T1toT2P1_T2toP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_S, SF_BtoAV0_AtoSP1_StoP2P3, SF_VtoSV0_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_BASE, SF_BtoAV0_AtoSP1_StoP2P3_BASE, SF_DtoTP0_TtoVP1_VtoP2P3, SF_VtoSV0_StoP2P3_BASE, SF_DtoAP0_AtoSP1_StoP2P3, SF_BtoAV0_AtoVP1_VtoP2P3_D, SF_DtoT1T2_T1toP0P1_T2toP2P3_D, SF_VtoV0P1_V0toP2P3, SF_BtoAV0_AtoVP1_VtoP2P3_P, SF_DtoAP0_AtoVP1Dwave_VtoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_P, SF_VtoV0P1_V0toP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_D, SF_DtoAP0_AtoVP1_VtoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_S, SF_AtoSP1_StoP2P3, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_P, SF_DtoAP0_AtoVP1_VtoP2P3_BASE, SF_DtoT1T2_T1toP0P1_T2toP2P3_BASE, SF_AtoSP1_StoP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3, SF_DtoPP0_PtoVP1_VtoP2P3, SF_DtoVT_VtoP0P1_TtoP2P3_D, SF_AtoVP1_VtoP2P3_D, SF_BtoAV0_AtoVP1_VtoP2P3, SF_DtoVT_VtoP0P1_TtoP2P3_P, SF_AtoVP1_VtoP2P3, SpinFactor3, SF_BtoAV0_AtoVP1_VtoP2P3_BASE, SF_DtoVT_VtoP0P1_TtoP2P3_BASE, SF_AtoVP1_VtoP2P3_BASE, and GSSpinFactor.

◆ mRes() [1/2]

double SpinFactor::mRes ( const AssociatedDecayTreeItem adt,
IDalitzEvent evt 
)

Definition at line 53 of file SpinFactor.cpp.

53  {
54  return adt.mRes(&evt);
55 }
double mRes(const IDalitzEvent *evt=0) const

◆ mRes() [2/2]

double SpinFactor::mRes ( const MINT::const_counted_ptr< AssociatedDecayTree > &  adt,
IDalitzEvent evt 
)

Definition at line 46 of file SpinFactor.cpp.

46  {
47  // return PDG mass for final state paticles
48  if(adt->isFinalState()) return mRes(adt->getVal(), evt);
49  // return sqrt(p^2) for spin projectors
50  return adt->getVal().mReco(&evt) ;
51 }
const ValueType & getVal() const
Definition: DDTree.h:102
bool isFinalState() const
Definition: DDTree.h:93
double mRes(const AssociatedDecayTreeItem &adt, IDalitzEvent &evt)
Definition: SpinFactor.cpp:53
double mReco(const IDalitzEvent *evt) const

◆ name()

virtual std::string SpinFactor::name ( ) const
pure virtual

Implements ISpinFactor.

Implemented in SF_BtoVP1_VtoTV0_TtoP2P3, SF_BtoVP1_VtoTV0_TtoP2P3_BASE, SF_BtoPP1_PtoVV0_VtoP2P3, SF_BtoPP1_PtoVV0_VtoP2P3_BASE, SF_BtoSP1_StoVV0_VtoP2P3, SF_BtoSP1_StoVV0_VtoP2P3_BASE, SF_BtoPV0_PtoP1V1_V1toP2P3, SF_BtoPV0_PtoP1V1_V1toP2P3_BASE, SF_BtoVP1_VtoSV0_StoP2P3, SF_BtoVP1_VtoSV0_StoP2P3_BASE, SF_BtoVP1_VtoAP2_AtoV0P3, SF_BtoVP1_VtoAP2_AtoV0P3_BASE, SF_BtoPV0_PtoS_StoP2P3, SF_BtoPV0_PtoS_StoP2P3_BASE, SF_BtoPV_PtoP1V0_VtoP2P3, SF_BtoPV_PtoP1V0_VtoP2P3_BASE, SF_BtoPS_PtoP1V0_StoP2P3, SF_BtoPS_PtoP1V0_StoP2P3_BASE, SF_BtoAS_AtoP1V0_StoP2P3, SF_BtoAS_AtoP1V0_StoP2P3_BASE, SF_BtoAV_AtoP1V0_VtoP2P3_D, SF_BtoAV_AtoP1V0_VtoP2P3_P, SF_BtoAV_AtoP1V0_VtoP2P3, SF_BtoAV_AtoP1V0_VtoP2P3_BASE, SF_BtoV1V2_V1toP1V0_V2toP2P3, SF_BtoV1V2_V1toP1V0_V2toP2P3_BASE, SF_BtoAP1_AtoVV0_VtoP2P3, SF_BtoAP1_AtoVV0_VtoP2P3_BASE, SF_BtoV1P1_V1toV2V0_V2toP2P3, SF_BtoV1P1_V1toV2V0_V2toP2P3_BASE, SF_BtoVP1_VtoV0S_StoP2P3, SF_BtoVP1_VtoV0S_StoP2P3_BASE, SF_BtoTV0_TtoVP1_VtoP2P3_P, SF_BtoTV0_TtoVP1_VtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_P, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_D, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_BASE, SF_DtoV1P0_V1toV2P1_V2toP2P3, SF_DtoAP0_AtoTP1_TtoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_D, SF_DtoVS_VtoP0P1_StoP2P3_nonResV, SF_DtoPseudoTP0_PseudoTtoTP1_TtoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_P, SF_DtoVS_VtoP0P1_StoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3, SF_DtoPseudoTP0_PseudoTtoSP1_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_S_nonResV1, SF_BtoV1V0_V1toV2P1_V2toP2P3_BASE, SF_DtoPseudoTP0_PseudoTtoVP1_VtoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_D, SF_BtoAV0_AtoSP1_StoP2P3_D, SF_VtoAP1_AtoV0P2, SF_DtoTS_TtoP0P1_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_P, SF_BtoAV0_AtoSP1_StoP2P3_P, SF_VtoAP1_AtoV0P2_BASE, SF_DtoT1P0_T1toT2P1_T2toP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_S, SF_BtoAV0_AtoSP1_StoP2P3, SF_VtoSV0_StoP2P3, SF_BtoAV0_AtoSP1_StoP2P3_BASE, SF_DtoV1V2_V1toP0P1_V1toP2P3_BASE, SF_DtoTP0_TtoVP1_VtoP2P3, SF_VtoSV0_StoP2P3_BASE, SF_BtoAV0_AtoVP1_VtoP2P3_D, SF_DtoAP0_AtoSP1_StoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_D, SF_VtoV0P1_V0toP2P3, SF_BtoAV0_AtoVP1_VtoP2P3_P, SF_DtoAP0_AtoVP1Dwave_VtoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_P, SF_VtoV0P1_V0toP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_D, SF_DtoAP0_AtoVP1_VtoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_S, SF_AtoSP1_StoP2P3, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_P, SF_DtoAP0_AtoVP1_VtoP2P3_BASE, SF_DtoT1T2_T1toP0P1_T2toP2P3_BASE, SF_AtoSP1_StoP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3, SF_DtoPP0_PtoVP1_VtoP2P3, SF_DtoVT_VtoP0P1_TtoP2P3_D, SF_AtoVP1_VtoP2P3_D, SF_BtoAV0_AtoVP1_VtoP2P3, SF_DtoVT_VtoP0P1_TtoP2P3_P, SF_AtoVP1_VtoP2P3, SpinFactor3, SF_BtoAV0_AtoVP1_VtoP2P3_BASE, SF_DtoVT_VtoP0P1_TtoP2P3_BASE, SF_AtoVP1_VtoP2P3_BASE, and GSSpinFactor.

◆ p()

TLorentzVector SpinFactor::p ( int  i,
IDalitzEvent evt 
)
protected

Definition at line 11 of file SpinFactor.cpp.

11  {
12  // momenta of the fsPS.
13  if(i >= (int) fsPS.size() || i < 0){
14  throw "index out of range";
15  }else{
16  if(! fsPS[i] ){
17  throw "tree not parsed";
18  }
19 
20  /*
21  debug code, leave it in for now:
22  std::cout << " SpinFactor p(" << i << ") called" << endl;
23  cout << " fsPs[i] " << fsPS[i] << endl;
24  cout << "fsPS[i]->getVal() " << fsPS[i]->getVal() << endl;
25  cout << "fsPS[i]->getVal().asi(0) " << fsPS[i]->getVal().asi(0) << endl;
26 
27  std::cout << " getEvent() gettin p ("
28  << fsPS[i]->getVal().asi(0)
29  << ")" << std::endl;
30  */
31  //theDecay(evt);
32  TLorentzVector p4(evt.p(fsPS[i]->getVal().asi(0)));
33  if (theDecay(evt).getVal().parityFactor() < 0){
34  // if the mother is an anti-particle, we multiply all
35  // 3 momenta with -1. This makes an "anti" tree a CP
36  // conjugate tree, not just C conjuate.
37  // See also the comment in DecayTreeItem.h.
38  p4.SetX( -p4.X());
39  p4.SetY( -p4.Y());
40  p4.SetZ( -p4.Z());
41  }
42  return p4;
43  }
44 }
std::vector< MINT::const_counted_ptr< AssociatedDecayTree > > fsPS
Definition: SpinFactor.h:30
virtual const TLorentzVector & p(unsigned int i) const =0
const AssociatedDecayTree & theDecay() const
Definition: SpinFactor.h:50
virtual double getVal(IDalitzEvent &evt)=0

◆ printParsing()

void SpinFactor::printParsing ( std::ostream &  os = std::cout) const
virtual

Definition at line 57 of file SpinFactor.cpp.

57  {
58  for(int i=0; i < _nFinal; i++){
59  if(0 == fsPS[i]) continue;
60  if(i > 0) os << ", ";
61  os << " fsPs[" << anythingToString(i) << "] ="
62  << fsPS[i]->getVal().name();
63  }
64  os << endl;
65 }
std::vector< MINT::const_counted_ptr< AssociatedDecayTree > > fsPS
Definition: SpinFactor.h:30
int _nFinal
Definition: SpinFactor.h:28
std::string anythingToString(const T &anything)
Definition: Utils.h:62

◆ printYourself()

virtual void SpinFactor::printYourself ( std::ostream &  os = std::cout) const
pure virtual

Implemented in SF_BtoVP1_VtoTV0_TtoP2P3, SF_BtoVP1_VtoTV0_TtoP2P3_BASE, SF_BtoPP1_PtoVV0_VtoP2P3, SF_BtoPP1_PtoVV0_VtoP2P3_BASE, SF_BtoSP1_StoVV0_VtoP2P3, SF_BtoSP1_StoVV0_VtoP2P3_BASE, SF_BtoPV0_PtoP1V1_V1toP2P3, SF_BtoPV0_PtoP1V1_V1toP2P3_BASE, SF_BtoVP1_VtoSV0_StoP2P3, SF_BtoVP1_VtoSV0_StoP2P3_BASE, SF_BtoVP1_VtoAP2_AtoV0P3, SF_BtoVP1_VtoAP2_AtoV0P3_BASE, SF_BtoPV0_PtoS_StoP2P3, SF_BtoPV0_PtoS_StoP2P3_BASE, SF_BtoPV_PtoP1V0_VtoP2P3, SF_BtoPV_PtoP1V0_VtoP2P3_BASE, SF_BtoPS_PtoP1V0_StoP2P3, SF_BtoPS_PtoP1V0_StoP2P3_BASE, SF_BtoAS_AtoP1V0_StoP2P3, SF_BtoAS_AtoP1V0_StoP2P3_BASE, SF_BtoAV_AtoP1V0_VtoP2P3_D, SF_BtoAV_AtoP1V0_VtoP2P3_P, SF_BtoAV_AtoP1V0_VtoP2P3, SF_BtoAV_AtoP1V0_VtoP2P3_BASE, SF_BtoV1V2_V1toP1V0_V2toP2P3, SF_BtoV1V2_V1toP1V0_V2toP2P3_BASE, SF_BtoAP1_AtoVV0_VtoP2P3, SF_BtoAP1_AtoVV0_VtoP2P3_BASE, SF_BtoV1P1_V1toV2V0_V2toP2P3, SF_BtoV1P1_V1toV2V0_V2toP2P3_BASE, SF_BtoVP1_VtoV0S_StoP2P3, SF_BtoVP1_VtoV0S_StoP2P3_BASE, SF_BtoTV0_TtoVP1_VtoP2P3_P, SF_BtoTV0_TtoVP1_VtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoTP1_TtoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_P, SF_BtoPseudoTV0_PseudoTtoSP1_StoP2P3_BASE, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_D, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_P, SF_BtoPseudoTV0_PseudoTtoVP1_VtoP2P3_BASE, SF_DtoV1P0_V1toV2P1_V2toP2P3, SF_DtoAP0_AtoTP1_TtoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_D, SF_DtoVS_VtoP0P1_StoP2P3_nonResV, SF_DtoPseudoTP0_PseudoTtoTP1_TtoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3_P, SF_DtoVS_VtoP0P1_StoP2P3, SF_BtoV1V0_V1toV2P1_V2toP2P3, SF_DtoPseudoTP0_PseudoTtoSP1_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_S_nonResV1, SF_BtoV1V0_V1toV2P1_V2toP2P3_BASE, SF_DtoPseudoTP0_PseudoTtoVP1_VtoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_D, SF_BtoAV0_AtoSP1_StoP2P3_D, SF_VtoAP1_AtoV0P2, SF_DtoTS_TtoP0P1_StoP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_P, SF_BtoAV0_AtoSP1_StoP2P3_P, SF_VtoAP1_AtoV0P2_BASE, SF_DtoT1P0_T1toT2P1_T2toP2P3, SF_DtoV1V2_V1toP0P1_V1toP2P3_S, SF_BtoAV0_AtoSP1_StoP2P3, SF_VtoSV0_StoP2P3, SF_BtoAV0_AtoSP1_StoP2P3_BASE, SF_DtoV1V2_V1toP0P1_V1toP2P3_BASE, SF_DtoTP0_TtoVP1_VtoP2P3, SF_VtoSV0_StoP2P3_BASE, SF_BtoAV0_AtoVP1_VtoP2P3_D, SF_DtoAP0_AtoSP1_StoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_D, SF_VtoV0P1_V0toP2P3, SF_BtoAV0_AtoVP1_VtoP2P3_P, SF_DtoAP0_AtoVP1Dwave_VtoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_P, SF_VtoV0P1_V0toP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_D, SF_DtoAP0_AtoVP1_VtoP2P3, SF_DtoT1T2_T1toP0P1_T2toP2P3_S, SF_AtoSP1_StoP2P3, SF_BtoAV0_AtoVP1Dwave_VtoP2P3_P, SF_DtoAP0_AtoVP1_VtoP2P3_BASE, SF_DtoT1T2_T1toP0P1_T2toP2P3_BASE, SF_AtoSP1_StoP2P3_BASE, SF_BtoAV0_AtoVP1Dwave_VtoP2P3, SF_DtoPP0_PtoVP1_VtoP2P3, SF_DtoVT_VtoP0P1_TtoP2P3_D, SF_AtoVP1_VtoP2P3_D, SF_BtoAV0_AtoVP1_VtoP2P3, SpinFactor3, SF_DtoVT_VtoP0P1_TtoP2P3_P, SF_AtoVP1_VtoP2P3, SF_DtoVT_VtoP0P1_TtoP2P3_BASE, SF_BtoAV0_AtoVP1_VtoP2P3_BASE, and SF_AtoVP1_VtoP2P3_BASE.

◆ RealVal()

virtual double SpinFactor::RealVal ( IDalitzEvent evt)
inlinevirtual

Implements ISpinFactor.

Definition at line 35 of file SpinFactor.h.

35 {return getVal(evt);}// some dublication here...
virtual double getVal(IDalitzEvent &evt)=0

◆ theDecay() [1/3]

const AssociatedDecayTree& SpinFactor::theDecay ( ) const
inline

Definition at line 50 of file SpinFactor.h.

50  {
51  return _theDecay;
52  }
const AssociatedDecayTree & _theDecay
Definition: SpinFactor.h:27

◆ theDecay() [2/3]

const AssociatedDecayTree& SpinFactor::theDecay ( const DalitzEventPattern ) const
inline

Definition at line 54 of file SpinFactor.h.

54  {
55  return _theDecay;
56  }
const AssociatedDecayTree & _theDecay
Definition: SpinFactor.h:27

◆ theDecay() [3/3]

const AssociatedDecayTree& SpinFactor::theDecay ( IDalitzEvent evt) const
inline

Definition at line 67 of file SpinFactor.h.

67  {
68  return theDecay(evt.eventPattern()); // for backw. compatibility
69  }
virtual const DalitzEventPattern & eventPattern() const =0
const AssociatedDecayTree & theDecay() const
Definition: SpinFactor.h:50

Member Data Documentation

◆ _nFinal

int SpinFactor::_nFinal
protected

Definition at line 28 of file SpinFactor.h.

◆ _theDecay

const AssociatedDecayTree& SpinFactor::_theDecay
protected

Definition at line 27 of file SpinFactor.h.

◆ _useZemachTensors

MINT::NamedParameter<int> SpinFactor::_useZemachTensors
protected

Definition at line 31 of file SpinFactor.h.

◆ fsPS

std::vector<MINT::const_counted_ptr<AssociatedDecayTree> > SpinFactor::fsPS
protected

Definition at line 30 of file SpinFactor.h.


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