ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

/////////////////////////////////////////////////////////////
//
// Base class for AOD reconstructed heavy-flavour 4-prong decay
//
// Authors: G.E.Bruno Giuseppe.Bruno@to.infn.it, R.Romita Rossella.Romita@ba.infn.it
/////////////////////////////////////////////////////////////

#include <TDatabasePDG.h>
#include "AliAODRecoDecayHF.h"
#include "AliAODRecoDecayHF4Prong.h"

ClassImp(AliAODRecoDecayHF4Prong)

//--------------------------------------------------------------------------
AliAODRecoDecayHF4Prong::AliAODRecoDecayHF4Prong() :
  AliAODRecoDecayHF(), 
  fDist12toPrim(0),
  fDist3toPrim(0),
  fDist4toPrim(0)
{
  //
  // Default Constructor
  //
}
//--------------------------------------------------------------------------
AliAODRecoDecayHF4Prong::AliAODRecoDecayHF4Prong(AliAODVertex *vtx2,
						 Double_t *px,Double_t *py,Double_t *pz,
						 Double_t *d0,Double_t *d0err,
						 Double_t *dca, //Double_t sigvert,
						 Double_t dist12,Double_t dist3,
						 Double_t dist4,
						 Short_t charge) :
  AliAODRecoDecayHF(vtx2,4,charge,px,py,pz,d0,d0err),
  // fSigmaVert(sigvert),
  fDist12toPrim(dist12),
  fDist3toPrim(dist3),
  fDist4toPrim(dist4)
{
  //
  // Constructor with AliAODVertex for decay vertex
  //
  SetDCAs(6,dca);
}
//--------------------------------------------------------------------------
AliAODRecoDecayHF4Prong::AliAODRecoDecayHF4Prong(AliAODVertex *vtx2,
						 Double_t *d0,Double_t *d0err,
						 Double_t *dca, //Double_t sigvert,
						 Double_t dist12,Double_t dist3, 
						 Double_t dist4, 
						 Short_t charge) :
  AliAODRecoDecayHF(vtx2,4,charge,d0,d0err),
  //fSigmaVert(sigvert),
  fDist12toPrim(dist12),
  fDist3toPrim(dist3),
  fDist4toPrim(dist4)
{
  //
  // Constructor with AliAODVertex for decay vertex and without prongs momenta
  //
  SetDCAs(6,dca);
}
//--------------------------------------------------------------------------
AliAODRecoDecayHF4Prong::AliAODRecoDecayHF4Prong(const AliAODRecoDecayHF4Prong &source) :
  AliAODRecoDecayHF(source),
  //fSigmaVert(source.fSigmaVert),
  fDist12toPrim(source.fDist12toPrim),
  fDist3toPrim(source.fDist3toPrim),
  fDist4toPrim(source.fDist4toPrim)
{
  //
  // Copy constructor
  //
}
//--------------------------------------------------------------------------
AliAODRecoDecayHF4Prong &AliAODRecoDecayHF4Prong::operator=(const AliAODRecoDecayHF4Prong &source)
{
  //
  // assignment operator
  //
  if(&source == this) return *this;

  AliAODRecoDecayHF::operator=(source);

  fDist12toPrim= source.fDist12toPrim;
  fDist3toPrim= source.fDist3toPrim;
  fDist4toPrim= source.fDist4toPrim;
  //fSigmaVert= source.fSigmaVert;

  return *this;
}
//--------------------------------------------------------------------------
void AliAODRecoDecayHF4Prong::InvMassD0(Double_t mD0[2]) const {
  //
  // Mass for the two D0 hypotheses
  //
  UInt_t pdg[4];
  pdg[0]=211; pdg[1]=321; pdg[2]=211; pdg[3]=211;
  mD0[0]=InvMass(4,pdg);
  pdg[1]=211; pdg[3]=321;
  mD0[1]=InvMass(4,pdg);
  
  return;
}
//--------------------------------------------------------------------------
void AliAODRecoDecayHF4Prong::InvMassD0bar(Double_t mD0bar[2]) const {
  //
  // Mass for the two D0bar hypotheses
  //
  UInt_t pdg[4];
  pdg[0]=321; pdg[1]=211; pdg[2]=211; pdg[3]=211;
  mD0bar[0]=InvMass(4,pdg);
  pdg[0]=211; pdg[2]=321;
  mD0bar[1]=InvMass(4,pdg);
  
  return;
}
//--------------------------------------------------------------------------

Bool_t AliAODRecoDecayHF4Prong::SelectD0(const Double_t *cuts,Int_t &okD0,Int_t &okD0bar) const
{
  //
  // This function compares the D0 with a set of cuts:
  // 
  // cuts[0] = D0 invariant mass 
  // cuts[1] = DCA between opposite sign tracks 
  // cuts[2] = Distance between primary and two tracks vertex fDist12toPrim
  // cuts[3] = Distance between primary and three tracks vertex fDist3toPrim
  // cuts[4] = Distance between primary and two tracks vertex fDist4toPrim
  // cuts[5] = Cosinus of the pointing angle
  // cuts[6] = Transverse momentum of the D0 candidate
  // cuts[7] = Mass Pi+Pi- = mass of the rho0
  // cuts[8] = PID cut (one K in the quadruplet)
  //
  // If candidate D0 does not pass the cuts return kFALSE
  //
  
  okD0=0; okD0bar=0;
  Double_t mD0PDG = TDatabasePDG::Instance()->GetParticle(421)->Mass();
  Double_t mD0[2];
  Double_t mD0bar[2];
  InvMassD0(mD0);
  InvMassD0bar(mD0bar);
  Bool_t goodMass=kFALSE;
  if(TMath::Abs(mD0[0]-mD0PDG)<=cuts[0]) {goodMass=kTRUE; okD0=1;}
  if(TMath::Abs(mD0[1]-mD0PDG)<=cuts[0]) {goodMass=kTRUE; okD0=1;}
  if(TMath::Abs(mD0bar[0]-mD0PDG)<=cuts[0]) {goodMass=kTRUE; okD0bar=1;}
  if(TMath::Abs(mD0bar[1]-mD0PDG)<=cuts[0]) {goodMass=kTRUE; okD0bar=1;}
  if(!goodMass) return kFALSE;
  
  //DCA btw opposite sign tracks
  if(cuts[1]>0.){
    if(GetDCA(0)>cuts[1]) return kFALSE;
    if(GetDCA(1)>cuts[1]) return kFALSE;
    if(GetDCA(2)>cuts[1]) return kFALSE;
    if(GetDCA(3)>cuts[1]) return kFALSE;
    if(GetDCA(4)>cuts[1]) return kFALSE;
    if(GetDCA(5)>cuts[1]) return kFALSE;
  }
  //2track cuts
  if(cuts[2]>0.){
    if(fDist12toPrim>10.)return kFALSE;
    if(fDist12toPrim<cuts[2])return kFALSE;
  }
  //3track cuts
  if(cuts[3]>0.){
    if(fDist3toPrim<cuts[3])return kFALSE;
  }
  //4track cuts
  if(cuts[4]>0.){
    if(fDist4toPrim<cuts[4])return kFALSE;
  }
  if(cuts[5]>-1.1){
    if(CosPointingAngle()<cuts[5])return kFALSE;
  }
  if(cuts[6]>0.){
    if(Pt()<cuts[6])return kFALSE;
  }
  if(cuts[7]>0.){
    Double_t massD0[2];
    Double_t massD0bar[2];
    Bool_t good=CutRhoMass(massD0,massD0bar,cuts[0],cuts[7]);
    if(!good) return kFALSE;
  }
  
  return kTRUE;
}
//----------------------------------------------------------------------------
Bool_t AliAODRecoDecayHF4Prong::CutRhoMass(Double_t massD0[2],Double_t massD0bar[2],Double_t cutMass,Double_t cutRho) const 
{
  //
  // Cut on rho->pipi mass for any of the pairs
  //
  Bool_t isGood=kFALSE;
  Int_t nprongs=4;
  for(Int_t i=0;i<2;i++){massD0[i]=0.;massD0bar[i]=0.;}
  Bool_t isRho=kFALSE;
  Bool_t isTrue=kFALSE;
  Double_t mPDG=TDatabasePDG::Instance()->GetParticle(421)->Mass();
  Double_t mPDGRho=TDatabasePDG::Instance()->GetParticle(113)->Mass();
  Double_t minv01=InvMassRho(0,1);
  if(TMath::Abs(minv01-mPDGRho)<cutRho) isRho=kTRUE;
  if(isRho){
    UInt_t pdg1[4]={211,211,321,211};
    Double_t mass1=InvMass(nprongs,pdg1);
    if(TMath::Abs(mass1-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
    if(isTrue) massD0bar[1]=mass1;
    isTrue=kFALSE;
    UInt_t pdg2[4]={211,211,211,321};
    Double_t mass2=InvMass(4,pdg2);
    if(TMath::Abs(mass2-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
    if(isTrue) massD0[1]=mass2;
    isTrue=kFALSE;
  }
  Double_t minv03=InvMassRho(0,3);
  if(TMath::Abs(minv03-mPDGRho)<cutRho) isRho=kTRUE;
  if(isRho){
    UInt_t pdg1[4]={211,211,321,211};
    Double_t mass1=InvMass(4,pdg1);
    if(TMath::Abs(mass1-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
    if(isTrue) massD0bar[1]=mass1;
    isTrue=kFALSE;
    UInt_t pdg2[4]={211,321,211,211};
    Double_t mass2=InvMass(4,pdg2);
    if(TMath::Abs(mass2-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
    if(isTrue) massD0[0]=mass2;
    isTrue=kFALSE;
  }
  Double_t minv12=InvMassRho(1,2);
  if(TMath::Abs(minv12-mPDGRho)<cutRho) isRho=kTRUE;
  if(isRho){
    UInt_t pdg1[4]={321,211,211,211};
    Double_t mass1=InvMass(4,pdg1);
    if(TMath::Abs(mass1-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
    if(isTrue) massD0bar[0]=mass1;
    isTrue=kFALSE;
    UInt_t pdg2[4]={211,211,211,321};
    Double_t mass2=InvMass(4,pdg2);
    if(TMath::Abs(mass2-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
    if(isTrue) massD0[1]=mass2;
    isTrue=kFALSE;
  }
  Double_t minv23=InvMassRho(2,3);
  if(TMath::Abs(minv23-mPDGRho)<cutRho) isRho=kTRUE;
  if(isRho){
    UInt_t pdg1[4]={321,211,211,211};
    Double_t mass1=InvMass(4,pdg1);
    if(TMath::Abs(mass1-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
    if(isTrue) massD0bar[0]=mass1;
    isTrue=kFALSE;
    UInt_t pdg2[4]={211,321,211,211};
    Double_t mass2=InvMass(4,pdg2);
    if(TMath::Abs(mass2-mPDG)<cutMass) {isTrue=kTRUE;isGood=kTRUE;}
    if(isTrue) massD0[0]=mass2;
    isTrue=kFALSE;
  }
  return isGood;
}
 AliAODRecoDecayHF4Prong.cxx:1
 AliAODRecoDecayHF4Prong.cxx:2
 AliAODRecoDecayHF4Prong.cxx:3
 AliAODRecoDecayHF4Prong.cxx:4
 AliAODRecoDecayHF4Prong.cxx:5
 AliAODRecoDecayHF4Prong.cxx:6
 AliAODRecoDecayHF4Prong.cxx:7
 AliAODRecoDecayHF4Prong.cxx:8
 AliAODRecoDecayHF4Prong.cxx:9
 AliAODRecoDecayHF4Prong.cxx:10
 AliAODRecoDecayHF4Prong.cxx:11
 AliAODRecoDecayHF4Prong.cxx:12
 AliAODRecoDecayHF4Prong.cxx:13
 AliAODRecoDecayHF4Prong.cxx:14
 AliAODRecoDecayHF4Prong.cxx:15
 AliAODRecoDecayHF4Prong.cxx:16
 AliAODRecoDecayHF4Prong.cxx:17
 AliAODRecoDecayHF4Prong.cxx:18
 AliAODRecoDecayHF4Prong.cxx:19
 AliAODRecoDecayHF4Prong.cxx:20
 AliAODRecoDecayHF4Prong.cxx:21
 AliAODRecoDecayHF4Prong.cxx:22
 AliAODRecoDecayHF4Prong.cxx:23
 AliAODRecoDecayHF4Prong.cxx:24
 AliAODRecoDecayHF4Prong.cxx:25
 AliAODRecoDecayHF4Prong.cxx:26
 AliAODRecoDecayHF4Prong.cxx:27
 AliAODRecoDecayHF4Prong.cxx:28
 AliAODRecoDecayHF4Prong.cxx:29
 AliAODRecoDecayHF4Prong.cxx:30
 AliAODRecoDecayHF4Prong.cxx:31
 AliAODRecoDecayHF4Prong.cxx:32
 AliAODRecoDecayHF4Prong.cxx:33
 AliAODRecoDecayHF4Prong.cxx:34
 AliAODRecoDecayHF4Prong.cxx:35
 AliAODRecoDecayHF4Prong.cxx:36
 AliAODRecoDecayHF4Prong.cxx:37
 AliAODRecoDecayHF4Prong.cxx:38
 AliAODRecoDecayHF4Prong.cxx:39
 AliAODRecoDecayHF4Prong.cxx:40
 AliAODRecoDecayHF4Prong.cxx:41
 AliAODRecoDecayHF4Prong.cxx:42
 AliAODRecoDecayHF4Prong.cxx:43
 AliAODRecoDecayHF4Prong.cxx:44
 AliAODRecoDecayHF4Prong.cxx:45
 AliAODRecoDecayHF4Prong.cxx:46
 AliAODRecoDecayHF4Prong.cxx:47
 AliAODRecoDecayHF4Prong.cxx:48
 AliAODRecoDecayHF4Prong.cxx:49
 AliAODRecoDecayHF4Prong.cxx:50
 AliAODRecoDecayHF4Prong.cxx:51
 AliAODRecoDecayHF4Prong.cxx:52
 AliAODRecoDecayHF4Prong.cxx:53
 AliAODRecoDecayHF4Prong.cxx:54
 AliAODRecoDecayHF4Prong.cxx:55
 AliAODRecoDecayHF4Prong.cxx:56
 AliAODRecoDecayHF4Prong.cxx:57
 AliAODRecoDecayHF4Prong.cxx:58
 AliAODRecoDecayHF4Prong.cxx:59
 AliAODRecoDecayHF4Prong.cxx:60
 AliAODRecoDecayHF4Prong.cxx:61
 AliAODRecoDecayHF4Prong.cxx:62
 AliAODRecoDecayHF4Prong.cxx:63
 AliAODRecoDecayHF4Prong.cxx:64
 AliAODRecoDecayHF4Prong.cxx:65
 AliAODRecoDecayHF4Prong.cxx:66
 AliAODRecoDecayHF4Prong.cxx:67
 AliAODRecoDecayHF4Prong.cxx:68
 AliAODRecoDecayHF4Prong.cxx:69
 AliAODRecoDecayHF4Prong.cxx:70
 AliAODRecoDecayHF4Prong.cxx:71
 AliAODRecoDecayHF4Prong.cxx:72
 AliAODRecoDecayHF4Prong.cxx:73
 AliAODRecoDecayHF4Prong.cxx:74
 AliAODRecoDecayHF4Prong.cxx:75
 AliAODRecoDecayHF4Prong.cxx:76
 AliAODRecoDecayHF4Prong.cxx:77
 AliAODRecoDecayHF4Prong.cxx:78
 AliAODRecoDecayHF4Prong.cxx:79
 AliAODRecoDecayHF4Prong.cxx:80
 AliAODRecoDecayHF4Prong.cxx:81
 AliAODRecoDecayHF4Prong.cxx:82
 AliAODRecoDecayHF4Prong.cxx:83
 AliAODRecoDecayHF4Prong.cxx:84
 AliAODRecoDecayHF4Prong.cxx:85
 AliAODRecoDecayHF4Prong.cxx:86
 AliAODRecoDecayHF4Prong.cxx:87
 AliAODRecoDecayHF4Prong.cxx:88
 AliAODRecoDecayHF4Prong.cxx:89
 AliAODRecoDecayHF4Prong.cxx:90
 AliAODRecoDecayHF4Prong.cxx:91
 AliAODRecoDecayHF4Prong.cxx:92
 AliAODRecoDecayHF4Prong.cxx:93
 AliAODRecoDecayHF4Prong.cxx:94
 AliAODRecoDecayHF4Prong.cxx:95
 AliAODRecoDecayHF4Prong.cxx:96
 AliAODRecoDecayHF4Prong.cxx:97
 AliAODRecoDecayHF4Prong.cxx:98
 AliAODRecoDecayHF4Prong.cxx:99
 AliAODRecoDecayHF4Prong.cxx:100
 AliAODRecoDecayHF4Prong.cxx:101
 AliAODRecoDecayHF4Prong.cxx:102
 AliAODRecoDecayHF4Prong.cxx:103
 AliAODRecoDecayHF4Prong.cxx:104
 AliAODRecoDecayHF4Prong.cxx:105
 AliAODRecoDecayHF4Prong.cxx:106
 AliAODRecoDecayHF4Prong.cxx:107
 AliAODRecoDecayHF4Prong.cxx:108
 AliAODRecoDecayHF4Prong.cxx:109
 AliAODRecoDecayHF4Prong.cxx:110
 AliAODRecoDecayHF4Prong.cxx:111
 AliAODRecoDecayHF4Prong.cxx:112
 AliAODRecoDecayHF4Prong.cxx:113
 AliAODRecoDecayHF4Prong.cxx:114
 AliAODRecoDecayHF4Prong.cxx:115
 AliAODRecoDecayHF4Prong.cxx:116
 AliAODRecoDecayHF4Prong.cxx:117
 AliAODRecoDecayHF4Prong.cxx:118
 AliAODRecoDecayHF4Prong.cxx:119
 AliAODRecoDecayHF4Prong.cxx:120
 AliAODRecoDecayHF4Prong.cxx:121
 AliAODRecoDecayHF4Prong.cxx:122
 AliAODRecoDecayHF4Prong.cxx:123
 AliAODRecoDecayHF4Prong.cxx:124
 AliAODRecoDecayHF4Prong.cxx:125
 AliAODRecoDecayHF4Prong.cxx:126
 AliAODRecoDecayHF4Prong.cxx:127
 AliAODRecoDecayHF4Prong.cxx:128
 AliAODRecoDecayHF4Prong.cxx:129
 AliAODRecoDecayHF4Prong.cxx:130
 AliAODRecoDecayHF4Prong.cxx:131
 AliAODRecoDecayHF4Prong.cxx:132
 AliAODRecoDecayHF4Prong.cxx:133
 AliAODRecoDecayHF4Prong.cxx:134
 AliAODRecoDecayHF4Prong.cxx:135
 AliAODRecoDecayHF4Prong.cxx:136
 AliAODRecoDecayHF4Prong.cxx:137
 AliAODRecoDecayHF4Prong.cxx:138
 AliAODRecoDecayHF4Prong.cxx:139
 AliAODRecoDecayHF4Prong.cxx:140
 AliAODRecoDecayHF4Prong.cxx:141
 AliAODRecoDecayHF4Prong.cxx:142
 AliAODRecoDecayHF4Prong.cxx:143
 AliAODRecoDecayHF4Prong.cxx:144
 AliAODRecoDecayHF4Prong.cxx:145
 AliAODRecoDecayHF4Prong.cxx:146
 AliAODRecoDecayHF4Prong.cxx:147
 AliAODRecoDecayHF4Prong.cxx:148
 AliAODRecoDecayHF4Prong.cxx:149
 AliAODRecoDecayHF4Prong.cxx:150
 AliAODRecoDecayHF4Prong.cxx:151
 AliAODRecoDecayHF4Prong.cxx:152
 AliAODRecoDecayHF4Prong.cxx:153
 AliAODRecoDecayHF4Prong.cxx:154
 AliAODRecoDecayHF4Prong.cxx:155
 AliAODRecoDecayHF4Prong.cxx:156
 AliAODRecoDecayHF4Prong.cxx:157
 AliAODRecoDecayHF4Prong.cxx:158
 AliAODRecoDecayHF4Prong.cxx:159
 AliAODRecoDecayHF4Prong.cxx:160
 AliAODRecoDecayHF4Prong.cxx:161
 AliAODRecoDecayHF4Prong.cxx:162
 AliAODRecoDecayHF4Prong.cxx:163
 AliAODRecoDecayHF4Prong.cxx:164
 AliAODRecoDecayHF4Prong.cxx:165
 AliAODRecoDecayHF4Prong.cxx:166
 AliAODRecoDecayHF4Prong.cxx:167
 AliAODRecoDecayHF4Prong.cxx:168
 AliAODRecoDecayHF4Prong.cxx:169
 AliAODRecoDecayHF4Prong.cxx:170
 AliAODRecoDecayHF4Prong.cxx:171
 AliAODRecoDecayHF4Prong.cxx:172
 AliAODRecoDecayHF4Prong.cxx:173
 AliAODRecoDecayHF4Prong.cxx:174
 AliAODRecoDecayHF4Prong.cxx:175
 AliAODRecoDecayHF4Prong.cxx:176
 AliAODRecoDecayHF4Prong.cxx:177
 AliAODRecoDecayHF4Prong.cxx:178
 AliAODRecoDecayHF4Prong.cxx:179
 AliAODRecoDecayHF4Prong.cxx:180
 AliAODRecoDecayHF4Prong.cxx:181
 AliAODRecoDecayHF4Prong.cxx:182
 AliAODRecoDecayHF4Prong.cxx:183
 AliAODRecoDecayHF4Prong.cxx:184
 AliAODRecoDecayHF4Prong.cxx:185
 AliAODRecoDecayHF4Prong.cxx:186
 AliAODRecoDecayHF4Prong.cxx:187
 AliAODRecoDecayHF4Prong.cxx:188
 AliAODRecoDecayHF4Prong.cxx:189
 AliAODRecoDecayHF4Prong.cxx:190
 AliAODRecoDecayHF4Prong.cxx:191
 AliAODRecoDecayHF4Prong.cxx:192
 AliAODRecoDecayHF4Prong.cxx:193
 AliAODRecoDecayHF4Prong.cxx:194
 AliAODRecoDecayHF4Prong.cxx:195
 AliAODRecoDecayHF4Prong.cxx:196
 AliAODRecoDecayHF4Prong.cxx:197
 AliAODRecoDecayHF4Prong.cxx:198
 AliAODRecoDecayHF4Prong.cxx:199
 AliAODRecoDecayHF4Prong.cxx:200
 AliAODRecoDecayHF4Prong.cxx:201
 AliAODRecoDecayHF4Prong.cxx:202
 AliAODRecoDecayHF4Prong.cxx:203
 AliAODRecoDecayHF4Prong.cxx:204
 AliAODRecoDecayHF4Prong.cxx:205
 AliAODRecoDecayHF4Prong.cxx:206
 AliAODRecoDecayHF4Prong.cxx:207
 AliAODRecoDecayHF4Prong.cxx:208
 AliAODRecoDecayHF4Prong.cxx:209
 AliAODRecoDecayHF4Prong.cxx:210
 AliAODRecoDecayHF4Prong.cxx:211
 AliAODRecoDecayHF4Prong.cxx:212
 AliAODRecoDecayHF4Prong.cxx:213
 AliAODRecoDecayHF4Prong.cxx:214
 AliAODRecoDecayHF4Prong.cxx:215
 AliAODRecoDecayHF4Prong.cxx:216
 AliAODRecoDecayHF4Prong.cxx:217
 AliAODRecoDecayHF4Prong.cxx:218
 AliAODRecoDecayHF4Prong.cxx:219
 AliAODRecoDecayHF4Prong.cxx:220
 AliAODRecoDecayHF4Prong.cxx:221
 AliAODRecoDecayHF4Prong.cxx:222
 AliAODRecoDecayHF4Prong.cxx:223
 AliAODRecoDecayHF4Prong.cxx:224
 AliAODRecoDecayHF4Prong.cxx:225
 AliAODRecoDecayHF4Prong.cxx:226
 AliAODRecoDecayHF4Prong.cxx:227
 AliAODRecoDecayHF4Prong.cxx:228
 AliAODRecoDecayHF4Prong.cxx:229
 AliAODRecoDecayHF4Prong.cxx:230
 AliAODRecoDecayHF4Prong.cxx:231
 AliAODRecoDecayHF4Prong.cxx:232
 AliAODRecoDecayHF4Prong.cxx:233
 AliAODRecoDecayHF4Prong.cxx:234
 AliAODRecoDecayHF4Prong.cxx:235
 AliAODRecoDecayHF4Prong.cxx:236
 AliAODRecoDecayHF4Prong.cxx:237
 AliAODRecoDecayHF4Prong.cxx:238
 AliAODRecoDecayHF4Prong.cxx:239
 AliAODRecoDecayHF4Prong.cxx:240
 AliAODRecoDecayHF4Prong.cxx:241
 AliAODRecoDecayHF4Prong.cxx:242
 AliAODRecoDecayHF4Prong.cxx:243
 AliAODRecoDecayHF4Prong.cxx:244
 AliAODRecoDecayHF4Prong.cxx:245
 AliAODRecoDecayHF4Prong.cxx:246
 AliAODRecoDecayHF4Prong.cxx:247
 AliAODRecoDecayHF4Prong.cxx:248
 AliAODRecoDecayHF4Prong.cxx:249
 AliAODRecoDecayHF4Prong.cxx:250
 AliAODRecoDecayHF4Prong.cxx:251
 AliAODRecoDecayHF4Prong.cxx:252
 AliAODRecoDecayHF4Prong.cxx:253
 AliAODRecoDecayHF4Prong.cxx:254
 AliAODRecoDecayHF4Prong.cxx:255
 AliAODRecoDecayHF4Prong.cxx:256
 AliAODRecoDecayHF4Prong.cxx:257
 AliAODRecoDecayHF4Prong.cxx:258
 AliAODRecoDecayHF4Prong.cxx:259
 AliAODRecoDecayHF4Prong.cxx:260
 AliAODRecoDecayHF4Prong.cxx:261
 AliAODRecoDecayHF4Prong.cxx:262
 AliAODRecoDecayHF4Prong.cxx:263
 AliAODRecoDecayHF4Prong.cxx:264
 AliAODRecoDecayHF4Prong.cxx:265
 AliAODRecoDecayHF4Prong.cxx:266
 AliAODRecoDecayHF4Prong.cxx:267
 AliAODRecoDecayHF4Prong.cxx:268
 AliAODRecoDecayHF4Prong.cxx:269
 AliAODRecoDecayHF4Prong.cxx:270
 AliAODRecoDecayHF4Prong.cxx:271
 AliAODRecoDecayHF4Prong.cxx:272
 AliAODRecoDecayHF4Prong.cxx:273
 AliAODRecoDecayHF4Prong.cxx:274