void Clear(Option_t* /*option*/ ="");//Must be implemented in order to store this object in Clones Array
- TLorentzVector FourMomentum() const {TLorentzVector v(fPx,fPy,fPz,fE);return v;}
- TVector3 ProductionVertex() const {TVector3 v(fVx,fVy,fVz);return v;}
-
void SetPIDprobability(Int_t pdg, Float_t prob = 1.0);
Float_t GetPIDprobability(Int_t pdg) const;
Double_t GetProbability(Int_t pdg) const {return GetPIDprobability(pdg);}
continue;
}
- lorV1 = aodPart1->FourMomentum();
+ lorV1.SetPxPyPzE(aodPart1->Px(),
+ aodPart1->Py(),
+ aodPart1->Pz(),
+ aodPart1->E());
fHPtMuon->Fill(lorV1.Pt());
fHPMuon->Fill(lorV1.P());
AliAODParticle* aodPart2 = (AliAODParticle*)aod->GetParticle(iPart2);
- lorV2 = aodPart2->FourMomentum();
+ lorV2.SetPxPyPzE(aodPart2->Px(),
+ aodPart2->Py(),
+ aodPart2->Pz(),
+ aodPart2->E());
+
charge2 = TMath::Sign(1,aodPart2->GetPdgCode());
if ((charge1 * charge2) == -1) {
- lorVtot = lorV1 + lorV2;
+ lorVtot = lorV1;
+ lorVtot += lorV2;
Float_t invMass = lorVtot.M();
fHInvMassAll->Fill(invMass);
class AliVAODParticle : public TObject {
public:
- AliVAODParticle(){}
+ AliVAODParticle() : TObject(){}
virtual ~AliVAODParticle(){}
AliVAODParticle(const AliVAODParticle& in);
// kinematics
- virtual TLorentzVector FourMomentum() const = 0;
- virtual TVector3 Momentum() const {return FourMomentum().Vect();};
- virtual Double_t Mass() const {return FourMomentum().M();};
- virtual Double_t E() const {return FourMomentum().E();};
- virtual Double_t P() const {return FourMomentum().P();};
- virtual Double_t Pt() const {return FourMomentum().Pt();};
- virtual Double_t Px() const {return FourMomentum().Px();};
- virtual Double_t Py() const {return FourMomentum().Py();};
- virtual Double_t Pz() const {return FourMomentum().Pz();};
- virtual Double_t Phi() const {return FourMomentum().Phi();};
- virtual Double_t Theta() const {return FourMomentum().Theta();};
- virtual Double_t Eta() const {return FourMomentum().Eta();};
- virtual Double_t Y() const {return FourMomentum().Rapidity();};
+ virtual Double_t Mass() const = 0;
+ virtual Double_t E() const = 0;
+ virtual Double_t P() const = 0;
+ virtual Double_t Pt() const = 0;
+ virtual Double_t Px() const = 0;
+ virtual Double_t Py() const = 0;
+ virtual Double_t Pz() const = 0;
+ virtual Double_t Phi() const = 0;
+ virtual Double_t Theta() const = 0;
+ virtual Double_t Eta() const = 0;
+ virtual Double_t Y() const = 0;
virtual void SetMomentum(Double_t/*px*/,Double_t/*py*/,Double_t/*pz*/,Double_t/*E*/) = 0;
virtual void SetProductionVertex(Double_t /*vx*/, Double_t /*vy*/, Double_t /*vz*/, Double_t /*t*/) = 0;
virtual Double_t Charge() const = 0;
// vertices
- virtual TVector3 ProductionVertex() const = 0;
- virtual Double_t Vx() const {return ProductionVertex().X();};
- virtual Double_t Vy() const {return ProductionVertex().Y();};
- virtual Double_t Vz() const {return ProductionVertex().Z();};
+ virtual Double_t Vx() const = 0;
+ virtual Double_t Vy() const = 0;
+ virtual Double_t Vz() const = 0;
virtual Double_t T() const {return 0.0;};
virtual AliVAODParticle* Mother() const {return NULL;};