#include <TDatabasePDG.h>
#include <TVector3.h>
#include <TRandom.h>
#include "AliAODRecoDecay.h"
#include "AliAODRecoDecayHF.h"
#include "AliAODEvent.h"
#include "AliVertexerTracks.h"
#include "AliExternalTrackParam.h"
#include "AliKFVertex.h"
#include "AliVVertex.h"
#include "AliESDVertex.h"
ClassImp(AliAODRecoDecayHF)
AliAODRecoDecayHF::AliAODRecoDecayHF() :
AliAODRecoDecay(),
fOwnPrimaryVtx(0x0),
fEventPrimaryVtx(),
fListOfCuts(),
fd0err(0x0),
fProngID(0x0),
fSelectionMap(0)
{
}
AliAODRecoDecayHF::AliAODRecoDecayHF(AliAODVertex *vtx2,Int_t nprongs,Short_t charge,
Double_t *px,Double_t *py,Double_t *pz,
Double_t *d0,Double_t *d0err) :
AliAODRecoDecay(vtx2,nprongs,charge,px,py,pz,d0),
fOwnPrimaryVtx(0x0),
fEventPrimaryVtx(),
fListOfCuts(),
fd0err(0x0),
fProngID(0x0),
fSelectionMap(0)
{
fd0err = new Double_t[GetNProngs()];
for(Int_t i=0; i<GetNProngs(); i++) fd0err[i] = d0err[i];
}
AliAODRecoDecayHF::AliAODRecoDecayHF(AliAODVertex *vtx2,Int_t nprongs,Short_t charge,
Double_t *d0,Double_t *d0err) :
AliAODRecoDecay(vtx2,nprongs,charge,d0),
fOwnPrimaryVtx(0x0),
fEventPrimaryVtx(),
fListOfCuts(),
fd0err(0x0),
fProngID(0x0),
fSelectionMap(0)
{
fd0err = new Double_t[GetNProngs()];
for(Int_t i=0; i<GetNProngs(); i++) fd0err[i] = d0err[i];
}
AliAODRecoDecayHF::AliAODRecoDecayHF(Double_t vtx1[3],Double_t vtx2[3],
Int_t nprongs,Short_t charge,
Double_t *px,Double_t *py,Double_t *pz,
Double_t *d0) :
AliAODRecoDecay(0x0,nprongs,charge,px,py,pz,d0),
fOwnPrimaryVtx(0x0),
fEventPrimaryVtx(),
fListOfCuts(),
fd0err(0x0),
fProngID(0x0),
fSelectionMap(0)
{
fOwnPrimaryVtx = new AliAODVertex(vtx1);
AliAODVertex *vtx = new AliAODVertex(vtx2);
SetOwnSecondaryVtx(vtx);
}
AliAODRecoDecayHF::AliAODRecoDecayHF(const AliAODRecoDecayHF &source) :
AliAODRecoDecay(source),
fOwnPrimaryVtx(0x0),
fEventPrimaryVtx(source.fEventPrimaryVtx),
fListOfCuts(source.fListOfCuts),
fd0err(0x0),
fProngID(0x0),
fSelectionMap(source.fSelectionMap)
{
if(source.GetOwnPrimaryVtx()) fOwnPrimaryVtx = new AliAODVertex(*(source.GetOwnPrimaryVtx()));
if(source.GetNProngs()>0) {
fd0err = new Double_t[GetNProngs()];
memcpy(fd0err,source.fd0err,GetNProngs()*sizeof(Double_t));
if(source.fProngID) {
fProngID = new UShort_t[GetNProngs()];
memcpy(fProngID,source.fProngID,GetNProngs()*sizeof(UShort_t));
}
}
}
AliAODRecoDecayHF &AliAODRecoDecayHF::operator=(const AliAODRecoDecayHF &source)
{
if(&source == this) return *this;
AliAODRecoDecay::operator=(source);
fEventPrimaryVtx = source.fEventPrimaryVtx;
fListOfCuts = source.fListOfCuts;
fSelectionMap = source.fSelectionMap;
if(source.GetOwnPrimaryVtx()) {
delete fOwnPrimaryVtx;
fOwnPrimaryVtx = new AliAODVertex(*(source.GetOwnPrimaryVtx()));
}
if(source.GetNProngs()>0) {
if(source.fd0err) {
delete [] fd0err;
fd0err = new Double_t[GetNProngs()];
memcpy(fd0err,source.fd0err,GetNProngs()*sizeof(Double_t));
}
if(source.fProngID) {
delete [] fProngID;
fProngID = new UShort_t[GetNProngs()];
memcpy(fProngID,source.fProngID,GetNProngs()*sizeof(UShort_t));
}
}
return *this;
}
AliAODRecoDecayHF::~AliAODRecoDecayHF() {
if(fOwnPrimaryVtx) delete fOwnPrimaryVtx;
if(fd0err) delete [] fd0err;
if(fProngID) delete [] fProngID;
}
AliKFParticle *AliAODRecoDecayHF::ApplyVertexingKF(Int_t *iprongs,Int_t nprongs,Int_t *pdgs,Bool_t topoCostraint, Double_t bzkG, Double_t *mass) const {
AliKFParticle::SetField(bzkG);
AliKFParticle *vertexKF=0;
AliKFVertex copyKF;
Int_t nt=0,ntcheck=0;
Double_t pos[3]={0.,0.,0.};
if(!fOwnPrimaryVtx) {
printf("AliAODRecoDecayHF::ApplyVertexingKF(): cannot apply because primary vertex is not found\n");
return vertexKF;
}
fOwnPrimaryVtx->GetXYZ(pos);
Int_t contr=fOwnPrimaryVtx->GetNContributors();
Double_t covmatrix[6]={0.,0.,0.,0.,0.,0.};
fOwnPrimaryVtx->GetCovarianceMatrix(covmatrix);
Double_t chi2=fOwnPrimaryVtx->GetChi2();
AliESDVertex primaryVtx2(pos,covmatrix,chi2,contr,"Vertex");
if(topoCostraint){
copyKF=AliKFVertex(primaryVtx2);
nt=primaryVtx2.GetNContributors();
ntcheck=nt;
}
vertexKF = new AliKFParticle();
for(Int_t i= 0;i<nprongs;i++){
Int_t ipr=iprongs[i];
AliAODTrack *aodTrack = (AliAODTrack*)GetDaughter(ipr);
if(!aodTrack) {
printf("AliAODRecoDecayHF::ApplyVertexingKF(): no daughters available\n");
delete vertexKF; vertexKF=NULL;
return vertexKF;
}
AliKFParticle daughterKF(*aodTrack,pdgs[i]);
vertexKF->AddDaughter(daughterKF);
if(topoCostraint && nt>0){
if(!aodTrack->GetUsedForPrimVtxFit()) continue;
copyKF -= daughterKF;
ntcheck--;
}
}
if(topoCostraint){
if(ntcheck>0) {
copyKF += (*vertexKF);
vertexKF->SetProductionVertex(copyKF);
}
}
if(mass[0]>0.){
vertexKF->SetMassConstraint(mass[0],mass[1]);
}
return vertexKF;
}
AliAODVertex* AliAODRecoDecayHF::RemoveDaughtersFromPrimaryVtx(AliAODEvent *aod) {
AliAODVertex *vtxAOD = aod->GetPrimaryVertex();
if(!vtxAOD) return 0;
TString title=vtxAOD->GetTitle();
if(!title.Contains("VertexerTracks")) return 0;
AliVertexerTracks *vertexer = new AliVertexerTracks(aod->GetMagneticField());
Int_t ndg = GetNDaughters();
vertexer->SetITSMode();
vertexer->SetMinClusters(3);
vertexer->SetConstraintOff();
if(title.Contains("WithConstraint")) {
Float_t diamondcovxy[3];
aod->GetDiamondCovXY(diamondcovxy);
Double_t pos[3]={aod->GetDiamondX(),aod->GetDiamondY(),0.};
Double_t cov[6]={diamondcovxy[0],diamondcovxy[1],diamondcovxy[2],0.,0.,10.*10.};
AliESDVertex *diamond = new AliESDVertex(pos,cov,1.,1);
vertexer->SetVtxStart(diamond);
delete diamond; diamond=NULL;
}
Int_t skipped[10]; for(Int_t i=0;i<10;i++) skipped[i]=-1;
Int_t nTrksToSkip=0,id;
AliAODTrack *t = 0;
for(Int_t i=0; i<ndg; i++) {
t = (AliAODTrack*)GetDaughter(i);
id = (Int_t)t->GetID();
if(id<0) continue;
skipped[nTrksToSkip++] = id;
}
vertexer->SetSkipTracks(nTrksToSkip,skipped);
AliESDVertex *vtxESDNew = vertexer->FindPrimaryVertex(aod);
delete vertexer; vertexer=NULL;
if(!vtxESDNew) return 0;
if(vtxESDNew->GetNContributors()<=0) {
delete vtxESDNew; vtxESDNew=NULL;
return 0;
}
Double_t pos[3],cov[6],chi2perNDF;
vtxESDNew->GetXYZ(pos);
vtxESDNew->GetCovMatrix(cov);
chi2perNDF = vtxESDNew->GetChi2toNDF();
delete vtxESDNew; vtxESDNew=NULL;
AliAODVertex *vtxAODNew = new AliAODVertex(pos,cov,chi2perNDF);
RecalculateImpPars(vtxAODNew,aod);
return vtxAODNew;
}
void AliAODRecoDecayHF::RecalculateImpPars(AliAODVertex *vtxAODNew,AliAODEvent* aod) {
Double_t dz[2],covdz[3];
for(Int_t i=0; i<GetNDaughters(); i++) {
AliAODTrack *t = (AliAODTrack*)GetDaughter(i);
AliExternalTrackParam etp; etp.CopyFromVTrack(t);
if(etp.PropagateToDCA(vtxAODNew,aod->GetMagneticField(),3.,dz,covdz)) {
fd0[i] = dz[0];
fd0err[i] = TMath::Sqrt(covdz[0]);
}
}
return;
}
void AliAODRecoDecayHF::Misalign(TString misal) {
if(misal=="null")return;
Double_t pard0rphiMC[3]={36.7,36.,1.25};
Double_t pard0rphimisal[3]={0,0,0};
Double_t pard0zMC[3]={85.,130.,0.7};
Double_t pard0zmisal[3]={0,0,0};
if(misal=="data") {
pard0rphimisal[0]=37.;
pard0rphimisal[1]=37.5;
pard0rphimisal[2]=1.25;
pard0zmisal[0]=96.;
pard0zmisal[1]=131.;
pard0zmisal[2]=0.7;
}
else if(misal=="resB") {
pard0rphimisal[0]=44.4;
pard0rphimisal[1]=37.5;
pard0rphimisal[2]=1.25;
pard0zmisal[0]=115.2;
pard0zmisal[1]=131.;
pard0zmisal[2]=0.7;
}
else if(misal=="resC") {
pard0rphimisal[0]=40.;
pard0rphimisal[1]=40.;
pard0rphimisal[2]=1.3;
pard0zmisal[0]=125.;
pard0zmisal[1]=131.;
pard0zmisal[2]=0.85;
}
else printf("AliAODRecoDecayHF::Misalign(): wrong misalign type specified \n");
AliAODVertex *evVtx=0x0,*secVtx=0x0;
Double_t evVtxPos[3]={-9999.,-9999.,-9999.},secVtxPos[3]={-9999.,9999.,9999.};
if(fOwnPrimaryVtx)fOwnPrimaryVtx->GetXYZ(evVtxPos);
else {
evVtx=(AliAODVertex*)(fEventPrimaryVtx.GetObject());
evVtx->GetXYZ(evVtxPos);
}
secVtx=(AliAODVertex*)GetSecondaryVtx();
secVtx->GetXYZ(secVtxPos);
TVector3 v2v1(secVtxPos[0]-evVtxPos[0],secVtxPos[1]-evVtxPos[1],0.);
Double_t sigmarphinull,sigmarphimisal,sigmarphiadd;
Double_t sigmaznull,sigmazmisal,sigmazadd;
Double_t deltad0rphi[10],deltad0z[10];
for(Int_t i=0; i<fNProngs; i++) {
sigmarphinull = pard0rphiMC[0]+pard0rphiMC[1]/TMath::Power(PtProng(i),pard0rphiMC[2]);
sigmarphimisal = pard0rphimisal[0]+pard0rphimisal[1]/TMath::Power(PtProng(i),pard0rphimisal[2]);
if(sigmarphimisal>sigmarphinull) {
sigmarphiadd = TMath::Sqrt(sigmarphimisal*sigmarphimisal-
sigmarphinull*sigmarphinull);
deltad0rphi[i] = gRandom->Gaus(0.,sigmarphiadd);
} else {
deltad0rphi[i] = 0.;
}
sigmaznull = pard0zMC[0]+pard0zMC[1]/TMath::Power(PtProng(i),pard0zMC[2]);
sigmazmisal = pard0zmisal[0]+pard0zmisal[1]/TMath::Power(PtProng(i),pard0zmisal[2]);
if(sigmazmisal>sigmaznull) {
sigmazadd = TMath::Sqrt(sigmazmisal*sigmazmisal-
sigmaznull*sigmaznull);
deltad0z[i] = gRandom->Gaus(0.,sigmazadd);
} else {
deltad0z[i] = 0.;
}
TVector3 pxy(fPx[i],fPy[i],0.);
TVector3 pxycrossv2v1=pxy.Cross(v2v1);
if( pxycrossv2v1.Z()*fd0[i] > 0 ) {
secVtxPos[0]+=1.e-4*deltad0rphi[i]*(-fPy[i])/PtProng(i);
secVtxPos[1]+=1.e-4*deltad0rphi[i]*(+fPx[i])/PtProng(i);
} else {
secVtxPos[0]+=1.e-4*deltad0rphi[i]*(+fPy[i])/PtProng(i);
secVtxPos[1]+=1.e-4*deltad0rphi[i]*(-fPx[i])/PtProng(i);
}
fd0[i] += 1.e-4*deltad0rphi[i];
secVtxPos[2]+=0.5e-4*deltad0z[i];
}
secVtx->SetX(secVtxPos[0]);
secVtx->SetY(secVtxPos[1]);
secVtx->SetZ(secVtxPos[2]);
return;
}
AliAODRecoDecayHF.cxx:100 AliAODRecoDecayHF.cxx:101 AliAODRecoDecayHF.cxx:102 AliAODRecoDecayHF.cxx:103 AliAODRecoDecayHF.cxx:104 AliAODRecoDecayHF.cxx:105 AliAODRecoDecayHF.cxx:106 AliAODRecoDecayHF.cxx:107 AliAODRecoDecayHF.cxx:108 AliAODRecoDecayHF.cxx:109 AliAODRecoDecayHF.cxx:110 AliAODRecoDecayHF.cxx:111 AliAODRecoDecayHF.cxx:112 AliAODRecoDecayHF.cxx:113 AliAODRecoDecayHF.cxx:114 AliAODRecoDecayHF.cxx:115 AliAODRecoDecayHF.cxx:116 AliAODRecoDecayHF.cxx:117 AliAODRecoDecayHF.cxx:118 AliAODRecoDecayHF.cxx:119 AliAODRecoDecayHF.cxx:120 AliAODRecoDecayHF.cxx:121 AliAODRecoDecayHF.cxx:122 AliAODRecoDecayHF.cxx:123 AliAODRecoDecayHF.cxx:124 AliAODRecoDecayHF.cxx:125 AliAODRecoDecayHF.cxx:126 AliAODRecoDecayHF.cxx:127 AliAODRecoDecayHF.cxx:128 AliAODRecoDecayHF.cxx:129 AliAODRecoDecayHF.cxx:130 AliAODRecoDecayHF.cxx:131 AliAODRecoDecayHF.cxx:132 AliAODRecoDecayHF.cxx:133 AliAODRecoDecayHF.cxx:134 AliAODRecoDecayHF.cxx:135 AliAODRecoDecayHF.cxx:136 AliAODRecoDecayHF.cxx:137 AliAODRecoDecayHF.cxx:138 AliAODRecoDecayHF.cxx:139 AliAODRecoDecayHF.cxx:140 AliAODRecoDecayHF.cxx:141 AliAODRecoDecayHF.cxx:142 AliAODRecoDecayHF.cxx:143 AliAODRecoDecayHF.cxx:144 AliAODRecoDecayHF.cxx:145 AliAODRecoDecayHF.cxx:146 AliAODRecoDecayHF.cxx:147 AliAODRecoDecayHF.cxx:148 AliAODRecoDecayHF.cxx:149 AliAODRecoDecayHF.cxx:150 AliAODRecoDecayHF.cxx:151 AliAODRecoDecayHF.cxx:152 AliAODRecoDecayHF.cxx:153 AliAODRecoDecayHF.cxx:154 AliAODRecoDecayHF.cxx:155 AliAODRecoDecayHF.cxx:156 AliAODRecoDecayHF.cxx:157 AliAODRecoDecayHF.cxx:158 AliAODRecoDecayHF.cxx:159 AliAODRecoDecayHF.cxx:160 AliAODRecoDecayHF.cxx:161 AliAODRecoDecayHF.cxx:162 AliAODRecoDecayHF.cxx:163 AliAODRecoDecayHF.cxx:164 AliAODRecoDecayHF.cxx:165 AliAODRecoDecayHF.cxx:166 AliAODRecoDecayHF.cxx:167 AliAODRecoDecayHF.cxx:168 AliAODRecoDecayHF.cxx:169 AliAODRecoDecayHF.cxx:170 AliAODRecoDecayHF.cxx:171 AliAODRecoDecayHF.cxx:172 AliAODRecoDecayHF.cxx:173 AliAODRecoDecayHF.cxx:174 AliAODRecoDecayHF.cxx:175 AliAODRecoDecayHF.cxx:176 AliAODRecoDecayHF.cxx:177 AliAODRecoDecayHF.cxx:178 AliAODRecoDecayHF.cxx:179 AliAODRecoDecayHF.cxx:180 AliAODRecoDecayHF.cxx:181 AliAODRecoDecayHF.cxx:182 AliAODRecoDecayHF.cxx:183 AliAODRecoDecayHF.cxx:184 AliAODRecoDecayHF.cxx:185 AliAODRecoDecayHF.cxx:186 AliAODRecoDecayHF.cxx:187 AliAODRecoDecayHF.cxx:188 AliAODRecoDecayHF.cxx:189 AliAODRecoDecayHF.cxx:190 AliAODRecoDecayHF.cxx:191 AliAODRecoDecayHF.cxx:192 AliAODRecoDecayHF.cxx:193 AliAODRecoDecayHF.cxx:194 AliAODRecoDecayHF.cxx:195 AliAODRecoDecayHF.cxx:196 AliAODRecoDecayHF.cxx:197 AliAODRecoDecayHF.cxx:198 AliAODRecoDecayHF.cxx:199 AliAODRecoDecayHF.cxx:200 AliAODRecoDecayHF.cxx:201 AliAODRecoDecayHF.cxx:202 AliAODRecoDecayHF.cxx:203 AliAODRecoDecayHF.cxx:204 AliAODRecoDecayHF.cxx:205 AliAODRecoDecayHF.cxx:206 AliAODRecoDecayHF.cxx:207 AliAODRecoDecayHF.cxx:208 AliAODRecoDecayHF.cxx:209 AliAODRecoDecayHF.cxx:210 AliAODRecoDecayHF.cxx:211 AliAODRecoDecayHF.cxx:212 AliAODRecoDecayHF.cxx:213 AliAODRecoDecayHF.cxx:214 AliAODRecoDecayHF.cxx:215 AliAODRecoDecayHF.cxx:216 AliAODRecoDecayHF.cxx:217 AliAODRecoDecayHF.cxx:218 AliAODRecoDecayHF.cxx:219 AliAODRecoDecayHF.cxx:220 AliAODRecoDecayHF.cxx:221 AliAODRecoDecayHF.cxx:222 AliAODRecoDecayHF.cxx:223 AliAODRecoDecayHF.cxx:224 AliAODRecoDecayHF.cxx:225 AliAODRecoDecayHF.cxx:226 AliAODRecoDecayHF.cxx:227 AliAODRecoDecayHF.cxx:228 AliAODRecoDecayHF.cxx:229 AliAODRecoDecayHF.cxx:230 AliAODRecoDecayHF.cxx:231 AliAODRecoDecayHF.cxx:232 AliAODRecoDecayHF.cxx:233 AliAODRecoDecayHF.cxx:234 AliAODRecoDecayHF.cxx:235 AliAODRecoDecayHF.cxx:236 AliAODRecoDecayHF.cxx:237 AliAODRecoDecayHF.cxx:238 AliAODRecoDecayHF.cxx:239 AliAODRecoDecayHF.cxx:240 AliAODRecoDecayHF.cxx:241 AliAODRecoDecayHF.cxx:242 AliAODRecoDecayHF.cxx:243 AliAODRecoDecayHF.cxx:244 AliAODRecoDecayHF.cxx:245 AliAODRecoDecayHF.cxx:246 AliAODRecoDecayHF.cxx:247 AliAODRecoDecayHF.cxx:248 AliAODRecoDecayHF.cxx:249 AliAODRecoDecayHF.cxx:250 AliAODRecoDecayHF.cxx:251 AliAODRecoDecayHF.cxx:252 AliAODRecoDecayHF.cxx:253 AliAODRecoDecayHF.cxx:254 AliAODRecoDecayHF.cxx:255 AliAODRecoDecayHF.cxx:256 AliAODRecoDecayHF.cxx:257 AliAODRecoDecayHF.cxx:258 AliAODRecoDecayHF.cxx:259 AliAODRecoDecayHF.cxx:260 AliAODRecoDecayHF.cxx:261 AliAODRecoDecayHF.cxx:262 AliAODRecoDecayHF.cxx:263 AliAODRecoDecayHF.cxx:264 AliAODRecoDecayHF.cxx:265 AliAODRecoDecayHF.cxx:266 AliAODRecoDecayHF.cxx:267 AliAODRecoDecayHF.cxx:268 AliAODRecoDecayHF.cxx:269 AliAODRecoDecayHF.cxx:270 AliAODRecoDecayHF.cxx:271 AliAODRecoDecayHF.cxx:272 AliAODRecoDecayHF.cxx:273 AliAODRecoDecayHF.cxx:274 AliAODRecoDecayHF.cxx:275 AliAODRecoDecayHF.cxx:276 AliAODRecoDecayHF.cxx:277 AliAODRecoDecayHF.cxx:278 AliAODRecoDecayHF.cxx:279 AliAODRecoDecayHF.cxx:280 AliAODRecoDecayHF.cxx:281 AliAODRecoDecayHF.cxx:282 AliAODRecoDecayHF.cxx:283 AliAODRecoDecayHF.cxx:284 AliAODRecoDecayHF.cxx:285 AliAODRecoDecayHF.cxx:286 AliAODRecoDecayHF.cxx:287 AliAODRecoDecayHF.cxx:288 AliAODRecoDecayHF.cxx:289 AliAODRecoDecayHF.cxx:290 AliAODRecoDecayHF.cxx:291 AliAODRecoDecayHF.cxx:292 AliAODRecoDecayHF.cxx:293 AliAODRecoDecayHF.cxx:294 AliAODRecoDecayHF.cxx:295 AliAODRecoDecayHF.cxx:296 AliAODRecoDecayHF.cxx:297 AliAODRecoDecayHF.cxx:298 AliAODRecoDecayHF.cxx:299 AliAODRecoDecayHF.cxx:300 AliAODRecoDecayHF.cxx:301 AliAODRecoDecayHF.cxx:302 AliAODRecoDecayHF.cxx:303 AliAODRecoDecayHF.cxx:304 AliAODRecoDecayHF.cxx:305 AliAODRecoDecayHF.cxx:306 AliAODRecoDecayHF.cxx:307 AliAODRecoDecayHF.cxx:308 AliAODRecoDecayHF.cxx:309 AliAODRecoDecayHF.cxx:310 AliAODRecoDecayHF.cxx:311 AliAODRecoDecayHF.cxx:312 AliAODRecoDecayHF.cxx:313 AliAODRecoDecayHF.cxx:314 AliAODRecoDecayHF.cxx:315 AliAODRecoDecayHF.cxx:316 AliAODRecoDecayHF.cxx:317 AliAODRecoDecayHF.cxx:318 AliAODRecoDecayHF.cxx:319 AliAODRecoDecayHF.cxx:320 AliAODRecoDecayHF.cxx:321 AliAODRecoDecayHF.cxx:322 AliAODRecoDecayHF.cxx:323 AliAODRecoDecayHF.cxx:324 AliAODRecoDecayHF.cxx:325 AliAODRecoDecayHF.cxx:326 AliAODRecoDecayHF.cxx:327 AliAODRecoDecayHF.cxx:328 AliAODRecoDecayHF.cxx:329 AliAODRecoDecayHF.cxx:330 AliAODRecoDecayHF.cxx:331 AliAODRecoDecayHF.cxx:332 AliAODRecoDecayHF.cxx:333 AliAODRecoDecayHF.cxx:334 AliAODRecoDecayHF.cxx:335 AliAODRecoDecayHF.cxx:336 AliAODRecoDecayHF.cxx:337 AliAODRecoDecayHF.cxx:338 AliAODRecoDecayHF.cxx:339 AliAODRecoDecayHF.cxx:340 AliAODRecoDecayHF.cxx:341 AliAODRecoDecayHF.cxx:342 AliAODRecoDecayHF.cxx:343 AliAODRecoDecayHF.cxx:344 AliAODRecoDecayHF.cxx:345 AliAODRecoDecayHF.cxx:346 AliAODRecoDecayHF.cxx:347 AliAODRecoDecayHF.cxx:348 AliAODRecoDecayHF.cxx:349 AliAODRecoDecayHF.cxx:350 AliAODRecoDecayHF.cxx:351 AliAODRecoDecayHF.cxx:352 AliAODRecoDecayHF.cxx:353 AliAODRecoDecayHF.cxx:354 AliAODRecoDecayHF.cxx:355 AliAODRecoDecayHF.cxx:356 AliAODRecoDecayHF.cxx:357 AliAODRecoDecayHF.cxx:358 AliAODRecoDecayHF.cxx:359 AliAODRecoDecayHF.cxx:360 AliAODRecoDecayHF.cxx:361 AliAODRecoDecayHF.cxx:362 AliAODRecoDecayHF.cxx:363 AliAODRecoDecayHF.cxx:364 AliAODRecoDecayHF.cxx:365 AliAODRecoDecayHF.cxx:366 AliAODRecoDecayHF.cxx:367 AliAODRecoDecayHF.cxx:368 AliAODRecoDecayHF.cxx:369 AliAODRecoDecayHF.cxx:370 AliAODRecoDecayHF.cxx:371 AliAODRecoDecayHF.cxx:372 AliAODRecoDecayHF.cxx:373 AliAODRecoDecayHF.cxx:374 AliAODRecoDecayHF.cxx:375 AliAODRecoDecayHF.cxx:376 AliAODRecoDecayHF.cxx:377 AliAODRecoDecayHF.cxx:378 AliAODRecoDecayHF.cxx:379 AliAODRecoDecayHF.cxx:380 AliAODRecoDecayHF.cxx:381 AliAODRecoDecayHF.cxx:382 AliAODRecoDecayHF.cxx:383 AliAODRecoDecayHF.cxx:384 AliAODRecoDecayHF.cxx:385 AliAODRecoDecayHF.cxx:386 AliAODRecoDecayHF.cxx:387 AliAODRecoDecayHF.cxx:388 AliAODRecoDecayHF.cxx:389 AliAODRecoDecayHF.cxx:390 AliAODRecoDecayHF.cxx:391 AliAODRecoDecayHF.cxx:392 AliAODRecoDecayHF.cxx:393 AliAODRecoDecayHF.cxx:394 AliAODRecoDecayHF.cxx:395 AliAODRecoDecayHF.cxx:396 AliAODRecoDecayHF.cxx:397 AliAODRecoDecayHF.cxx:398 AliAODRecoDecayHF.cxx:399 AliAODRecoDecayHF.cxx:400 AliAODRecoDecayHF.cxx:401 AliAODRecoDecayHF.cxx:402 AliAODRecoDecayHF.cxx:403 AliAODRecoDecayHF.cxx:404 AliAODRecoDecayHF.cxx:405 AliAODRecoDecayHF.cxx:406 AliAODRecoDecayHF.cxx:407 AliAODRecoDecayHF.cxx:408 AliAODRecoDecayHF.cxx:409 AliAODRecoDecayHF.cxx:410 AliAODRecoDecayHF.cxx:411 AliAODRecoDecayHF.cxx:412 AliAODRecoDecayHF.cxx:413 AliAODRecoDecayHF.cxx:414 AliAODRecoDecayHF.cxx:415 AliAODRecoDecayHF.cxx:416 AliAODRecoDecayHF.cxx:417 AliAODRecoDecayHF.cxx:418 AliAODRecoDecayHF.cxx:419 AliAODRecoDecayHF.cxx:420 AliAODRecoDecayHF.cxx:421 AliAODRecoDecayHF.cxx:422 AliAODRecoDecayHF.cxx:423 AliAODRecoDecayHF.cxx:424 AliAODRecoDecayHF.cxx:425 AliAODRecoDecayHF.cxx:426 AliAODRecoDecayHF.cxx:427 AliAODRecoDecayHF.cxx:428 AliAODRecoDecayHF.cxx:429 AliAODRecoDecayHF.cxx:430 AliAODRecoDecayHF.cxx:431 AliAODRecoDecayHF.cxx:432 AliAODRecoDecayHF.cxx:433 AliAODRecoDecayHF.cxx:434 AliAODRecoDecayHF.cxx:435 AliAODRecoDecayHF.cxx:436 AliAODRecoDecayHF.cxx:437 AliAODRecoDecayHF.cxx:438 AliAODRecoDecayHF.cxx:439 AliAODRecoDecayHF.cxx:440