#include "AliMuonInfoStoreMC.h"
#include "AliDimuInfoStoreRD.h"
#include "AliDimuInfoStoreMC.h"
ClassImp(AliDimuInfoStoreMC)
const TString AliDimuInfoStoreMC::fgkStdBranchName("DimuMC");
const Int_t AliDimuInfoStoreMC::fgkSourcesN = 6;
AliDimuInfoStoreMC::AliDimuInfoStoreMC() :
AliDimuInfoStoreRD(),
fIsFull(kFALSE),
fLorentzP(),
fSource(-1)
{
}
AliDimuInfoStoreMC::AliDimuInfoStoreMC(AliMuonInfoStoreMC* const trk0, AliMuonInfoStoreMC* const trk1, UInt_t selMask, Bool_t full) :
AliDimuInfoStoreRD(),
fIsFull(full),
fLorentzP(),
fSource(-1)
{
fSelMask = selMask;
fMuonRef[0] = trk0;
fMuonRef[1] = trk1;
fLorentzP = trk0->LorentzP() + trk1->LorentzP();
AliDimuInfoStoreRD::FillDimuInfo();
if (fIsFull) this->FindDimuonSourceFull();
else this->FindDimuonSourceFast();
}
AliDimuInfoStoreMC::AliDimuInfoStoreMC(const AliDimuInfoStoreMC &src) :
AliDimuInfoStoreRD(src),
fIsFull(src.fIsFull),
fLorentzP(src.fLorentzP),
fSource(src.fSource)
{
}
AliDimuInfoStoreMC& AliDimuInfoStoreMC::operator=(const AliDimuInfoStoreMC &src)
{
if(&src==this) return *this;
fIsFull = src.fIsFull;
fLorentzP = src.fLorentzP;
fSource = src.fSource;
return *this;
}
AliDimuInfoStoreMC::~AliDimuInfoStoreMC()
{
}
void AliDimuInfoStoreMC::FindDimuonSourceFast()
{
AliMuonInfoStoreMC *trk0 = (AliMuonInfoStoreMC*)fMuonRef[0].GetObject();
Int_t src0 = trk0->Source();
if (src0<0 || src0==4 || src0==3) {
fSource=5; return;
}
AliMuonInfoStoreMC *trk1 = (AliMuonInfoStoreMC*)fMuonRef[1].GetObject();
Int_t src1 = trk1->Source();
if (src1<0 || src1==4 || src1==3) {
fSource=5; return;
}
Int_t np0 = trk0->ParentsN() - 1;
if (np0<0) {
fSource=5; return;
}
Int_t np1 = trk1->ParentsN() - 1;
if (np1<0) {
fSource=5; return;
}
if (trk0->IsMotherAResonance(np0) &&
trk1->IsMotherAResonance(np1) &&
trk0->ParentIndex(np0)==trk1->ParentIndex(np1)) {
fSource=4; return;
}
if (src0==0 && src1==0) {
if ((trk0->ParentIndex(0))==(trk1->ParentIndex(0)))
fSource = 1;
else
fSource = 0;
return;
}
if (src0==1 && src1==1) {
if ((trk0->ParentIndex(0))==(trk1->ParentIndex(0)))
fSource = 3;
else
fSource = 2;
return;
}
fSource = 5;
return;
}
AliDimuInfoStoreMC.cxx:10 AliDimuInfoStoreMC.cxx:11 AliDimuInfoStoreMC.cxx:12 AliDimuInfoStoreMC.cxx:13 AliDimuInfoStoreMC.cxx:14 AliDimuInfoStoreMC.cxx:15 AliDimuInfoStoreMC.cxx:16 AliDimuInfoStoreMC.cxx:17 AliDimuInfoStoreMC.cxx:18 AliDimuInfoStoreMC.cxx:19 AliDimuInfoStoreMC.cxx:20 AliDimuInfoStoreMC.cxx:21 AliDimuInfoStoreMC.cxx:22 AliDimuInfoStoreMC.cxx:23 AliDimuInfoStoreMC.cxx:24 AliDimuInfoStoreMC.cxx:25 AliDimuInfoStoreMC.cxx:26 AliDimuInfoStoreMC.cxx:27 AliDimuInfoStoreMC.cxx:28 AliDimuInfoStoreMC.cxx:29 AliDimuInfoStoreMC.cxx:30 AliDimuInfoStoreMC.cxx:31 AliDimuInfoStoreMC.cxx:32 AliDimuInfoStoreMC.cxx:33 AliDimuInfoStoreMC.cxx:34 AliDimuInfoStoreMC.cxx:35 AliDimuInfoStoreMC.cxx:36 AliDimuInfoStoreMC.cxx:37 AliDimuInfoStoreMC.cxx:38 AliDimuInfoStoreMC.cxx:39 AliDimuInfoStoreMC.cxx:40 AliDimuInfoStoreMC.cxx:41 AliDimuInfoStoreMC.cxx:42 AliDimuInfoStoreMC.cxx:43 AliDimuInfoStoreMC.cxx:44 AliDimuInfoStoreMC.cxx:45 AliDimuInfoStoreMC.cxx:46 AliDimuInfoStoreMC.cxx:47 AliDimuInfoStoreMC.cxx:48 AliDimuInfoStoreMC.cxx:49 AliDimuInfoStoreMC.cxx:50 AliDimuInfoStoreMC.cxx:51 AliDimuInfoStoreMC.cxx:52 AliDimuInfoStoreMC.cxx:53 AliDimuInfoStoreMC.cxx:54 AliDimuInfoStoreMC.cxx:55 AliDimuInfoStoreMC.cxx:56 AliDimuInfoStoreMC.cxx:57 AliDimuInfoStoreMC.cxx:58 AliDimuInfoStoreMC.cxx:59 AliDimuInfoStoreMC.cxx:60 AliDimuInfoStoreMC.cxx:61 AliDimuInfoStoreMC.cxx:62 AliDimuInfoStoreMC.cxx:63 AliDimuInfoStoreMC.cxx:64 AliDimuInfoStoreMC.cxx:65 AliDimuInfoStoreMC.cxx:66 AliDimuInfoStoreMC.cxx:67 AliDimuInfoStoreMC.cxx:68 AliDimuInfoStoreMC.cxx:69 AliDimuInfoStoreMC.cxx:70 AliDimuInfoStoreMC.cxx:71 AliDimuInfoStoreMC.cxx:72 AliDimuInfoStoreMC.cxx:73 AliDimuInfoStoreMC.cxx:74 AliDimuInfoStoreMC.cxx:75 AliDimuInfoStoreMC.cxx:76 AliDimuInfoStoreMC.cxx:77 AliDimuInfoStoreMC.cxx:78 AliDimuInfoStoreMC.cxx:79 AliDimuInfoStoreMC.cxx:80 AliDimuInfoStoreMC.cxx:81 AliDimuInfoStoreMC.cxx:82 AliDimuInfoStoreMC.cxx:83 AliDimuInfoStoreMC.cxx:84 AliDimuInfoStoreMC.cxx:85 AliDimuInfoStoreMC.cxx:86 AliDimuInfoStoreMC.cxx:87 AliDimuInfoStoreMC.cxx:88 AliDimuInfoStoreMC.cxx:89 AliDimuInfoStoreMC.cxx:90 AliDimuInfoStoreMC.cxx:91 AliDimuInfoStoreMC.cxx:92 AliDimuInfoStoreMC.cxx:93 AliDimuInfoStoreMC.cxx:94 AliDimuInfoStoreMC.cxx:95 AliDimuInfoStoreMC.cxx:96 AliDimuInfoStoreMC.cxx:97 AliDimuInfoStoreMC.cxx:98 AliDimuInfoStoreMC.cxx:99 AliDimuInfoStoreMC.cxx:100 AliDimuInfoStoreMC.cxx:101 AliDimuInfoStoreMC.cxx:102 AliDimuInfoStoreMC.cxx:103 AliDimuInfoStoreMC.cxx:104 AliDimuInfoStoreMC.cxx:105 AliDimuInfoStoreMC.cxx:106 AliDimuInfoStoreMC.cxx:107 AliDimuInfoStoreMC.cxx:108 AliDimuInfoStoreMC.cxx:109 AliDimuInfoStoreMC.cxx:110 AliDimuInfoStoreMC.cxx:111 AliDimuInfoStoreMC.cxx:112 AliDimuInfoStoreMC.cxx:113 AliDimuInfoStoreMC.cxx:114 AliDimuInfoStoreMC.cxx:115 AliDimuInfoStoreMC.cxx:116 AliDimuInfoStoreMC.cxx:117 AliDimuInfoStoreMC.cxx:118 AliDimuInfoStoreMC.cxx:119 AliDimuInfoStoreMC.cxx:120 AliDimuInfoStoreMC.cxx:121 AliDimuInfoStoreMC.cxx:122 AliDimuInfoStoreMC.cxx:123 AliDimuInfoStoreMC.cxx:124 AliDimuInfoStoreMC.cxx:125 AliDimuInfoStoreMC.cxx:126 AliDimuInfoStoreMC.cxx:127 AliDimuInfoStoreMC.cxx:128 AliDimuInfoStoreMC.cxx:129 AliDimuInfoStoreMC.cxx:130 AliDimuInfoStoreMC.cxx:131 AliDimuInfoStoreMC.cxx:132 AliDimuInfoStoreMC.cxx:133 AliDimuInfoStoreMC.cxx:134 AliDimuInfoStoreMC.cxx:135 AliDimuInfoStoreMC.cxx:136 AliDimuInfoStoreMC.cxx:137 AliDimuInfoStoreMC.cxx:138 AliDimuInfoStoreMC.cxx:139 AliDimuInfoStoreMC.cxx:140 AliDimuInfoStoreMC.cxx:141 AliDimuInfoStoreMC.cxx:142 AliDimuInfoStoreMC.cxx:143 AliDimuInfoStoreMC.cxx:144 AliDimuInfoStoreMC.cxx:145 AliDimuInfoStoreMC.cxx:146 AliDimuInfoStoreMC.cxx:147 AliDimuInfoStoreMC.cxx:148 AliDimuInfoStoreMC.cxx:149 AliDimuInfoStoreMC.cxx:150 AliDimuInfoStoreMC.cxx:151 AliDimuInfoStoreMC.cxx:152 AliDimuInfoStoreMC.cxx:153