#include "AliDxHFEParticleSelection.h"
#include "AliLog.h"
#include "AliVEvent.h"
#include "AliVParticle.h"
#include "TObjArray.h"
#include "TList.h"
#include "TMath.h"
#include "TH1D.h"
#include "TH2D.h"
#include "THnSparse.h"
#include "AliReducedParticle.h"
#include "TFile.h"
#include "TPRegexp.h" // for TStringToken
#include <iostream>
#include <cerrno>
#include <memory>
using namespace std;
ClassImp(AliDxHFEParticleSelection)
AliDxHFEParticleSelection::AliDxHFEParticleSelection(const char* name, const char* opt)
: TNamed(name?name:"AliDxHFEParticleSelection", name?name:"AliDxHFEParticleSelection")
, fOption(opt)
, fSelectedTracks(NULL)
, fControlObjects(NULL)
, fhEventControl(NULL)
, fhTrackControl(NULL)
, fhNrTracksPerEvent(NULL)
, fUseMC(0)
, fVerbosity(0)
, fDimThn(-1)
, fParticleProperties(NULL)
, fSystem(0)
{
}
const char* AliDxHFEParticleSelection::fgkEventControlBinNames[]={
"nEventsAll",
"nEventsSelected",
"nEventsWParticle"
};
const char* AliDxHFEParticleSelection::fgkTrackControlBinNames[]={
"nTrackAll",
"nTrackSelected",
};
AliDxHFEParticleSelection::~AliDxHFEParticleSelection()
{
if (fParticleProperties) delete[] fParticleProperties;
fParticleProperties=NULL;
if (fSelectedTracks) delete fSelectedTracks;
fSelectedTracks=NULL;
if (fControlObjects) delete fControlObjects;
fControlObjects=NULL;
fhEventControl=NULL;
fhTrackControl=NULL;
fhNrTracksPerEvent=NULL;
}
int AliDxHFEParticleSelection::Init()
{
InitControlObjects();
return 0;
}
int AliDxHFEParticleSelection::InitControlObjects()
{
if (fVerbosity>0) {
AliInfo("Setting up control objects");
}
TString name;
name.Form("hEventControl%s", GetName());
fhEventControl=CreateControlHistogram(name.Data(), name.Data(),kNEventPropertyLabels,fgkEventControlBinNames);
name.Form("hTrackControl%s", GetName());
fhTrackControl=CreateControlHistogram(name.Data(), name.Data(),kNTrackPropertyLabels,fgkTrackControlBinNames);
name.Form("hNrTracksPerEvent%s", GetName());
fhNrTracksPerEvent=CreateControlHistogram(name.Data(), name.Data(),100);
AddControlObject(fhEventControl);
AddControlObject(fhTrackControl);
AddControlObject(fhNrTracksPerEvent);
return 0;
}
TH1* AliDxHFEParticleSelection::CreateControlHistogram(const char* name,
const char* title,
int nBins,
double min,
double max,
const char** binLabels) const
{
std::auto_ptr<TH1> h(new TH1D(name, title, nBins, min, max));
if (!h.get()) return NULL;
if (binLabels) {
for (int iLabel=0; iLabel<nBins; iLabel++) {
h->GetXaxis()->SetBinLabel(iLabel+1, binLabels[iLabel]);
}
}
return h.release();
}
TH2* AliDxHFEParticleSelection::CreateControl2DHistogram(const char* name,
const char* title,
double* nBins,
const char* xaxis,
const char* yaxis
) const
{
std::auto_ptr<TH2> h(new TH2D(name, title, (Int_t)nBins[0], nBins[1], nBins[2], (Int_t)nBins[3], nBins[4],nBins[5]));
if (!h.get()) return NULL;
h->GetXaxis()->SetTitle(xaxis);
h->GetYaxis()->SetTitle(yaxis);
return h.release();
}
THnSparse* AliDxHFEParticleSelection::CreateControlTHnSparse(const char* name,
int thnSize,
int* thnBins,
double* thnMin,
double* thnMax,
const char** binLabels) const
{
AliInfo("Setting up THnSparse");
std::auto_ptr<THnSparseF> th(new THnSparseF(name, name, thnSize, thnBins, thnMin, thnMax));
if (th.get()==NULL) {
return NULL;
}
for (int iLabel=0; iLabel<thnSize; iLabel++) {
th->GetAxis(iLabel)->SetTitle(binLabels[iLabel]);
}
return th.release();
}
THnSparse* AliDxHFEParticleSelection::DefineTHnSparse()
{
const int thnSize = 3;
InitTHnSparseArray(thnSize);
const double Pi=TMath::Pi();
TString name;
int thnBins [thnSize] = { 1000, 200, 500};
double thnMin [thnSize] = { 0, 0, -1.};
double thnMax [thnSize] = { 100, 2*Pi, 1.};
const char* thnNames[thnSize] = { "Pt","Phi","Eta"};
name.Form("%s info", GetName());
return CreateControlTHnSparse(name,thnSize,thnBins,thnMin,thnMax,thnNames);
}
int AliDxHFEParticleSelection::AddControlObject(TObject* pObj)
{
if (!pObj) return -EINVAL;
if (!fControlObjects) {
fControlObjects=new TList;
if (!fControlObjects) return -ENOMEM;
fControlObjects->SetOwner();
}
if (fControlObjects->FindObject(pObj->GetName())) {
AliError(Form("ignoring duplicate object '%s' of type %s", pObj->GetName(), pObj->ClassName()));
return -EEXIST;
}
if (GetVerbosity()>0) {
AliInfo(Form("Adding object '%s' of type %s",pObj->GetName(),pObj->ClassName()));
}
fControlObjects->Add(pObj);
return 0;
}
int AliDxHFEParticleSelection::HistogramEventProperties(int histonr,int bin)
{
if (!fControlObjects) return 0;
if(histonr==kHistoEvent){
fhEventControl->Fill(bin);
}
if(histonr==kHistoNrTracksPrEvent){
fhNrTracksPerEvent->Fill(bin);
}
return 0;
}
int AliDxHFEParticleSelection::HistogramParticleProperties(AliVParticle* p, int selected)
{
if (!p) return -EINVAL;
if (!fControlObjects) return 0;
fhTrackControl->Fill(kTrackAll);
if (selected) fhTrackControl->Fill(kTrackSel);
return 0;
}
int AliDxHFEParticleSelection::FillParticleProperties(AliVParticle* p, Double_t* data, int dimension) const
{
if (!data) return -EINVAL;
int i=0;
if (dimension!=GetDimTHnSparse()) {
return -ENOSPC;
}
data[i++]=p->Pt();
data[i++]=p->Phi();
data[i++]=p->Eta();
return i;
}
TObjArray* AliDxHFEParticleSelection::Select(const AliVEvent* pEvent)
{
if (!pEvent) return NULL;
TObjArray* selectedTracks=new TObjArray;
if (!selectedTracks) return NULL;
selectedTracks->SetOwner(kFALSE);
int nofTracks=pEvent->GetNumberOfTracks();
for (int itrack=0; itrack<nofTracks; itrack++) {
AliVParticle* track=pEvent->GetTrack(itrack);
int selectionCode=IsSelected(track,pEvent);
HistogramParticleProperties(track, selectionCode);
if (selectionCode==0) continue;
selectedTracks->Add(CreateParticle(track));
}
return selectedTracks;
}
TObjArray* AliDxHFEParticleSelection::Select(TObjArray* pParticles, const AliVEvent* pEvent)
{
if (!pParticles) return NULL;
TObjArray* selectedTracks=new TObjArray;
if (!selectedTracks) return NULL;
selectedTracks->SetOwner(kFALSE);
TIter next(pParticles);
TObject* pObj=NULL;
while ((pObj=next())) {
AliVParticle* track=dynamic_cast<AliVParticle*>(pObj);
if (!track) continue;
int selectionCode=IsSelected(track, pEvent);
HistogramParticleProperties(track, selectionCode);
if (selectionCode ==0) continue;
selectedTracks->Add(CreateParticle(track));
}
return selectedTracks;
}
int AliDxHFEParticleSelection::CheckAndAdd(AliVParticle* )
{
return -ENOSYS;
}
int AliDxHFEParticleSelection::IsSelected(AliVParticle* , const AliVEvent* )
{
return 1;
}
void AliDxHFEParticleSelection::AliDxHFEParticleSelection::Clear(Option_t * )
{
}
void AliDxHFEParticleSelection::Print(Option_t *) const
{
cout << "====================================================================" << endl;
TNamed::Print();
if (fControlObjects) fControlObjects->Print();
}
void AliDxHFEParticleSelection::SaveAs(const char* filename, Option_t *) const
{
TString fileoption;
fileoption="RECREATE";
std::auto_ptr<TFile> output(TFile::Open(filename,fileoption));
if (!output.get() || output->IsZombie()) {
AliError(Form("can not open file %s from writing", filename));
return;
}
output->cd();
if (fControlObjects) fControlObjects->Write();
output->Close();
}
void AliDxHFEParticleSelection::Draw(Option_t* )
{
}
TObject* AliDxHFEParticleSelection::FindObject(const char* name) const
{
if (fControlObjects) {
return fControlObjects->FindObject(name);
}
return NULL;
}
TObject* AliDxHFEParticleSelection::FindObject(const TObject* obj) const
{
if (fControlObjects) {
return fControlObjects->FindObject(obj);
}
return NULL;
}
AliVParticle *AliDxHFEParticleSelection::CreateParticle(AliVParticle* track)
{
AliReducedParticle *part = new AliReducedParticle(track->Eta(), track->Phi(), track->Pt(), track->Charge(), 0);
return part;
}
int AliDxHFEParticleSelection::ParseArguments(const char* arguments)
{
const char* key=NULL;
const TString delimiter(" ");
TStringToken token(arguments, delimiter);
while (token.NextToken()) {
TString argument=token;
key="system=";
if (argument.BeginsWith(key)) {
argument.ReplaceAll(key, "");
if (argument.CompareTo("pp")==0) fSystem=0;
else if (argument.CompareTo("Pb-Pb")==0) fSystem=1;
else if (argument.CompareTo("p-Pb")==0) fSystem=2;
else {
AliWarning(Form("can not set collision system, unknown parameter '%s'", argument.Data()));
fSystem=0;
}
continue;
}
AliWarning(Form("unknown argument '%s'", argument.Data()));
}
return 0;
}
AliDxHFEParticleSelection.cxx:1 AliDxHFEParticleSelection.cxx:2 AliDxHFEParticleSelection.cxx:3 AliDxHFEParticleSelection.cxx:4 AliDxHFEParticleSelection.cxx:5 AliDxHFEParticleSelection.cxx:6 AliDxHFEParticleSelection.cxx:7 AliDxHFEParticleSelection.cxx:8 AliDxHFEParticleSelection.cxx:9 AliDxHFEParticleSelection.cxx:10 AliDxHFEParticleSelection.cxx:11 AliDxHFEParticleSelection.cxx:12 AliDxHFEParticleSelection.cxx:13 AliDxHFEParticleSelection.cxx:14 AliDxHFEParticleSelection.cxx:15 AliDxHFEParticleSelection.cxx:16 AliDxHFEParticleSelection.cxx:17 AliDxHFEParticleSelection.cxx:18 AliDxHFEParticleSelection.cxx:19 AliDxHFEParticleSelection.cxx:20 AliDxHFEParticleSelection.cxx:21 AliDxHFEParticleSelection.cxx:22 AliDxHFEParticleSelection.cxx:23 AliDxHFEParticleSelection.cxx:24 AliDxHFEParticleSelection.cxx:25 AliDxHFEParticleSelection.cxx:26 AliDxHFEParticleSelection.cxx:27 AliDxHFEParticleSelection.cxx:28 AliDxHFEParticleSelection.cxx:29 AliDxHFEParticleSelection.cxx:30 AliDxHFEParticleSelection.cxx:31 AliDxHFEParticleSelection.cxx:32 AliDxHFEParticleSelection.cxx:33 AliDxHFEParticleSelection.cxx:34 AliDxHFEParticleSelection.cxx:35 AliDxHFEParticleSelection.cxx:36 AliDxHFEParticleSelection.cxx:37 AliDxHFEParticleSelection.cxx:38 AliDxHFEParticleSelection.cxx:39 AliDxHFEParticleSelection.cxx:40 AliDxHFEParticleSelection.cxx:41 AliDxHFEParticleSelection.cxx:42 AliDxHFEParticleSelection.cxx:43 AliDxHFEParticleSelection.cxx:44 AliDxHFEParticleSelection.cxx:45 AliDxHFEParticleSelection.cxx:46 AliDxHFEParticleSelection.cxx:47 AliDxHFEParticleSelection.cxx:48 AliDxHFEParticleSelection.cxx:49 AliDxHFEParticleSelection.cxx:50 AliDxHFEParticleSelection.cxx:51 AliDxHFEParticleSelection.cxx:52 AliDxHFEParticleSelection.cxx:53 AliDxHFEParticleSelection.cxx:54 AliDxHFEParticleSelection.cxx:55 AliDxHFEParticleSelection.cxx:56 AliDxHFEParticleSelection.cxx:57 AliDxHFEParticleSelection.cxx:58 AliDxHFEParticleSelection.cxx:59 AliDxHFEParticleSelection.cxx:60 AliDxHFEParticleSelection.cxx:61 AliDxHFEParticleSelection.cxx:62 AliDxHFEParticleSelection.cxx:63 AliDxHFEParticleSelection.cxx:64 AliDxHFEParticleSelection.cxx:65 AliDxHFEParticleSelection.cxx:66 AliDxHFEParticleSelection.cxx:67 AliDxHFEParticleSelection.cxx:68 AliDxHFEParticleSelection.cxx:69 AliDxHFEParticleSelection.cxx:70 AliDxHFEParticleSelection.cxx:71 AliDxHFEParticleSelection.cxx:72 AliDxHFEParticleSelection.cxx:73 AliDxHFEParticleSelection.cxx:74 AliDxHFEParticleSelection.cxx:75 AliDxHFEParticleSelection.cxx:76 AliDxHFEParticleSelection.cxx:77 AliDxHFEParticleSelection.cxx:78 AliDxHFEParticleSelection.cxx:79 AliDxHFEParticleSelection.cxx:80 AliDxHFEParticleSelection.cxx:81 AliDxHFEParticleSelection.cxx:82 AliDxHFEParticleSelection.cxx:83 AliDxHFEParticleSelection.cxx:84 AliDxHFEParticleSelection.cxx:85 AliDxHFEParticleSelection.cxx:86 AliDxHFEParticleSelection.cxx:87 AliDxHFEParticleSelection.cxx:88 AliDxHFEParticleSelection.cxx:89 AliDxHFEParticleSelection.cxx:90 AliDxHFEParticleSelection.cxx:91 AliDxHFEParticleSelection.cxx:92 AliDxHFEParticleSelection.cxx:93 AliDxHFEParticleSelection.cxx:94 AliDxHFEParticleSelection.cxx:95 AliDxHFEParticleSelection.cxx:96 AliDxHFEParticleSelection.cxx:97 AliDxHFEParticleSelection.cxx:98 AliDxHFEParticleSelection.cxx:99 AliDxHFEParticleSelection.cxx:100 AliDxHFEParticleSelection.cxx:101 AliDxHFEParticleSelection.cxx:102 AliDxHFEParticleSelection.cxx:103 AliDxHFEParticleSelection.cxx:104 AliDxHFEParticleSelection.cxx:105 AliDxHFEParticleSelection.cxx:106 AliDxHFEParticleSelection.cxx:107 AliDxHFEParticleSelection.cxx:108 AliDxHFEParticleSelection.cxx:109 AliDxHFEParticleSelection.cxx:110 AliDxHFEParticleSelection.cxx:111 AliDxHFEParticleSelection.cxx:112 AliDxHFEParticleSelection.cxx:113 AliDxHFEParticleSelection.cxx:114 AliDxHFEParticleSelection.cxx:115 AliDxHFEParticleSelection.cxx:116 AliDxHFEParticleSelection.cxx:117 AliDxHFEParticleSelection.cxx:118 AliDxHFEParticleSelection.cxx:119 AliDxHFEParticleSelection.cxx:120 AliDxHFEParticleSelection.cxx:121 AliDxHFEParticleSelection.cxx:122 AliDxHFEParticleSelection.cxx:123 AliDxHFEParticleSelection.cxx:124 AliDxHFEParticleSelection.cxx:125 AliDxHFEParticleSelection.cxx:126 AliDxHFEParticleSelection.cxx:127 AliDxHFEParticleSelection.cxx:128 AliDxHFEParticleSelection.cxx:129 AliDxHFEParticleSelection.cxx:130 AliDxHFEParticleSelection.cxx:131 AliDxHFEParticleSelection.cxx:132 AliDxHFEParticleSelection.cxx:133 AliDxHFEParticleSelection.cxx:134 AliDxHFEParticleSelection.cxx:135 AliDxHFEParticleSelection.cxx:136 AliDxHFEParticleSelection.cxx:137 AliDxHFEParticleSelection.cxx:138 AliDxHFEParticleSelection.cxx:139 AliDxHFEParticleSelection.cxx:140 AliDxHFEParticleSelection.cxx:141 AliDxHFEParticleSelection.cxx:142 AliDxHFEParticleSelection.cxx:143 AliDxHFEParticleSelection.cxx:144 AliDxHFEParticleSelection.cxx:145 AliDxHFEParticleSelection.cxx:146 AliDxHFEParticleSelection.cxx:147 AliDxHFEParticleSelection.cxx:148 AliDxHFEParticleSelection.cxx:149 AliDxHFEParticleSelection.cxx:150 AliDxHFEParticleSelection.cxx:151 AliDxHFEParticleSelection.cxx:152 AliDxHFEParticleSelection.cxx:153 AliDxHFEParticleSelection.cxx:154 AliDxHFEParticleSelection.cxx:155 AliDxHFEParticleSelection.cxx:156 AliDxHFEParticleSelection.cxx:157 AliDxHFEParticleSelection.cxx:158 AliDxHFEParticleSelection.cxx:159 AliDxHFEParticleSelection.cxx:160 AliDxHFEParticleSelection.cxx:161 AliDxHFEParticleSelection.cxx:162 AliDxHFEParticleSelection.cxx:163 AliDxHFEParticleSelection.cxx:164 AliDxHFEParticleSelection.cxx:165 AliDxHFEParticleSelection.cxx:166 AliDxHFEParticleSelection.cxx:167 AliDxHFEParticleSelection.cxx:168 AliDxHFEParticleSelection.cxx:169 AliDxHFEParticleSelection.cxx:170 AliDxHFEParticleSelection.cxx:171 AliDxHFEParticleSelection.cxx:172 AliDxHFEParticleSelection.cxx:173 AliDxHFEParticleSelection.cxx:174 AliDxHFEParticleSelection.cxx:175 AliDxHFEParticleSelection.cxx:176 AliDxHFEParticleSelection.cxx:177 AliDxHFEParticleSelection.cxx:178 AliDxHFEParticleSelection.cxx:179 AliDxHFEParticleSelection.cxx:180 AliDxHFEParticleSelection.cxx:181 AliDxHFEParticleSelection.cxx:182 AliDxHFEParticleSelection.cxx:183 AliDxHFEParticleSelection.cxx:184 AliDxHFEParticleSelection.cxx:185 AliDxHFEParticleSelection.cxx:186 AliDxHFEParticleSelection.cxx:187 AliDxHFEParticleSelection.cxx:188 AliDxHFEParticleSelection.cxx:189 AliDxHFEParticleSelection.cxx:190 AliDxHFEParticleSelection.cxx:191 AliDxHFEParticleSelection.cxx:192 AliDxHFEParticleSelection.cxx:193 AliDxHFEParticleSelection.cxx:194 AliDxHFEParticleSelection.cxx:195 AliDxHFEParticleSelection.cxx:196 AliDxHFEParticleSelection.cxx:197 AliDxHFEParticleSelection.cxx:198 AliDxHFEParticleSelection.cxx:199 AliDxHFEParticleSelection.cxx:200 AliDxHFEParticleSelection.cxx:201 AliDxHFEParticleSelection.cxx:202 AliDxHFEParticleSelection.cxx:203 AliDxHFEParticleSelection.cxx:204 AliDxHFEParticleSelection.cxx:205 AliDxHFEParticleSelection.cxx:206 AliDxHFEParticleSelection.cxx:207 AliDxHFEParticleSelection.cxx:208 AliDxHFEParticleSelection.cxx:209 AliDxHFEParticleSelection.cxx:210 AliDxHFEParticleSelection.cxx:211 AliDxHFEParticleSelection.cxx:212 AliDxHFEParticleSelection.cxx:213 AliDxHFEParticleSelection.cxx:214 AliDxHFEParticleSelection.cxx:215 AliDxHFEParticleSelection.cxx:216 AliDxHFEParticleSelection.cxx:217 AliDxHFEParticleSelection.cxx:218 AliDxHFEParticleSelection.cxx:219 AliDxHFEParticleSelection.cxx:220 AliDxHFEParticleSelection.cxx:221 AliDxHFEParticleSelection.cxx:222 AliDxHFEParticleSelection.cxx:223 AliDxHFEParticleSelection.cxx:224 AliDxHFEParticleSelection.cxx:225 AliDxHFEParticleSelection.cxx:226 AliDxHFEParticleSelection.cxx:227 AliDxHFEParticleSelection.cxx:228 AliDxHFEParticleSelection.cxx:229 AliDxHFEParticleSelection.cxx:230 AliDxHFEParticleSelection.cxx:231 AliDxHFEParticleSelection.cxx:232 AliDxHFEParticleSelection.cxx:233 AliDxHFEParticleSelection.cxx:234 AliDxHFEParticleSelection.cxx:235 AliDxHFEParticleSelection.cxx:236 AliDxHFEParticleSelection.cxx:237 AliDxHFEParticleSelection.cxx:238 AliDxHFEParticleSelection.cxx:239 AliDxHFEParticleSelection.cxx:240 AliDxHFEParticleSelection.cxx:241 AliDxHFEParticleSelection.cxx:242 AliDxHFEParticleSelection.cxx:243 AliDxHFEParticleSelection.cxx:244 AliDxHFEParticleSelection.cxx:245 AliDxHFEParticleSelection.cxx:246 AliDxHFEParticleSelection.cxx:247 AliDxHFEParticleSelection.cxx:248 AliDxHFEParticleSelection.cxx:249 AliDxHFEParticleSelection.cxx:250 AliDxHFEParticleSelection.cxx:251 AliDxHFEParticleSelection.cxx:252 AliDxHFEParticleSelection.cxx:253 AliDxHFEParticleSelection.cxx:254 AliDxHFEParticleSelection.cxx:255 AliDxHFEParticleSelection.cxx:256 AliDxHFEParticleSelection.cxx:257 AliDxHFEParticleSelection.cxx:258 AliDxHFEParticleSelection.cxx:259 AliDxHFEParticleSelection.cxx:260 AliDxHFEParticleSelection.cxx:261 AliDxHFEParticleSelection.cxx:262 AliDxHFEParticleSelection.cxx:263 AliDxHFEParticleSelection.cxx:264 AliDxHFEParticleSelection.cxx:265 AliDxHFEParticleSelection.cxx:266 AliDxHFEParticleSelection.cxx:267 AliDxHFEParticleSelection.cxx:268 AliDxHFEParticleSelection.cxx:269 AliDxHFEParticleSelection.cxx:270 AliDxHFEParticleSelection.cxx:271 AliDxHFEParticleSelection.cxx:272 AliDxHFEParticleSelection.cxx:273 AliDxHFEParticleSelection.cxx:274 AliDxHFEParticleSelection.cxx:275 AliDxHFEParticleSelection.cxx:276 AliDxHFEParticleSelection.cxx:277 AliDxHFEParticleSelection.cxx:278 AliDxHFEParticleSelection.cxx:279 AliDxHFEParticleSelection.cxx:280 AliDxHFEParticleSelection.cxx:281 AliDxHFEParticleSelection.cxx:282 AliDxHFEParticleSelection.cxx:283 AliDxHFEParticleSelection.cxx:284 AliDxHFEParticleSelection.cxx:285 AliDxHFEParticleSelection.cxx:286 AliDxHFEParticleSelection.cxx:287 AliDxHFEParticleSelection.cxx:288 AliDxHFEParticleSelection.cxx:289 AliDxHFEParticleSelection.cxx:290 AliDxHFEParticleSelection.cxx:291 AliDxHFEParticleSelection.cxx:292 AliDxHFEParticleSelection.cxx:293 AliDxHFEParticleSelection.cxx:294 AliDxHFEParticleSelection.cxx:295 AliDxHFEParticleSelection.cxx:296 AliDxHFEParticleSelection.cxx:297 AliDxHFEParticleSelection.cxx:298 AliDxHFEParticleSelection.cxx:299 AliDxHFEParticleSelection.cxx:300 AliDxHFEParticleSelection.cxx:301 AliDxHFEParticleSelection.cxx:302 AliDxHFEParticleSelection.cxx:303 AliDxHFEParticleSelection.cxx:304 AliDxHFEParticleSelection.cxx:305 AliDxHFEParticleSelection.cxx:306 AliDxHFEParticleSelection.cxx:307 AliDxHFEParticleSelection.cxx:308 AliDxHFEParticleSelection.cxx:309 AliDxHFEParticleSelection.cxx:310 AliDxHFEParticleSelection.cxx:311 AliDxHFEParticleSelection.cxx:312 AliDxHFEParticleSelection.cxx:313 AliDxHFEParticleSelection.cxx:314 AliDxHFEParticleSelection.cxx:315 AliDxHFEParticleSelection.cxx:316 AliDxHFEParticleSelection.cxx:317 AliDxHFEParticleSelection.cxx:318 AliDxHFEParticleSelection.cxx:319 AliDxHFEParticleSelection.cxx:320 AliDxHFEParticleSelection.cxx:321 AliDxHFEParticleSelection.cxx:322 AliDxHFEParticleSelection.cxx:323 AliDxHFEParticleSelection.cxx:324 AliDxHFEParticleSelection.cxx:325 AliDxHFEParticleSelection.cxx:326 AliDxHFEParticleSelection.cxx:327 AliDxHFEParticleSelection.cxx:328 AliDxHFEParticleSelection.cxx:329 AliDxHFEParticleSelection.cxx:330 AliDxHFEParticleSelection.cxx:331 AliDxHFEParticleSelection.cxx:332 AliDxHFEParticleSelection.cxx:333 AliDxHFEParticleSelection.cxx:334 AliDxHFEParticleSelection.cxx:335 AliDxHFEParticleSelection.cxx:336 AliDxHFEParticleSelection.cxx:337 AliDxHFEParticleSelection.cxx:338 AliDxHFEParticleSelection.cxx:339 AliDxHFEParticleSelection.cxx:340 AliDxHFEParticleSelection.cxx:341 AliDxHFEParticleSelection.cxx:342 AliDxHFEParticleSelection.cxx:343 AliDxHFEParticleSelection.cxx:344 AliDxHFEParticleSelection.cxx:345 AliDxHFEParticleSelection.cxx:346 AliDxHFEParticleSelection.cxx:347 AliDxHFEParticleSelection.cxx:348 AliDxHFEParticleSelection.cxx:349 AliDxHFEParticleSelection.cxx:350 AliDxHFEParticleSelection.cxx:351 AliDxHFEParticleSelection.cxx:352 AliDxHFEParticleSelection.cxx:353 AliDxHFEParticleSelection.cxx:354 AliDxHFEParticleSelection.cxx:355 AliDxHFEParticleSelection.cxx:356 AliDxHFEParticleSelection.cxx:357 AliDxHFEParticleSelection.cxx:358 AliDxHFEParticleSelection.cxx:359 AliDxHFEParticleSelection.cxx:360 AliDxHFEParticleSelection.cxx:361 AliDxHFEParticleSelection.cxx:362 AliDxHFEParticleSelection.cxx:363 AliDxHFEParticleSelection.cxx:364 AliDxHFEParticleSelection.cxx:365 AliDxHFEParticleSelection.cxx:366 AliDxHFEParticleSelection.cxx:367 AliDxHFEParticleSelection.cxx:368 AliDxHFEParticleSelection.cxx:369 AliDxHFEParticleSelection.cxx:370 AliDxHFEParticleSelection.cxx:371 AliDxHFEParticleSelection.cxx:372 AliDxHFEParticleSelection.cxx:373 AliDxHFEParticleSelection.cxx:374 AliDxHFEParticleSelection.cxx:375 AliDxHFEParticleSelection.cxx:376 AliDxHFEParticleSelection.cxx:377 AliDxHFEParticleSelection.cxx:378 AliDxHFEParticleSelection.cxx:379 AliDxHFEParticleSelection.cxx:380 AliDxHFEParticleSelection.cxx:381 AliDxHFEParticleSelection.cxx:382 AliDxHFEParticleSelection.cxx:383 AliDxHFEParticleSelection.cxx:384 AliDxHFEParticleSelection.cxx:385 AliDxHFEParticleSelection.cxx:386 AliDxHFEParticleSelection.cxx:387 AliDxHFEParticleSelection.cxx:388 AliDxHFEParticleSelection.cxx:389 AliDxHFEParticleSelection.cxx:390 AliDxHFEParticleSelection.cxx:391 AliDxHFEParticleSelection.cxx:392 AliDxHFEParticleSelection.cxx:393 AliDxHFEParticleSelection.cxx:394 AliDxHFEParticleSelection.cxx:395 AliDxHFEParticleSelection.cxx:396 AliDxHFEParticleSelection.cxx:397 AliDxHFEParticleSelection.cxx:398 AliDxHFEParticleSelection.cxx:399 AliDxHFEParticleSelection.cxx:400 AliDxHFEParticleSelection.cxx:401 AliDxHFEParticleSelection.cxx:402 AliDxHFEParticleSelection.cxx:403 AliDxHFEParticleSelection.cxx:404 AliDxHFEParticleSelection.cxx:405 AliDxHFEParticleSelection.cxx:406 AliDxHFEParticleSelection.cxx:407 AliDxHFEParticleSelection.cxx:408 AliDxHFEParticleSelection.cxx:409 AliDxHFEParticleSelection.cxx:410 AliDxHFEParticleSelection.cxx:411 AliDxHFEParticleSelection.cxx:412 AliDxHFEParticleSelection.cxx:413 AliDxHFEParticleSelection.cxx:414 AliDxHFEParticleSelection.cxx:415 AliDxHFEParticleSelection.cxx:416 AliDxHFEParticleSelection.cxx:417 AliDxHFEParticleSelection.cxx:418 AliDxHFEParticleSelection.cxx:419 AliDxHFEParticleSelection.cxx:420 AliDxHFEParticleSelection.cxx:421 AliDxHFEParticleSelection.cxx:422 AliDxHFEParticleSelection.cxx:423 AliDxHFEParticleSelection.cxx:424 AliDxHFEParticleSelection.cxx:425 AliDxHFEParticleSelection.cxx:426 AliDxHFEParticleSelection.cxx:427 AliDxHFEParticleSelection.cxx:428 AliDxHFEParticleSelection.cxx:429 AliDxHFEParticleSelection.cxx:430 AliDxHFEParticleSelection.cxx:431 AliDxHFEParticleSelection.cxx:432 AliDxHFEParticleSelection.cxx:433 AliDxHFEParticleSelection.cxx:434 AliDxHFEParticleSelection.cxx:435 AliDxHFEParticleSelection.cxx:436 AliDxHFEParticleSelection.cxx:437 AliDxHFEParticleSelection.cxx:438 AliDxHFEParticleSelection.cxx:439 AliDxHFEParticleSelection.cxx:440 AliDxHFEParticleSelection.cxx:441 AliDxHFEParticleSelection.cxx:442 AliDxHFEParticleSelection.cxx:443 AliDxHFEParticleSelection.cxx:444 AliDxHFEParticleSelection.cxx:445 AliDxHFEParticleSelection.cxx:446