#include "AliDxHFEParticleSelectionMCEl.h"
#include "AliVParticle.h"
#include "AliLog.h"
#include "THnSparse.h"
#include "AliAODMCParticle.h"
#include "TH1F.h"
#include "TAxis.h"
#include "AliAODTrack.h"
#include "AliReducedParticle.h"
#include <iostream>
#include <cerrno>
#include <memory>
using namespace std;
using std::vector;
ClassImp(AliDxHFEParticleSelectionMCEl)
AliDxHFEParticleSelectionMCEl::AliDxHFEParticleSelectionMCEl(const char* opt)
: AliDxHFEParticleSelectionEl(opt)
, fMCTools()
, fPDGnotMCElectron(NULL)
, fPDGNotHFMother(NULL)
, fOriginMother(0)
, fResultMC(0)
, fUseKine(kFALSE)
, fMotherPDGs(0)
, fUseMCReco(kFALSE)
, fSelectionStep(AliDxHFEParticleSelectionEl::kNoCuts)
, fStoreCutStepInfo(kFALSE)
{
fMCTools.~AliDxHFEToolsMC();
ParseArguments(opt);
if(fUseMCReco && fUseKine) AliFatal("CAN'T SET BOTH usekine AND elmcreco AT THE SAME TIME");
TString toolopt("pdg=11 mc-last");
if(fUseKine) toolopt+=" usekine";
new (&fMCTools) AliDxHFEToolsMC(toolopt);
}
const char* AliDxHFEParticleSelectionMCEl::fgkPDGMotherBinLabels[]={
"d",
"u",
"s",
"c",
"b",
"gluon",
"gamma",
"#pi^{0}",
"#eta",
"proton",
"others"
};
const char* AliDxHFEParticleSelectionMCEl::fgkPDGBinLabels[]={
"positron",
"electron",
"#mu+",
"#mu-",
"#pi+",
"#pi-",
"K+",
"K-",
"proton",
"antiproton",
"others"
};
AliDxHFEParticleSelectionMCEl::~AliDxHFEParticleSelectionMCEl()
{
if(fPDGnotMCElectron){
delete fPDGnotMCElectron;
fPDGnotMCElectron=NULL;
}
}
int AliDxHFEParticleSelectionMCEl::Init()
{
fMotherPDGs.push_back(AliDxHFEToolsMC::kPDGpi0);
fMotherPDGs.push_back(AliDxHFEToolsMC::kPDGeta);
fMotherPDGs.push_back(AliDxHFEToolsMC::kPDGgamma);
fMotherPDGs.push_back(AliDxHFEToolsMC::kPDGJpsi);
int iResult=0;
iResult=AliDxHFEParticleSelectionEl::Init();
if (iResult<0) return iResult;
fPDGnotMCElectron=CreateControlHistogram("fPDGnotMCElectron","PDG of track not MC truth electron",AliDxHFEToolsMC::kNofPDGLabels,fgkPDGBinLabels);
fPDGNotHFMother=CreateControlHistogram("fPDGNotHFMother","PDG of mother not HF",5000);
AddControlObject(fPDGnotMCElectron);
AddControlObject(fPDGNotHFMother);
return 0;
}
THnSparse* AliDxHFEParticleSelectionMCEl::DefineTHnSparse()
{
const double Pi=TMath::Pi();
TString name;
THnSparse* thn=NULL;
name.Form("%s info", GetName());
if(fStoreCutStepInfo){
const int thnSizeExt =5;
InitTHnSparseArray(thnSizeExt);
int thnBinsExt[thnSizeExt] = { 100, 100, 100, 15, kNCutLabels };
double thnMinExt [thnSizeExt] = { 0, 0, -1., -1.5, kRecKineITSTPC };
double thnMaxExt [thnSizeExt] = { 10, 2*Pi, 1., 13.5, kSelected };
const char* thnNamesExt[thnSizeExt]={
"Pt",
"Phi",
"Eta",
"Mother",
"Last survived cut step"
};
thn=(THnSparse*)CreateControlTHnSparse(name,thnSizeExt,thnBinsExt,thnMinExt,thnMaxExt,thnNamesExt);
}
else{
const int thnSize =4;
InitTHnSparseArray(thnSize);
int thnBins[thnSize] = { 100, 100, 100, 15 };
double thnMin [thnSize] = { 0, 0, -1., -1.5 };
double thnMax [thnSize] = { 10, 2*Pi, 1., 13.5 };
const char* thnNames[thnSize]={
"Pt",
"Phi",
"Eta",
"Mother",
};
thn=(THnSparse*)CreateControlTHnSparse(name,thnSize,thnBins,thnMin,thnMax,thnNames);
}
return thn;
}
int AliDxHFEParticleSelectionMCEl::FillParticleProperties(AliVParticle* p, Double_t* data, int dimension) const
{
if (!data) return -EINVAL;
if (!p) return -ENODATA;
AliReducedParticle *trRP=dynamic_cast<AliReducedParticle*>(p);
int i=0;
if (dimension!=GetDimTHnSparse()) {
return -ENOSPC;
}
memset(data, 0, dimension*sizeof(data[0]));
data[i++]=p->Pt();
data[i++]=p->Phi();
data[i++]=p->Eta();
if (trRP) data[i]=trRP->GetOriginMother();
else data[i]=fOriginMother;
i++;
if (i<dimension) {
if(fStoreCutStepInfo) data[i]=GetLastSurvivedCutsStep();
i++;
}
return i;
}
int AliDxHFEParticleSelectionMCEl::IsSelected(AliVParticle* p, const AliVEvent* pEvent)
{
int iResult=0;
if (!p || !pEvent){
return -EINVAL;
}
fOriginMother=-1;
if(!fUseKine && !fUseMCReco){
if (fMCTools.MCFirst() && (iResult=CheckMC(p, pEvent))==0) {
return iResult;
}
iResult=AliDxHFEParticleSelectionEl::IsSelected(p, pEvent);
if (fMCTools.MCFirst() || iResult==0) return iResult;
}
if(fUseMCReco) {
iResult=AliDxHFEParticleSelectionEl::IsSelected(p, pEvent);
if(iResult == 0) return iResult;
}
fResultMC=CheckMC(p, pEvent);
if(fUseKine || fUseMCReco)
return fResultMC;
return iResult;
}
int AliDxHFEParticleSelectionMCEl::CheckMC(AliVParticle* p, const AliVEvent* pEvent)
{
if (!p || !pEvent){
return -EINVAL;
}
int iResult=0;
if (!fMCTools.IsInitialized() && (iResult=fMCTools.InitMCParticles(pEvent))<0) {
return 0;
}
if(fUseKine){
Int_t test = fMCTools.CheckMCParticle(p);
if(test==1) return 0;
AliAODMCParticle *mcp=dynamic_cast<AliAODMCParticle*>(p);
if(!mcp || !mcp->IsPhysicalPrimary()) return 0;
}
int pdgParticle=-1;
if (!fUseKine && fMCTools.RejectByPDG(p,false, &pdgParticle)) {
fPDGnotMCElectron->Fill(fMCTools.MapPDGLabel(pdgParticle));
return 0;
}
int pdgMother=0;
pdgMother=fMCTools.FindMotherPDG(p,AliDxHFEToolsMC::kGetFirstMother);
Bool_t isNotBackground=fMCTools.RejectByPDG(pdgMother,fMotherPDGs);
if(!isNotBackground){
switch(pdgMother){
case(AliDxHFEToolsMC::kPDGpi0): fOriginMother=AliDxHFEToolsMC::kNrOrginMother; break;
case(AliDxHFEToolsMC::kPDGeta): fOriginMother=AliDxHFEToolsMC::kNrOrginMother+1; break;
case(AliDxHFEToolsMC::kPDGgamma): fOriginMother=AliDxHFEToolsMC::kNrOrginMother+2;break;
case(AliDxHFEToolsMC::kPDGJpsi): fOriginMother=AliDxHFEToolsMC::kNrOrginMother+3;break;
}
}
else{
Bool_t isHFmeson =fMCTools.TestMotherHFMeson(TMath::Abs(pdgMother));
if(isHFmeson){
pdgMother=fMCTools.FindMotherPDG(p,AliDxHFEToolsMC::kGetOriginMother);
fOriginMother=fMCTools.GetOriginMother();
}
else{
fPDGNotHFMother->Fill(pdgMother);
fOriginMother=AliDxHFEToolsMC::kNrOrginMother+4;
}
}
return 1;
}
void AliDxHFEParticleSelectionMCEl::Clear(const char* option)
{
fMCTools.Clear(option);
}
AliVParticle *AliDxHFEParticleSelectionMCEl::CreateParticle(AliVParticle* track)
{
AliReducedParticle *part = new AliReducedParticle(track->Eta(), track->Phi(), track->Pt(),track->Charge(),fOriginMother);
return part;
}
int AliDxHFEParticleSelectionMCEl::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("usekine") ){
fUseKine=kTRUE;
continue;
}
if (argument.BeginsWith("elmcreco")){
fUseMCReco=kTRUE;
if(argument.BeginsWith("elmcreco=")){
argument.ReplaceAll("elmcreco=", "");
if(argument.CompareTo("alltracks")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kNoCuts;
if(argument.CompareTo("afterreckineitstpc")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kRecKineITSTPC;
if(argument.CompareTo("afterrecprim")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kRecPrim;
if(argument.CompareTo("afterhfeits")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kHFEcutsITS;
if(argument.CompareTo("afterhfetof")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kHFEcutsTOF;
if(argument.CompareTo("afterhfetpc")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kHFEcutsTPC;
if(argument.CompareTo("aftertrackcuts")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kHFEcutsTPC;
if(argument.CompareTo("aftertofpid")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kPIDTOF;
if(argument.CompareTo("aftertpcpid")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kPIDTPC;
if(argument.CompareTo("afterfullpid")==0) fSelectionStep=AliDxHFEParticleSelectionEl::kPIDTOFTPC;
AliDxHFEParticleSelectionEl::SetFinalCutStep(fSelectionStep);
}
continue;
}
if(argument.BeginsWith("storelastcutstep")){
AliInfo("Stores the last cut step");
fUseMCReco=kTRUE;
fStoreCutStepInfo=kTRUE;
AliDxHFEParticleSelectionEl::SetStoreLastCutStep(kTRUE);
continue;
}
AliDxHFEParticleSelection::ParseArguments(argument);
}
return 0;
}
AliDxHFEParticleSelectionMCEl.cxx:1 AliDxHFEParticleSelectionMCEl.cxx:2 AliDxHFEParticleSelectionMCEl.cxx:3 AliDxHFEParticleSelectionMCEl.cxx:4 AliDxHFEParticleSelectionMCEl.cxx:5 AliDxHFEParticleSelectionMCEl.cxx:6 AliDxHFEParticleSelectionMCEl.cxx:7 AliDxHFEParticleSelectionMCEl.cxx:8 AliDxHFEParticleSelectionMCEl.cxx:9 AliDxHFEParticleSelectionMCEl.cxx:10 AliDxHFEParticleSelectionMCEl.cxx:11 AliDxHFEParticleSelectionMCEl.cxx:12 AliDxHFEParticleSelectionMCEl.cxx:13 AliDxHFEParticleSelectionMCEl.cxx:14 AliDxHFEParticleSelectionMCEl.cxx:15 AliDxHFEParticleSelectionMCEl.cxx:16 AliDxHFEParticleSelectionMCEl.cxx:17 AliDxHFEParticleSelectionMCEl.cxx:18 AliDxHFEParticleSelectionMCEl.cxx:19 AliDxHFEParticleSelectionMCEl.cxx:20 AliDxHFEParticleSelectionMCEl.cxx:21 AliDxHFEParticleSelectionMCEl.cxx:22 AliDxHFEParticleSelectionMCEl.cxx:23 AliDxHFEParticleSelectionMCEl.cxx:24 AliDxHFEParticleSelectionMCEl.cxx:25 AliDxHFEParticleSelectionMCEl.cxx:26 AliDxHFEParticleSelectionMCEl.cxx:27 AliDxHFEParticleSelectionMCEl.cxx:28 AliDxHFEParticleSelectionMCEl.cxx:29 AliDxHFEParticleSelectionMCEl.cxx:30 AliDxHFEParticleSelectionMCEl.cxx:31 AliDxHFEParticleSelectionMCEl.cxx:32 AliDxHFEParticleSelectionMCEl.cxx:33 AliDxHFEParticleSelectionMCEl.cxx:34 AliDxHFEParticleSelectionMCEl.cxx:35 AliDxHFEParticleSelectionMCEl.cxx:36 AliDxHFEParticleSelectionMCEl.cxx:37 AliDxHFEParticleSelectionMCEl.cxx:38 AliDxHFEParticleSelectionMCEl.cxx:39 AliDxHFEParticleSelectionMCEl.cxx:40 AliDxHFEParticleSelectionMCEl.cxx:41 AliDxHFEParticleSelectionMCEl.cxx:42 AliDxHFEParticleSelectionMCEl.cxx:43 AliDxHFEParticleSelectionMCEl.cxx:44 AliDxHFEParticleSelectionMCEl.cxx:45 AliDxHFEParticleSelectionMCEl.cxx:46 AliDxHFEParticleSelectionMCEl.cxx:47 AliDxHFEParticleSelectionMCEl.cxx:48 AliDxHFEParticleSelectionMCEl.cxx:49 AliDxHFEParticleSelectionMCEl.cxx:50 AliDxHFEParticleSelectionMCEl.cxx:51 AliDxHFEParticleSelectionMCEl.cxx:52 AliDxHFEParticleSelectionMCEl.cxx:53 AliDxHFEParticleSelectionMCEl.cxx:54 AliDxHFEParticleSelectionMCEl.cxx:55 AliDxHFEParticleSelectionMCEl.cxx:56 AliDxHFEParticleSelectionMCEl.cxx:57 AliDxHFEParticleSelectionMCEl.cxx:58 AliDxHFEParticleSelectionMCEl.cxx:59 AliDxHFEParticleSelectionMCEl.cxx:60 AliDxHFEParticleSelectionMCEl.cxx:61 AliDxHFEParticleSelectionMCEl.cxx:62 AliDxHFEParticleSelectionMCEl.cxx:63 AliDxHFEParticleSelectionMCEl.cxx:64 AliDxHFEParticleSelectionMCEl.cxx:65 AliDxHFEParticleSelectionMCEl.cxx:66 AliDxHFEParticleSelectionMCEl.cxx:67 AliDxHFEParticleSelectionMCEl.cxx:68 AliDxHFEParticleSelectionMCEl.cxx:69 AliDxHFEParticleSelectionMCEl.cxx:70 AliDxHFEParticleSelectionMCEl.cxx:71 AliDxHFEParticleSelectionMCEl.cxx:72 AliDxHFEParticleSelectionMCEl.cxx:73 AliDxHFEParticleSelectionMCEl.cxx:74 AliDxHFEParticleSelectionMCEl.cxx:75 AliDxHFEParticleSelectionMCEl.cxx:76 AliDxHFEParticleSelectionMCEl.cxx:77 AliDxHFEParticleSelectionMCEl.cxx:78 AliDxHFEParticleSelectionMCEl.cxx:79 AliDxHFEParticleSelectionMCEl.cxx:80 AliDxHFEParticleSelectionMCEl.cxx:81 AliDxHFEParticleSelectionMCEl.cxx:82 AliDxHFEParticleSelectionMCEl.cxx:83 AliDxHFEParticleSelectionMCEl.cxx:84 AliDxHFEParticleSelectionMCEl.cxx:85 AliDxHFEParticleSelectionMCEl.cxx:86 AliDxHFEParticleSelectionMCEl.cxx:87 AliDxHFEParticleSelectionMCEl.cxx:88 AliDxHFEParticleSelectionMCEl.cxx:89 AliDxHFEParticleSelectionMCEl.cxx:90 AliDxHFEParticleSelectionMCEl.cxx:91 AliDxHFEParticleSelectionMCEl.cxx:92 AliDxHFEParticleSelectionMCEl.cxx:93 AliDxHFEParticleSelectionMCEl.cxx:94 AliDxHFEParticleSelectionMCEl.cxx:95 AliDxHFEParticleSelectionMCEl.cxx:96 AliDxHFEParticleSelectionMCEl.cxx:97 AliDxHFEParticleSelectionMCEl.cxx:98 AliDxHFEParticleSelectionMCEl.cxx:99 AliDxHFEParticleSelectionMCEl.cxx:100 AliDxHFEParticleSelectionMCEl.cxx:101 AliDxHFEParticleSelectionMCEl.cxx:102 AliDxHFEParticleSelectionMCEl.cxx:103 AliDxHFEParticleSelectionMCEl.cxx:104 AliDxHFEParticleSelectionMCEl.cxx:105 AliDxHFEParticleSelectionMCEl.cxx:106 AliDxHFEParticleSelectionMCEl.cxx:107 AliDxHFEParticleSelectionMCEl.cxx:108 AliDxHFEParticleSelectionMCEl.cxx:109 AliDxHFEParticleSelectionMCEl.cxx:110 AliDxHFEParticleSelectionMCEl.cxx:111 AliDxHFEParticleSelectionMCEl.cxx:112 AliDxHFEParticleSelectionMCEl.cxx:113 AliDxHFEParticleSelectionMCEl.cxx:114 AliDxHFEParticleSelectionMCEl.cxx:115 AliDxHFEParticleSelectionMCEl.cxx:116 AliDxHFEParticleSelectionMCEl.cxx:117 AliDxHFEParticleSelectionMCEl.cxx:118 AliDxHFEParticleSelectionMCEl.cxx:119 AliDxHFEParticleSelectionMCEl.cxx:120 AliDxHFEParticleSelectionMCEl.cxx:121 AliDxHFEParticleSelectionMCEl.cxx:122 AliDxHFEParticleSelectionMCEl.cxx:123 AliDxHFEParticleSelectionMCEl.cxx:124 AliDxHFEParticleSelectionMCEl.cxx:125 AliDxHFEParticleSelectionMCEl.cxx:126 AliDxHFEParticleSelectionMCEl.cxx:127 AliDxHFEParticleSelectionMCEl.cxx:128 AliDxHFEParticleSelectionMCEl.cxx:129 AliDxHFEParticleSelectionMCEl.cxx:130 AliDxHFEParticleSelectionMCEl.cxx:131 AliDxHFEParticleSelectionMCEl.cxx:132 AliDxHFEParticleSelectionMCEl.cxx:133 AliDxHFEParticleSelectionMCEl.cxx:134 AliDxHFEParticleSelectionMCEl.cxx:135 AliDxHFEParticleSelectionMCEl.cxx:136 AliDxHFEParticleSelectionMCEl.cxx:137 AliDxHFEParticleSelectionMCEl.cxx:138 AliDxHFEParticleSelectionMCEl.cxx:139 AliDxHFEParticleSelectionMCEl.cxx:140 AliDxHFEParticleSelectionMCEl.cxx:141 AliDxHFEParticleSelectionMCEl.cxx:142 AliDxHFEParticleSelectionMCEl.cxx:143 AliDxHFEParticleSelectionMCEl.cxx:144 AliDxHFEParticleSelectionMCEl.cxx:145 AliDxHFEParticleSelectionMCEl.cxx:146 AliDxHFEParticleSelectionMCEl.cxx:147 AliDxHFEParticleSelectionMCEl.cxx:148 AliDxHFEParticleSelectionMCEl.cxx:149 AliDxHFEParticleSelectionMCEl.cxx:150 AliDxHFEParticleSelectionMCEl.cxx:151 AliDxHFEParticleSelectionMCEl.cxx:152 AliDxHFEParticleSelectionMCEl.cxx:153 AliDxHFEParticleSelectionMCEl.cxx:154 AliDxHFEParticleSelectionMCEl.cxx:155 AliDxHFEParticleSelectionMCEl.cxx:156 AliDxHFEParticleSelectionMCEl.cxx:157 AliDxHFEParticleSelectionMCEl.cxx:158 AliDxHFEParticleSelectionMCEl.cxx:159 AliDxHFEParticleSelectionMCEl.cxx:160 AliDxHFEParticleSelectionMCEl.cxx:161 AliDxHFEParticleSelectionMCEl.cxx:162 AliDxHFEParticleSelectionMCEl.cxx:163 AliDxHFEParticleSelectionMCEl.cxx:164 AliDxHFEParticleSelectionMCEl.cxx:165 AliDxHFEParticleSelectionMCEl.cxx:166 AliDxHFEParticleSelectionMCEl.cxx:167 AliDxHFEParticleSelectionMCEl.cxx:168 AliDxHFEParticleSelectionMCEl.cxx:169 AliDxHFEParticleSelectionMCEl.cxx:170 AliDxHFEParticleSelectionMCEl.cxx:171 AliDxHFEParticleSelectionMCEl.cxx:172 AliDxHFEParticleSelectionMCEl.cxx:173 AliDxHFEParticleSelectionMCEl.cxx:174 AliDxHFEParticleSelectionMCEl.cxx:175 AliDxHFEParticleSelectionMCEl.cxx:176 AliDxHFEParticleSelectionMCEl.cxx:177 AliDxHFEParticleSelectionMCEl.cxx:178 AliDxHFEParticleSelectionMCEl.cxx:179 AliDxHFEParticleSelectionMCEl.cxx:180 AliDxHFEParticleSelectionMCEl.cxx:181 AliDxHFEParticleSelectionMCEl.cxx:182 AliDxHFEParticleSelectionMCEl.cxx:183 AliDxHFEParticleSelectionMCEl.cxx:184 AliDxHFEParticleSelectionMCEl.cxx:185 AliDxHFEParticleSelectionMCEl.cxx:186 AliDxHFEParticleSelectionMCEl.cxx:187 AliDxHFEParticleSelectionMCEl.cxx:188 AliDxHFEParticleSelectionMCEl.cxx:189 AliDxHFEParticleSelectionMCEl.cxx:190 AliDxHFEParticleSelectionMCEl.cxx:191 AliDxHFEParticleSelectionMCEl.cxx:192 AliDxHFEParticleSelectionMCEl.cxx:193 AliDxHFEParticleSelectionMCEl.cxx:194 AliDxHFEParticleSelectionMCEl.cxx:195 AliDxHFEParticleSelectionMCEl.cxx:196 AliDxHFEParticleSelectionMCEl.cxx:197 AliDxHFEParticleSelectionMCEl.cxx:198 AliDxHFEParticleSelectionMCEl.cxx:199 AliDxHFEParticleSelectionMCEl.cxx:200 AliDxHFEParticleSelectionMCEl.cxx:201 AliDxHFEParticleSelectionMCEl.cxx:202 AliDxHFEParticleSelectionMCEl.cxx:203 AliDxHFEParticleSelectionMCEl.cxx:204 AliDxHFEParticleSelectionMCEl.cxx:205 AliDxHFEParticleSelectionMCEl.cxx:206 AliDxHFEParticleSelectionMCEl.cxx:207 AliDxHFEParticleSelectionMCEl.cxx:208 AliDxHFEParticleSelectionMCEl.cxx:209 AliDxHFEParticleSelectionMCEl.cxx:210 AliDxHFEParticleSelectionMCEl.cxx:211 AliDxHFEParticleSelectionMCEl.cxx:212 AliDxHFEParticleSelectionMCEl.cxx:213 AliDxHFEParticleSelectionMCEl.cxx:214 AliDxHFEParticleSelectionMCEl.cxx:215 AliDxHFEParticleSelectionMCEl.cxx:216 AliDxHFEParticleSelectionMCEl.cxx:217 AliDxHFEParticleSelectionMCEl.cxx:218 AliDxHFEParticleSelectionMCEl.cxx:219 AliDxHFEParticleSelectionMCEl.cxx:220 AliDxHFEParticleSelectionMCEl.cxx:221 AliDxHFEParticleSelectionMCEl.cxx:222 AliDxHFEParticleSelectionMCEl.cxx:223 AliDxHFEParticleSelectionMCEl.cxx:224 AliDxHFEParticleSelectionMCEl.cxx:225 AliDxHFEParticleSelectionMCEl.cxx:226 AliDxHFEParticleSelectionMCEl.cxx:227 AliDxHFEParticleSelectionMCEl.cxx:228 AliDxHFEParticleSelectionMCEl.cxx:229 AliDxHFEParticleSelectionMCEl.cxx:230 AliDxHFEParticleSelectionMCEl.cxx:231 AliDxHFEParticleSelectionMCEl.cxx:232 AliDxHFEParticleSelectionMCEl.cxx:233 AliDxHFEParticleSelectionMCEl.cxx:234 AliDxHFEParticleSelectionMCEl.cxx:235 AliDxHFEParticleSelectionMCEl.cxx:236 AliDxHFEParticleSelectionMCEl.cxx:237 AliDxHFEParticleSelectionMCEl.cxx:238 AliDxHFEParticleSelectionMCEl.cxx:239 AliDxHFEParticleSelectionMCEl.cxx:240 AliDxHFEParticleSelectionMCEl.cxx:241 AliDxHFEParticleSelectionMCEl.cxx:242 AliDxHFEParticleSelectionMCEl.cxx:243 AliDxHFEParticleSelectionMCEl.cxx:244 AliDxHFEParticleSelectionMCEl.cxx:245 AliDxHFEParticleSelectionMCEl.cxx:246 AliDxHFEParticleSelectionMCEl.cxx:247 AliDxHFEParticleSelectionMCEl.cxx:248 AliDxHFEParticleSelectionMCEl.cxx:249 AliDxHFEParticleSelectionMCEl.cxx:250 AliDxHFEParticleSelectionMCEl.cxx:251 AliDxHFEParticleSelectionMCEl.cxx:252 AliDxHFEParticleSelectionMCEl.cxx:253 AliDxHFEParticleSelectionMCEl.cxx:254 AliDxHFEParticleSelectionMCEl.cxx:255 AliDxHFEParticleSelectionMCEl.cxx:256 AliDxHFEParticleSelectionMCEl.cxx:257 AliDxHFEParticleSelectionMCEl.cxx:258 AliDxHFEParticleSelectionMCEl.cxx:259 AliDxHFEParticleSelectionMCEl.cxx:260 AliDxHFEParticleSelectionMCEl.cxx:261 AliDxHFEParticleSelectionMCEl.cxx:262 AliDxHFEParticleSelectionMCEl.cxx:263 AliDxHFEParticleSelectionMCEl.cxx:264 AliDxHFEParticleSelectionMCEl.cxx:265 AliDxHFEParticleSelectionMCEl.cxx:266 AliDxHFEParticleSelectionMCEl.cxx:267 AliDxHFEParticleSelectionMCEl.cxx:268 AliDxHFEParticleSelectionMCEl.cxx:269 AliDxHFEParticleSelectionMCEl.cxx:270 AliDxHFEParticleSelectionMCEl.cxx:271 AliDxHFEParticleSelectionMCEl.cxx:272 AliDxHFEParticleSelectionMCEl.cxx:273 AliDxHFEParticleSelectionMCEl.cxx:274 AliDxHFEParticleSelectionMCEl.cxx:275 AliDxHFEParticleSelectionMCEl.cxx:276 AliDxHFEParticleSelectionMCEl.cxx:277 AliDxHFEParticleSelectionMCEl.cxx:278 AliDxHFEParticleSelectionMCEl.cxx:279 AliDxHFEParticleSelectionMCEl.cxx:280 AliDxHFEParticleSelectionMCEl.cxx:281 AliDxHFEParticleSelectionMCEl.cxx:282 AliDxHFEParticleSelectionMCEl.cxx:283 AliDxHFEParticleSelectionMCEl.cxx:284 AliDxHFEParticleSelectionMCEl.cxx:285 AliDxHFEParticleSelectionMCEl.cxx:286 AliDxHFEParticleSelectionMCEl.cxx:287 AliDxHFEParticleSelectionMCEl.cxx:288 AliDxHFEParticleSelectionMCEl.cxx:289 AliDxHFEParticleSelectionMCEl.cxx:290 AliDxHFEParticleSelectionMCEl.cxx:291 AliDxHFEParticleSelectionMCEl.cxx:292 AliDxHFEParticleSelectionMCEl.cxx:293 AliDxHFEParticleSelectionMCEl.cxx:294 AliDxHFEParticleSelectionMCEl.cxx:295 AliDxHFEParticleSelectionMCEl.cxx:296 AliDxHFEParticleSelectionMCEl.cxx:297 AliDxHFEParticleSelectionMCEl.cxx:298 AliDxHFEParticleSelectionMCEl.cxx:299 AliDxHFEParticleSelectionMCEl.cxx:300 AliDxHFEParticleSelectionMCEl.cxx:301 AliDxHFEParticleSelectionMCEl.cxx:302 AliDxHFEParticleSelectionMCEl.cxx:303 AliDxHFEParticleSelectionMCEl.cxx:304 AliDxHFEParticleSelectionMCEl.cxx:305 AliDxHFEParticleSelectionMCEl.cxx:306 AliDxHFEParticleSelectionMCEl.cxx:307 AliDxHFEParticleSelectionMCEl.cxx:308 AliDxHFEParticleSelectionMCEl.cxx:309 AliDxHFEParticleSelectionMCEl.cxx:310 AliDxHFEParticleSelectionMCEl.cxx:311 AliDxHFEParticleSelectionMCEl.cxx:312 AliDxHFEParticleSelectionMCEl.cxx:313 AliDxHFEParticleSelectionMCEl.cxx:314 AliDxHFEParticleSelectionMCEl.cxx:315 AliDxHFEParticleSelectionMCEl.cxx:316 AliDxHFEParticleSelectionMCEl.cxx:317 AliDxHFEParticleSelectionMCEl.cxx:318 AliDxHFEParticleSelectionMCEl.cxx:319 AliDxHFEParticleSelectionMCEl.cxx:320 AliDxHFEParticleSelectionMCEl.cxx:321 AliDxHFEParticleSelectionMCEl.cxx:322 AliDxHFEParticleSelectionMCEl.cxx:323 AliDxHFEParticleSelectionMCEl.cxx:324 AliDxHFEParticleSelectionMCEl.cxx:325 AliDxHFEParticleSelectionMCEl.cxx:326 AliDxHFEParticleSelectionMCEl.cxx:327 AliDxHFEParticleSelectionMCEl.cxx:328 AliDxHFEParticleSelectionMCEl.cxx:329 AliDxHFEParticleSelectionMCEl.cxx:330 AliDxHFEParticleSelectionMCEl.cxx:331 AliDxHFEParticleSelectionMCEl.cxx:332 AliDxHFEParticleSelectionMCEl.cxx:333 AliDxHFEParticleSelectionMCEl.cxx:334 AliDxHFEParticleSelectionMCEl.cxx:335 AliDxHFEParticleSelectionMCEl.cxx:336 AliDxHFEParticleSelectionMCEl.cxx:337 AliDxHFEParticleSelectionMCEl.cxx:338 AliDxHFEParticleSelectionMCEl.cxx:339 AliDxHFEParticleSelectionMCEl.cxx:340 AliDxHFEParticleSelectionMCEl.cxx:341 AliDxHFEParticleSelectionMCEl.cxx:342 AliDxHFEParticleSelectionMCEl.cxx:343 AliDxHFEParticleSelectionMCEl.cxx:344 AliDxHFEParticleSelectionMCEl.cxx:345 AliDxHFEParticleSelectionMCEl.cxx:346 AliDxHFEParticleSelectionMCEl.cxx:347 AliDxHFEParticleSelectionMCEl.cxx:348 AliDxHFEParticleSelectionMCEl.cxx:349 AliDxHFEParticleSelectionMCEl.cxx:350 AliDxHFEParticleSelectionMCEl.cxx:351 AliDxHFEParticleSelectionMCEl.cxx:352 AliDxHFEParticleSelectionMCEl.cxx:353 AliDxHFEParticleSelectionMCEl.cxx:354 AliDxHFEParticleSelectionMCEl.cxx:355 AliDxHFEParticleSelectionMCEl.cxx:356 AliDxHFEParticleSelectionMCEl.cxx:357 AliDxHFEParticleSelectionMCEl.cxx:358 AliDxHFEParticleSelectionMCEl.cxx:359 AliDxHFEParticleSelectionMCEl.cxx:360 AliDxHFEParticleSelectionMCEl.cxx:361 AliDxHFEParticleSelectionMCEl.cxx:362 AliDxHFEParticleSelectionMCEl.cxx:363 AliDxHFEParticleSelectionMCEl.cxx:364 AliDxHFEParticleSelectionMCEl.cxx:365 AliDxHFEParticleSelectionMCEl.cxx:366 AliDxHFEParticleSelectionMCEl.cxx:367 AliDxHFEParticleSelectionMCEl.cxx:368 AliDxHFEParticleSelectionMCEl.cxx:369 AliDxHFEParticleSelectionMCEl.cxx:370 AliDxHFEParticleSelectionMCEl.cxx:371 AliDxHFEParticleSelectionMCEl.cxx:372 AliDxHFEParticleSelectionMCEl.cxx:373 AliDxHFEParticleSelectionMCEl.cxx:374 AliDxHFEParticleSelectionMCEl.cxx:375 AliDxHFEParticleSelectionMCEl.cxx:376 AliDxHFEParticleSelectionMCEl.cxx:377 AliDxHFEParticleSelectionMCEl.cxx:378 AliDxHFEParticleSelectionMCEl.cxx:379 AliDxHFEParticleSelectionMCEl.cxx:380 AliDxHFEParticleSelectionMCEl.cxx:381 AliDxHFEParticleSelectionMCEl.cxx:382 AliDxHFEParticleSelectionMCEl.cxx:383 AliDxHFEParticleSelectionMCEl.cxx:384 AliDxHFEParticleSelectionMCEl.cxx:385 AliDxHFEParticleSelectionMCEl.cxx:386 AliDxHFEParticleSelectionMCEl.cxx:387 AliDxHFEParticleSelectionMCEl.cxx:388 AliDxHFEParticleSelectionMCEl.cxx:389 AliDxHFEParticleSelectionMCEl.cxx:390 AliDxHFEParticleSelectionMCEl.cxx:391 AliDxHFEParticleSelectionMCEl.cxx:392 AliDxHFEParticleSelectionMCEl.cxx:393 AliDxHFEParticleSelectionMCEl.cxx:394 AliDxHFEParticleSelectionMCEl.cxx:395 AliDxHFEParticleSelectionMCEl.cxx:396 AliDxHFEParticleSelectionMCEl.cxx:397 AliDxHFEParticleSelectionMCEl.cxx:398 AliDxHFEParticleSelectionMCEl.cxx:399 AliDxHFEParticleSelectionMCEl.cxx:400 AliDxHFEParticleSelectionMCEl.cxx:401 AliDxHFEParticleSelectionMCEl.cxx:402 AliDxHFEParticleSelectionMCEl.cxx:403 AliDxHFEParticleSelectionMCEl.cxx:404 AliDxHFEParticleSelectionMCEl.cxx:405 AliDxHFEParticleSelectionMCEl.cxx:406 AliDxHFEParticleSelectionMCEl.cxx:407 AliDxHFEParticleSelectionMCEl.cxx:408 AliDxHFEParticleSelectionMCEl.cxx:409 AliDxHFEParticleSelectionMCEl.cxx:410 AliDxHFEParticleSelectionMCEl.cxx:411 AliDxHFEParticleSelectionMCEl.cxx:412 AliDxHFEParticleSelectionMCEl.cxx:413 AliDxHFEParticleSelectionMCEl.cxx:414 AliDxHFEParticleSelectionMCEl.cxx:415