#include <TEveManager.h>
#include <TEveSelection.h>
#include <TFile.h>
#include <TFunction.h>
#include <TH1.h>
#include <TList.h>
#include <TMap.h>
#include <TMethodArg.h>
#include <TMethodCall.h>
#include <TObjString.h>
#include <TQObject.h>
#include <TROOT.h>
#include <TSystem.h>
#include <TTree.h>
#include <TTreeStream.h>
#include <AliTRDReconstructor.h>
#include <EveDet/AliEveListAnalyser.h>
#include <EveDet/AliEveListAnalyserEditor.h>
ClassImp(AliEveListAnalyser)
AliEveListAnalyser::AliEveListAnalyser(const Text_t* n, const Text_t* t, Bool_t doColor):
TEveElementList(n, t, doColor),
fConnected(kFALSE),
fDataFromMacroList(0x0),
fEditor(0x0),
fMacroList(0x0),
fDataTree(0x0),
fHistoDataSelected(0),
fMacroListSelected(0),
fSelectedTab(2)
{
SetChildClass(TEveElement::Class());
fDataFromMacroList = new TList();
fDataFromMacroList->TCollection::SetOwner(kTRUE);
fMacroList = new TMap();
fMacroList->SetOwnerKeyValue(kTRUE, kTRUE);
if(gSystem->AccessPathName(Form("%s/.QArec" , gSystem->Getenv("HOME")))) gSystem->Exec("mkdir $HOME/.QArec");
gSystem->SetBuildDir(Form("%s/.QArec", gSystem->Getenv("HOME")));
AddStandardContent();
}
AliEveListAnalyser::~AliEveListAnalyser()
{
StopAddingObjects();
if (fEditor != 0)
{
fEditor->SaveMacroList(fMacroList);
fEditor = 0;
}
if (fDataFromMacroList != 0)
{
fDataFromMacroList->Delete();
delete fDataFromMacroList;
fDataFromMacroList = 0;
}
if (fDataTree != 0)
{
delete fDataTree;
fDataTree = 0;
}
if (fMacroList != 0)
{
fMacroList->DeleteAll();
delete fMacroList;
fMacroList = 0;
}
if(!gSystem->AccessPathName(Form("/tmp/ListAnalyserMacroData_%s.root", gSystem->Getenv("USER"))))
gSystem->Exec(Form("rm /tmp/ListAnalyserMacroData_%s.root", gSystem->Getenv("USER")));
}
Int_t AliEveListAnalyser::AddMacro(const Char_t* path, const Char_t* nameC, Bool_t forceReload)
{
Char_t pathname[fkMaxMacroPathNameLength];
memset(pathname, '\0', sizeof(Char_t) * fkMaxMacroPathNameLength);
Char_t* systemPath = gSystem->ExpandPathName(path);
snprintf(pathname, fkMaxMacroPathNameLength, "%s/%s", systemPath, nameC);
delete systemPath;
systemPath = 0;
Char_t name[fkMaxMacroNameLength];
memset(name, '\0', sizeof(Char_t) * fkMaxMacroNameLength);
for (UInt_t ind = 0; ind < fkMaxMacroNameLength && ind < strlen(nameC) - 2; ind++) name[ind] = nameC[ind];
FILE* fp = 0x0;
if((fp = fopen(pathname, "rb"))){
fclose(fp);
fp = 0x0;
} else return NOT_EXIST_ERROR;
gROOT->ProcessLineSync(Form(".L %s+%c", pathname, forceReload ? '+' : ' '));
TClass* objectType;
TClass* objectType2;
objectType = GetMacroObjectType(name, 1);
objectType2 = GetMacroObjectType(name, 2);
gROOT->ProcessLineSync(Form(".L %s", pathname));
if (!objectType) return UNKNOWN_OBJECT_TYPE_ERROR;
Bool_t testSecondObj = kFALSE;
if (!objectType2)
{
objectType2 = TObject::Class();
testSecondObj = kTRUE;
}
AliEveListAnalyserMacroType type = GetMacroType(name, objectType->GetName(), objectType2->GetName(), kFALSE);
if (testSecondObj)
{
switch (type)
{
case AliEveListAnalyser::kCorrelObjectSelect:
case AliEveListAnalyser::kCorrelObjectAnalyse:
case AliEveListAnalyser::kCorrelObjectHisto:
return UNKNOWN_OBJECT_TYPE_ERROR;
break;
default:
break;
}
}
if (type == kUnknown) return SIGNATURE_ERROR;
Int_t returnValue = WARNING;
if(fMacroList->GetValue(name) == 0)
{
returnValue = AddMacroFast(path, name, type, objectType, objectType2) ? SUCCESS : ERROR;
}
return returnValue;
}
Bool_t AliEveListAnalyser::AddMacroFast(const Char_t* path, const Char_t* name, AliEveListAnalyserMacroType type,
TClass* objectType, TClass* objectType2)
{
Bool_t success = kFALSE;
switch (type)
{
case kSingleObjectSelect:
case kCorrelObjectSelect:
case kSingleObjectAnalyse:
case kSingleObjectHisto:
case kCorrelObjectAnalyse:
case kCorrelObjectHisto:
fMacroList->Add(new TObjString(name), new TGeneralMacroData(name, path, type, objectType, objectType2));
fMacroListSelected = 0;
success = kTRUE;
#ifdef AliEveListAnalyser_DEBUG
printf("AliEveListAnalyser::AddMacroFast: Added macro \"%s/%s\" with object types \"%s\" and \"%s\" to the corresponding list\n",
path, name, objectType->GetName(), objectType2->GetName());
#endif
break;
default:
printf("AliEveListAnalyser::AddMacroFast: ERROR: Could not add macro \"%s/%s\" with object types \"%s\" and \"%s\" to the corresponding list\n", path, name, objectType->GetName(), objectType2->GetName());
success = kFALSE;
break;
}
return success;
}
Int_t AliEveListAnalyser::AddPrimSelectedObject(TEveElement* el)
{
if (!el)
{
Error("AliEveListAnalyser::AddPrimSelectedObject", "Zero pointer!");
return ERROR;
}
if (el == this) return SUCCESS;
if (!this->HasChild(el))
{
if (el->GetUserData() == 0x0)
{
Warning("AddPrimSelectedObject", "Selected object does not contain any \"user data\" and therefore is ignored!");
return WARNING;
}
this->AddElement(el);
this->SetTitle(Form("Objects %d", this->NumChildren()));
gEve->Redraw3D();
}
else
{
if (TString(el->GetElementName()).BeginsWith("[sec:")) return SUCCESS;
if (el->NumParents() > 2)
{
this->RemoveElement(el);
}
else
{
if (el->NumParents() <= 1) return ERROR;
TEveElement* listObj = 0x0;
listObj = this->FindChild(el->GetElementName());
if (!listObj) return ERROR;
gEve->AddElement(listObj, 0);
this->RemoveElement(listObj);
}
}
this->SetTitle(Form("Objects %d", this->NumChildren()));
gEve->Redraw3D();
return SUCCESS;
}
void AliEveListAnalyser::AddSecSelectedSingleObjectToList(Int_t pointId)
{
TEvePointSet* ps = dynamic_cast<TEvePointSet*>((TQObject*) gTQSender);
if (!ps)
{
Error("AliEveListAnalyser::AddSecSelectedSingleObjectToList", "Zero pointer!");
return;
}
if (this->HasChild(ps))
{
if (TString(ps->GetName()).BeginsWith("[sec:"))
{
TEveElement* listObj = this->FindChild(ps->GetName());
if (listObj)
{
listObj->SetUserData(0x0);
this->RemoveElement(listObj);
this->SetTitle(Form("Objects %d", this->NumChildren()));
}
return;
}
}
TObject* obj = ps->GetPointId(pointId);
if (obj)
{
TEveElement* listObj = 0x0;
listObj = this->FindChild(Form("[sec:%d] %s%d", obj->GetUniqueID(), obj->GetName(), pointId));
if (listObj)
{
listObj->SetUserData(0x0);
this->RemoveElement(listObj);
this->SetTitle(Form("Objects %d", this->NumChildren()));
return;
}
TEvePointSet* newPS = new TEvePointSet(Form("[sec:%d] %s%d", obj->GetUniqueID(), obj->GetName(), pointId));
Double_t x = 0, y = 0, z = 0;
ps->GetPoint(pointId, x, y, z);
newPS->SetPoint(0, x, y, z);
newPS->SetUserData(obj);
newPS->SetMarkerColor(5);
newPS->SetMarkerStyle(ps->GetMarkerStyle());
newPS->SetMarkerSize(ps->GetMarkerSize());
newPS->SetOwnIds(kTRUE);
this->AddElement(newPS);
this->SetTitle(Form("Objects %d", this->NumChildren()));
gEve->Redraw3D();
}
else
{
Error("AliEveListAnalyser::AddSecSelectedSingleObjectToList", "Selected object is NULL and therefore ignored!");
}
}
void AliEveListAnalyser::AddStandardContent()
{
}
Bool_t AliEveListAnalyser::ApplyProcessMacros(const TList* selIterator, const TList* procIterator)
{
if (procIterator->GetEntries() <= 0) return kTRUE;
if (fDataTree == NULL){
TDirectory *cwd = gDirectory;
fDataTree = new TTreeSRedirector(Form("/tmp/ListAnalyserMacroData_%s.root", gSystem->Getenv("USER")));
cwd->cd();
}
if (!fDataTree){
Error("Apply process macros", "File \"/tmp/ListAnalyserMacroData_%s.root\" could not be accessed properly!",
gSystem->Getenv("USER"));
return kFALSE;
}
if (fDataFromMacroList != 0) {
fDataFromMacroList->Delete();
delete fDataFromMacroList;
}
fDataFromMacroList = new TList();
fDataFromMacroList->TCollection::SetOwner(kTRUE);
fHistoDataSelected = 0;
TGeneralMacroData* macro(NULL);
TString* procCmds = new TString[procIterator->GetEntries()];
AliEveListAnalyserMacroType* mProcType = new AliEveListAnalyserMacroType[procIterator->GetEntries()];
TClass** mProcObjectType = new TClass*[procIterator->GetEntries()];
TClass** mProcObjectType2 = new TClass*[procIterator->GetEntries()];
TString* selCmds(NULL);
AliEveListAnalyserMacroType* mSelType(NULL);
TClass** mSelObjectType(NULL);
TClass** mSelObjectType2(NULL);
Bool_t selectedByCorrSelMacro = kFALSE;
AliEveListAnalyserMacroType macroType = kUnknown;
Int_t numHistoMacros = 0;
TH1** histos(NULL);
TEveElement* object1(NULL);
TEveElement* object2(NULL);
TH1* returnedHist(NULL);
for (Int_t i = 0; i < procIterator->GetEntries(); i++){
macro = (TGeneralMacroData*)fMacroList->GetValue(procIterator->At(i)->GetTitle());
if (!macro){
Error("Apply process macros",
"Macro list is corrupted: Macro \"%s\" is not registered!",
procIterator->At(i)->GetTitle());
continue;
}
#ifdef AliEveListAnalyser_DEBUG
printf("AliEveListAnalyser: Checking process macro: %s\n", macro->GetName());
#endif
mProcObjectType[i] = macro->GetObjectType();
mProcObjectType2[i] = macro->GetObjectType2();
macroType = macro->GetType();
if (macroType == kSingleObjectHisto || macroType == kCorrelObjectHisto){
mProcType[i] = macroType;
numHistoMacros++;
procCmds[i] = macro->GetCmd();
fDataFromMacroList->Add(new TObjString(Form("%s (histo macro)", macro->GetName())));
} else if (macroType == kSingleObjectAnalyse || macroType == kCorrelObjectAnalyse) {
mProcType[i] = macroType;
procCmds[i] = macro->GetCmd();
fDataFromMacroList->Add(new TObjString(macro->GetName()));
} else {
Error("Apply process macros",
"Macro list corrupted: Macro \"%s/%s.C\" is not registered as a process macro!",
macro->GetPath(), macro->GetName());
mProcType[i] = kUnknown;
}
}
Int_t selEntries = selIterator->GetEntries();
if (selEntries > 0) {
selCmds = new TString[selEntries];
mSelType = new AliEveListAnalyserMacroType[selEntries];
mSelObjectType = new TClass*[selEntries];
mSelObjectType2 = new TClass*[selEntries];
for (Int_t i = 0; i < selEntries; i++){
macro = (TGeneralMacroData*)fMacroList->GetValue(selIterator->At(i)->GetTitle());
if (!macro){
Error("Apply process macros",
"Macro list is corrupted: Macro \"%s\" is not registered!",
selIterator->At(i)->GetTitle());
continue;
}
#ifdef AliEveListAnalyser_DEBUG
printf("AliEveListAnalyser: Checking selection macro: %s\n", macro->GetName());
#endif
mSelObjectType[i] = macro->GetObjectType();
mSelObjectType2[i] = macro->GetObjectType2();
macroType = macro->GetType();
if (macroType == kSingleObjectSelect) {
mSelType[i] = macroType;
}
else if (macroType == kCorrelObjectSelect) {
mSelType[i] = macroType;
selCmds[i] = macro->GetCmd();
} else {
Error("Apply process macros",
"Macro list corrupted: Macro \"%s/%s.C\" is not registered as a selection macro!",
macro->GetPath(), macro->GetName());
mSelType[i] = kUnknown;
}
}
}
if (numHistoMacros > 0){
histos = new TH1*[numHistoMacros];
memset(histos, 0, numHistoMacros*sizeof(TH1*));
}
Bool_t secondBeforeFirstObject = kTRUE;
for (TEveElement::List_i iter = this->BeginChildren(); iter != this->EndChildren(); ++iter){
if(!(object1 = dynamic_cast<TEveElement*>(*iter))) continue;
if (!object1->GetRnrState()) continue;
gROOT->ProcessLineSync(Form("TEveElement *automaticEveElement = (TEveElement*)%p;", (void*)object1));
gROOT->ProcessLineSync("TObject* automaticObject_1 = (TObject*)automaticEveElement->GetUserData();");
for (Int_t i = 0, histoIndex = 0; i < procIterator->GetEntries(); i++){
if (((TObject*)object1->GetUserData())->IsA() != mProcObjectType[i] &&
!((TObject*)object1->GetUserData())->InheritsFrom(mProcObjectType[i])) continue;
if (mProcType[i] == kSingleObjectHisto){
returnedHist = (TH1*)gROOT->ProcessLineSync(procCmds[i]);
if (histos && returnedHist)
{
if (!histos[histoIndex]) histos[histoIndex] = returnedHist;
else
{
histos[histoIndex]->Add((const TH1*)returnedHist);
delete returnedHist;
returnedHist = 0;
}
}
histoIndex++;
} else if (mProcType[i] == kCorrelObjectHisto) {
secondBeforeFirstObject = kTRUE;
for (TEveElement::List_i iter2 = this->BeginChildren(); iter2 != this->EndChildren(); ++iter2)
{
if (iter == iter2)
{
secondBeforeFirstObject = kFALSE;
continue;
}
if(!(object2 = dynamic_cast<TEveElement*>(*iter2))) continue;
if (!object2->GetRnrState()) continue;
if (((TObject*)object2->GetUserData())->IsA() != mProcObjectType2[i] &&
!((TObject*)object2->GetUserData())->InheritsFrom(mProcObjectType2[i])) continue;
if (secondBeforeFirstObject)
{
if (mProcObjectType[i] == mProcObjectType2[i]) continue;
}
gROOT->ProcessLineSync(Form("TEveElement *automaticEveElement = (TEveElement*)%p;", (void*)object2));
gROOT->ProcessLineSync("TObject* automaticObject_2 = (TObject*)automaticEveElement->GetUserData();");
selectedByCorrSelMacro = kTRUE;
for (Int_t j = 0; j < selEntries; j++){
if (mSelType[j] == kCorrelObjectSelect){
if (((TObject*)object1->GetUserData())->IsA() != mSelObjectType[j] &&
!((TObject*)object1->GetUserData())->InheritsFrom(mSelObjectType[j])) continue;
if (((TObject*)object2->GetUserData())->IsA() != mSelObjectType2[j] &&
!((TObject*)object2->GetUserData())->InheritsFrom(mSelObjectType2[j])) continue;
selectedByCorrSelMacro = (Bool_t)gROOT->ProcessLineSync(selCmds[j]);
if (!selectedByCorrSelMacro) break;
}
}
if (!selectedByCorrSelMacro) continue;
returnedHist = (TH1*)gROOT->ProcessLineSync(procCmds[i]);
if (returnedHist && numHistoMacros)
{
if (!histos[histoIndex]) histos[histoIndex] = returnedHist;
else
{
histos[histoIndex]->Add((const TH1*)returnedHist);
delete returnedHist;
returnedHist = 0;
}
}
}
histoIndex++;
}
else if (mProcType[i] == kSingleObjectAnalyse) {
gROOT->ProcessLineSync("Double_t* results = 0;");
gROOT->ProcessLineSync("Int_t n = 0;");
gROOT->ProcessLineSync(procCmds[i]);
Double_t* results = (Double_t*)gROOT->ProcessLineSync("results;");
Int_t nResults = (Int_t)gROOT->ProcessLineSync("n;");
if (results == 0) {
Error("Apply macros", "Error reading data from macro \"%s\"", procIterator->At(i)->GetTitle());
continue;
}
for (Int_t resInd = 0; resInd < nResults; resInd++){
(*fDataTree) << Form("ObjectData%d", i) << Form("Macro%d=", i) << results[resInd] << (Char_t*)"\n";
}
delete results;
results = 0;
}
else if (mProcType[i] == kCorrelObjectAnalyse){
secondBeforeFirstObject = kTRUE;
for (TEveElement::List_i iter2 = this->BeginChildren(); iter2 != this->EndChildren(); ++iter2)
{
if (iter == iter2)
{
secondBeforeFirstObject = kFALSE;
continue;
}
if(!(object2 = dynamic_cast<TEveElement*>(*iter2))) continue;
if (!object2->GetRnrState()) continue;
if (((TObject*)object2->GetUserData())->IsA() != mProcObjectType2[i] &&
!((TObject*)object2->GetUserData())->InheritsFrom(mProcObjectType2[i])) continue;
if (secondBeforeFirstObject)
{
if (mProcObjectType[i] == mProcObjectType2[i]) continue;
}
gROOT->ProcessLineSync(Form("TEveElement *automaticEveElement = (TEveElement*)%p;", (void*)object2));
gROOT->ProcessLineSync("TObject* automaticObject_2 = (TObject*)automaticEveElement->GetUserData();");
selectedByCorrSelMacro = kTRUE;
for (Int_t j = 0; j < selEntries; j++) {
if (mSelType[j] == kCorrelObjectSelect) {
if (((TObject*)object1->GetUserData())->IsA() != mSelObjectType[j] &&
!((TObject*)object1->GetUserData())->InheritsFrom(mSelObjectType[j])) continue;
if (((TObject*)object2->GetUserData())->IsA() != mSelObjectType2[j] &&
!((TObject*)object2->GetUserData())->InheritsFrom(mSelObjectType2[j])) continue;
selectedByCorrSelMacro = (Bool_t)gROOT->ProcessLineSync(selCmds[j]);
if (!selectedByCorrSelMacro) break;
}
}
if (!selectedByCorrSelMacro) continue;
gROOT->ProcessLineSync("Double_t* results = 0;");
gROOT->ProcessLineSync("Int_t n = 0;");
gROOT->ProcessLineSync(procCmds[i]);
Double_t* results = (Double_t*)gROOT->ProcessLineSync("results;");
Int_t nResults = (Int_t)gROOT->ProcessLineSync("n;");
if (results == 0) {
Error("Apply macros", "Error reading data from macro \"%s\"", procIterator->At(i)->GetTitle());
continue;
}
for (Int_t resInd = 0; resInd < nResults; resInd++) {
(*fDataTree) << Form("ObjectData%d", i) << Form("Macro%d=", i) << results[resInd] << (Char_t*)"\n";
}
delete results;
results = 0;
}
}
}
}
for (Int_t i = 0, histoIndex = 0; i < procIterator->GetEntries() && histoIndex < numHistoMacros; i++) {
if (mProcType[i] == kSingleObjectHisto || mProcType[i] == kCorrelObjectHisto) {
if (histos[histoIndex]) {
(*fDataTree) << Form("ObjectData%d", i) << Form("Macro%d=", i) << histos[histoIndex] << (Char_t*)"\n";
}
histoIndex++;
}
}
if (fDataTree != 0) delete fDataTree;
fDataTree = 0;
if (procCmds != 0) delete [] procCmds;
procCmds = 0;
if (mProcObjectType != 0) delete [] mProcObjectType;
mProcObjectType = 0;
if (mProcObjectType2 != 0) delete [] mProcObjectType2;
mProcObjectType2 = 0;
if (mProcType != 0) delete [] mProcType;
mProcType = 0;
if (selCmds != 0) delete [] selCmds;
selCmds = 0;
if (mSelObjectType != 0) delete [] mSelObjectType;
mSelObjectType = 0;
if (mSelObjectType2 != 0) delete [] mSelObjectType2;
mSelObjectType2 = 0;
if (mSelType != 0) delete [] mSelType;
mSelType = 0;
if (histos != 0) delete [] histos;
histos = 0;
if (procIterator->GetEntries() > 0) SETBIT(fHistoDataSelected, 0);
return kTRUE;
}
void AliEveListAnalyser::ApplySOSelectionMacros(const TList* iterator)
{
TGeneralMacroData* macro = 0;
AliEveListAnalyserMacroType macroType = kUnknown;
TEveElement* object1 = 0;
Bool_t selectedByMacro = kFALSE;
for (TEveElement::List_i iter = this->BeginChildren(); iter != this->EndChildren(); ++iter) ((TEveElement*)(*iter))->SetRnrState(kTRUE);
SetRnrState(kTRUE);
for (Int_t i = 0; i < iterator->GetEntries(); i++){
macro = (TGeneralMacroData*)fMacroList->GetValue(iterator->At(i)->GetTitle());
if (!macro){
Error("Apply selection macros",
"Macro list is corrupted: Macro \"%s\" is not registered!", iterator->At(i)->GetTitle());
continue;
}
#ifdef AliEveListAnalyser_DEBUG
printf("AliEveListAnalyser: Applying selection macro: %s\n", macro->GetName());
#endif
macroType = macro->GetType();
if (macroType == kSingleObjectSelect){
for (TEveElement::List_i iter = this->BeginChildren(); iter != this->EndChildren(); ++iter)
{
object1 = dynamic_cast<TEveElement*>(*iter);
if (!object1) continue;
if (!object1->GetRnrState()) continue;
if (((TObject*)object1->GetUserData())->IsA() != macro->GetObjectType() &&
!((TObject*)object1->GetUserData())->InheritsFrom(macro->GetObjectType())) continue;
gROOT->ProcessLineSync(Form("TEveElement *automaticEveElement = (TEveElement*)%p;", (void*)object1));
gROOT->ProcessLineSync("TObject* automaticObject_1 = (TObject*)automaticEveElement->GetUserData();");
selectedByMacro = (Bool_t)gROOT->ProcessLineSync(macro->GetCmd());
object1->SetRnrState(selectedByMacro && object1->GetRnrState());
}
}
else if (macroType == kCorrelObjectSelect){
continue;
} else {
Error("Apply selection macros",
"Macro list corrupted: Macro \"%s/%s.C\" is not registered as a selection macro!",
macro->GetPath(), macro->GetName());
}
}
}
TClass* AliEveListAnalyser::GetMacroObjectType(const Char_t* name, Int_t argNum) const
{
if (argNum - 1 < 0) return 0x0;
TFunction* f = gROOT->GetGlobalFunction(name, 0 , kTRUE);
TMethodArg* m = 0;
TList* list = 0;
if (f)
{
list = f->GetListOfMethodArgs();
if (!list->IsEmpty())
{
m = (TMethodArg*)list->At(argNum - 1);
if (m) return TClass::GetClass(m->GetTypeName());
}
}
return 0x0;
}
AliEveListAnalyser::AliEveListAnalyserMacroType AliEveListAnalyser::GetMacroType(const Char_t* name, const Char_t* objectType,
const Char_t* objectType2, Bool_t UseList) const
{
AliEveListAnalyserMacroType type = kUnknown;
TString* typeStr = 0;
TString* typeStr2 = 0;
if (objectType != 0)
{
typeStr = new TString(objectType);
typeStr->ReplaceAll(" ", "");
}
else
{
typeStr = new TString("TObject");
}
if (objectType2 != 0)
{
typeStr2 = new TString(objectType2);
typeStr2->ReplaceAll(" ", "");
}
else
{
typeStr2 = new TString("TObject");
}
TString* mangled1Str = new TString();
TString* mangled2Str = new TString();
TString* mangled3Str = new TString();
TString* mangled4Str = new TString();
TString* mangledArg1Str = new TString();
TString* mangledArg2Str = new TString();
mangled1Str->Form("const %s*", typeStr->Data());
mangled2Str->Form("const %s*, Double_t*&, Int_t&", typeStr->Data());
mangled3Str->Form("const %s*, const %s*", typeStr->Data(), typeStr2->Data());
mangled4Str->Form("const %s*, const %s*, Double_t*&, Int_t&", typeStr->Data(), typeStr2->Data());
mangledArg1Str->Form("oPconstsP%smUsP", typeStr->Data());
mangledArg2Str->Form("cOconstsP%smUsP", typeStr2->Data());
if (!UseList){
TFunction* f = gROOT->GetGlobalFunctionWithPrototype(name, mangled1Str->Data(), kTRUE);
if (f != 0x0)
{
if (strstr(f->GetMangledName(), mangledArg1Str->Data()) != 0x0)
{
if (!strcmp(f->GetReturnTypeName(), "Bool_t"))
{
type = kSingleObjectSelect;
}
else if (!strcmp(f->GetReturnTypeName(), "TH1*"))
{
type = kSingleObjectHisto;
}
}
}
else if ((f = gROOT->GetGlobalFunctionWithPrototype(name, mangled2Str->Data(), kTRUE))
!= 0x0)
{
if (!strcmp(f->GetReturnTypeName(), "void"))
{
if (strstr(f->GetMangledName(), mangledArg1Str->Data()) != 0x0 &&
strstr(f->GetMangledName(), "cODouble_tmUaNsP") != 0x0 &&
strstr(f->GetMangledName(), "cOInt_taNsP") != 0x0)
{
type = kSingleObjectAnalyse;
}
}
}
else if ((f = gROOT->GetGlobalFunctionWithPrototype(name, mangled3Str->Data(), kTRUE))
!= 0x0)
{
if (strstr(f->GetMangledName(), mangledArg1Str->Data()) != 0x0 &&
strstr(f->GetMangledName(), mangledArg2Str->Data()) != 0x0)
{
if (!strcmp(f->GetReturnTypeName(), "Bool_t"))
{
type = kCorrelObjectSelect;
}
else if (!strcmp(f->GetReturnTypeName(), "TH1*"))
{
type = kCorrelObjectHisto;
}
}
}
else if ((f = gROOT->GetGlobalFunctionWithPrototype(name, mangled4Str->Data(), kTRUE))
!= 0x0)
{
if (!strcmp(f->GetReturnTypeName(), "void"))
{
if (strstr(f->GetMangledName(), mangledArg1Str->Data()) != 0x0 &&
strstr(f->GetMangledName(), mangledArg2Str->Data()) != 0x0 &&
strstr(f->GetMangledName(), "cODouble_tmUaNsP") != 0x0 &&
strstr(f->GetMangledName(), "cOInt_taNsP") != 0x0)
{
type = kCorrelObjectAnalyse;
}
}
}
}
else
{
TGeneralMacroData* macro = 0;
macro = (TGeneralMacroData*)fMacroList->GetValue(name);
if (macro == 0) return kUnknown;
type = macro->GetType();
switch (type)
{
case kSingleObjectSelect:
case kSingleObjectAnalyse:
case kSingleObjectHisto:
case kCorrelObjectSelect:
case kCorrelObjectAnalyse:
case kCorrelObjectHisto:
break;
default:
type = kUnknown;
break;
}
}
if (mangled1Str != 0)
{
mangled1Str->Clear();
delete mangled1Str;
mangled1Str = 0;
}
if (mangled2Str != 0)
{
mangled2Str->Clear();
delete mangled2Str;
mangled2Str = 0;
}
if (mangled3Str != 0)
{
mangled3Str->Clear();
delete mangled3Str;
mangled3Str = 0;
}
if (mangled4Str != 0)
{
mangled4Str->Clear();
delete mangled4Str;
mangled4Str = 0;
}
if (mangledArg1Str != 0)
{
mangledArg1Str->Clear();
delete mangledArg1Str;
mangledArg1Str = 0;
}
if (mangledArg2Str != 0)
{
mangledArg2Str->Clear();
delete mangledArg2Str;
mangledArg2Str = 0;
}
typeStr->Clear();
delete typeStr;
typeStr = 0;
typeStr2->Clear();
delete typeStr2;
typeStr2 = 0;
return type;
}
void AliEveListAnalyser::RemoveSelectedMacros(const TList* iterator)
{
TObject* key = 0;
TPair* entry = 0;
for (Int_t i = 0; i < iterator->GetEntries(); i++)
{
entry = (TPair*)fMacroList->FindObject(iterator->At(i)->GetTitle());
if (entry == 0)
{
Error("AliEveListAnalyser::RemoveSelectedMacros", "Macro \"%s\" not found in list!",
iterator->At(i)->GetTitle());
continue;
}
key = entry->Key();
if (key == 0)
{
Error("AliEveListAnalyser::RemoveSelectedMacros", "Key for macro \"%s\" not found in list!",
iterator->At(i)->GetTitle());
continue;
}
Bool_t rem = fMacroList->DeleteEntry(key);
if (rem)
{
#ifdef AliEveListAnalyser_DEBUG
printf("AliEveListAnalyser::RemoveSelectedMacros(): Removed macro: %s\n", iterator->At(i)->GetTitle());
#endif
}
else
{
Error("AliEveListAnalyser::RemoveSelectedMacros", "Macro \"%s\" could not be removed from the list!",
iterator->At(i)->GetTitle());
}
}
}
void AliEveListAnalyser::ResetObjectList()
{
RemoveElements();
this->SetTitle(Form("Objects %d", this->NumChildren()));
}
Bool_t AliEveListAnalyser::StartAddingObjects()
{
if (fConnected == kFALSE)
{
fConnected = TQObject::Connect("TEvePointSet", "PointSelected(Int_t)", "AliEveListAnalyser", this, "AddSecSelectedSingleObjectToList(Int_t)");
if (fConnected) fConnected = TQObject::Connect(gEve->GetSelection(), "SelectionAdded(TEveElement*)", "AliEveListAnalyser", this, "AddPrimSelectedObject(TEveElement*)");
if (fConnected) return kTRUE;
Error("AliEveListAnalyser::StartAddingObjects", "Connection failed!");
TQObject::Disconnect("TEvePointSet", "PointSelected(Int_t)", this, "AddObjectToList(Int_t)");
}
return kFALSE;
}
Bool_t AliEveListAnalyser::StopAddingObjects()
{
if (fConnected)
{
Bool_t dis1 = kFALSE, dis2 = kFALSE;
dis1 = TQObject::Disconnect("TEvePointSet", "PointSelected(Int_t)", this, "AddSecSelectedSingleObjectToList(Int_t)");
dis2 = TQObject::Disconnect(gEve->GetSelection(), "SelectionAdded(TEveElement*)", this, "AddPrimSelectedObject(TEveElement*)");
if (dis1 || dis2) fConnected = kFALSE;
if (dis1 && dis2) return kTRUE;
else
{
Error("AliEveListAnalyser::StopAddingObjects", "Disconnection failed!");
return kFALSE;
}
}
return kTRUE;
}
AliEveListAnalyser.cxx:10 AliEveListAnalyser.cxx:11 AliEveListAnalyser.cxx:12 AliEveListAnalyser.cxx:13 AliEveListAnalyser.cxx:14 AliEveListAnalyser.cxx:15 AliEveListAnalyser.cxx:16 AliEveListAnalyser.cxx:17 AliEveListAnalyser.cxx:18 AliEveListAnalyser.cxx:19 AliEveListAnalyser.cxx:20 AliEveListAnalyser.cxx:21 AliEveListAnalyser.cxx:22 AliEveListAnalyser.cxx:23 AliEveListAnalyser.cxx:24 AliEveListAnalyser.cxx:25 AliEveListAnalyser.cxx:26 AliEveListAnalyser.cxx:27 AliEveListAnalyser.cxx:28 AliEveListAnalyser.cxx:29 AliEveListAnalyser.cxx:30 AliEveListAnalyser.cxx:31 AliEveListAnalyser.cxx:32 AliEveListAnalyser.cxx:33 AliEveListAnalyser.cxx:34 AliEveListAnalyser.cxx:35 AliEveListAnalyser.cxx:36 AliEveListAnalyser.cxx:37 AliEveListAnalyser.cxx:38 AliEveListAnalyser.cxx:39 AliEveListAnalyser.cxx:40 AliEveListAnalyser.cxx:41 AliEveListAnalyser.cxx:42 AliEveListAnalyser.cxx:43 AliEveListAnalyser.cxx:44 AliEveListAnalyser.cxx:45 AliEveListAnalyser.cxx:46 AliEveListAnalyser.cxx:47 AliEveListAnalyser.cxx:48 AliEveListAnalyser.cxx:49 AliEveListAnalyser.cxx:50 AliEveListAnalyser.cxx:51 AliEveListAnalyser.cxx:52 AliEveListAnalyser.cxx:53 AliEveListAnalyser.cxx:54 AliEveListAnalyser.cxx:55 AliEveListAnalyser.cxx:56 AliEveListAnalyser.cxx:57 AliEveListAnalyser.cxx:58 AliEveListAnalyser.cxx:59 AliEveListAnalyser.cxx:60 AliEveListAnalyser.cxx:61 AliEveListAnalyser.cxx:62 AliEveListAnalyser.cxx:63 AliEveListAnalyser.cxx:64 AliEveListAnalyser.cxx:65 AliEveListAnalyser.cxx:66 AliEveListAnalyser.cxx:67 AliEveListAnalyser.cxx:68 AliEveListAnalyser.cxx:69 AliEveListAnalyser.cxx:70 AliEveListAnalyser.cxx:71 AliEveListAnalyser.cxx:72 AliEveListAnalyser.cxx:73 AliEveListAnalyser.cxx:74 AliEveListAnalyser.cxx:75 AliEveListAnalyser.cxx:76 AliEveListAnalyser.cxx:77 AliEveListAnalyser.cxx:78 AliEveListAnalyser.cxx:79 AliEveListAnalyser.cxx:80 AliEveListAnalyser.cxx:81 AliEveListAnalyser.cxx:82 AliEveListAnalyser.cxx:83 AliEveListAnalyser.cxx:84 AliEveListAnalyser.cxx:85 AliEveListAnalyser.cxx:86 AliEveListAnalyser.cxx:87 AliEveListAnalyser.cxx:88 AliEveListAnalyser.cxx:89 AliEveListAnalyser.cxx:90 AliEveListAnalyser.cxx:91 AliEveListAnalyser.cxx:92 AliEveListAnalyser.cxx:93 AliEveListAnalyser.cxx:94 AliEveListAnalyser.cxx:95 AliEveListAnalyser.cxx:96 AliEveListAnalyser.cxx:97 AliEveListAnalyser.cxx:98 AliEveListAnalyser.cxx:99 AliEveListAnalyser.cxx:100 AliEveListAnalyser.cxx:101 AliEveListAnalyser.cxx:102 AliEveListAnalyser.cxx:103 AliEveListAnalyser.cxx:104 AliEveListAnalyser.cxx:105 AliEveListAnalyser.cxx:106 AliEveListAnalyser.cxx:107 AliEveListAnalyser.cxx:108 AliEveListAnalyser.cxx:109 AliEveListAnalyser.cxx:110 AliEveListAnalyser.cxx:111 AliEveListAnalyser.cxx:112 AliEveListAnalyser.cxx:113 AliEveListAnalyser.cxx:114 AliEveListAnalyser.cxx:115 AliEveListAnalyser.cxx:116 AliEveListAnalyser.cxx:117 AliEveListAnalyser.cxx:118 AliEveListAnalyser.cxx:119 AliEveListAnalyser.cxx:120 AliEveListAnalyser.cxx:121 AliEveListAnalyser.cxx:122 AliEveListAnalyser.cxx:123 AliEveListAnalyser.cxx:124 AliEveListAnalyser.cxx:125 AliEveListAnalyser.cxx:126 AliEveListAnalyser.cxx:127 AliEveListAnalyser.cxx:128 AliEveListAnalyser.cxx:129 AliEveListAnalyser.cxx:130 AliEveListAnalyser.cxx:131 AliEveListAnalyser.cxx:132 AliEveListAnalyser.cxx:133 AliEveListAnalyser.cxx:134 AliEveListAnalyser.cxx:135 AliEveListAnalyser.cxx:136 AliEveListAnalyser.cxx:137 AliEveListAnalyser.cxx:138 AliEveListAnalyser.cxx:139 AliEveListAnalyser.cxx:140 AliEveListAnalyser.cxx:141 AliEveListAnalyser.cxx:142 AliEveListAnalyser.cxx:143 AliEveListAnalyser.cxx:144 AliEveListAnalyser.cxx:145 AliEveListAnalyser.cxx:146 AliEveListAnalyser.cxx:147 AliEveListAnalyser.cxx:148 AliEveListAnalyser.cxx:149 AliEveListAnalyser.cxx:150 AliEveListAnalyser.cxx:151 AliEveListAnalyser.cxx:152 AliEveListAnalyser.cxx:153 AliEveListAnalyser.cxx:154 AliEveListAnalyser.cxx:155 AliEveListAnalyser.cxx:156 AliEveListAnalyser.cxx:157 AliEveListAnalyser.cxx:158 AliEveListAnalyser.cxx:159 AliEveListAnalyser.cxx:160 AliEveListAnalyser.cxx:161 AliEveListAnalyser.cxx:162 AliEveListAnalyser.cxx:163 AliEveListAnalyser.cxx:164 AliEveListAnalyser.cxx:165 AliEveListAnalyser.cxx:166 AliEveListAnalyser.cxx:167 AliEveListAnalyser.cxx:168 AliEveListAnalyser.cxx:169 AliEveListAnalyser.cxx:170 AliEveListAnalyser.cxx:171 AliEveListAnalyser.cxx:172 AliEveListAnalyser.cxx:173 AliEveListAnalyser.cxx:174 AliEveListAnalyser.cxx:175 AliEveListAnalyser.cxx:176 AliEveListAnalyser.cxx:177 AliEveListAnalyser.cxx:178 AliEveListAnalyser.cxx:179 AliEveListAnalyser.cxx:180 AliEveListAnalyser.cxx:181 AliEveListAnalyser.cxx:182 AliEveListAnalyser.cxx:183 AliEveListAnalyser.cxx:184 AliEveListAnalyser.cxx:185 AliEveListAnalyser.cxx:186 AliEveListAnalyser.cxx:187 AliEveListAnalyser.cxx:188 AliEveListAnalyser.cxx:189 AliEveListAnalyser.cxx:190 AliEveListAnalyser.cxx:191 AliEveListAnalyser.cxx:192 AliEveListAnalyser.cxx:193 AliEveListAnalyser.cxx:194 AliEveListAnalyser.cxx:195 AliEveListAnalyser.cxx:196 AliEveListAnalyser.cxx:197 AliEveListAnalyser.cxx:198 AliEveListAnalyser.cxx:199 AliEveListAnalyser.cxx:200 AliEveListAnalyser.cxx:201 AliEveListAnalyser.cxx:202 AliEveListAnalyser.cxx:203 AliEveListAnalyser.cxx:204 AliEveListAnalyser.cxx:205 AliEveListAnalyser.cxx:206 AliEveListAnalyser.cxx:207 AliEveListAnalyser.cxx:208 AliEveListAnalyser.cxx:209 AliEveListAnalyser.cxx:210 AliEveListAnalyser.cxx:211 AliEveListAnalyser.cxx:212 AliEveListAnalyser.cxx:213 AliEveListAnalyser.cxx:214 AliEveListAnalyser.cxx:215 AliEveListAnalyser.cxx:216 AliEveListAnalyser.cxx:217 AliEveListAnalyser.cxx:218 AliEveListAnalyser.cxx:219 AliEveListAnalyser.cxx:220 AliEveListAnalyser.cxx:221 AliEveListAnalyser.cxx:222 AliEveListAnalyser.cxx:223 AliEveListAnalyser.cxx:224 AliEveListAnalyser.cxx:225 AliEveListAnalyser.cxx:226 AliEveListAnalyser.cxx:227 AliEveListAnalyser.cxx:228 AliEveListAnalyser.cxx:229 AliEveListAnalyser.cxx:230 AliEveListAnalyser.cxx:231 AliEveListAnalyser.cxx:232 AliEveListAnalyser.cxx:233 AliEveListAnalyser.cxx:234 AliEveListAnalyser.cxx:235 AliEveListAnalyser.cxx:236 AliEveListAnalyser.cxx:237 AliEveListAnalyser.cxx:238 AliEveListAnalyser.cxx:239 AliEveListAnalyser.cxx:240 AliEveListAnalyser.cxx:241 AliEveListAnalyser.cxx:242 AliEveListAnalyser.cxx:243 AliEveListAnalyser.cxx:244 AliEveListAnalyser.cxx:245 AliEveListAnalyser.cxx:246 AliEveListAnalyser.cxx:247 AliEveListAnalyser.cxx:248 AliEveListAnalyser.cxx:249 AliEveListAnalyser.cxx:250 AliEveListAnalyser.cxx:251 AliEveListAnalyser.cxx:252 AliEveListAnalyser.cxx:253 AliEveListAnalyser.cxx:254 AliEveListAnalyser.cxx:255 AliEveListAnalyser.cxx:256 AliEveListAnalyser.cxx:257 AliEveListAnalyser.cxx:258 AliEveListAnalyser.cxx:259 AliEveListAnalyser.cxx:260 AliEveListAnalyser.cxx:261 AliEveListAnalyser.cxx:262 AliEveListAnalyser.cxx:263 AliEveListAnalyser.cxx:264 AliEveListAnalyser.cxx:265 AliEveListAnalyser.cxx:266 AliEveListAnalyser.cxx:267 AliEveListAnalyser.cxx:268 AliEveListAnalyser.cxx:269 AliEveListAnalyser.cxx:270 AliEveListAnalyser.cxx:271 AliEveListAnalyser.cxx:272 AliEveListAnalyser.cxx:273 AliEveListAnalyser.cxx:274 AliEveListAnalyser.cxx:275 AliEveListAnalyser.cxx:276 AliEveListAnalyser.cxx:277 AliEveListAnalyser.cxx:278 AliEveListAnalyser.cxx:279 AliEveListAnalyser.cxx:280 AliEveListAnalyser.cxx:281 AliEveListAnalyser.cxx:282 AliEveListAnalyser.cxx:283 AliEveListAnalyser.cxx:284 AliEveListAnalyser.cxx:285 AliEveListAnalyser.cxx:286 AliEveListAnalyser.cxx:287 AliEveListAnalyser.cxx:288 AliEveListAnalyser.cxx:289 AliEveListAnalyser.cxx:290 AliEveListAnalyser.cxx:291 AliEveListAnalyser.cxx:292 AliEveListAnalyser.cxx:293 AliEveListAnalyser.cxx:294 AliEveListAnalyser.cxx:295 AliEveListAnalyser.cxx:296 AliEveListAnalyser.cxx:297 AliEveListAnalyser.cxx:298 AliEveListAnalyser.cxx:299 AliEveListAnalyser.cxx:300 AliEveListAnalyser.cxx:301 AliEveListAnalyser.cxx:302 AliEveListAnalyser.cxx:303 AliEveListAnalyser.cxx:304 AliEveListAnalyser.cxx:305 AliEveListAnalyser.cxx:306 AliEveListAnalyser.cxx:307 AliEveListAnalyser.cxx:308 AliEveListAnalyser.cxx:309 AliEveListAnalyser.cxx:310 AliEveListAnalyser.cxx:311 AliEveListAnalyser.cxx:312 AliEveListAnalyser.cxx:313 AliEveListAnalyser.cxx:314 AliEveListAnalyser.cxx:315 AliEveListAnalyser.cxx:316 AliEveListAnalyser.cxx:317 AliEveListAnalyser.cxx:318 AliEveListAnalyser.cxx:319 AliEveListAnalyser.cxx:320 AliEveListAnalyser.cxx:321 AliEveListAnalyser.cxx:322 AliEveListAnalyser.cxx:323 AliEveListAnalyser.cxx:324 AliEveListAnalyser.cxx:325 AliEveListAnalyser.cxx:326 AliEveListAnalyser.cxx:327 AliEveListAnalyser.cxx:328 AliEveListAnalyser.cxx:329 AliEveListAnalyser.cxx:330 AliEveListAnalyser.cxx:331 AliEveListAnalyser.cxx:332 AliEveListAnalyser.cxx:333 AliEveListAnalyser.cxx:334 AliEveListAnalyser.cxx:335 AliEveListAnalyser.cxx:336 AliEveListAnalyser.cxx:337 AliEveListAnalyser.cxx:338 AliEveListAnalyser.cxx:339 AliEveListAnalyser.cxx:340 AliEveListAnalyser.cxx:341 AliEveListAnalyser.cxx:342 AliEveListAnalyser.cxx:343 AliEveListAnalyser.cxx:344 AliEveListAnalyser.cxx:345 AliEveListAnalyser.cxx:346 AliEveListAnalyser.cxx:347 AliEveListAnalyser.cxx:348 AliEveListAnalyser.cxx:349 AliEveListAnalyser.cxx:350 AliEveListAnalyser.cxx:351 AliEveListAnalyser.cxx:352 AliEveListAnalyser.cxx:353 AliEveListAnalyser.cxx:354 AliEveListAnalyser.cxx:355 AliEveListAnalyser.cxx:356 AliEveListAnalyser.cxx:357 AliEveListAnalyser.cxx:358 AliEveListAnalyser.cxx:359 AliEveListAnalyser.cxx:360 AliEveListAnalyser.cxx:361 AliEveListAnalyser.cxx:362 AliEveListAnalyser.cxx:363 AliEveListAnalyser.cxx:364 AliEveListAnalyser.cxx:365 AliEveListAnalyser.cxx:366 AliEveListAnalyser.cxx:367 AliEveListAnalyser.cxx:368 AliEveListAnalyser.cxx:369 AliEveListAnalyser.cxx:370 AliEveListAnalyser.cxx:371 AliEveListAnalyser.cxx:372 AliEveListAnalyser.cxx:373 AliEveListAnalyser.cxx:374 AliEveListAnalyser.cxx:375 AliEveListAnalyser.cxx:376 AliEveListAnalyser.cxx:377 AliEveListAnalyser.cxx:378 AliEveListAnalyser.cxx:379 AliEveListAnalyser.cxx:380 AliEveListAnalyser.cxx:381 AliEveListAnalyser.cxx:382 AliEveListAnalyser.cxx:383 AliEveListAnalyser.cxx:384 AliEveListAnalyser.cxx:385 AliEveListAnalyser.cxx:386 AliEveListAnalyser.cxx:387 AliEveListAnalyser.cxx:388 AliEveListAnalyser.cxx:389 AliEveListAnalyser.cxx:390 AliEveListAnalyser.cxx:391 AliEveListAnalyser.cxx:392 AliEveListAnalyser.cxx:393 AliEveListAnalyser.cxx:394 AliEveListAnalyser.cxx:395 AliEveListAnalyser.cxx:396 AliEveListAnalyser.cxx:397 AliEveListAnalyser.cxx:398 AliEveListAnalyser.cxx:399 AliEveListAnalyser.cxx:400 AliEveListAnalyser.cxx:401 AliEveListAnalyser.cxx:402 AliEveListAnalyser.cxx:403 AliEveListAnalyser.cxx:404 AliEveListAnalyser.cxx:405 AliEveListAnalyser.cxx:406 AliEveListAnalyser.cxx:407 AliEveListAnalyser.cxx:408 AliEveListAnalyser.cxx:409 AliEveListAnalyser.cxx:410 AliEveListAnalyser.cxx:411 AliEveListAnalyser.cxx:412 AliEveListAnalyser.cxx:413 AliEveListAnalyser.cxx:414 AliEveListAnalyser.cxx:415 AliEveListAnalyser.cxx:416 AliEveListAnalyser.cxx:417 AliEveListAnalyser.cxx:418 AliEveListAnalyser.cxx:419 AliEveListAnalyser.cxx:420 AliEveListAnalyser.cxx:421 AliEveListAnalyser.cxx:422 AliEveListAnalyser.cxx:423 AliEveListAnalyser.cxx:424 AliEveListAnalyser.cxx:425 AliEveListAnalyser.cxx:426 AliEveListAnalyser.cxx:427 AliEveListAnalyser.cxx:428 AliEveListAnalyser.cxx:429 AliEveListAnalyser.cxx:430 AliEveListAnalyser.cxx:431 AliEveListAnalyser.cxx:432 AliEveListAnalyser.cxx:433 AliEveListAnalyser.cxx:434 AliEveListAnalyser.cxx:435 AliEveListAnalyser.cxx:436 AliEveListAnalyser.cxx:437 AliEveListAnalyser.cxx:438 AliEveListAnalyser.cxx:439 AliEveListAnalyser.cxx:440 AliEveListAnalyser.cxx:441 AliEveListAnalyser.cxx:442 AliEveListAnalyser.cxx:443 AliEveListAnalyser.cxx:444 AliEveListAnalyser.cxx:445 AliEveListAnalyser.cxx:446 AliEveListAnalyser.cxx:447 AliEveListAnalyser.cxx:448 AliEveListAnalyser.cxx:449 AliEveListAnalyser.cxx:450 AliEveListAnalyser.cxx:451 AliEveListAnalyser.cxx:452 AliEveListAnalyser.cxx:453 AliEveListAnalyser.cxx:454 AliEveListAnalyser.cxx:455 AliEveListAnalyser.cxx:456 AliEveListAnalyser.cxx:457 AliEveListAnalyser.cxx:458 AliEveListAnalyser.cxx:459 AliEveListAnalyser.cxx:460 AliEveListAnalyser.cxx:461 AliEveListAnalyser.cxx:462 AliEveListAnalyser.cxx:463 AliEveListAnalyser.cxx:464 AliEveListAnalyser.cxx:465 AliEveListAnalyser.cxx:466 AliEveListAnalyser.cxx:467 AliEveListAnalyser.cxx:468 AliEveListAnalyser.cxx:469 AliEveListAnalyser.cxx:470 AliEveListAnalyser.cxx:471 AliEveListAnalyser.cxx:472 AliEveListAnalyser.cxx:473 AliEveListAnalyser.cxx:474 AliEveListAnalyser.cxx:475 AliEveListAnalyser.cxx:476 AliEveListAnalyser.cxx:477 AliEveListAnalyser.cxx:478 AliEveListAnalyser.cxx:479 AliEveListAnalyser.cxx:480 AliEveListAnalyser.cxx:481 AliEveListAnalyser.cxx:482 AliEveListAnalyser.cxx:483 AliEveListAnalyser.cxx:484 AliEveListAnalyser.cxx:485 AliEveListAnalyser.cxx:486 AliEveListAnalyser.cxx:487 AliEveListAnalyser.cxx:488 AliEveListAnalyser.cxx:489 AliEveListAnalyser.cxx:490 AliEveListAnalyser.cxx:491 AliEveListAnalyser.cxx:492 AliEveListAnalyser.cxx:493 AliEveListAnalyser.cxx:494 AliEveListAnalyser.cxx:495 AliEveListAnalyser.cxx:496 AliEveListAnalyser.cxx:497 AliEveListAnalyser.cxx:498 AliEveListAnalyser.cxx:499 AliEveListAnalyser.cxx:500 AliEveListAnalyser.cxx:501 AliEveListAnalyser.cxx:502 AliEveListAnalyser.cxx:503 AliEveListAnalyser.cxx:504 AliEveListAnalyser.cxx:505 AliEveListAnalyser.cxx:506 AliEveListAnalyser.cxx:507 AliEveListAnalyser.cxx:508 AliEveListAnalyser.cxx:509 AliEveListAnalyser.cxx:510 AliEveListAnalyser.cxx:511 AliEveListAnalyser.cxx:512 AliEveListAnalyser.cxx:513 AliEveListAnalyser.cxx:514 AliEveListAnalyser.cxx:515 AliEveListAnalyser.cxx:516 AliEveListAnalyser.cxx:517 AliEveListAnalyser.cxx:518 AliEveListAnalyser.cxx:519 AliEveListAnalyser.cxx:520 AliEveListAnalyser.cxx:521 AliEveListAnalyser.cxx:522 AliEveListAnalyser.cxx:523 AliEveListAnalyser.cxx:524 AliEveListAnalyser.cxx:525 AliEveListAnalyser.cxx:526 AliEveListAnalyser.cxx:527 AliEveListAnalyser.cxx:528 AliEveListAnalyser.cxx:529 AliEveListAnalyser.cxx:530 AliEveListAnalyser.cxx:531 AliEveListAnalyser.cxx:532 AliEveListAnalyser.cxx:533 AliEveListAnalyser.cxx:534 AliEveListAnalyser.cxx:535 AliEveListAnalyser.cxx:536 AliEveListAnalyser.cxx:537 AliEveListAnalyser.cxx:538 AliEveListAnalyser.cxx:539 AliEveListAnalyser.cxx:540 AliEveListAnalyser.cxx:541 AliEveListAnalyser.cxx:542 AliEveListAnalyser.cxx:543 AliEveListAnalyser.cxx:544 AliEveListAnalyser.cxx:545 AliEveListAnalyser.cxx:546 AliEveListAnalyser.cxx:547 AliEveListAnalyser.cxx:548 AliEveListAnalyser.cxx:549 AliEveListAnalyser.cxx:550 AliEveListAnalyser.cxx:551 AliEveListAnalyser.cxx:552 AliEveListAnalyser.cxx:553 AliEveListAnalyser.cxx:554 AliEveListAnalyser.cxx:555 AliEveListAnalyser.cxx:556 AliEveListAnalyser.cxx:557 AliEveListAnalyser.cxx:558 AliEveListAnalyser.cxx:559 AliEveListAnalyser.cxx:560 AliEveListAnalyser.cxx:561 AliEveListAnalyser.cxx:562 AliEveListAnalyser.cxx:563 AliEveListAnalyser.cxx:564 AliEveListAnalyser.cxx:565 AliEveListAnalyser.cxx:566 AliEveListAnalyser.cxx:567 AliEveListAnalyser.cxx:568 AliEveListAnalyser.cxx:569 AliEveListAnalyser.cxx:570 AliEveListAnalyser.cxx:571 AliEveListAnalyser.cxx:572 AliEveListAnalyser.cxx:573 AliEveListAnalyser.cxx:574 AliEveListAnalyser.cxx:575 AliEveListAnalyser.cxx:576 AliEveListAnalyser.cxx:577 AliEveListAnalyser.cxx:578 AliEveListAnalyser.cxx:579 AliEveListAnalyser.cxx:580 AliEveListAnalyser.cxx:581 AliEveListAnalyser.cxx:582 AliEveListAnalyser.cxx:583 AliEveListAnalyser.cxx:584 AliEveListAnalyser.cxx:585 AliEveListAnalyser.cxx:586 AliEveListAnalyser.cxx:587 AliEveListAnalyser.cxx:588 AliEveListAnalyser.cxx:589 AliEveListAnalyser.cxx:590 AliEveListAnalyser.cxx:591 AliEveListAnalyser.cxx:592 AliEveListAnalyser.cxx:593 AliEveListAnalyser.cxx:594 AliEveListAnalyser.cxx:595 AliEveListAnalyser.cxx:596 AliEveListAnalyser.cxx:597 AliEveListAnalyser.cxx:598 AliEveListAnalyser.cxx:599 AliEveListAnalyser.cxx:600 AliEveListAnalyser.cxx:601 AliEveListAnalyser.cxx:602 AliEveListAnalyser.cxx:603 AliEveListAnalyser.cxx:604 AliEveListAnalyser.cxx:605 AliEveListAnalyser.cxx:606 AliEveListAnalyser.cxx:607 AliEveListAnalyser.cxx:608 AliEveListAnalyser.cxx:609 AliEveListAnalyser.cxx:610 AliEveListAnalyser.cxx:611 AliEveListAnalyser.cxx:612 AliEveListAnalyser.cxx:613 AliEveListAnalyser.cxx:614 AliEveListAnalyser.cxx:615 AliEveListAnalyser.cxx:616 AliEveListAnalyser.cxx:617 AliEveListAnalyser.cxx:618 AliEveListAnalyser.cxx:619 AliEveListAnalyser.cxx:620 AliEveListAnalyser.cxx:621 AliEveListAnalyser.cxx:622 AliEveListAnalyser.cxx:623 AliEveListAnalyser.cxx:624 AliEveListAnalyser.cxx:625 AliEveListAnalyser.cxx:626 AliEveListAnalyser.cxx:627 AliEveListAnalyser.cxx:628 AliEveListAnalyser.cxx:629 AliEveListAnalyser.cxx:630 AliEveListAnalyser.cxx:631 AliEveListAnalyser.cxx:632 AliEveListAnalyser.cxx:633 AliEveListAnalyser.cxx:634 AliEveListAnalyser.cxx:635 AliEveListAnalyser.cxx:636 AliEveListAnalyser.cxx:637 AliEveListAnalyser.cxx:638 AliEveListAnalyser.cxx:639 AliEveListAnalyser.cxx:640 AliEveListAnalyser.cxx:641 AliEveListAnalyser.cxx:642 AliEveListAnalyser.cxx:643 AliEveListAnalyser.cxx:644 AliEveListAnalyser.cxx:645 AliEveListAnalyser.cxx:646 AliEveListAnalyser.cxx:647 AliEveListAnalyser.cxx:648 AliEveListAnalyser.cxx:649 AliEveListAnalyser.cxx:650 AliEveListAnalyser.cxx:651 AliEveListAnalyser.cxx:652 AliEveListAnalyser.cxx:653 AliEveListAnalyser.cxx:654 AliEveListAnalyser.cxx:655 AliEveListAnalyser.cxx:656 AliEveListAnalyser.cxx:657 AliEveListAnalyser.cxx:658 AliEveListAnalyser.cxx:659 AliEveListAnalyser.cxx:660 AliEveListAnalyser.cxx:661 AliEveListAnalyser.cxx:662 AliEveListAnalyser.cxx:663 AliEveListAnalyser.cxx:664 AliEveListAnalyser.cxx:665 AliEveListAnalyser.cxx:666 AliEveListAnalyser.cxx:667 AliEveListAnalyser.cxx:668 AliEveListAnalyser.cxx:669 AliEveListAnalyser.cxx:670 AliEveListAnalyser.cxx:671 AliEveListAnalyser.cxx:672 AliEveListAnalyser.cxx:673 AliEveListAnalyser.cxx:674 AliEveListAnalyser.cxx:675 AliEveListAnalyser.cxx:676 AliEveListAnalyser.cxx:677 AliEveListAnalyser.cxx:678 AliEveListAnalyser.cxx:679 AliEveListAnalyser.cxx:680 AliEveListAnalyser.cxx:681 AliEveListAnalyser.cxx:682 AliEveListAnalyser.cxx:683 AliEveListAnalyser.cxx:684 AliEveListAnalyser.cxx:685 AliEveListAnalyser.cxx:686 AliEveListAnalyser.cxx:687 AliEveListAnalyser.cxx:688 AliEveListAnalyser.cxx:689 AliEveListAnalyser.cxx:690 AliEveListAnalyser.cxx:691 AliEveListAnalyser.cxx:692 AliEveListAnalyser.cxx:693 AliEveListAnalyser.cxx:694 AliEveListAnalyser.cxx:695 AliEveListAnalyser.cxx:696 AliEveListAnalyser.cxx:697 AliEveListAnalyser.cxx:698 AliEveListAnalyser.cxx:699 AliEveListAnalyser.cxx:700 AliEveListAnalyser.cxx:701 AliEveListAnalyser.cxx:702 AliEveListAnalyser.cxx:703 AliEveListAnalyser.cxx:704 AliEveListAnalyser.cxx:705 AliEveListAnalyser.cxx:706 AliEveListAnalyser.cxx:707 AliEveListAnalyser.cxx:708 AliEveListAnalyser.cxx:709 AliEveListAnalyser.cxx:710 AliEveListAnalyser.cxx:711 AliEveListAnalyser.cxx:712 AliEveListAnalyser.cxx:713 AliEveListAnalyser.cxx:714 AliEveListAnalyser.cxx:715 AliEveListAnalyser.cxx:716 AliEveListAnalyser.cxx:717 AliEveListAnalyser.cxx:718 AliEveListAnalyser.cxx:719 AliEveListAnalyser.cxx:720 AliEveListAnalyser.cxx:721 AliEveListAnalyser.cxx:722 AliEveListAnalyser.cxx:723 AliEveListAnalyser.cxx:724 AliEveListAnalyser.cxx:725 AliEveListAnalyser.cxx:726 AliEveListAnalyser.cxx:727 AliEveListAnalyser.cxx:728 AliEveListAnalyser.cxx:729 AliEveListAnalyser.cxx:730 AliEveListAnalyser.cxx:731 AliEveListAnalyser.cxx:732 AliEveListAnalyser.cxx:733 AliEveListAnalyser.cxx:734 AliEveListAnalyser.cxx:735 AliEveListAnalyser.cxx:736 AliEveListAnalyser.cxx:737 AliEveListAnalyser.cxx:738 AliEveListAnalyser.cxx:739 AliEveListAnalyser.cxx:740 AliEveListAnalyser.cxx:741 AliEveListAnalyser.cxx:742 AliEveListAnalyser.cxx:743 AliEveListAnalyser.cxx:744 AliEveListAnalyser.cxx:745 AliEveListAnalyser.cxx:746 AliEveListAnalyser.cxx:747 AliEveListAnalyser.cxx:748 AliEveListAnalyser.cxx:749 AliEveListAnalyser.cxx:750 AliEveListAnalyser.cxx:751 AliEveListAnalyser.cxx:752 AliEveListAnalyser.cxx:753 AliEveListAnalyser.cxx:754 AliEveListAnalyser.cxx:755 AliEveListAnalyser.cxx:756 AliEveListAnalyser.cxx:757 AliEveListAnalyser.cxx:758 AliEveListAnalyser.cxx:759 AliEveListAnalyser.cxx:760 AliEveListAnalyser.cxx:761 AliEveListAnalyser.cxx:762 AliEveListAnalyser.cxx:763 AliEveListAnalyser.cxx:764 AliEveListAnalyser.cxx:765 AliEveListAnalyser.cxx:766 AliEveListAnalyser.cxx:767 AliEveListAnalyser.cxx:768 AliEveListAnalyser.cxx:769 AliEveListAnalyser.cxx:770 AliEveListAnalyser.cxx:771 AliEveListAnalyser.cxx:772 AliEveListAnalyser.cxx:773 AliEveListAnalyser.cxx:774 AliEveListAnalyser.cxx:775 AliEveListAnalyser.cxx:776 AliEveListAnalyser.cxx:777 AliEveListAnalyser.cxx:778 AliEveListAnalyser.cxx:779 AliEveListAnalyser.cxx:780 AliEveListAnalyser.cxx:781 AliEveListAnalyser.cxx:782 AliEveListAnalyser.cxx:783 AliEveListAnalyser.cxx:784 AliEveListAnalyser.cxx:785 AliEveListAnalyser.cxx:786 AliEveListAnalyser.cxx:787 AliEveListAnalyser.cxx:788 AliEveListAnalyser.cxx:789 AliEveListAnalyser.cxx:790 AliEveListAnalyser.cxx:791 AliEveListAnalyser.cxx:792 AliEveListAnalyser.cxx:793 AliEveListAnalyser.cxx:794 AliEveListAnalyser.cxx:795 AliEveListAnalyser.cxx:796 AliEveListAnalyser.cxx:797 AliEveListAnalyser.cxx:798 AliEveListAnalyser.cxx:799 AliEveListAnalyser.cxx:800 AliEveListAnalyser.cxx:801 AliEveListAnalyser.cxx:802 AliEveListAnalyser.cxx:803 AliEveListAnalyser.cxx:804 AliEveListAnalyser.cxx:805 AliEveListAnalyser.cxx:806 AliEveListAnalyser.cxx:807 AliEveListAnalyser.cxx:808 AliEveListAnalyser.cxx:809 AliEveListAnalyser.cxx:810 AliEveListAnalyser.cxx:811 AliEveListAnalyser.cxx:812 AliEveListAnalyser.cxx:813 AliEveListAnalyser.cxx:814 AliEveListAnalyser.cxx:815 AliEveListAnalyser.cxx:816 AliEveListAnalyser.cxx:817 AliEveListAnalyser.cxx:818 AliEveListAnalyser.cxx:819 AliEveListAnalyser.cxx:820 AliEveListAnalyser.cxx:821 AliEveListAnalyser.cxx:822 AliEveListAnalyser.cxx:823 AliEveListAnalyser.cxx:824 AliEveListAnalyser.cxx:825 AliEveListAnalyser.cxx:826 AliEveListAnalyser.cxx:827 AliEveListAnalyser.cxx:828 AliEveListAnalyser.cxx:829 AliEveListAnalyser.cxx:830 AliEveListAnalyser.cxx:831 AliEveListAnalyser.cxx:832 AliEveListAnalyser.cxx:833 AliEveListAnalyser.cxx:834 AliEveListAnalyser.cxx:835 AliEveListAnalyser.cxx:836 AliEveListAnalyser.cxx:837 AliEveListAnalyser.cxx:838 AliEveListAnalyser.cxx:839 AliEveListAnalyser.cxx:840 AliEveListAnalyser.cxx:841 AliEveListAnalyser.cxx:842 AliEveListAnalyser.cxx:843 AliEveListAnalyser.cxx:844 AliEveListAnalyser.cxx:845 AliEveListAnalyser.cxx:846 AliEveListAnalyser.cxx:847 AliEveListAnalyser.cxx:848 AliEveListAnalyser.cxx:849 AliEveListAnalyser.cxx:850 AliEveListAnalyser.cxx:851 AliEveListAnalyser.cxx:852 AliEveListAnalyser.cxx:853 AliEveListAnalyser.cxx:854 AliEveListAnalyser.cxx:855 AliEveListAnalyser.cxx:856 AliEveListAnalyser.cxx:857 AliEveListAnalyser.cxx:858 AliEveListAnalyser.cxx:859 AliEveListAnalyser.cxx:860 AliEveListAnalyser.cxx:861 AliEveListAnalyser.cxx:862 AliEveListAnalyser.cxx:863 AliEveListAnalyser.cxx:864 AliEveListAnalyser.cxx:865 AliEveListAnalyser.cxx:866 AliEveListAnalyser.cxx:867 AliEveListAnalyser.cxx:868 AliEveListAnalyser.cxx:869 AliEveListAnalyser.cxx:870 AliEveListAnalyser.cxx:871 AliEveListAnalyser.cxx:872 AliEveListAnalyser.cxx:873 AliEveListAnalyser.cxx:874 AliEveListAnalyser.cxx:875 AliEveListAnalyser.cxx:876 AliEveListAnalyser.cxx:877 AliEveListAnalyser.cxx:878 AliEveListAnalyser.cxx:879 AliEveListAnalyser.cxx:880 AliEveListAnalyser.cxx:881 AliEveListAnalyser.cxx:882 AliEveListAnalyser.cxx:883 AliEveListAnalyser.cxx:884 AliEveListAnalyser.cxx:885 AliEveListAnalyser.cxx:886 AliEveListAnalyser.cxx:887 AliEveListAnalyser.cxx:888 AliEveListAnalyser.cxx:889 AliEveListAnalyser.cxx:890 AliEveListAnalyser.cxx:891 AliEveListAnalyser.cxx:892 AliEveListAnalyser.cxx:893 AliEveListAnalyser.cxx:894 AliEveListAnalyser.cxx:895 AliEveListAnalyser.cxx:896 AliEveListAnalyser.cxx:897 AliEveListAnalyser.cxx:898 AliEveListAnalyser.cxx:899 AliEveListAnalyser.cxx:900 AliEveListAnalyser.cxx:901 AliEveListAnalyser.cxx:902 AliEveListAnalyser.cxx:903 AliEveListAnalyser.cxx:904 AliEveListAnalyser.cxx:905 AliEveListAnalyser.cxx:906 AliEveListAnalyser.cxx:907 AliEveListAnalyser.cxx:908 AliEveListAnalyser.cxx:909 AliEveListAnalyser.cxx:910 AliEveListAnalyser.cxx:911 AliEveListAnalyser.cxx:912 AliEveListAnalyser.cxx:913 AliEveListAnalyser.cxx:914 AliEveListAnalyser.cxx:915 AliEveListAnalyser.cxx:916 AliEveListAnalyser.cxx:917 AliEveListAnalyser.cxx:918 AliEveListAnalyser.cxx:919 AliEveListAnalyser.cxx:920 AliEveListAnalyser.cxx:921 AliEveListAnalyser.cxx:922 AliEveListAnalyser.cxx:923 AliEveListAnalyser.cxx:924 AliEveListAnalyser.cxx:925 AliEveListAnalyser.cxx:926 AliEveListAnalyser.cxx:927 AliEveListAnalyser.cxx:928 AliEveListAnalyser.cxx:929 AliEveListAnalyser.cxx:930 AliEveListAnalyser.cxx:931 AliEveListAnalyser.cxx:932 AliEveListAnalyser.cxx:933 AliEveListAnalyser.cxx:934 AliEveListAnalyser.cxx:935 AliEveListAnalyser.cxx:936 AliEveListAnalyser.cxx:937 AliEveListAnalyser.cxx:938 AliEveListAnalyser.cxx:939 AliEveListAnalyser.cxx:940 AliEveListAnalyser.cxx:941 AliEveListAnalyser.cxx:942 AliEveListAnalyser.cxx:943 AliEveListAnalyser.cxx:944 AliEveListAnalyser.cxx:945 AliEveListAnalyser.cxx:946 AliEveListAnalyser.cxx:947 AliEveListAnalyser.cxx:948 AliEveListAnalyser.cxx:949 AliEveListAnalyser.cxx:950 AliEveListAnalyser.cxx:951 AliEveListAnalyser.cxx:952 AliEveListAnalyser.cxx:953 AliEveListAnalyser.cxx:954 AliEveListAnalyser.cxx:955 AliEveListAnalyser.cxx:956 AliEveListAnalyser.cxx:957 AliEveListAnalyser.cxx:958 AliEveListAnalyser.cxx:959 AliEveListAnalyser.cxx:960 AliEveListAnalyser.cxx:961 AliEveListAnalyser.cxx:962 AliEveListAnalyser.cxx:963 AliEveListAnalyser.cxx:964 AliEveListAnalyser.cxx:965 AliEveListAnalyser.cxx:966 AliEveListAnalyser.cxx:967 AliEveListAnalyser.cxx:968 AliEveListAnalyser.cxx:969 AliEveListAnalyser.cxx:970 AliEveListAnalyser.cxx:971 AliEveListAnalyser.cxx:972 AliEveListAnalyser.cxx:973 AliEveListAnalyser.cxx:974 AliEveListAnalyser.cxx:975 AliEveListAnalyser.cxx:976 AliEveListAnalyser.cxx:977 AliEveListAnalyser.cxx:978 AliEveListAnalyser.cxx:979 AliEveListAnalyser.cxx:980 AliEveListAnalyser.cxx:981 AliEveListAnalyser.cxx:982 AliEveListAnalyser.cxx:983 AliEveListAnalyser.cxx:984 AliEveListAnalyser.cxx:985 AliEveListAnalyser.cxx:986 AliEveListAnalyser.cxx:987 AliEveListAnalyser.cxx:988 AliEveListAnalyser.cxx:989 AliEveListAnalyser.cxx:990 AliEveListAnalyser.cxx:991 AliEveListAnalyser.cxx:992 AliEveListAnalyser.cxx:993 AliEveListAnalyser.cxx:994 AliEveListAnalyser.cxx:995 AliEveListAnalyser.cxx:996 AliEveListAnalyser.cxx:997 AliEveListAnalyser.cxx:998 AliEveListAnalyser.cxx:999 AliEveListAnalyser.cxx:1000 AliEveListAnalyser.cxx:1001 AliEveListAnalyser.cxx:1002 AliEveListAnalyser.cxx:1003 AliEveListAnalyser.cxx:1004 AliEveListAnalyser.cxx:1005 AliEveListAnalyser.cxx:1006 AliEveListAnalyser.cxx:1007 AliEveListAnalyser.cxx:1008 AliEveListAnalyser.cxx:1009 AliEveListAnalyser.cxx:1010 AliEveListAnalyser.cxx:1011 AliEveListAnalyser.cxx:1012 AliEveListAnalyser.cxx:1013 AliEveListAnalyser.cxx:1014 AliEveListAnalyser.cxx:1015 AliEveListAnalyser.cxx:1016 AliEveListAnalyser.cxx:1017 AliEveListAnalyser.cxx:1018 AliEveListAnalyser.cxx:1019 AliEveListAnalyser.cxx:1020 AliEveListAnalyser.cxx:1021 AliEveListAnalyser.cxx:1022 AliEveListAnalyser.cxx:1023 AliEveListAnalyser.cxx:1024 AliEveListAnalyser.cxx:1025 AliEveListAnalyser.cxx:1026 AliEveListAnalyser.cxx:1027 AliEveListAnalyser.cxx:1028 AliEveListAnalyser.cxx:1029 AliEveListAnalyser.cxx:1030 AliEveListAnalyser.cxx:1031 AliEveListAnalyser.cxx:1032 AliEveListAnalyser.cxx:1033 AliEveListAnalyser.cxx:1034 AliEveListAnalyser.cxx:1035 AliEveListAnalyser.cxx:1036 AliEveListAnalyser.cxx:1037 AliEveListAnalyser.cxx:1038 AliEveListAnalyser.cxx:1039 AliEveListAnalyser.cxx:1040 AliEveListAnalyser.cxx:1041 AliEveListAnalyser.cxx:1042 AliEveListAnalyser.cxx:1043 AliEveListAnalyser.cxx:1044 AliEveListAnalyser.cxx:1045 AliEveListAnalyser.cxx:1046 AliEveListAnalyser.cxx:1047 AliEveListAnalyser.cxx:1048 AliEveListAnalyser.cxx:1049 AliEveListAnalyser.cxx:1050 AliEveListAnalyser.cxx:1051 AliEveListAnalyser.cxx:1052 AliEveListAnalyser.cxx:1053 AliEveListAnalyser.cxx:1054 AliEveListAnalyser.cxx:1055 AliEveListAnalyser.cxx:1056 AliEveListAnalyser.cxx:1057 AliEveListAnalyser.cxx:1058 AliEveListAnalyser.cxx:1059 AliEveListAnalyser.cxx:1060 AliEveListAnalyser.cxx:1061 AliEveListAnalyser.cxx:1062 AliEveListAnalyser.cxx:1063 AliEveListAnalyser.cxx:1064 AliEveListAnalyser.cxx:1065 AliEveListAnalyser.cxx:1066 AliEveListAnalyser.cxx:1067 AliEveListAnalyser.cxx:1068 AliEveListAnalyser.cxx:1069 AliEveListAnalyser.cxx:1070 AliEveListAnalyser.cxx:1071 AliEveListAnalyser.cxx:1072 AliEveListAnalyser.cxx:1073 AliEveListAnalyser.cxx:1074 AliEveListAnalyser.cxx:1075 AliEveListAnalyser.cxx:1076 AliEveListAnalyser.cxx:1077 AliEveListAnalyser.cxx:1078 AliEveListAnalyser.cxx:1079 AliEveListAnalyser.cxx:1080 AliEveListAnalyser.cxx:1081 AliEveListAnalyser.cxx:1082 AliEveListAnalyser.cxx:1083 AliEveListAnalyser.cxx:1084 AliEveListAnalyser.cxx:1085 AliEveListAnalyser.cxx:1086 AliEveListAnalyser.cxx:1087 AliEveListAnalyser.cxx:1088 AliEveListAnalyser.cxx:1089 AliEveListAnalyser.cxx:1090 AliEveListAnalyser.cxx:1091 AliEveListAnalyser.cxx:1092 AliEveListAnalyser.cxx:1093 AliEveListAnalyser.cxx:1094 AliEveListAnalyser.cxx:1095 AliEveListAnalyser.cxx:1096 AliEveListAnalyser.cxx:1097 AliEveListAnalyser.cxx:1098 AliEveListAnalyser.cxx:1099 AliEveListAnalyser.cxx:1100 AliEveListAnalyser.cxx:1101 AliEveListAnalyser.cxx:1102 AliEveListAnalyser.cxx:1103 AliEveListAnalyser.cxx:1104 AliEveListAnalyser.cxx:1105 AliEveListAnalyser.cxx:1106 AliEveListAnalyser.cxx:1107 AliEveListAnalyser.cxx:1108 AliEveListAnalyser.cxx:1109 AliEveListAnalyser.cxx:1110 AliEveListAnalyser.cxx:1111 AliEveListAnalyser.cxx:1112 AliEveListAnalyser.cxx:1113 AliEveListAnalyser.cxx:1114 AliEveListAnalyser.cxx:1115 AliEveListAnalyser.cxx:1116 AliEveListAnalyser.cxx:1117 AliEveListAnalyser.cxx:1118 AliEveListAnalyser.cxx:1119 AliEveListAnalyser.cxx:1120 AliEveListAnalyser.cxx:1121 AliEveListAnalyser.cxx:1122 AliEveListAnalyser.cxx:1123 AliEveListAnalyser.cxx:1124 AliEveListAnalyser.cxx:1125 AliEveListAnalyser.cxx:1126 AliEveListAnalyser.cxx:1127 AliEveListAnalyser.cxx:1128 AliEveListAnalyser.cxx:1129 AliEveListAnalyser.cxx:1130 AliEveListAnalyser.cxx:1131 AliEveListAnalyser.cxx:1132 AliEveListAnalyser.cxx:1133 AliEveListAnalyser.cxx:1134 AliEveListAnalyser.cxx:1135 AliEveListAnalyser.cxx:1136 AliEveListAnalyser.cxx:1137 AliEveListAnalyser.cxx:1138 AliEveListAnalyser.cxx:1139 AliEveListAnalyser.cxx:1140 AliEveListAnalyser.cxx:1141 AliEveListAnalyser.cxx:1142 AliEveListAnalyser.cxx:1143 AliEveListAnalyser.cxx:1144 AliEveListAnalyser.cxx:1145 AliEveListAnalyser.cxx:1146 AliEveListAnalyser.cxx:1147 AliEveListAnalyser.cxx:1148 AliEveListAnalyser.cxx:1149 AliEveListAnalyser.cxx:1150 AliEveListAnalyser.cxx:1151 AliEveListAnalyser.cxx:1152 AliEveListAnalyser.cxx:1153 AliEveListAnalyser.cxx:1154 AliEveListAnalyser.cxx:1155 AliEveListAnalyser.cxx:1156 AliEveListAnalyser.cxx:1157 AliEveListAnalyser.cxx:1158 AliEveListAnalyser.cxx:1159 AliEveListAnalyser.cxx:1160 AliEveListAnalyser.cxx:1161 AliEveListAnalyser.cxx:1162 AliEveListAnalyser.cxx:1163 AliEveListAnalyser.cxx:1164 AliEveListAnalyser.cxx:1165 AliEveListAnalyser.cxx:1166 AliEveListAnalyser.cxx:1167 AliEveListAnalyser.cxx:1168 AliEveListAnalyser.cxx:1169 AliEveListAnalyser.cxx:1170 AliEveListAnalyser.cxx:1171 AliEveListAnalyser.cxx:1172 AliEveListAnalyser.cxx:1173 AliEveListAnalyser.cxx:1174 AliEveListAnalyser.cxx:1175 AliEveListAnalyser.cxx:1176 AliEveListAnalyser.cxx:1177 AliEveListAnalyser.cxx:1178 AliEveListAnalyser.cxx:1179 AliEveListAnalyser.cxx:1180 AliEveListAnalyser.cxx:1181 AliEveListAnalyser.cxx:1182 AliEveListAnalyser.cxx:1183 AliEveListAnalyser.cxx:1184 AliEveListAnalyser.cxx:1185 AliEveListAnalyser.cxx:1186 AliEveListAnalyser.cxx:1187 AliEveListAnalyser.cxx:1188 AliEveListAnalyser.cxx:1189 AliEveListAnalyser.cxx:1190 AliEveListAnalyser.cxx:1191 AliEveListAnalyser.cxx:1192 AliEveListAnalyser.cxx:1193 AliEveListAnalyser.cxx:1194 AliEveListAnalyser.cxx:1195 AliEveListAnalyser.cxx:1196 AliEveListAnalyser.cxx:1197 AliEveListAnalyser.cxx:1198 AliEveListAnalyser.cxx:1199 AliEveListAnalyser.cxx:1200 AliEveListAnalyser.cxx:1201 AliEveListAnalyser.cxx:1202 AliEveListAnalyser.cxx:1203 AliEveListAnalyser.cxx:1204 AliEveListAnalyser.cxx:1205 AliEveListAnalyser.cxx:1206 AliEveListAnalyser.cxx:1207 AliEveListAnalyser.cxx:1208 AliEveListAnalyser.cxx:1209 AliEveListAnalyser.cxx:1210 AliEveListAnalyser.cxx:1211 AliEveListAnalyser.cxx:1212 AliEveListAnalyser.cxx:1213 AliEveListAnalyser.cxx:1214 AliEveListAnalyser.cxx:1215 AliEveListAnalyser.cxx:1216 AliEveListAnalyser.cxx:1217 AliEveListAnalyser.cxx:1218 AliEveListAnalyser.cxx:1219 AliEveListAnalyser.cxx:1220 AliEveListAnalyser.cxx:1221 AliEveListAnalyser.cxx:1222 AliEveListAnalyser.cxx:1223 AliEveListAnalyser.cxx:1224 AliEveListAnalyser.cxx:1225 AliEveListAnalyser.cxx:1226 AliEveListAnalyser.cxx:1227 AliEveListAnalyser.cxx:1228 AliEveListAnalyser.cxx:1229 AliEveListAnalyser.cxx:1230 AliEveListAnalyser.cxx:1231 AliEveListAnalyser.cxx:1232 AliEveListAnalyser.cxx:1233 AliEveListAnalyser.cxx:1234 AliEveListAnalyser.cxx:1235 AliEveListAnalyser.cxx:1236 AliEveListAnalyser.cxx:1237 AliEveListAnalyser.cxx:1238 AliEveListAnalyser.cxx:1239 AliEveListAnalyser.cxx:1240 AliEveListAnalyser.cxx:1241 AliEveListAnalyser.cxx:1242 AliEveListAnalyser.cxx:1243 AliEveListAnalyser.cxx:1244 AliEveListAnalyser.cxx:1245 AliEveListAnalyser.cxx:1246 AliEveListAnalyser.cxx:1247 AliEveListAnalyser.cxx:1248 AliEveListAnalyser.cxx:1249 AliEveListAnalyser.cxx:1250 AliEveListAnalyser.cxx:1251 AliEveListAnalyser.cxx:1252 AliEveListAnalyser.cxx:1253 AliEveListAnalyser.cxx:1254 AliEveListAnalyser.cxx:1255 AliEveListAnalyser.cxx:1256 AliEveListAnalyser.cxx:1257 AliEveListAnalyser.cxx:1258 AliEveListAnalyser.cxx:1259 AliEveListAnalyser.cxx:1260 AliEveListAnalyser.cxx:1261 AliEveListAnalyser.cxx:1262 AliEveListAnalyser.cxx:1263 AliEveListAnalyser.cxx:1264 AliEveListAnalyser.cxx:1265 AliEveListAnalyser.cxx:1266 AliEveListAnalyser.cxx:1267 AliEveListAnalyser.cxx:1268 AliEveListAnalyser.cxx:1269 AliEveListAnalyser.cxx:1270 AliEveListAnalyser.cxx:1271 AliEveListAnalyser.cxx:1272 AliEveListAnalyser.cxx:1273 AliEveListAnalyser.cxx:1274 AliEveListAnalyser.cxx:1275 AliEveListAnalyser.cxx:1276 AliEveListAnalyser.cxx:1277 AliEveListAnalyser.cxx:1278 AliEveListAnalyser.cxx:1279 AliEveListAnalyser.cxx:1280 AliEveListAnalyser.cxx:1281 AliEveListAnalyser.cxx:1282 AliEveListAnalyser.cxx:1283 AliEveListAnalyser.cxx:1284 AliEveListAnalyser.cxx:1285 AliEveListAnalyser.cxx:1286 AliEveListAnalyser.cxx:1287 AliEveListAnalyser.cxx:1288 AliEveListAnalyser.cxx:1289 AliEveListAnalyser.cxx:1290 AliEveListAnalyser.cxx:1291 AliEveListAnalyser.cxx:1292 AliEveListAnalyser.cxx:1293 AliEveListAnalyser.cxx:1294 AliEveListAnalyser.cxx:1295 AliEveListAnalyser.cxx:1296 AliEveListAnalyser.cxx:1297 AliEveListAnalyser.cxx:1298 AliEveListAnalyser.cxx:1299 AliEveListAnalyser.cxx:1300 AliEveListAnalyser.cxx:1301 AliEveListAnalyser.cxx:1302 AliEveListAnalyser.cxx:1303 AliEveListAnalyser.cxx:1304 AliEveListAnalyser.cxx:1305 AliEveListAnalyser.cxx:1306 AliEveListAnalyser.cxx:1307 AliEveListAnalyser.cxx:1308 AliEveListAnalyser.cxx:1309 AliEveListAnalyser.cxx:1310 AliEveListAnalyser.cxx:1311 AliEveListAnalyser.cxx:1312 AliEveListAnalyser.cxx:1313 AliEveListAnalyser.cxx:1314 AliEveListAnalyser.cxx:1315 AliEveListAnalyser.cxx:1316 AliEveListAnalyser.cxx:1317 AliEveListAnalyser.cxx:1318 AliEveListAnalyser.cxx:1319 AliEveListAnalyser.cxx:1320 AliEveListAnalyser.cxx:1321 AliEveListAnalyser.cxx:1322 AliEveListAnalyser.cxx:1323 AliEveListAnalyser.cxx:1324 AliEveListAnalyser.cxx:1325 AliEveListAnalyser.cxx:1326 AliEveListAnalyser.cxx:1327 AliEveListAnalyser.cxx:1328 AliEveListAnalyser.cxx:1329 AliEveListAnalyser.cxx:1330 AliEveListAnalyser.cxx:1331 AliEveListAnalyser.cxx:1332 AliEveListAnalyser.cxx:1333 AliEveListAnalyser.cxx:1334 AliEveListAnalyser.cxx:1335 AliEveListAnalyser.cxx:1336 AliEveListAnalyser.cxx:1337 AliEveListAnalyser.cxx:1338 AliEveListAnalyser.cxx:1339 AliEveListAnalyser.cxx:1340 AliEveListAnalyser.cxx:1341 AliEveListAnalyser.cxx:1342 AliEveListAnalyser.cxx:1343 AliEveListAnalyser.cxx:1344 AliEveListAnalyser.cxx:1345 AliEveListAnalyser.cxx:1346 AliEveListAnalyser.cxx:1347 AliEveListAnalyser.cxx:1348 AliEveListAnalyser.cxx:1349 AliEveListAnalyser.cxx:1350 AliEveListAnalyser.cxx:1351 AliEveListAnalyser.cxx:1352 AliEveListAnalyser.cxx:1353 AliEveListAnalyser.cxx:1354 AliEveListAnalyser.cxx:1355 AliEveListAnalyser.cxx:1356 AliEveListAnalyser.cxx:1357 AliEveListAnalyser.cxx:1358 AliEveListAnalyser.cxx:1359 AliEveListAnalyser.cxx:1360 AliEveListAnalyser.cxx:1361 AliEveListAnalyser.cxx:1362 AliEveListAnalyser.cxx:1363 AliEveListAnalyser.cxx:1364 AliEveListAnalyser.cxx:1365 AliEveListAnalyser.cxx:1366 AliEveListAnalyser.cxx:1367 AliEveListAnalyser.cxx:1368 AliEveListAnalyser.cxx:1369 AliEveListAnalyser.cxx:1370 AliEveListAnalyser.cxx:1371 AliEveListAnalyser.cxx:1372 AliEveListAnalyser.cxx:1373 AliEveListAnalyser.cxx:1374 AliEveListAnalyser.cxx:1375 AliEveListAnalyser.cxx:1376 AliEveListAnalyser.cxx:1377 AliEveListAnalyser.cxx:1378 AliEveListAnalyser.cxx:1379