1 #include "AliAODMuonPair.h"
2 #include "AliMCMuonTrack.h"
3 #include "AliMCMuonPair.h"
5 ClassImp(AliAODMuonPair)
7 //-----------------------------------------------------------------------------
8 AliMCMuonPair::AliMCMuonPair() :
15 // default constructor
17 for (Int_t i=0; i<2; i++) fTrk[i] = 0;
21 //-----------------------------------------------------------------------------
22 AliMCMuonPair::AliMCMuonPair(AliMCMuonTrack *trk0, AliMCMuonTrack *trk1, Bool_t full) :
29 // default constructor
33 fPGen = trk0->GetPGen() + trk1->GetPGen();
34 AliAODMuonPair::FillPairInfo();
35 if (fIsFull) this->FindDimuonSourceFull();
36 else this->FindDimuonSourceFast();
39 //-----------------------------------------------------------------------------
40 AliMCMuonPair::~AliMCMuonPair()
47 //-----------------------------------------------------------------------------
48 void AliMCMuonPair::FindDimuonSourceFast()
50 AliMCMuonTrack *trk0 = (AliMCMuonTrack*)fTrk[0].GetObject();
51 Int_t src0 = trk0->GetSource();
52 if (src0<0 || src0==4 || src0==3) {
56 AliMCMuonTrack *trk1 = (AliMCMuonTrack*)fTrk[1].GetObject();
57 Int_t src1 = trk1->GetSource();
58 if (src1<0 || src1==4 || src1==3) {
62 // Drell-Yan is expected very small at LHC, we ingore it
63 Int_t np0 = trk0->GetNParents() - 1;
68 Int_t np1 = trk1->GetNParents() - 1;
73 if (trk0->IsMotherAResonance(np0) && trk1->IsMotherAResonance(np1) &&
74 (trk0->GetParentIndex(np0))==(trk1->GetParentIndex(np1))) {
78 if (src0==0 && src1==0) {
79 if ((trk0->GetParentIndex(0))==(trk1->GetParentIndex(0)))
86 if (src0==1 && src1==1) {
87 if ((trk0->GetParentIndex(0))==(trk1->GetParentIndex(0)))