//* Destructor
- virtual ~AliKFParticleBase(){};
+ virtual ~AliKFParticleBase() { ; }
+
+ //* Initialisation from "cartesian" coordinates ( X Y Z Px Py Pz )
+ //* Parameters, covariance matrix, charge, and mass hypothesis should be provided
+
+ void Initialize( const Double_t Param[], const Double_t Cov[], Int_t Charge, Double_t Mass );
//* Initialise covariance matrix and set current parameters to 0.0
//* error flag returned (0 means no error during calculations)
Int_t GetMomentum ( Double_t &P, Double_t &SigmaP ) const ;
+ Int_t GetPt ( Double_t &Pt, Double_t &SigmaPt ) const ;
+ Int_t GetEta ( Double_t &Eta, Double_t &SigmaEta ) const ;
+ Int_t GetPhi ( Double_t &Phi, Double_t &SigmaPhi ) const ;
Int_t GetMass ( Double_t &M, Double_t &SigmaM ) const ;
Int_t GetDecayLength ( Double_t &L, Double_t &SigmaL ) const ;
Int_t GetLifeTime ( Double_t &T, Double_t &SigmaT ) const ;
+ Int_t GetR ( Double_t &R, Double_t &SigmaR ) const ;
//*
//* MODIFIERS
void SetProductionVertex( const AliKFParticleBase &Vtx );
- //* Set hard mass constraint
+ //* Set mass constraint
- void SetMassConstraint( Double_t Mass );
+ void SetMassConstraint( Double_t Mass, Double_t SigmaMass = 0 );
+ //* Set no decay length for resonances
+
+ void SetNoDecayLength();
+
+
//* Everything in one go
void Construct( const AliKFParticleBase *vDaughters[], Int_t NDaughters,
- const AliKFParticleBase *ProdVtx=0, Double_t Mass=-1 );
+ const AliKFParticleBase *ProdVtx=0, Double_t Mass=-1, Bool_t IsConstrained=0 );
//*
static void MultQSQt( const Double_t Q[], const Double_t S[],
Double_t SOut[] );
+ static Double_t GetSCorrection( const Double_t Part[], const Double_t XYZ[] );
+
void GetMeasurement( const Double_t XYZ[], Double_t m[], Double_t V[] ) const ;
Double_t fP[8]; //* Main particle parameters {X,Y,Z,Px,Py,Pz,E,S[=DecayLength/P]}