24 #include "TLorentzVector.h" 159 Double_t
Mass()
const;
162 const TParticlePDG *
PdtEntry()
const;
174 Double_t
Charge()
const {
return fCharge; }
175 TVector3
GetPosition()
const {
return TVector3(fXposition, fYposition, fZposition); }
178 TVector3
GetMomentum()
const {
return TVector3(fXmomentum, fYmomentum, fZmomentum); }
179 TVector3
GetVect()
const {
return TVector3(fXmomentum, fYmomentum, fZmomentum); }
180 Double_t
Px()
const {
return fXmomentum; }
181 Double_t
Py()
const {
return fYmomentum; }
182 Double_t
Pz()
const {
return fZmomentum; }
185 TLorentzVector
P4()
const {
return TLorentzVector(fXmomentum, fYmomentum, fZmomentum, fEnergy); }
192 Double_t
E()
const {
return fEnergy; }
193 Double_t
Energy()
const {
return fEnergy; }
196 Double_t
EVar()
const;
201 Double_t
Pt()
const {
return TMath::Sqrt(fXmomentum * fXmomentum + fYmomentum * fYmomentum); }
211 void SetType(
const TParticlePDG *pdt);
212 void SetType(
const char *name);
217 void SetCharge(Double_t charge) { fCharge = (Char_t)charge; }
220 void SetE(Double_t energy) { fEnergy = energy; }
225 void SetP3(
const TVector3 &p3);
227 void SetP4(Double_t mass,
const TVector3 &p3);
228 void SetP4(
const TLorentzVector &p4);
229 void SetP7(
const TVector3 &pos,
const TLorentzVector &p4);
235 void Set(
const TVector3 &pos,
const TLorentzVector &p4,
const TMatrixD &cov7);
258 void Boost(Double_t bx, Double_t by, Double_t bz);
259 void Boost(
const TVector3 &p) {
Boost(p.X(), p.Y(), p.Z()); }
284 Double_t
Chi2()
const {
return fChi2; }
322 void Lock() { fLocked = kTRUE; }
365 void PrintOn(std::ostream &o = std::cout)
const;
367 void SetFast(Bool_t yesno) { fFastMode = yesno; }
394 return ((fMarker[0] & c->
fMarker[0]) != 0 || (fMarker[1] & c->
fMarker[1]) != 0 || (fMarker[2] & c->
fMarker[2]) != 0 || (fMarker[3] & c->
fMarker[3]) != 0);
399 return ((fMarker[0] == c->
fMarker[0]) && (fMarker[1] == c->
fMarker[1]) && (fMarker[2] == c->
fMarker[2]) && (fMarker[3] == c->
fMarker[3]));
417 void SetUid(UInt_t uid = 0);
UInt_t GetMarker(UInt_t m=0) const
int fPdgCode
Pointer to particle database.
void AddDaughterLinkSimple(const RhoCandidate *, bool verbose=true)
void SetP7(const TVector3 &pos, const TLorentzVector &p4)
TLorentzVector P4() const
Double_t Correlation(Int_t x1, Int_t x2, const TMatrixD &m, const TMatrixD &cov) const
void SetPos(const TVector3 &pos)
Bool_t IsAResonance() const
RhoVector3Err fDecayVtx
Do not stream.
void SetMotherLink(RhoCandidate *m, bool verbose=true)
Double_t GetEnergy() const
void SetUid(UInt_t uid=0)
Bool_t operator==(const RhoCandidate *) const
void SetMassAndEnergy(Double_t mass, Double_t energy)
RhoCandidate * GetMcTruth() const
Int_t GetTrackNumber() const
static T Sqrt(const T &x)
Double_t GetCharge() const
Bool_t fLocked
Do not stream.
RhoCandidate & operator=(const RhoCandidate &)
void SetVect(const TVector3 &p3)
RhoVector3Err PosWCov() const
void RemoveDaughter(RhoCandidate *)
void Boost(Double_t bx, Double_t by, Double_t bz)
TMatrixD GetDecayPosCov() const
RhoCandidate * fTheMother
Do not stream.
void SetPosition(const TVector3 &pos)
void SetE(Double_t energy)
Bool_t Overlaps(const RhoCandidate *c) const
const RhoError & CovMatrix() const
void SetRecoCandidate(PndPidCandidate µ)
Int_t fNDaug
List of Daughters.
void SetFast(Bool_t yesno)
void SetType(const TParticlePDG *pdt)
Bool_t IsComposite() const
void SetP4(Double_t mass, const TVector3 &p3)
std::ostream & operator<<(std::ostream &o, const RhoCandidate &)
void SetMomentum(Double_t newP)
RhoCandidate * Combine(RhoCandidate *c)
PndPidCandidate * fMicroCand
Rsonance flag.
void SetP3(const TVector3 &p3)
double fPidLH[30]
Overlap.
RhoVector3Err P3WErr() const
RhoCandidate * Daughter(Int_t n)
Bool_t IsCloneOf(const RhoCandidate &, Bool_t checkType=kFALSE) const
Bool_t operator!=(RhoCandidate *) const
void RemoveAssociations()
RhoCandidate * fDaughters[MAXDAUG]
unique number
RhoCandidate * TheMother()
void SetErr(Float_t *err)
void Set(const TVector3 &pos, const TLorentzVector &p4, const TMatrixD &cov7)
void SetChi2(Double_t chi2)
const RhoCandidate * CloneInTree(const RhoCandidate &) const
void SetMass(Double_t mass)
RhoLorentzVectorErr P4WErr() const
void Boost(const TVector3 &p)
void SetFit(RhoCandidate *b)
void SetPidInfo(double *pidinfo=nullptr)
const TParticlePDG * PdtEntry() const
void SetMcTruth(RhoCandidate *mct)
void SetCovP4(const TMatrixD &covP4)
void SetTrackNumber(Int_t trnum=-1)
void SetEnergy(Double_t newE)
TVector3 GetDecayPos() const
void PrintOn(std::ostream &o=std::cout) const
const TParticlePDG * fPdtEntry
Vertex.
void SetCharge(Double_t charge)
void SetMarker(UInt_t l, UInt_t m)
void SetDecayVtx(RhoVector3Err theVtx)
Bool_t Equals(const RhoCandidate *c) const
UInt_t fUid
Micro association.
const double * GetPidInfo() const
void SetCovPos(const TMatrixD &covPos)
void SetCov7(const TMatrixD &cov7)
TVector3 GetPosition() const
TVector3 GetMomentum() const
const RhoCandidate * TheMother() const
TMatrixT< double > TMatrixD
UInt_t fMarker[4]
Number of constraints.
PndPidCandidate * GetRecoCandidate() const
RhoCandidate * GetFit() const