]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Avoiding some potentially slow methods
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 15 Feb 2005 06:08:54 +0000 (06:08 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 15 Feb 2005 06:08:54 +0000 (06:08 +0000)
ANALYSIS/AliAODParticle.h
ANALYSIS/AliMuonAnalysis.cxx
ANALYSIS/AliVAODParticle.h

index 0901f299396985b96c5f138bb29b65e2cf13ea8c..c4bdd8223a7edc6a8c56b2081faa1fe584044ed9 100644 (file)
@@ -49,9 +49,6 @@ public:
   
   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);}
index 154df50d0a6ac1c96eccd292fd7892ba53a3fec0..262dd1a39cb2e54264892e1e898ff40a937450b2 100644 (file)
@@ -128,7 +128,10 @@ void AliMuonAnalysis::GetInvMass(AliAOD* aod)
       continue;
     }
 
-    lorV1 = aodPart1->FourMomentum();
+    lorV1.SetPxPyPzE(aodPart1->Px(),
+                        aodPart1->Py(),
+                        aodPart1->Pz(),
+                        aodPart1->E());
 
     fHPtMuon->Fill(lorV1.Pt());
     fHPMuon->Fill(lorV1.P());
@@ -145,12 +148,17 @@ void AliMuonAnalysis::GetInvMass(AliAOD* aod)
 
       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);
index 5e3af4728c50b2c745c79ebe6aa3e9f8769e4c33..45d6eca5d5d79c9174158879931387441ea69ba2 100644 (file)
@@ -20,7 +20,7 @@ class AliClusterMap;
 
 class AliVAODParticle : public TObject {
 public:
-  AliVAODParticle(){}
+  AliVAODParticle() : TObject(){}
   virtual ~AliVAODParticle(){}
 
   AliVAODParticle(const AliVAODParticle& in);
@@ -28,19 +28,17 @@ public:
    
 
   // 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;
@@ -60,10 +58,9 @@ public:
   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;};