#include "AliConversionPhotonBase.h"
#include <iostream>
using namespace std;
ClassImp(AliConversionPhotonBase)
AliConversionPhotonBase::AliConversionPhotonBase() :
fV0Index(-1),
fChi2perNDF(-1),
fTagged(kFALSE),
fIMass(-999),
fPsiPair(-999),
fQuality(0)
{
fLabel[0] = -1;
fLabel[1] = -1;
fMCLabel[0]=-1;
fMCLabel[1]=-1;
fArmenteros[0]=-999;
fArmenteros[1]=-999;
fConversionPoint[0]=-999;
fConversionPoint[1]=-999;
fConversionPoint[2]=-999;
}
AliConversionPhotonBase::AliConversionPhotonBase(const AliConversionPhotonBase & original) :
fV0Index(original.fV0Index),
fChi2perNDF(original.fChi2perNDF),
fTagged(original.fTagged),
fIMass(original.fIMass),
fPsiPair(original.fPsiPair),
fQuality(original.fQuality)
{
fLabel[0] = original.fLabel[0];
fLabel[1] = original.fLabel[1];
fMCLabel[0]=original.fMCLabel[0];
fMCLabel[1]=original.fMCLabel[1];
fArmenteros[0]=original.fArmenteros[0];
fArmenteros[1]=original.fArmenteros[1];
fConversionPoint[0]=original.fConversionPoint[0];
fConversionPoint[1]=original.fConversionPoint[1];
fConversionPoint[2]=original.fConversionPoint[2];
}
AliConversionPhotonBase::~AliConversionPhotonBase() {
}
AliConversionPhotonBase & AliConversionPhotonBase::operator = (const AliConversionPhotonBase & )
{
return *this;
}
TParticle *AliConversionPhotonBase::GetMCParticle(AliStack *fMCStack){
if(!fMCStack){printf("MC Stack not defined");return 0x0;}
Int_t label=GetMCParticleLabel(fMCStack);
if(label>-1){
return fMCStack->Particle(label);
}
return 0x0;
}
Bool_t AliConversionPhotonBase::IsTruePhoton(AliStack *fMCStack){
TParticle *mcgamma=GetMCParticle(fMCStack);
if(mcgamma){
if(mcgamma->GetPdgCode()==22){
return kTRUE;
}
}
return kFALSE;
}
Int_t AliConversionPhotonBase::GetMCParticleLabel(AliStack *fMCStack){
if(!fMCStack){printf("MC Stack not defined");return -1;}
TParticle *fPositiveMCParticle=GetPositiveMCDaughter(fMCStack);
TParticle *fNegativeMCParticle=GetNegativeMCDaughter(fMCStack);
if(!fPositiveMCParticle||!fNegativeMCParticle){return -1;}
if(fPositiveMCParticle->GetMother(0)>-1&&(fNegativeMCParticle->GetMother(0) == fPositiveMCParticle->GetMother(0))){
return fPositiveMCParticle->GetMother(0);
}
return -1;
}
TParticle *AliConversionPhotonBase::GetMCDaughter(AliStack *fMCStack,Int_t label){
if(!fMCStack){printf("MC Stack not defined \n");return 0x0;}
if(label<0||label>1){printf("Requested index out of bounds: %i \n",label);return 0x0;}
if(fMCLabel[label]>-1){
TParticle *fMCDaughter=fMCStack->Particle(fMCLabel[label]);
return fMCDaughter;}
else return 0x0;
}
void AliConversionPhotonBase::DeterminePhotonQuality(AliVTrack* negTrack, AliVTrack* posTrack){
if(!negTrack || !posTrack) {
fQuality = 0;
return;
}
if(negTrack->Charge() == posTrack->Charge()){
fQuality = 0;
return;
}
Int_t nClusterITSneg = negTrack->GetNcls(0);
Int_t nClusterITSpos = posTrack->GetNcls(0);
if (nClusterITSneg > 1 && nClusterITSpos > 1){
fQuality = 3;
return;
} else if (nClusterITSneg > 1 || nClusterITSpos > 1){
fQuality = 2;
return;
} else {
fQuality = 1;
return;
}
return;
}
AliConversionPhotonBase.cxx:1 AliConversionPhotonBase.cxx:2 AliConversionPhotonBase.cxx:3 AliConversionPhotonBase.cxx:4 AliConversionPhotonBase.cxx:5 AliConversionPhotonBase.cxx:6 AliConversionPhotonBase.cxx:7 AliConversionPhotonBase.cxx:8 AliConversionPhotonBase.cxx:9 AliConversionPhotonBase.cxx:10 AliConversionPhotonBase.cxx:11 AliConversionPhotonBase.cxx:12 AliConversionPhotonBase.cxx:13 AliConversionPhotonBase.cxx:14 AliConversionPhotonBase.cxx:15 AliConversionPhotonBase.cxx:16 AliConversionPhotonBase.cxx:17 AliConversionPhotonBase.cxx:18 AliConversionPhotonBase.cxx:19 AliConversionPhotonBase.cxx:20 AliConversionPhotonBase.cxx:21 AliConversionPhotonBase.cxx:22 AliConversionPhotonBase.cxx:23 AliConversionPhotonBase.cxx:24 AliConversionPhotonBase.cxx:25 AliConversionPhotonBase.cxx:26 AliConversionPhotonBase.cxx:27 AliConversionPhotonBase.cxx:28 AliConversionPhotonBase.cxx:29 AliConversionPhotonBase.cxx:30 AliConversionPhotonBase.cxx:31 AliConversionPhotonBase.cxx:32 AliConversionPhotonBase.cxx:33 AliConversionPhotonBase.cxx:34 AliConversionPhotonBase.cxx:35 AliConversionPhotonBase.cxx:36 AliConversionPhotonBase.cxx:37 AliConversionPhotonBase.cxx:38 AliConversionPhotonBase.cxx:39 AliConversionPhotonBase.cxx:40 AliConversionPhotonBase.cxx:41 AliConversionPhotonBase.cxx:42 AliConversionPhotonBase.cxx:43 AliConversionPhotonBase.cxx:44 AliConversionPhotonBase.cxx:45 AliConversionPhotonBase.cxx:46 AliConversionPhotonBase.cxx:47 AliConversionPhotonBase.cxx:48 AliConversionPhotonBase.cxx:49 AliConversionPhotonBase.cxx:50 AliConversionPhotonBase.cxx:51 AliConversionPhotonBase.cxx:52 AliConversionPhotonBase.cxx:53 AliConversionPhotonBase.cxx:54 AliConversionPhotonBase.cxx:55 AliConversionPhotonBase.cxx:56 AliConversionPhotonBase.cxx:57 AliConversionPhotonBase.cxx:58 AliConversionPhotonBase.cxx:59 AliConversionPhotonBase.cxx:60 AliConversionPhotonBase.cxx:61 AliConversionPhotonBase.cxx:62 AliConversionPhotonBase.cxx:63 AliConversionPhotonBase.cxx:64 AliConversionPhotonBase.cxx:65 AliConversionPhotonBase.cxx:66 AliConversionPhotonBase.cxx:67 AliConversionPhotonBase.cxx:68 AliConversionPhotonBase.cxx:69 AliConversionPhotonBase.cxx:70 AliConversionPhotonBase.cxx:71 AliConversionPhotonBase.cxx:72 AliConversionPhotonBase.cxx:73 AliConversionPhotonBase.cxx:74 AliConversionPhotonBase.cxx:75 AliConversionPhotonBase.cxx:76 AliConversionPhotonBase.cxx:77 AliConversionPhotonBase.cxx:78 AliConversionPhotonBase.cxx:79 AliConversionPhotonBase.cxx:80 AliConversionPhotonBase.cxx:81 AliConversionPhotonBase.cxx:82 AliConversionPhotonBase.cxx:83 AliConversionPhotonBase.cxx:84 AliConversionPhotonBase.cxx:85 AliConversionPhotonBase.cxx:86 AliConversionPhotonBase.cxx:87 AliConversionPhotonBase.cxx:88 AliConversionPhotonBase.cxx:89 AliConversionPhotonBase.cxx:90 AliConversionPhotonBase.cxx:91 AliConversionPhotonBase.cxx:92 AliConversionPhotonBase.cxx:93 AliConversionPhotonBase.cxx:94 AliConversionPhotonBase.cxx:95 AliConversionPhotonBase.cxx:96 AliConversionPhotonBase.cxx:97 AliConversionPhotonBase.cxx:98 AliConversionPhotonBase.cxx:99 AliConversionPhotonBase.cxx:100 AliConversionPhotonBase.cxx:101 AliConversionPhotonBase.cxx:102 AliConversionPhotonBase.cxx:103 AliConversionPhotonBase.cxx:104 AliConversionPhotonBase.cxx:105 AliConversionPhotonBase.cxx:106 AliConversionPhotonBase.cxx:107 AliConversionPhotonBase.cxx:108 AliConversionPhotonBase.cxx:109 AliConversionPhotonBase.cxx:110 AliConversionPhotonBase.cxx:111 AliConversionPhotonBase.cxx:112 AliConversionPhotonBase.cxx:113 AliConversionPhotonBase.cxx:114 AliConversionPhotonBase.cxx:115 AliConversionPhotonBase.cxx:116 AliConversionPhotonBase.cxx:117 AliConversionPhotonBase.cxx:118 AliConversionPhotonBase.cxx:119 AliConversionPhotonBase.cxx:120 AliConversionPhotonBase.cxx:121 AliConversionPhotonBase.cxx:122 AliConversionPhotonBase.cxx:123 AliConversionPhotonBase.cxx:124 AliConversionPhotonBase.cxx:125 AliConversionPhotonBase.cxx:126 AliConversionPhotonBase.cxx:127 AliConversionPhotonBase.cxx:128 AliConversionPhotonBase.cxx:129 AliConversionPhotonBase.cxx:130 AliConversionPhotonBase.cxx:131 AliConversionPhotonBase.cxx:132 AliConversionPhotonBase.cxx:133 AliConversionPhotonBase.cxx:134 AliConversionPhotonBase.cxx:135 AliConversionPhotonBase.cxx:136 AliConversionPhotonBase.cxx:137 AliConversionPhotonBase.cxx:138 AliConversionPhotonBase.cxx:139 AliConversionPhotonBase.cxx:140 AliConversionPhotonBase.cxx:141 AliConversionPhotonBase.cxx:142 AliConversionPhotonBase.cxx:143 AliConversionPhotonBase.cxx:144 AliConversionPhotonBase.cxx:145 AliConversionPhotonBase.cxx:146 AliConversionPhotonBase.cxx:147