#include "AliDxHFEParticleSelectionD0.h"
#include "AliVParticle.h"
#include "AliAODRecoDecayHF2Prong.h"
#include "AliRDHFCutsD0toKpi.h"
#include "TObjArray.h"
#include "THnSparse.h"
#include "AliReducedParticle.h"
#include "TAxis.h"
#include "TString.h"
#include <iostream>
#include <cerrno>
#include <memory>
using namespace std;
ClassImp(AliDxHFEParticleSelectionD0)
AliDxHFEParticleSelectionD0::AliDxHFEParticleSelectionD0(const char* opt)
: AliDxHFEParticleSelection("D0", opt)
, fD0Properties(NULL)
, fD0Daughter0(NULL)
, fD0Daughter1(NULL)
, fCuts(NULL)
, fFillOnlyD0D0bar(0)
, fD0InvMass(0.0)
, fPtBin(-1)
, fHistoList(NULL)
{
ParseArguments(opt);
}
AliDxHFEParticleSelectionD0::~AliDxHFEParticleSelectionD0()
{
if (fD0Properties) {
delete fD0Properties;
fD0Properties=NULL;
}
if (fD0Daughter0) {
delete fD0Daughter0;
fD0Daughter0=NULL;
}
if (fD0Daughter1) {
delete fD0Daughter1;
fD0Daughter1=NULL;
}
if (fHistoList){
delete fHistoList;
fHistoList=NULL;
}
fCuts=NULL;
}
const char* AliDxHFEParticleSelectionD0::fgkDgTrackControlBinNames[]={
"Pt",
"Phi",
"Ptbin",
"D0InvMass",
"Eta"
};
const char* AliDxHFEParticleSelectionD0::fgkCutBinNames[]={
"nDstar->D0",
"nCandSel(Tr)",
"IsInFiducialAcceptance",
"ptbin-1",
"No daugthers",
"Selectioncode 0",
"Selected D0",
"Selected D0bar",
"Selected as both"
};
int AliDxHFEParticleSelectionD0::InitControlObjects()
{
fD0Properties=DefineTHnSparse();
AddControlObject(fD0Properties);
InitControlObjectsDaughters("pi information",0);
InitControlObjectsDaughters("K information",1);
AliInfo(Form("D0 filling scheme: %d\n",fFillOnlyD0D0bar));
fHistoList=new TList;
fHistoList->SetName("D0 Histograms");
fHistoList->SetOwner();
fHistoList->Add(CreateControlHistogram("fWhichCutD0","effective cut for a rejected particle", kNCutLabels, fgkCutBinNames));
AddControlObject(fHistoList);
return AliDxHFEParticleSelection::InitControlObjects();
}
THnSparse* AliDxHFEParticleSelectionD0::DefineTHnSparse()
{
const int thnSize2 = 5;
InitTHnSparseArray(thnSize2);
const double Pi=TMath::Pi();
TString name;
name.Form("%s info", GetName());
int thnBins [thnSize2] = {1000, 200, 15, 200, 500 };
double thnMin [thnSize2] = { 0, 0, 0, 1.5648, -1. };
double thnMax [thnSize2] = { 100, 2*Pi, 14, 2.1648, 1. };
const char* thnNames[thnSize2] = {"Pt", "Phi","Ptbin","D0InvMass","Eta"};
return CreateControlTHnSparse(name,thnSize2,thnBins,thnMin,thnMax,thnNames);
}
int AliDxHFEParticleSelectionD0::FillParticleProperties(AliVParticle* p, Double_t* data, int dimension) const
{
if (!data) return -EINVAL;
AliAODRecoDecayHF2Prong* track=dynamic_cast<AliAODRecoDecayHF2Prong*>(p);
if (!track) return -ENODATA;
int i=0;
if (dimension!=GetDimTHnSparse()) {
return -ENOSPC;
}
data[i++]=track->Pt();
data[i++]=track->Phi();
data[i++]=fPtBin;
data[i++]=fD0InvMass;
data[i++]=track->Eta();
return i;
}
int AliDxHFEParticleSelectionD0::InitControlObjectsDaughters(TString name, int daughter)
{
AliInfo("Setting up daughter THnSparse");
const int thnSize2 = 5;
const double Pi=TMath::Pi();
int thnBins[thnSize2] = { 1000, 200, 21, 200, 500};
double thnMin [thnSize2] = { 0, 0, 0, 1.5648, -1.};
double thnMax [thnSize2] = { 100, 2*Pi, 20, 2.1648, 1.};
std::auto_ptr<THnSparseF> DaughterProperties(new THnSparseF(name, name, thnSize2, thnBins, thnMin, thnMax));
if (DaughterProperties.get()==NULL) {
return -ENOMEM;
}
for(int iLabel=0; iLabel< 5;iLabel++)
DaughterProperties->GetAxis(iLabel)->SetTitle(fgkDgTrackControlBinNames[iLabel]);
if(daughter==0){
fD0Daughter0=DaughterProperties.release();
AddControlObject(fD0Daughter0);
}
if(daughter==1){
fD0Daughter1=DaughterProperties.release();
AddControlObject(fD0Daughter1);
}
return 0;
}
int AliDxHFEParticleSelectionD0::HistogramParticleProperties(AliVParticle* p, int selectionCode)
{
if (!p) return -EINVAL;
AliDxHFEParticleSelection::HistogramParticleProperties(p, selectionCode);
if (selectionCode==0) return 0;
AliAODRecoDecayHF2Prong* part=dynamic_cast<AliAODRecoDecayHF2Prong*>(p);
if(!part) return 0;
AliAODTrack *prongpos=(AliAODTrack*)part->GetDaughter(0);
AliAODTrack *prongneg=(AliAODTrack*)part->GetDaughter(1);
if(!prongpos || !prongneg) {
return 0;
}
fD0InvMass= part->InvMassD0();
fPtBin=fCuts->PtBin(part->Pt());
Double_t KProperties[]={prongneg->Pt(),prongneg->Phi(),(Double_t)fPtBin, fD0InvMass,prongneg->Eta()};
Double_t piProperties[]={prongpos->Pt(),prongpos->Phi(),(Double_t)fPtBin,fD0InvMass,prongpos->Eta()};
if ((selectionCode==1 || selectionCode==3) && fFillOnlyD0D0bar<2) {
if(fD0Properties && ParticleProperties()) {
memset(ParticleProperties(), 0, GetDimTHnSparse()*sizeof(ParticleProperties()[0]));
FillParticleProperties(p, ParticleProperties(), GetDimTHnSparse());
fD0Properties->Fill(ParticleProperties());
}
if(fD0Daughter0) fD0Daughter0->Fill(piProperties);
if(fD0Daughter1) fD0Daughter1->Fill(KProperties);
}
if ((selectionCode==2 || selectionCode==3) && (fFillOnlyD0D0bar==0 || fFillOnlyD0D0bar==2)) {
fD0InvMass= part->InvMassD0bar();
if(fD0Properties && ParticleProperties()) {
memset(ParticleProperties(), 0, GetDimTHnSparse()*sizeof(ParticleProperties()[0]));
FillParticleProperties(p, ParticleProperties(), GetDimTHnSparse());
fD0Properties->Fill(ParticleProperties());
}
if(fD0Daughter0) fD0Daughter0->Fill(piProperties);
if(fD0Daughter1) fD0Daughter1->Fill(KProperties);
fD0InvMass= part->InvMassD0();
}
return 0;
}
TObjArray* AliDxHFEParticleSelectionD0::Select(TObjArray* pTracks, const AliVEvent *pEvent)
{
if (!pTracks) return NULL;
TObjArray* selectedTracks=new TObjArray;
if (!selectedTracks) return NULL;
selectedTracks->SetOwner(kFALSE);
TIter itrack(pTracks);
TObject* pObj=NULL;
while ((pObj=itrack())!=NULL) {
AliVParticle* track=dynamic_cast<AliVParticle*>(pObj);
if (!track) continue;
int selectionCode=IsSelected(track,pEvent);
HistogramParticleProperties(track, selectionCode);
if ((selectionCode==1 || selectionCode==3) && fFillOnlyD0D0bar<2)
selectedTracks->Add(CreateParticle(track));
if ((selectionCode==2 || selectionCode==3) && (fFillOnlyD0D0bar==0 || fFillOnlyD0D0bar==2)){
AliAODRecoDecayHF2Prong* prong=dynamic_cast<AliAODRecoDecayHF2Prong*>(track);
fD0InvMass=prong?prong->InvMassD0bar():0.;
selectedTracks->Add(CreateParticle(track));
}
}
HistogramEventProperties(AliDxHFEParticleSelection::kHistoNrTracksPrEvent,selectedTracks->GetEntries());
return selectedTracks;
}
int AliDxHFEParticleSelectionD0::IsSelected(AliVParticle* p, const AliVEvent* pEvent)
{
int selectionCode=0;
AliAODRecoDecayHF2Prong *d0 = dynamic_cast<AliAODRecoDecayHF2Prong*>(p);
if (!d0) return 0;
if(d0->GetSelectionMap()) if(!d0->HasSelectionBit(AliRDHFCuts::kD0toKpiCuts)){
AliDebug(1,"Skip D0 from Dstar");
((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kDstar);
return 0;
}
AliRDHFCuts* cuts=const_cast<AliRDHFCuts*>(fCuts);
if (!cuts) {
selectionCode=0;
}
else if(cuts->IsInFiducialAcceptance(d0->Pt(),d0->Y(421)) ) {
AliAODEvent* aod=NULL;
if (pEvent) aod=dynamic_cast<AliAODEvent*>(const_cast<AliVEvent*>(pEvent));
if(cuts->IsSelected(d0,AliRDHFCuts::kTracks,aod)) ((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kCandSelTrack);
Int_t ptbin=cuts->PtBin(d0->Pt());
if(ptbin==-1) {
((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kNegPtbin);
AliDebug(1,"Pt out of bounds");
return 0;
}
selectionCode=cuts->IsSelected(d0,AliRDHFCuts::kAll,aod);
if(selectionCode==0)
((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kSelected0);
if(selectionCode==1)
((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kSelectedD0);
if(selectionCode==2)
((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kSelectedD0bar);
if(selectionCode==3)
((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kSelectedboth);
AliDebug(1,Form("Candidate is %d \n", selectionCode));
TObject* o=NULL;
if (!((o=d0->GetDaughter(0))!=NULL && dynamic_cast<AliAODTrack*>(o)!=NULL &&
(o=d0->GetDaughter(1))!=NULL && dynamic_cast<AliAODTrack*>(o)!=NULL)) {
((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kNoDaugthers);
AliDebug(1,"at least one daughter not found!");
}
}
else{
((TH1D*)fHistoList->FindObject("fWhichCutD0"))->Fill(kIsInFinducialAcceptance);
}
return selectionCode;
}
void AliDxHFEParticleSelectionD0::SetCuts(TObject* cuts, int level)
{
if (level==kCutD0) {
fCuts=dynamic_cast<AliRDHFCuts*>(cuts);
if (!fCuts && cuts) {
AliError(Form("cuts object is not of required type AliRDHFCuts but %s", cuts->ClassName()));
}
return;
}
if (level==kCutList){
TList* CutList=dynamic_cast<TList*>(cuts);
if (!CutList && cuts) {
AliError(Form("cuts object is not of required type TList but %s", cuts->ClassName()));
}
else{
TObject *obj=NULL;
int iii=0;
TIter next(CutList);
while((obj = next())){
iii++;
if(iii==1) {
fCuts=dynamic_cast<AliRDHFCuts*>(obj);
if (!fCuts)
AliError(Form("Cut object is not of required type AliRDHFCuts but %s", obj->ClassName()));
}
}
}
return;
}
return;
}
int AliDxHFEParticleSelectionD0::ParseArguments(const char* arguments)
{
TString strArguments(arguments);
auto_ptr<TObjArray> tokens(strArguments.Tokenize(" "));
if (!tokens.get()) return 0;
AliInfo(strArguments);
TIter next(tokens.get());
TObject* token;
while ((token=next())) {
TString argument=token->GetName();
if (argument.BeginsWith("fillD0scheme=")){
argument.ReplaceAll("fillD0scheme=", "");
if (argument.CompareTo("both")==0){ fFillOnlyD0D0bar=0;}
else if (argument.CompareTo("D0")==0){ fFillOnlyD0D0bar=1;}
else if (argument.CompareTo("D0bar")==0){ fFillOnlyD0D0bar=2;}
else {
AliWarning(Form("can not set D0 filling scheme, unknown parameter '%s'", argument.Data()));
fFillOnlyD0D0bar=0;
}
continue;
}
AliDxHFEParticleSelection::ParseArguments(argument);
}
return 0;
}
AliVParticle *AliDxHFEParticleSelectionD0::CreateParticle(AliVParticle* track)
{
AliReducedParticle *part = new AliReducedParticle(track->Eta(), track->Phi(), track->Pt(),fD0InvMass,fPtBin);
return part;
}
AliDxHFEParticleSelectionD0.cxx:1 AliDxHFEParticleSelectionD0.cxx:2 AliDxHFEParticleSelectionD0.cxx:3 AliDxHFEParticleSelectionD0.cxx:4 AliDxHFEParticleSelectionD0.cxx:5 AliDxHFEParticleSelectionD0.cxx:6 AliDxHFEParticleSelectionD0.cxx:7 AliDxHFEParticleSelectionD0.cxx:8 AliDxHFEParticleSelectionD0.cxx:9 AliDxHFEParticleSelectionD0.cxx:10 AliDxHFEParticleSelectionD0.cxx:11 AliDxHFEParticleSelectionD0.cxx:12 AliDxHFEParticleSelectionD0.cxx:13 AliDxHFEParticleSelectionD0.cxx:14 AliDxHFEParticleSelectionD0.cxx:15 AliDxHFEParticleSelectionD0.cxx:16 AliDxHFEParticleSelectionD0.cxx:17 AliDxHFEParticleSelectionD0.cxx:18 AliDxHFEParticleSelectionD0.cxx:19 AliDxHFEParticleSelectionD0.cxx:20 AliDxHFEParticleSelectionD0.cxx:21 AliDxHFEParticleSelectionD0.cxx:22 AliDxHFEParticleSelectionD0.cxx:23 AliDxHFEParticleSelectionD0.cxx:24 AliDxHFEParticleSelectionD0.cxx:25 AliDxHFEParticleSelectionD0.cxx:26 AliDxHFEParticleSelectionD0.cxx:27 AliDxHFEParticleSelectionD0.cxx:28 AliDxHFEParticleSelectionD0.cxx:29 AliDxHFEParticleSelectionD0.cxx:30 AliDxHFEParticleSelectionD0.cxx:31 AliDxHFEParticleSelectionD0.cxx:32 AliDxHFEParticleSelectionD0.cxx:33 AliDxHFEParticleSelectionD0.cxx:34 AliDxHFEParticleSelectionD0.cxx:35 AliDxHFEParticleSelectionD0.cxx:36 AliDxHFEParticleSelectionD0.cxx:37 AliDxHFEParticleSelectionD0.cxx:38 AliDxHFEParticleSelectionD0.cxx:39 AliDxHFEParticleSelectionD0.cxx:40 AliDxHFEParticleSelectionD0.cxx:41 AliDxHFEParticleSelectionD0.cxx:42 AliDxHFEParticleSelectionD0.cxx:43 AliDxHFEParticleSelectionD0.cxx:44 AliDxHFEParticleSelectionD0.cxx:45 AliDxHFEParticleSelectionD0.cxx:46 AliDxHFEParticleSelectionD0.cxx:47 AliDxHFEParticleSelectionD0.cxx:48 AliDxHFEParticleSelectionD0.cxx:49 AliDxHFEParticleSelectionD0.cxx:50 AliDxHFEParticleSelectionD0.cxx:51 AliDxHFEParticleSelectionD0.cxx:52 AliDxHFEParticleSelectionD0.cxx:53 AliDxHFEParticleSelectionD0.cxx:54 AliDxHFEParticleSelectionD0.cxx:55 AliDxHFEParticleSelectionD0.cxx:56 AliDxHFEParticleSelectionD0.cxx:57 AliDxHFEParticleSelectionD0.cxx:58 AliDxHFEParticleSelectionD0.cxx:59 AliDxHFEParticleSelectionD0.cxx:60 AliDxHFEParticleSelectionD0.cxx:61 AliDxHFEParticleSelectionD0.cxx:62 AliDxHFEParticleSelectionD0.cxx:63 AliDxHFEParticleSelectionD0.cxx:64 AliDxHFEParticleSelectionD0.cxx:65 AliDxHFEParticleSelectionD0.cxx:66 AliDxHFEParticleSelectionD0.cxx:67 AliDxHFEParticleSelectionD0.cxx:68 AliDxHFEParticleSelectionD0.cxx:69 AliDxHFEParticleSelectionD0.cxx:70 AliDxHFEParticleSelectionD0.cxx:71 AliDxHFEParticleSelectionD0.cxx:72 AliDxHFEParticleSelectionD0.cxx:73 AliDxHFEParticleSelectionD0.cxx:74 AliDxHFEParticleSelectionD0.cxx:75 AliDxHFEParticleSelectionD0.cxx:76 AliDxHFEParticleSelectionD0.cxx:77 AliDxHFEParticleSelectionD0.cxx:78 AliDxHFEParticleSelectionD0.cxx:79 AliDxHFEParticleSelectionD0.cxx:80 AliDxHFEParticleSelectionD0.cxx:81 AliDxHFEParticleSelectionD0.cxx:82 AliDxHFEParticleSelectionD0.cxx:83 AliDxHFEParticleSelectionD0.cxx:84 AliDxHFEParticleSelectionD0.cxx:85 AliDxHFEParticleSelectionD0.cxx:86 AliDxHFEParticleSelectionD0.cxx:87 AliDxHFEParticleSelectionD0.cxx:88 AliDxHFEParticleSelectionD0.cxx:89 AliDxHFEParticleSelectionD0.cxx:90 AliDxHFEParticleSelectionD0.cxx:91 AliDxHFEParticleSelectionD0.cxx:92 AliDxHFEParticleSelectionD0.cxx:93 AliDxHFEParticleSelectionD0.cxx:94 AliDxHFEParticleSelectionD0.cxx:95 AliDxHFEParticleSelectionD0.cxx:96 AliDxHFEParticleSelectionD0.cxx:97 AliDxHFEParticleSelectionD0.cxx:98 AliDxHFEParticleSelectionD0.cxx:99 AliDxHFEParticleSelectionD0.cxx:100 AliDxHFEParticleSelectionD0.cxx:101 AliDxHFEParticleSelectionD0.cxx:102 AliDxHFEParticleSelectionD0.cxx:103 AliDxHFEParticleSelectionD0.cxx:104 AliDxHFEParticleSelectionD0.cxx:105 AliDxHFEParticleSelectionD0.cxx:106 AliDxHFEParticleSelectionD0.cxx:107 AliDxHFEParticleSelectionD0.cxx:108 AliDxHFEParticleSelectionD0.cxx:109 AliDxHFEParticleSelectionD0.cxx:110 AliDxHFEParticleSelectionD0.cxx:111 AliDxHFEParticleSelectionD0.cxx:112 AliDxHFEParticleSelectionD0.cxx:113 AliDxHFEParticleSelectionD0.cxx:114 AliDxHFEParticleSelectionD0.cxx:115 AliDxHFEParticleSelectionD0.cxx:116 AliDxHFEParticleSelectionD0.cxx:117 AliDxHFEParticleSelectionD0.cxx:118 AliDxHFEParticleSelectionD0.cxx:119 AliDxHFEParticleSelectionD0.cxx:120 AliDxHFEParticleSelectionD0.cxx:121 AliDxHFEParticleSelectionD0.cxx:122 AliDxHFEParticleSelectionD0.cxx:123 AliDxHFEParticleSelectionD0.cxx:124 AliDxHFEParticleSelectionD0.cxx:125 AliDxHFEParticleSelectionD0.cxx:126 AliDxHFEParticleSelectionD0.cxx:127 AliDxHFEParticleSelectionD0.cxx:128 AliDxHFEParticleSelectionD0.cxx:129 AliDxHFEParticleSelectionD0.cxx:130 AliDxHFEParticleSelectionD0.cxx:131 AliDxHFEParticleSelectionD0.cxx:132 AliDxHFEParticleSelectionD0.cxx:133 AliDxHFEParticleSelectionD0.cxx:134 AliDxHFEParticleSelectionD0.cxx:135 AliDxHFEParticleSelectionD0.cxx:136 AliDxHFEParticleSelectionD0.cxx:137 AliDxHFEParticleSelectionD0.cxx:138 AliDxHFEParticleSelectionD0.cxx:139 AliDxHFEParticleSelectionD0.cxx:140 AliDxHFEParticleSelectionD0.cxx:141 AliDxHFEParticleSelectionD0.cxx:142 AliDxHFEParticleSelectionD0.cxx:143 AliDxHFEParticleSelectionD0.cxx:144 AliDxHFEParticleSelectionD0.cxx:145 AliDxHFEParticleSelectionD0.cxx:146 AliDxHFEParticleSelectionD0.cxx:147 AliDxHFEParticleSelectionD0.cxx:148 AliDxHFEParticleSelectionD0.cxx:149 AliDxHFEParticleSelectionD0.cxx:150 AliDxHFEParticleSelectionD0.cxx:151 AliDxHFEParticleSelectionD0.cxx:152 AliDxHFEParticleSelectionD0.cxx:153 AliDxHFEParticleSelectionD0.cxx:154 AliDxHFEParticleSelectionD0.cxx:155 AliDxHFEParticleSelectionD0.cxx:156 AliDxHFEParticleSelectionD0.cxx:157 AliDxHFEParticleSelectionD0.cxx:158 AliDxHFEParticleSelectionD0.cxx:159 AliDxHFEParticleSelectionD0.cxx:160 AliDxHFEParticleSelectionD0.cxx:161 AliDxHFEParticleSelectionD0.cxx:162 AliDxHFEParticleSelectionD0.cxx:163 AliDxHFEParticleSelectionD0.cxx:164 AliDxHFEParticleSelectionD0.cxx:165 AliDxHFEParticleSelectionD0.cxx:166 AliDxHFEParticleSelectionD0.cxx:167 AliDxHFEParticleSelectionD0.cxx:168 AliDxHFEParticleSelectionD0.cxx:169 AliDxHFEParticleSelectionD0.cxx:170 AliDxHFEParticleSelectionD0.cxx:171 AliDxHFEParticleSelectionD0.cxx:172 AliDxHFEParticleSelectionD0.cxx:173 AliDxHFEParticleSelectionD0.cxx:174 AliDxHFEParticleSelectionD0.cxx:175 AliDxHFEParticleSelectionD0.cxx:176 AliDxHFEParticleSelectionD0.cxx:177 AliDxHFEParticleSelectionD0.cxx:178 AliDxHFEParticleSelectionD0.cxx:179 AliDxHFEParticleSelectionD0.cxx:180 AliDxHFEParticleSelectionD0.cxx:181 AliDxHFEParticleSelectionD0.cxx:182 AliDxHFEParticleSelectionD0.cxx:183 AliDxHFEParticleSelectionD0.cxx:184 AliDxHFEParticleSelectionD0.cxx:185 AliDxHFEParticleSelectionD0.cxx:186 AliDxHFEParticleSelectionD0.cxx:187 AliDxHFEParticleSelectionD0.cxx:188 AliDxHFEParticleSelectionD0.cxx:189 AliDxHFEParticleSelectionD0.cxx:190 AliDxHFEParticleSelectionD0.cxx:191 AliDxHFEParticleSelectionD0.cxx:192 AliDxHFEParticleSelectionD0.cxx:193 AliDxHFEParticleSelectionD0.cxx:194 AliDxHFEParticleSelectionD0.cxx:195 AliDxHFEParticleSelectionD0.cxx:196 AliDxHFEParticleSelectionD0.cxx:197 AliDxHFEParticleSelectionD0.cxx:198 AliDxHFEParticleSelectionD0.cxx:199 AliDxHFEParticleSelectionD0.cxx:200 AliDxHFEParticleSelectionD0.cxx:201 AliDxHFEParticleSelectionD0.cxx:202 AliDxHFEParticleSelectionD0.cxx:203 AliDxHFEParticleSelectionD0.cxx:204 AliDxHFEParticleSelectionD0.cxx:205 AliDxHFEParticleSelectionD0.cxx:206 AliDxHFEParticleSelectionD0.cxx:207 AliDxHFEParticleSelectionD0.cxx:208 AliDxHFEParticleSelectionD0.cxx:209 AliDxHFEParticleSelectionD0.cxx:210 AliDxHFEParticleSelectionD0.cxx:211 AliDxHFEParticleSelectionD0.cxx:212 AliDxHFEParticleSelectionD0.cxx:213 AliDxHFEParticleSelectionD0.cxx:214 AliDxHFEParticleSelectionD0.cxx:215 AliDxHFEParticleSelectionD0.cxx:216 AliDxHFEParticleSelectionD0.cxx:217 AliDxHFEParticleSelectionD0.cxx:218 AliDxHFEParticleSelectionD0.cxx:219 AliDxHFEParticleSelectionD0.cxx:220 AliDxHFEParticleSelectionD0.cxx:221 AliDxHFEParticleSelectionD0.cxx:222 AliDxHFEParticleSelectionD0.cxx:223 AliDxHFEParticleSelectionD0.cxx:224 AliDxHFEParticleSelectionD0.cxx:225 AliDxHFEParticleSelectionD0.cxx:226 AliDxHFEParticleSelectionD0.cxx:227 AliDxHFEParticleSelectionD0.cxx:228 AliDxHFEParticleSelectionD0.cxx:229 AliDxHFEParticleSelectionD0.cxx:230 AliDxHFEParticleSelectionD0.cxx:231 AliDxHFEParticleSelectionD0.cxx:232 AliDxHFEParticleSelectionD0.cxx:233 AliDxHFEParticleSelectionD0.cxx:234 AliDxHFEParticleSelectionD0.cxx:235 AliDxHFEParticleSelectionD0.cxx:236 AliDxHFEParticleSelectionD0.cxx:237 AliDxHFEParticleSelectionD0.cxx:238 AliDxHFEParticleSelectionD0.cxx:239 AliDxHFEParticleSelectionD0.cxx:240 AliDxHFEParticleSelectionD0.cxx:241 AliDxHFEParticleSelectionD0.cxx:242 AliDxHFEParticleSelectionD0.cxx:243 AliDxHFEParticleSelectionD0.cxx:244 AliDxHFEParticleSelectionD0.cxx:245 AliDxHFEParticleSelectionD0.cxx:246 AliDxHFEParticleSelectionD0.cxx:247 AliDxHFEParticleSelectionD0.cxx:248 AliDxHFEParticleSelectionD0.cxx:249 AliDxHFEParticleSelectionD0.cxx:250 AliDxHFEParticleSelectionD0.cxx:251 AliDxHFEParticleSelectionD0.cxx:252 AliDxHFEParticleSelectionD0.cxx:253 AliDxHFEParticleSelectionD0.cxx:254 AliDxHFEParticleSelectionD0.cxx:255 AliDxHFEParticleSelectionD0.cxx:256 AliDxHFEParticleSelectionD0.cxx:257 AliDxHFEParticleSelectionD0.cxx:258 AliDxHFEParticleSelectionD0.cxx:259 AliDxHFEParticleSelectionD0.cxx:260 AliDxHFEParticleSelectionD0.cxx:261 AliDxHFEParticleSelectionD0.cxx:262 AliDxHFEParticleSelectionD0.cxx:263 AliDxHFEParticleSelectionD0.cxx:264 AliDxHFEParticleSelectionD0.cxx:265 AliDxHFEParticleSelectionD0.cxx:266 AliDxHFEParticleSelectionD0.cxx:267 AliDxHFEParticleSelectionD0.cxx:268 AliDxHFEParticleSelectionD0.cxx:269 AliDxHFEParticleSelectionD0.cxx:270 AliDxHFEParticleSelectionD0.cxx:271 AliDxHFEParticleSelectionD0.cxx:272 AliDxHFEParticleSelectionD0.cxx:273 AliDxHFEParticleSelectionD0.cxx:274 AliDxHFEParticleSelectionD0.cxx:275 AliDxHFEParticleSelectionD0.cxx:276 AliDxHFEParticleSelectionD0.cxx:277 AliDxHFEParticleSelectionD0.cxx:278 AliDxHFEParticleSelectionD0.cxx:279 AliDxHFEParticleSelectionD0.cxx:280 AliDxHFEParticleSelectionD0.cxx:281 AliDxHFEParticleSelectionD0.cxx:282 AliDxHFEParticleSelectionD0.cxx:283 AliDxHFEParticleSelectionD0.cxx:284 AliDxHFEParticleSelectionD0.cxx:285 AliDxHFEParticleSelectionD0.cxx:286 AliDxHFEParticleSelectionD0.cxx:287 AliDxHFEParticleSelectionD0.cxx:288 AliDxHFEParticleSelectionD0.cxx:289 AliDxHFEParticleSelectionD0.cxx:290 AliDxHFEParticleSelectionD0.cxx:291 AliDxHFEParticleSelectionD0.cxx:292 AliDxHFEParticleSelectionD0.cxx:293 AliDxHFEParticleSelectionD0.cxx:294 AliDxHFEParticleSelectionD0.cxx:295 AliDxHFEParticleSelectionD0.cxx:296 AliDxHFEParticleSelectionD0.cxx:297 AliDxHFEParticleSelectionD0.cxx:298 AliDxHFEParticleSelectionD0.cxx:299 AliDxHFEParticleSelectionD0.cxx:300 AliDxHFEParticleSelectionD0.cxx:301 AliDxHFEParticleSelectionD0.cxx:302 AliDxHFEParticleSelectionD0.cxx:303 AliDxHFEParticleSelectionD0.cxx:304 AliDxHFEParticleSelectionD0.cxx:305 AliDxHFEParticleSelectionD0.cxx:306 AliDxHFEParticleSelectionD0.cxx:307 AliDxHFEParticleSelectionD0.cxx:308 AliDxHFEParticleSelectionD0.cxx:309 AliDxHFEParticleSelectionD0.cxx:310 AliDxHFEParticleSelectionD0.cxx:311 AliDxHFEParticleSelectionD0.cxx:312 AliDxHFEParticleSelectionD0.cxx:313 AliDxHFEParticleSelectionD0.cxx:314 AliDxHFEParticleSelectionD0.cxx:315 AliDxHFEParticleSelectionD0.cxx:316 AliDxHFEParticleSelectionD0.cxx:317 AliDxHFEParticleSelectionD0.cxx:318 AliDxHFEParticleSelectionD0.cxx:319 AliDxHFEParticleSelectionD0.cxx:320 AliDxHFEParticleSelectionD0.cxx:321 AliDxHFEParticleSelectionD0.cxx:322 AliDxHFEParticleSelectionD0.cxx:323 AliDxHFEParticleSelectionD0.cxx:324 AliDxHFEParticleSelectionD0.cxx:325 AliDxHFEParticleSelectionD0.cxx:326 AliDxHFEParticleSelectionD0.cxx:327 AliDxHFEParticleSelectionD0.cxx:328 AliDxHFEParticleSelectionD0.cxx:329 AliDxHFEParticleSelectionD0.cxx:330 AliDxHFEParticleSelectionD0.cxx:331 AliDxHFEParticleSelectionD0.cxx:332 AliDxHFEParticleSelectionD0.cxx:333 AliDxHFEParticleSelectionD0.cxx:334 AliDxHFEParticleSelectionD0.cxx:335 AliDxHFEParticleSelectionD0.cxx:336 AliDxHFEParticleSelectionD0.cxx:337 AliDxHFEParticleSelectionD0.cxx:338 AliDxHFEParticleSelectionD0.cxx:339 AliDxHFEParticleSelectionD0.cxx:340 AliDxHFEParticleSelectionD0.cxx:341 AliDxHFEParticleSelectionD0.cxx:342 AliDxHFEParticleSelectionD0.cxx:343 AliDxHFEParticleSelectionD0.cxx:344 AliDxHFEParticleSelectionD0.cxx:345 AliDxHFEParticleSelectionD0.cxx:346 AliDxHFEParticleSelectionD0.cxx:347 AliDxHFEParticleSelectionD0.cxx:348 AliDxHFEParticleSelectionD0.cxx:349 AliDxHFEParticleSelectionD0.cxx:350 AliDxHFEParticleSelectionD0.cxx:351 AliDxHFEParticleSelectionD0.cxx:352 AliDxHFEParticleSelectionD0.cxx:353 AliDxHFEParticleSelectionD0.cxx:354 AliDxHFEParticleSelectionD0.cxx:355 AliDxHFEParticleSelectionD0.cxx:356 AliDxHFEParticleSelectionD0.cxx:357 AliDxHFEParticleSelectionD0.cxx:358 AliDxHFEParticleSelectionD0.cxx:359 AliDxHFEParticleSelectionD0.cxx:360 AliDxHFEParticleSelectionD0.cxx:361 AliDxHFEParticleSelectionD0.cxx:362 AliDxHFEParticleSelectionD0.cxx:363 AliDxHFEParticleSelectionD0.cxx:364 AliDxHFEParticleSelectionD0.cxx:365 AliDxHFEParticleSelectionD0.cxx:366 AliDxHFEParticleSelectionD0.cxx:367 AliDxHFEParticleSelectionD0.cxx:368 AliDxHFEParticleSelectionD0.cxx:369 AliDxHFEParticleSelectionD0.cxx:370 AliDxHFEParticleSelectionD0.cxx:371 AliDxHFEParticleSelectionD0.cxx:372 AliDxHFEParticleSelectionD0.cxx:373 AliDxHFEParticleSelectionD0.cxx:374 AliDxHFEParticleSelectionD0.cxx:375 AliDxHFEParticleSelectionD0.cxx:376 AliDxHFEParticleSelectionD0.cxx:377 AliDxHFEParticleSelectionD0.cxx:378 AliDxHFEParticleSelectionD0.cxx:379 AliDxHFEParticleSelectionD0.cxx:380 AliDxHFEParticleSelectionD0.cxx:381 AliDxHFEParticleSelectionD0.cxx:382 AliDxHFEParticleSelectionD0.cxx:383 AliDxHFEParticleSelectionD0.cxx:384 AliDxHFEParticleSelectionD0.cxx:385 AliDxHFEParticleSelectionD0.cxx:386 AliDxHFEParticleSelectionD0.cxx:387 AliDxHFEParticleSelectionD0.cxx:388 AliDxHFEParticleSelectionD0.cxx:389 AliDxHFEParticleSelectionD0.cxx:390 AliDxHFEParticleSelectionD0.cxx:391 AliDxHFEParticleSelectionD0.cxx:392 AliDxHFEParticleSelectionD0.cxx:393 AliDxHFEParticleSelectionD0.cxx:394 AliDxHFEParticleSelectionD0.cxx:395 AliDxHFEParticleSelectionD0.cxx:396 AliDxHFEParticleSelectionD0.cxx:397 AliDxHFEParticleSelectionD0.cxx:398 AliDxHFEParticleSelectionD0.cxx:399 AliDxHFEParticleSelectionD0.cxx:400 AliDxHFEParticleSelectionD0.cxx:401 AliDxHFEParticleSelectionD0.cxx:402 AliDxHFEParticleSelectionD0.cxx:403 AliDxHFEParticleSelectionD0.cxx:404 AliDxHFEParticleSelectionD0.cxx:405 AliDxHFEParticleSelectionD0.cxx:406 AliDxHFEParticleSelectionD0.cxx:407 AliDxHFEParticleSelectionD0.cxx:408 AliDxHFEParticleSelectionD0.cxx:409 AliDxHFEParticleSelectionD0.cxx:410 AliDxHFEParticleSelectionD0.cxx:411 AliDxHFEParticleSelectionD0.cxx:412 AliDxHFEParticleSelectionD0.cxx:413 AliDxHFEParticleSelectionD0.cxx:414 AliDxHFEParticleSelectionD0.cxx:415 AliDxHFEParticleSelectionD0.cxx:416 AliDxHFEParticleSelectionD0.cxx:417 AliDxHFEParticleSelectionD0.cxx:418 AliDxHFEParticleSelectionD0.cxx:419 AliDxHFEParticleSelectionD0.cxx:420 AliDxHFEParticleSelectionD0.cxx:421 AliDxHFEParticleSelectionD0.cxx:422 AliDxHFEParticleSelectionD0.cxx:423 AliDxHFEParticleSelectionD0.cxx:424 AliDxHFEParticleSelectionD0.cxx:425 AliDxHFEParticleSelectionD0.cxx:426 AliDxHFEParticleSelectionD0.cxx:427 AliDxHFEParticleSelectionD0.cxx:428 AliDxHFEParticleSelectionD0.cxx:429 AliDxHFEParticleSelectionD0.cxx:430 AliDxHFEParticleSelectionD0.cxx:431 AliDxHFEParticleSelectionD0.cxx:432 AliDxHFEParticleSelectionD0.cxx:433 AliDxHFEParticleSelectionD0.cxx:434 AliDxHFEParticleSelectionD0.cxx:435 AliDxHFEParticleSelectionD0.cxx:436 AliDxHFEParticleSelectionD0.cxx:437 AliDxHFEParticleSelectionD0.cxx:438 AliDxHFEParticleSelectionD0.cxx:439 AliDxHFEParticleSelectionD0.cxx:440 AliDxHFEParticleSelectionD0.cxx:441 AliDxHFEParticleSelectionD0.cxx:442 AliDxHFEParticleSelectionD0.cxx:443 AliDxHFEParticleSelectionD0.cxx:444 AliDxHFEParticleSelectionD0.cxx:445 AliDxHFEParticleSelectionD0.cxx:446 AliDxHFEParticleSelectionD0.cxx:447 AliDxHFEParticleSelectionD0.cxx:448 AliDxHFEParticleSelectionD0.cxx:449 AliDxHFEParticleSelectionD0.cxx:450 AliDxHFEParticleSelectionD0.cxx:451 AliDxHFEParticleSelectionD0.cxx:452 AliDxHFEParticleSelectionD0.cxx:453 AliDxHFEParticleSelectionD0.cxx:454 AliDxHFEParticleSelectionD0.cxx:455 AliDxHFEParticleSelectionD0.cxx:456