// Class AliD0toKpi
// Reconstructed D0 -> K^- pi^+ class
//
-// Origin: A. Dainese andrea.dainese@pd.infn.it
+// Note: the two decay tracks are labelled: 0 (positive track)
+// 1 (negative track)
+//
+// Origin: A. Dainese andrea.dainese@lnl.infn.it
//-------------------------------------------------------------------------
+#include <TObject.h>
#include <TMath.h>
//----------------------------------------------------------------------------
// particle masses
const Double_t kMD0 = 1.8645; // D0 mass
const Double_t kMK = 0.49368; // K+ mass
-const Double_t kMPi = 0.13957; // Pi+ mass
+const Double_t kMPi = 0.13957; // pi+ mass
// --- TOF tagging probabilities ---
// central HIJING
Int_t GetPdgMum(Int_t child) const {return fMum[child]; }
void GetWgts(Double_t &WgtD0,Double_t &WgtD0bar,TString sample) const;
void GetPrimaryVtx(Double_t vtx[3]) const
- { vtx[0]=fV1x; vtx[1]=fV1y; vtx[2]=fV1z; return; }
+ { vtx[0]=fV1x; vtx[1]=fV1y; vtx[2]=fV1z; }
void GetSecondaryVtx(Double_t vtx[3]) const
- { vtx[0]=fV2x; vtx[1]=fV2y; vtx[2]=fV2z; return; }
+ { vtx[0]=fV2x; vtx[1]=fV2y; vtx[2]=fV2z; }
+ Double_t ImpPar() const;
void InvMass(Double_t &mD0,Double_t &mD0bar) const;
Bool_t IsSignal() const { if(fSignal) return kTRUE; return kFALSE; }
Double_t Length() const
Double_t Rapidity() const { return 0.5*TMath::Log((Energy()+Pz())/(Energy()-Pz()+1.e-13)); }
Bool_t Select(const Double_t* cuts,Int_t& okD0,Int_t& okD0bar) const;
void SetPrimaryVtx(Double_t vtx[3])
- { fV1x=vtx[0]; fV1y=vtx[1]; fV1z=vtx[2]; return; }
- void SetSignal() { fSignal = kTRUE; return; }
+ { fV1x=vtx[0]; fV1y=vtx[1]; fV1z=vtx[2]; }
+ void SetSignal() { fSignal = kTRUE; }
void SetTOFmasses(Double_t mass[2])
- { fTOFmass[0]=mass[0]; fTOFmass[1]=mass[1]; return; }
+ { fTOFmass[0]=mass[0]; fTOFmass[1]=mass[1]; }
void SetPIDresponse(Double_t resp0[5],Double_t resp1[5]);
- void SetPdgCodes(Int_t pdg[2]) {fPdg[0]=pdg[0];fPdg[1]=pdg[1];return;}
- void SetMumPdgCodes(Int_t mum[2]) {fMum[0]=mum[0];fMum[1]=mum[1];return;}
-
- void DrawPIDinTOF(TString pidScheme="TOFparamPbPb") const;
+ void SetPdgCodes(Int_t pdg[2]) {fPdg[0]=pdg[0];fPdg[1]=pdg[1]; }
+ void SetMumPdgCodes(Int_t mum[2]) {fMum[0]=mum[0];fMum[1]=mum[1]; }
Double_t LinearInterpolation(Double_t p,Int_t nBins,Double_t Bin,
const Double_t *values) const;
- // void SetPtWgts4pp();
//
private:
//
Double_t fV2z; // Z-position of the reconstructed secondary vertex
Double_t fDCA; // DCA of the two tracks
- Double_t fPx[2]; // X,Y,Z-
+ Double_t fPx[2]; // X,Y,Z
Double_t fPy[2]; // momenta of the two tracks
Double_t fPz[2]; // at the reconstructed vertex