]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODRecoDecay.h
Typo fixed, and removing unused variable.
[u/mrichter/AliRoot.git] / STEER / AliAODRecoDecay.h
index 1554b95f3288d6301fb6906832d1e5c5d2dd0f18..c765eb88dc206b4f024cc04ecb3219f27b2686ee 100644 (file)
 
 #include <TMath.h>
 #include <TRef.h>
+#include <TClonesArray.h>
 #include "AliAODVertex.h"
 #include "AliAODTrack.h"
 #include "AliVTrack.h"
 
+class AliVVertex;
+
 class AliAODRecoDecay : public AliVTrack {
 
  public:
@@ -46,6 +49,13 @@ class AliAODRecoDecay : public AliVTrack {
   Short_t  GetCharge() const {return fCharge;}
   void     SetCharge(Short_t charge=0) {fCharge=charge;}
 
+  // Match to MC signal:
+  // check if this candidate is matched to a MC signal
+  // If no, return -1
+  // If yes, return label (>=0) of the AliAODMCParticle
+  // if ndgCk>0, checks also daughters PDGs
+  Int_t    MatchToMC(Int_t pdgabs,TClonesArray *mcArray,Int_t ndgCk=0,Int_t *pdgDg=0) const;
+
   // PID
   void      SetPID(Int_t nprongs,Double_t *pid);
   Double_t *GetPID() const { return fPID; }
@@ -69,6 +79,7 @@ class AliAODRecoDecay : public AliVTrack {
   virtual ULong_t  GetStatus() const;
   virtual Bool_t   GetXYZ(Double_t *p) const { return XvYvZv(p); }
   virtual Bool_t   GetCovarianceXYZPxPyPz(Double_t cv[21]) const;
+  virtual Bool_t   PropagateToDCA(const AliVVertex* vtx,Double_t b,Double_t maxd,Double_t dz[2],Double_t covar[3]);
 
   // kinematics & topology
   Double_t Px() const; 
@@ -161,8 +172,13 @@ class AliAODRecoDecay : public AliVTrack {
   Double_t M() const 
     {printf("Dummy function"); return (Double_t)-999.;}
   Int_t GetLabel() const {return -1;}
+  Int_t PdgCode()  const {return  0;}
+  
  protected:
 
+  Int_t    MatchToMC(Int_t pdgabs,TClonesArray *mcArray,Int_t dgLabels[10],Int_t ndg,Int_t ndgCk=0,Int_t *pdgDg=0) const;
+  Int_t    MatchToMC(Int_t pdgabs,TClonesArray *mcArray,Int_t dgLabels[10]) const { return MatchToMC(pdgabs,mcArray,dgLabels,GetNDaughters()); }
+
   TRef     fSecondaryVtx;  // decay vertex
   AliAODVertex *fOwnSecondaryVtx;  // temporary solution (to work outside AliAODEvent)
   Short_t  fCharge;  // charge, use this convention for prongs charges:
@@ -348,3 +364,4 @@ inline void AliAODRecoDecay::GetPIDProng(Int_t ip,Double_t *pid) const
 
 
 #endif
+