fESDV0(0x0),
fAODV0(0x0),
fLabel(-1),
- fV0PDG(0)
+ fV0PDG(0),
+ fMassNeg(0.),
+ fMassPos(0.)
{
//
// 2-track ctor
fESDV0(v0),
fAODV0(0x0),
fLabel(-1),
- fV0PDG(0)
+ fV0PDG(0),
+ fMassNeg(0.),
+ fMassPos(0.)
{
//
// V0 ctor
fESDV0(0x0),
fAODV0(v0),
fLabel(-1),
- fV0PDG(0)
+ fV0PDG(0),
+ fMassNeg(0.),
+ fMassPos(0.)
{
//
// V0 ctor
fESDV0(c.fESDV0),
fAODV0(c.fAODV0),
fLabel(c.fLabel),
- fV0PDG(c.fV0PDG)
+ fV0PDG(c.fV0PDG),
+ fMassNeg(c.fMassNeg),
+ fMassPos(c.fMassPos)
{
//
// Copy constructor.
fAODV0 = c.fAODV0 ;
fLabel = c.fLabel ;
fV0PDG = c.fV0PDG ;
+ fMassNeg = c.fMassNeg ;
+ fMassPos = c.fMassPos;
}
return *this;
}
}
else if (fTrackNeg && fTrackPos) {
Double32_t p = P() ;
- Double32_t e = fTrackNeg->E() + fTrackPos->E() ;
+ Double32_t e =0. ;
+ if (fMassNeg==0. && fMassPos==0.) {
+ e = fTrackNeg->E() + fTrackPos->E() ;
+ }
+ else {
+ e =
+ TMath::Sqrt(TMath::Power(fTrackNeg->P(),2)+TMath::Power(fMassNeg,2)) +
+ TMath::Sqrt(TMath::Power(fTrackPos->P(),2)+TMath::Power(fMassPos,2)) ;
+ }
minv = TMath::Sqrt(e*e-p*p);
}
else Error("M","Could not find V0 nor track pointers");