#include <EveDet/AliEveListAnalyser.h>
#include "AliEveListAnalyserEditor.h"
#include <EveBase/AliEveEventManager.h>
#include <TCanvas.h>
#include <TEveBrowser.h>
#include <TEveGedEditor.h>
#include <TEveMacro.h>
#include <TEveManager.h>
#include <TFile.h>
#include <TG3DLine.h>
#include <TGButton.h>
#include <TGButtonGroup.h>
#include <TGComboBox.h>
#include <TGFileDialog.h>
#include <TGLabel.h>
#include <TGListBox.h>
#include <TGMsgBox.h>
#include <TGTab.h>
#include <TGTextEdit.h>
#include <TGTextEntry.h>
#include <TGTextView.h>
#include <TH1.h>
#include <TMap.h>
#include <TObjString.h>
#include <TROOT.h>
#include <TString.h>
#include <TSystem.h>
#include <TTreeStream.h>
ClassImp(AliEveListAnalyserEditor)
AliEveListAnalyserEditor::AliEveListAnalyserEditor(const TGWindow* p, Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
TGedFrame(p, width, height, options, back),
fM(0),
fHistoCanvas(0),
fHistoCanvasName(0),
fInheritedMacroList(0),
fInheritSettings(kFALSE),
fBrowseFrame(0),
fHistoFrame(0),
fHistoSubFrame(0),
fMainFrame(0),
fObjectFrame(0),
fbApplyMacros(0),
fbBrowse(0),
fbDrawHisto(0),
fbNew(0),
fbRemoveMacros(0),
fbReset(0),
fbStart(0),
fbStop(0),
fteField(0),
ftlMacroList(0),
ftlMacroSelList(0),
fFileInfo(0),
fFileTypes(0),
fLabel1(0), fLabel2(0), fLabel3(0), fLabel4(0),
fLine1(0), fLine2(0), fLine3(0), fLine4(0),
fCheckButtons(0)
{
fObjectFrame = CreateEditorTabSubFrame("List");
TGLabel* label = new TGLabel(fObjectFrame,"Add objects by clicking:");
fObjectFrame->AddFrame(label);
fbStart = new TGTextButton(fObjectFrame, "Start");
fObjectFrame->AddFrame(fbStart, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 3, 1));
fbStart->SetToolTipText("Start \"adding objects by clicking\":\n\nPrimary selection: Simply left-click an object in the viewer with your mouse to add it to the list analyser.\nIf you click an object that is already in the list, it will be removed from it.\n\nSecondary selection: Simply hold ALT+CTRL and left-click a single object of a TEvePointSet (e.g. single clusters or a single digit from TEveQuadSet)\nin the viewer with your mouse to add it to the list analyser.\nIf you click (in this way!) an object that is already in the list, it will be removed from it.\nNote: The key combination depends on your operating system and might be different!\n\nAlso note: Remove objects with the same type of selection you added them,\ne.g. you cannot(!) remove a single cluster added via secondary selection\nby using primary selection with this object!");
fbStart->Connect("Clicked()", "AliEveListAnalyserEditor", this, "DoStartAddingObjects()");
fbReset = new TGTextButton(fObjectFrame, "Reset");
fObjectFrame->AddFrame(fbReset, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 1));
fbReset->SetToolTipText("Remove all(!) objects from the list");
fbReset->Connect("Clicked()", "AliEveListAnalyserEditor", this, "DoResetObjectList()");
fbStop = new TGTextButton(fObjectFrame, "Stop");
fObjectFrame->AddFrame(fbStop, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 4));
fbStop->SetToolTipText("Stop \"adding objects by clicking\"");
fbStop->Connect("Clicked()", "AliEveListAnalyserEditor", this, "DoStopAddingObjects()");
fMainFrame = CreateEditorTabSubFrame("Process");
fLabel1 = new TGLabel(fMainFrame,"Add plugin(s):");
fMainFrame->AddFrame(fLabel1);
fBrowseFrame = new TGHorizontalFrame(fMainFrame);
fteField = new TGTextEntry(fBrowseFrame);
fteField->SetToolTipText("Enter the pathname of the macro you want to add here and press \"Enter\"");
fteField->Connect("ReturnPressed()","AliEveListAnalyserEditor", this, "HandleMacroPathSet()");
fBrowseFrame->AddFrame(fteField);
fbBrowse = new TGTextButton(fBrowseFrame, "Browse");
fbBrowse->SetToolTipText("Browse the macro you want to add");
fbBrowse->Connect("Clicked()", "AliEveListAnalyserEditor", this, "BrowseMacros()");
fBrowseFrame->AddFrame(fbBrowse);
fbNew = new TGTextButton(fBrowseFrame, "New");
fbNew->SetToolTipText("Start macro creation wizard");
fbNew->Connect("Clicked()", "AliEveListAnalyserEditor", this, "NewMacros()");
fBrowseFrame->AddFrame(fbNew);
fMainFrame->AddFrame(fBrowseFrame);
fLine1 = new TGHorizontal3DLine(fMainFrame, 194, 8);
fMainFrame->AddFrame(fLine1, new TGLayoutHints(kLHintsLeft | kLHintsTop, 2, 2, 8, 2));
fLabel2 = new TGLabel(fMainFrame,"Selection plugins:");
fMainFrame->AddFrame(fLabel2);
ftlMacroSelList = new TGListBox(fMainFrame);
ftlMacroSelList->Resize(194, 94);
ftlMacroSelList->SetMultipleSelections(kTRUE);
fMainFrame->AddFrame(ftlMacroSelList);
fLine2 = new TGHorizontal3DLine(fMainFrame, 194, 8);
fMainFrame->AddFrame(fLine2, new TGLayoutHints(kLHintsLeft | kLHintsTop, 2, 2, 8, 2));
fLabel3 = new TGLabel(fMainFrame,"Process plugins:");
fMainFrame->AddFrame(fLabel3);
ftlMacroList = new TGListBox(fMainFrame);
ftlMacroList->Resize(194, 94);
ftlMacroList->SetMultipleSelections(kTRUE);
fMainFrame->AddFrame(ftlMacroList);
fLine3 = new TGHorizontal3DLine(fMainFrame, 194, 8);
fMainFrame->AddFrame(fLine3, new TGLayoutHints(kLHintsLeft | kLHintsTop, 2, 2, 8, 2));
fbApplyMacros = new TGTextButton(fMainFrame, "Apply plugin(s)");
fbApplyMacros->SetToolTipText("Apply all selected macros/class functins to the list of objects -> A data file will be generated");
fbApplyMacros->Connect("Clicked()", "AliEveListAnalyserEditor", this, "ApplyMacros()");
fbApplyMacros->SetRightMargin(12);
fMainFrame->AddFrame(fbApplyMacros);
fbRemoveMacros = new TGTextButton(fMainFrame, "Remove plugin(s)");
fbRemoveMacros->SetToolTipText("Remove the selected macros/class functions from the list(s)");
fbRemoveMacros->Connect("Clicked()", "AliEveListAnalyserEditor", this, "RemoveMacros()");
fMainFrame->AddFrame(fbRemoveMacros);
fHistoFrame = CreateEditorTabSubFrame("Results");
fHistoFrame->SetMapSubwindows(kTRUE);
fLabel4 = new TGLabel(fHistoFrame,"Data from plugins:");
fHistoFrame->AddFrame(fLabel4);
fHistoSubFrame = new TGVerticalFrame(fHistoFrame);
fHistoSubFrame->SetMapSubwindows(kTRUE);
fHistoSubFrame->Resize(194, 200);
fHistoFrame->AddFrame(fHistoSubFrame);
fLine4 = new TGHorizontal3DLine(fHistoFrame, 194, 8);
fHistoFrame->AddFrame(fLine4, new TGLayoutHints(kLHintsLeft | kLHintsTop, 2, 2, 8, 2));
fbDrawHisto = new TGTextButton(fHistoFrame, "Draw projections");
fbDrawHisto->SetToolTipText("Uses the data file created by the last \"Apply selected plugin(s)\".\nClick here to display the data histograms of the selected macros.\nSelect multiple macros to create multi-dimensional plots.\nHisto macros cannot be used for multi-dimensional plots!");
fbDrawHisto->Connect("Clicked()", "AliEveListAnalyserEditor", this, "DrawHistos()");
fHistoFrame->AddFrame(fbDrawHisto);
fFileInfo = new TGFileInfo();
fFileInfo->SetMultipleSelection(kTRUE);
fFileTypes = new Char_t*[6];
fFileTypes[0] = (Char_t*)"All files"; fFileTypes[1] = (Char_t*)"*";
fFileTypes[2] = (Char_t*)"ROOT macros"; fFileTypes[3] = (Char_t*)"*.C";
fFileTypes[4] = 0; fFileTypes[5] = 0;
fFileInfo->fFileTypes = (const Char_t**)fFileTypes;
fFileInfo->fFileTypeIdx = 2;
fFileInfo->fMultipleSelection = kTRUE;
fHistoCanvasName = new TGString("");
ftlMacroList->Connect("Selected(Int_t)", "AliEveListAnalyserEditor", this, "UpdateMacroListSelection(Int_t)");
ftlMacroSelList->Connect("Selected(Int_t)", "AliEveListAnalyserEditor", this, "UpdateMacroListSelection(Int_t)");
AliEveEventManager::GetMaster()->Connect("NewEventLoaded()", "AliEveListAnalyserEditor", this, "HandleNewEventLoaded()");
GetGedEditor()->GetTab()->Connect("Selected(Int_t)", "AliEveListAnalyserEditor", this, "HandleTabChangedToIndex(Int_t)");
}
AliEveListAnalyserEditor::~AliEveListAnalyserEditor()
{
if (fFileTypes != 0)
{
delete [] fFileTypes;
fFileTypes = 0;
}
if (fFileInfo != 0)
{
delete fFileInfo;
fFileInfo = 0;
}
CloseTabs();
if (fHistoCanvasName != 0)
{
delete fHistoCanvasName;
fHistoCanvasName = 0;
}
if (fInheritedMacroList != 0)
{
fInheritedMacroList->Delete();
delete fInheritedMacroList;
fInheritedMacroList = 0;
}
}
void AliEveListAnalyserEditor::AddMacro(const Char_t* name, const Char_t* path)
{
Int_t result = fM->AddMacro(path, name);
switch (result)
{
case SUCCESS:
UpdateMacroList();
break;
case WARNING:
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Warning", "Macro is already in list (won't be added again)!",
kMBIconExclamation, kMBOk);
break;
case ERROR:
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error", "Failed to load the macro (check messages in the terminal)!",
kMBIconExclamation, kMBOk);
break;
case SIGNATURE_ERROR:
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
"Macro has not the signature of...\n...a single object selection macro: Bool_t YourMacro(const YourObjectType*)\n...a correlated objects selection macro: Bool_t YourMacro(const YourObjectType*, const YourObjectType2*)\n...a single object analyse macro: void YourMacro(const YourObjectType*, Double_t*&, Int_t&)\n...a correlated objects analyse macro: void YourMacro(const YourObjectType*, const YourObjectType2*, Double_t*&, Int_t&)\n...a single object histo macro: TH1* YourMacro(const YourObjectType*)\n...a correlated objects histo macro: TH1* YourMacro(const YourObjectType*, const YourObjectType2*)",
kMBIconExclamation, kMBOk);
break;
case NOT_EXIST_ERROR:
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
"File does not exist or you do not have read permission!", kMBIconExclamation, kMBOk);
break;
case UNKNOWN_OBJECT_TYPE_ERROR:
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
"Unknown object type of macro parameter!", kMBIconExclamation, kMBOk);
break;
default:
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
Form("AliEveListAnalyser::AddMacro exited with unknown return value: %d", result),
kMBIconExclamation, kMBOk);
break;
}
}
void AliEveListAnalyserEditor::ApplyMacros()
{
Bool_t success = kFALSE;
TList* selIterator = new TList();
ftlMacroSelList->GetSelectedEntries(selIterator);
fM->ApplySOSelectionMacros(selIterator);
gEve->Redraw3D();
TList* procIterator = new TList();
ftlMacroList->GetSelectedEntries(procIterator);
success = fM->ApplyProcessMacros(selIterator, procIterator);
SetModel(fM);
Update();
if (success && procIterator->GetEntries() > 0)
{
GetGedEditor()->GetTab()->SetTab("Results");
DrawHistos();
}
delete selIterator;
delete procIterator;
if (!success)
{
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
"AliEveListAnalyser::ApplyProcessMacros experienced an error (cf. CINT-output)!",
kMBIconExclamation, kMBOk);
}
}
void AliEveListAnalyserEditor::BrowseMacros()
{
new TGFileDialog(gClient->GetRoot(), GetMainFrame(), kFDOpen, fFileInfo);
if (fFileInfo->fIniDir != 0 && fFileInfo->fFileNamesList != 0)
{
TObject* iter = fFileInfo->fFileNamesList->First();
Char_t* name = 0;
while (iter != 0)
{
name = (Char_t*)strrchr(iter->GetName(), '/');
name[strlen(name)] = '\0';
AddMacro(name + 1, fFileInfo->fIniDir);
iter = (TObjString*)fFileInfo->fFileNamesList->After(iter);
}
}
}
void AliEveListAnalyserEditor::CloseTabs()
{
if (fHistoCanvas != 0)
{
if (fHistoCanvasName != 0)
{
if (gEve->GetBrowser()->GetTab(1)->SetTab(fHistoCanvasName->GetString()))
{
gEve->GetBrowser()->GetTab(1)->RemoveTab();
}
}
fHistoCanvas = 0;
}
}
void AliEveListAnalyserEditor::DoResetObjectList()
{
fM->ResetObjectList();
Update();
}
void AliEveListAnalyserEditor::DoStartAddingObjects()
{
if (fM->StartAddingObjects())
{
fbStart->SetState(kButtonDisabled);
fbStop->SetState(kButtonUp);
}
else
{
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error", "Failed to connect socket!", kMBIconExclamation, kMBOk);
if (fM->GetConnected())
{
fbStop->SetState(kButtonDisabled);
fbStart->SetState(kButtonUp);
}
}
}
void AliEveListAnalyserEditor::DoStopAddingObjects()
{
if (fM->StopAddingObjects())
{
fbStop->SetState(kButtonDisabled);
fbStart->SetState(kButtonUp);
}
else
{
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error", "Failed to disconnect socket!", kMBIconExclamation, kMBOk);
if (fM->GetConnected())
{
fbStop->SetState(kButtonUp);
fbStart->SetState(kButtonDisabled);
}
}
}
void AliEveListAnalyserEditor::DrawHistos()
{
Int_t nHistograms = GetNSelectedHistograms();
if (nHistograms <= 0)
{
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
"No data selected. Please select the data you want to plot!", kMBIconExclamation, kMBOk);
return;
}
if (nHistograms > 3)
{
new TGMsgBox(gClient->GetRoot(), GetMainFrame(),
"Error", "Only histograms with up to 3 dimensions supported. Please select 1,2 or 3 data macros!",
kMBIconExclamation, kMBOk);
return;
}
Int_t indexOfHistoMacro = -1;
Int_t selectedChecked = 0;
for (Int_t j = 0; j < fM->fDataFromMacroList->GetEntries(); j++)
{
if (fCheckButtons[j]->TGButton::GetState() == kButtonDown)
{
selectedChecked++;
if (strstr(fM->fDataFromMacroList->At(j)->GetName(), "(histo macro)") != 0)
{
if (nHistograms > 1)
{
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error - Draw histograms",
"Histo macros (return value \"TH1*\") cannot be combined with other macros",
kMBIconExclamation, kMBOk);
return;
}
indexOfHistoMacro = j;
if (selectedChecked == nHistograms) break;
}
}
}
TFile* file = new TFile(Form("/tmp/ListAnalyserMacroData_%s.root", gSystem->Getenv("USER")), "READ");
if (!file)
{
Error("Draw histograms", "Cannot open file \"/tmp/ListAnalyserMacroData_%s.root\"",
gSystem->Getenv("USER"));
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error - Draw histograms",
Form("Cannot open file \"/tmp/ListAnalyserMacroData_%s.root\"", gSystem->Getenv("USER")),
kMBIconExclamation, kMBOk);
return;
}
TTree* t = 0;
TTree* tFriend1 = 0;
TTree* tFriend2 = 0;
Int_t indexOfMacro1 = 0;
Int_t indexOfMacro2 = 0;
Int_t indexOfMacro3 = 0;
Int_t i = 0;
if (indexOfHistoMacro >= 0)
{
if ((t = (TTree*)file->Get(Form("ObjectData%d", indexOfHistoMacro))))
{
SetDrawingToHistoCanvasTab();
TH1* myHist = 0;
t->SetBranchAddress(Form("Macro%d", indexOfHistoMacro), &myHist);
t->GetEntry(0);
if (myHist != 0) myHist->Draw();
else
{
Error("Draw histograms", "No histogram for histo macro \"%s\" found!",
fM->fDataFromMacroList->At(indexOfHistoMacro)->GetName());
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error - Draw histograms",
Form("No histogram for histo macro \"%s\" found!",
fM->fDataFromMacroList->At(indexOfHistoMacro)->GetName()), kMBIconExclamation, kMBOk);
}
UpdateHistoCanvasTab();
}
else
{
Error("Draw histograms", "No data for histo macro \"%s\" found!\nMaybe no objects have been selected.",
fM->fDataFromMacroList->At(indexOfHistoMacro)->GetName());
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error - Draw histograms",
Form("No data for histo macro \"%s\" found!\nMaybe no objects have been selected.",
fM->fDataFromMacroList->At(indexOfHistoMacro)->GetName()), kMBIconExclamation, kMBOk);
}
i = fM->fDataFromMacroList->GetEntries();
}
for ( ; i < fM->fDataFromMacroList->GetEntries(); i++)
{
if (fCheckButtons[i]->TGButton::GetState() == kButtonDown)
{
if (t == 0)
{
indexOfMacro1 = i;
if (!(t = (TTree*)file->Get(Form("ObjectData%d", i))))
{
Error("Draw histograms", "No data for macro \"%s\" found!\nMaybe no objects have been selected.",
fM->fDataFromMacroList->At(i)->GetName());
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error - Draw histograms",
Form("No data for macro \"%s\" found!\nMaybe no objects have been selected.",
fM->fDataFromMacroList->At(i)->GetName()), kMBIconExclamation, kMBOk);
break;
}
if (nHistograms == 1)
{
SetDrawingToHistoCanvasTab();
t->Draw(Form("Macro%d", indexOfMacro1), "1");
((TH1*)gPad->GetPrimitive("htemp"))->SetTitle(Form("%s;%s",
fM->fDataFromMacroList->At(indexOfMacro1)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro1)->GetName()));
UpdateHistoCanvasTab();
break;
}
}
else if (tFriend1 == 0)
{
indexOfMacro2 = i;
if (!(tFriend1 = (TTree*)file->Get(Form("ObjectData%d", i))))
{
Error("Draw histograms", "No data for macro \"%s\" found!\nMaybe no objects have been selected.",
fM->fDataFromMacroList->At(i)->GetName());
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error - Draw histograms",
Form("No data for macro \"%s\" found!\nMaybe no objects have been selected.",
fM->fDataFromMacroList->At(i)->GetName()),
kMBIconExclamation, kMBOk);
break;
}
if (nHistograms == 2)
{
SetDrawingToHistoCanvasTab();
t->AddFriend(tFriend1);
t->Draw(Form("Macro%d:Macro%d", indexOfMacro1, indexOfMacro2), "1");
((TH1*)gPad->GetPrimitive("htemp"))->SetTitle(Form("%s - %s;%s;%s",
fM->fDataFromMacroList->At(indexOfMacro2)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro1)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro2)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro1)->GetName()));
UpdateHistoCanvasTab();
break;
}
}
else
{
indexOfMacro3 = i;
if (!(tFriend2 = (TTree*)file->Get(Form("ObjectData%d", i))))
{
Error("Draw histograms", "No data for macro \"%s\" found!\nMaybe no objects have been selected.",
fM->fDataFromMacroList->At(i)->GetName());
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error - Draw histograms",
Form("No data for macro \"%s\" found!\nMaybe no objects have been selected.",
fM->fDataFromMacroList->At(i)->GetName()), kMBIconExclamation, kMBOk);
break;
}
SetDrawingToHistoCanvasTab();
t->AddFriend(tFriend1);
t->AddFriend(tFriend2);
t->Draw(Form("Macro%d:Macro%d:Macro%d", indexOfMacro1, indexOfMacro2, indexOfMacro3), "1");
((TH1*)gPad->GetPrimitive("htemp"))->SetTitle(Form("%s - %s - %s;%s;%s;%s",
fM->fDataFromMacroList->At(indexOfMacro3)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro2)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro1)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro3)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro2)->GetName(),
fM->fDataFromMacroList->At(indexOfMacro1)->GetName()));
UpdateHistoCanvasTab();
break;
}
}
}
if (t != 0) delete t;
t = 0;
if (tFriend1 != 0) delete tFriend1;
tFriend1 = 0;
if (tFriend2 != 0) delete tFriend2;
tFriend2 = 0;
file->Close("R");
delete file;
file = 0;
}
Int_t AliEveListAnalyserEditor::GetNSelectedHistograms() const
{
Int_t count = 0;
for (Int_t i = 0; i < fM->fDataFromMacroList->GetEntries(); i++)
{
if (fCheckButtons[i]->TGButton::GetState() == kButtonDown) count++;
}
return count;
}
void AliEveListAnalyserEditor::HandleMacroPathSet()
{
if (strlen(fteField->GetText()) != 0)
{
Char_t* systemPath = gSystem->ExpandPathName(fteField->GetText());
fteField->SetText(systemPath);
delete systemPath;
systemPath = 0;
FILE* fp = NULL;
fp = fopen(fteField->GetText(), "rb");
if (fp != NULL)
{
fclose(fp);
Char_t* name = (Char_t*)strrchr(fteField->GetText(), '/');
if (name == NULL)
{
name = new Char_t[AliEveListAnalyser::fkMaxMacroNameLength];
memset(name, '\0', sizeof(Char_t) * AliEveListAnalyser::fkMaxMacroNameLength);
snprintf(name, AliEveListAnalyser::fkMaxMacroNameLength, "%s", fteField->GetText());
Char_t pathname[AliEveListAnalyser::fkMaxMacroNameLength + 2];
memset(pathname, '\0', sizeof(Char_t) * (AliEveListAnalyser::fkMaxMacroNameLength + 2));
snprintf(pathname, AliEveListAnalyser::fkMaxMacroNameLength + 2, "./%s", fteField->GetText());
fteField->SetText(pathname);
AddMacro(name);
delete [] name;
}
else
{
Char_t* path = new Char_t[AliEveListAnalyser::fkMaxMacroPathLength];
memset(path, '\0', sizeof(Char_t) * AliEveListAnalyser::fkMaxMacroPathLength);
strncpy(path, fteField->GetText(), strlen(fteField->GetText()) - strlen(name));
AddMacro(name + 1, path);
delete [] path;
}
}
else
{
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
"File does not exist or you do not have read permission!", kMBIconExclamation, kMBOk);
}
}
}
void AliEveListAnalyserEditor::HandleNewEventLoaded()
{
fInheritSettings = kTRUE;
CloseTabs();
}
void AliEveListAnalyserEditor::HandleTabChangedToIndex(Int_t index)
{
fM->SetSelectedTab(index);
}
void AliEveListAnalyserEditor::InheritMacroList()
{
if (fInheritedMacroList == 0) return;
fM->fMacroList->Delete();
TMapIter* iter = (TMapIter*)fInheritedMacroList->MakeIterator();
TObject* key = 0;
TGeneralMacroData* macro = 0;
while ((key = iter->Next()) != 0)
{
macro = (TGeneralMacroData*)fInheritedMacroList->GetValue(key);
if (macro != 0) fM->fMacroList->Add(new TObjString(key->GetName()),
new TGeneralMacroData(macro->GetName(), macro->GetPath(), macro->GetType(),
macro->GetObjectType(), macro->GetObjectType2()));
else
{
Error("AliEveListAnalyserEditor::InheritMacroList", "Failed to inherit the macro \"%s\"!", key->GetName());
}
}
fInheritedMacroList->Delete();
delete fInheritedMacroList;
fInheritedMacroList = 0;
}
void AliEveListAnalyserEditor::NewMacros()
{
AliEveGeneralMacroWizard *wizz = new AliEveGeneralMacroWizard();
wizz->Connect("Create(Char_t*)", "AliEveListAnalyserEditor", this, "AddMacro(Char_t*)");
}
void AliEveListAnalyserEditor::RemoveMacros()
{
TList* iterator = new TList();
ftlMacroList->GetSelectedEntries(iterator);
fM->RemoveSelectedMacros(iterator);
delete iterator;
iterator = new TList();
ftlMacroSelList->GetSelectedEntries(iterator);
fM->RemoveSelectedMacros(iterator);
fM->fMacroListSelected = 0;
UpdateMacroList();
delete iterator;
}
void AliEveListAnalyserEditor::SaveMacroList(TMap* list)
{
if (fInheritedMacroList != 0)
{
fInheritedMacroList->Delete();
delete fInheritedMacroList;
}
fInheritedMacroList = new TMap();
fInheritedMacroList->SetOwnerKeyValue(kTRUE, kTRUE);
TMapIter* iter = (TMapIter*)list->MakeIterator();
TObject* key = 0;
TGeneralMacroData* macro = 0;
while ((key = iter->Next()) != 0)
{
macro = (TGeneralMacroData*)fM->fMacroList->GetValue(key);
if (macro != 0) fInheritedMacroList->Add(new TObjString(key->GetName()),
new TGeneralMacroData(macro->GetName(), macro->GetPath(), macro->GetType(),
macro->GetObjectType(), macro->GetObjectType2()));
else
{
Error("AliEveListAnalyserEditor::SaveMacroList", "Failed to inherit the macro \"%s\"!", key->GetName());
}
}
}
void AliEveListAnalyserEditor::SetDrawingToHistoCanvasTab()
{
if (fHistoCanvas != 0)
{
if (gEve->GetBrowser()->GetTab(1)->SetTab(fHistoCanvasName->GetString()) == 0)
{
fHistoCanvas = 0;
}
}
if (!fHistoCanvas)
{
fHistoCanvas = gEve->AddCanvasTab(fM->GetName());
}
gPad = fHistoCanvas;
}
void AliEveListAnalyserEditor::SetModel(TObject* obj)
{
fM = dynamic_cast<AliEveListAnalyser*>(obj);
if (fM == 0)
{
Error("SetModel", "Parameter is zero pointer");
return;
}
fM->fEditor = this;
if (fInheritSettings)
{
InheritMacroList();
fInheritSettings = kFALSE;
}
UpdateMacroList();
UpdateHistoList();
GetGedEditor()->GetTab()->SetTab(fM->GetSelectedTab());
if(fM->GetConnected())
{
fbStart->SetState(kButtonDisabled);
fbStop->SetState(kButtonUp);
}
else
{
fbStop->SetState(kButtonDisabled);
fbStart->SetState(kButtonEngaged);
fbStart->SetState(kButtonUp);
}
}
void AliEveListAnalyserEditor::UpdateDataFromMacroListSelection()
{
for (Int_t i = 0; i < fM->fDataFromMacroList->GetEntries(); i++)
{
fM->SetHistoDataSelection(i, fCheckButtons[i]->IsOn());
}
}
void AliEveListAnalyserEditor::UpdateHistoCanvasTab()
{
fHistoCanvasName->SetString(fM->GetName());
gEve->GetBrowser()->GetTab(1)->GetCurrentTab()->SetText(new TGString(fHistoCanvasName));
gEve->GetBrowser()->GetTab(1)->SetTab(0);
gEve->GetBrowser()->GetTab(1)->SetTab(fHistoCanvasName->GetString());
fHistoCanvas->Update();
}
void AliEveListAnalyserEditor::UpdateHistoList()
{
fHistoSubFrame->TGCompositeFrame::Cleanup();
if (fCheckButtons != 0) delete fCheckButtons;
fCheckButtons = new TGCheckButton*[fM->fDataFromMacroList->GetEntries()];
TObjString* iter = (TObjString*)fM->fDataFromMacroList->First();
for (Int_t i = 0; i < fM->fDataFromMacroList->GetEntries() && iter != 0; i++)
{
fCheckButtons[i] = new TGCheckButton(fHistoSubFrame, iter->GetName());
fHistoSubFrame->AddFrame(fCheckButtons[i]);
fCheckButtons[i]->SetState(kButtonUp, kFALSE);
fCheckButtons[i]->MapRaised();
fCheckButtons[i]->SetOn(fM->HistoDataIsSelected(i));
fCheckButtons[i]->Connect("Clicked()", "AliEveListAnalyserEditor", this, "UpdateDataFromMacroListSelection()");
iter = (TObjString*)fM->fDataFromMacroList->After(iter);
}
}
void AliEveListAnalyserEditor::UpdateMacroList()
{
ftlMacroList->RemoveAll();
ftlMacroSelList->RemoveAll();
TMapIter* iter = (TMapIter*)fM->fMacroList->MakeIterator();
TObject* key = 0;
TGeneralMacroData* macro = 0;
Int_t ind = 0;
while ((key = iter->Next()) != 0)
{
macro = (TGeneralMacroData*)fM->fMacroList->GetValue(key);
if (macro != 0)
{
if (macro->IsProcessMacro())
{
ftlMacroList->AddEntry(macro->GetName(), ind);
ftlMacroList->Select(ind, fM->MacroListIsSelected(ind));
ind++;
}
else if (macro->IsSelectionMacro())
{
ftlMacroSelList->AddEntry(macro->GetName(), ind);
ftlMacroSelList->Select(ind, fM->MacroListIsSelected(ind));
ind++;
}
else
{
Error("AliEveListAnalyserEditor::UpdateMacroList()",
"Macro \"%s/%s.C\" is neither a selection macro nor a process macro!",
macro->GetPath(), macro->GetName());
}
}
else
{
Error("AliEveListAnalyserEditor::UpdateMacroList()",
"Macro list is corrupted: Macro \"%s\" not found!", key->GetName());
}
}
ftlMacroList->SortByName();
ftlMacroSelList->SortByName();
}
void AliEveListAnalyserEditor::UpdateMacroListSelection(Int_t ind)
{
fM->SetMacroListSelection(ind, !fM->MacroListIsSelected(ind));
}
ClassImp(AliEveGeneralMacroWizard)
AliEveGeneralMacroWizard::AliEveGeneralMacroWizard(const TGWindow* p)
:TGMainFrame(p ? p : gClient->GetRoot(), 10, 10, kMainFrame | kVerticalFrame)
,fbCancel(0x0)
,fbCreate(0x0)
,fCombo(0x0)
,fTextEdit(0x0)
,fTextIncludes(0x0)
,fTextName(0x0)
,fTextObjectType(0x0)
,fTextObjectType2(0x0)
{
const Int_t width = 300;
TGHorizontalFrame *fFrameName = new TGHorizontalFrame(this, 10, 10, kHorizontalFrame);
TGLabel *fLabel = new TGLabel(fFrameName, "Name*");
fLabel->SetTextJustify(36);
fLabel->SetMargins(0,0,0,0);
fLabel->SetWrapLength(-1);
fFrameName->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
fTextName = new TGTextEntry(fFrameName);
fTextName->SetMaxLength(255);
fTextName->SetAlignment(kTextLeft);
fTextName->SetText("");
fTextName->SetToolTipText("The name of your macro");
fTextName->Resize(width, fTextName->GetDefaultHeight());
fFrameName->AddFrame(fTextName, new TGLayoutHints(kLHintsRight | kLHintsTop,2,2,2,2));
TGHorizontalFrame *fFrameObjectType = new TGHorizontalFrame(this, 10, 10, kHorizontalFrame);
fLabel = new TGLabel(fFrameObjectType, "1st object type of macro");
fLabel->SetTextJustify(36);
fLabel->SetMargins(0,0,0,0);
fLabel->SetWrapLength(-1);
fFrameObjectType->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
fTextObjectType = new TGTextEntry(fFrameObjectType);
fTextObjectType->SetAlignment(kTextLeft);
fTextObjectType->SetText("");
fTextObjectType->SetMaxLength(80);
fTextObjectType->SetToolTipText("The type of objects, your macro will work with (type of the first pointer)");
fTextObjectType->Resize(width, fTextObjectType->GetDefaultHeight());
fFrameObjectType->AddFrame(fTextObjectType, new TGLayoutHints(kLHintsRight | kLHintsTop,2,2,2,2));
TGHorizontalFrame *fFrameObjectType2 = new TGHorizontalFrame(this, 10, 10, kHorizontalFrame);
fLabel = new TGLabel(fFrameObjectType2, "2nd object type of macro (pair");
fLabel->SetTextJustify(36);
fLabel->SetMargins(0,0,0,0);
fLabel->SetWrapLength(-1);
fFrameObjectType2->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
fTextObjectType2 = new TGTextEntry(fFrameObjectType2);
fTextObjectType2->SetAlignment(kTextLeft);
fTextObjectType2->SetText("");
fTextObjectType2->SetMaxLength(80);
fTextObjectType2->SetToolTipText("The type of objects, your macro will work with (type of the second pointer)\nOnly needed for macros dealing with object pairs");
fTextObjectType2->Resize(width, fTextObjectType2->GetDefaultHeight());
fFrameObjectType2->AddFrame(fTextObjectType2, new TGLayoutHints(kLHintsRight | kLHintsTop,2,2,2,2));
fTextObjectType2->SetEnabled(kFALSE);
TGHorizontalFrame *fFrameIncludes = new TGHorizontalFrame(this,10,10,kHorizontalFrame);
fLabel = new TGLabel(fFrameIncludes, "Include files");
fLabel->SetTextJustify(36);
fLabel->SetMargins(0,0,0,0);
fLabel->SetWrapLength(-1);
fFrameIncludes->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
fTextIncludes = new TGTextEntry(fFrameIncludes);
fTextObjectType->SetAlignment(kTextLeft);
fTextIncludes->SetText("<TRD/AliTRDgeometry.h>,<TRD/AliTRDcluster.h>,<TRD/AliTRDseedV1.h>,<TRD/AliTRDtrackV1.h>");
fTextIncludes->SetCursorPosition(0);
fTextIncludes->SetToolTipText("The include files for your macro - separated by commas! -\n e.g. \"<TRD/AliTRDcluster.h>,<TRD/AliTRDtrackV1.h>\".\nThe suggested/default files can be used for track analysis");
fTextIncludes->Resize(width, fTextIncludes->GetDefaultHeight());
fFrameIncludes->AddFrame(fTextIncludes, new TGLayoutHints(kLHintsRight | kLHintsTop,2,2,2,2));
TGHorizontalFrame *fFrameComment = new TGHorizontalFrame(this,10,10,kHorizontalFrame);
fLabel = new TGLabel(fFrameComment, "Comment");
fLabel->SetTextJustify(36);
fLabel->SetMargins(0,0,0,0);
fLabel->SetWrapLength(-1);
fFrameComment->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
fTextEdit = new TGTextEdit(fFrameComment, width, 5*fTextName->GetDefaultHeight());
fFrameComment->AddFrame(fTextEdit, new TGLayoutHints(kLHintsRight | kLHintsTop,2,2,2,2));
TGHorizontalFrame *fFrameType = new TGHorizontalFrame(this,10,10,kHorizontalFrame);
fLabel = new TGLabel(fFrameType, "Type*");
fLabel->SetTextJustify(36);
fLabel->SetMargins(0,0,0,0);
fLabel->SetWrapLength(-1);
fFrameType->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
fCombo = new TGComboBox(fFrameType, -1, kHorizontalFrame | kSunkenFrame | kDoubleBorder | kOwnBackground);
fCombo->AddEntry("Single Object Selection", AliEveListAnalyser::kSingleObjectSelect);
fCombo->AddEntry("Pair Objects Selection", AliEveListAnalyser::kCorrelObjectSelect);
fCombo->AddEntry("Single Object Analyse", AliEveListAnalyser::kSingleObjectAnalyse);
fCombo->AddEntry("Single Object Histo", AliEveListAnalyser::kSingleObjectHisto);
fCombo->AddEntry("Pair Objects Analyse", AliEveListAnalyser::kCorrelObjectAnalyse);
fCombo->AddEntry("Pair Objects Histo", AliEveListAnalyser::kCorrelObjectHisto);
fCombo->Select(-1);
fCombo->Resize(width, fTextName->GetDefaultHeight());
fFrameType->AddFrame(fCombo, new TGLayoutHints(kLHintsRight | kLHintsTop,2,2,2,2));
TGHorizontalFrame *fFrameAction = new TGHorizontalFrame(this,10,10,kHorizontalFrame);
fbCancel = new TGTextButton(fFrameAction, "Cancel");
fbCancel->SetToolTipText("Exit macro creation wizard");
fFrameAction->AddFrame(fbCancel, new TGLayoutHints(kLHintsRight | kLHintsTop,2,2,2,2));
fbCreate = new TGTextButton(fFrameAction, "Done");
fbCreate->SetToolTipText("Use settings to create the macro");
fFrameAction->AddFrame(fbCreate, new TGLayoutHints(kLHintsRight | kLHintsTop,2,2,2,2));
TGHorizontalFrame *fFrameText = new TGHorizontalFrame(this,10,10,kHorizontalFrame);
fLabel = new TGLabel(fFrameText, "(*) Mandatory fields");
fLabel->SetTextJustify(36);
fLabel->SetMargins(0,0,0,0);
fLabel->SetWrapLength(-1);
fFrameText->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
AddFrame(fFrameName, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
AddFrame(fFrameObjectType, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
AddFrame(fFrameObjectType2, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
AddFrame(fFrameIncludes, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
AddFrame(fFrameComment, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
AddFrame(fFrameType, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
AddFrame(fFrameAction, new TGLayoutHints(kLHintsRight | kLHintsTop | kLHintsExpandX,2,2,2,2));
TGHorizontal3DLine *fLine = new TGHorizontal3DLine(this, 281, 2);
AddFrame(fLine, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
AddFrame(fFrameText, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
SetWindowName("Macro Wizard");
SetMWMHints(kMWMDecorAll,
kMWMFuncAll,
kMWMInputModeless);
MapSubwindows();
Resize(GetDefaultSize());
MapWindow();
fCombo->Connect("Selected(Int_t)", "AliEveGeneralMacroWizard", this, "HandleSelectionChanged(Int_t)");
fbCreate->Connect("Clicked()", "AliEveGeneralMacroWizard", this, "HandleCreate()");
fbCancel->Connect("Clicked()", "AliEveGeneralMacroWizard", this, "CloseWindow()");
fCombo->Select(1, kFALSE);
}
const Char_t *fGeneralIncludes =
"#if !defined(__CINT__) || defined(__MAKECINT__)\n"
"#include <TROOT.h>\n"
"#include <TH1.h>\n";
const Char_t *fGeneralMacroTemplate[7] = {
""
," if (!object) return kFALSE;\n"
," n = 0;\n"
" r = 0x0;\n"
" if (!object) return;\n"
," if (!object) return 0x0;\n\n"
"// Set bins, xmin and xmax here - you can also use a different histogram type (but must inherit from TH1)\n"
" Int_t n = 1;\n"
" Double_t xmin = 0;\n"
" Double_t xmax = 100;\n\n"
" TH1S* h = new TH1S(\"h\", \"Your title\", n, xmin, xmax);\n"
" h->GetXaxis()->SetTitle("");\n"
" h->GetYaxis()->SetTitle("");\n"
," if (!object) return kFALSE;\n"
" if (!object2) return kFALSE;\n"
," n = 0;\n"
" r = 0x0;\n"
" if (!object) return;\n"
" if (!object2) return;\n"
," if (!object) return 0x0;\n"
" if (!object2) return 0x0;\n\n"
"// Set bins, xmin and xmax here - you can also use a different histogram type (but must inherit from TH1)\n"
" Int_t n = 1;\n"
" Double_t xmin = 0;\n"
" Double_t xmax = 100;\n\n"
" TH1S* h = new TH1S(\"h\", \"Your title\", n, xmin, xmax);\n"
" h->GetXaxis()->SetTitle("");\n"
" h->GetYaxis()->SetTitle("");\n"
};
void AliEveGeneralMacroWizard::Create(Int_t type)
{
const Char_t* name = fTextName->GetText();
if(strcmp(name,"") == 0)
{
Error("AliEveGeneralMacroWizard::Create", "Please specify a name for your macro.");
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
"Please specify a name for your macro.", kMBIconExclamation, kMBOk);
return;
}
Bool_t useGivenType = kFALSE;
Bool_t useGivenType2 = kFALSE;
TString* typeStr = new TString(fTextObjectType->GetText());
typeStr->ReplaceAll(" ", "");
fTextObjectType->SetText(typeStr->Data(), kFALSE);
TString* typeStr2 = new TString(fTextObjectType2->GetText());
typeStr2->ReplaceAll(" ", "");
fTextObjectType2->SetText(typeStr2->Data(), kFALSE);
if (strlen(typeStr->Data()) > 0)
{
if (TClass::GetClass(typeStr->Data()) != 0x0)
{
useGivenType = kTRUE;
}
else
{
Int_t buttonsPressed = 0;
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Unknown object type",
Form("The class of your 1st object, \"%s\" has not been found. Do you really want to create your macro with this object type?",
typeStr->Data()), kMBIconExclamation, kMBYes | kMBNo, &buttonsPressed);
if (buttonsPressed & kMBYes) useGivenType = kTRUE;
else useGivenType = kFALSE;
if (!useGivenType)
{
typeStr->Clear();
delete typeStr;
typeStr = 0;
typeStr2->Clear();
delete typeStr2;
typeStr2 = 0;
return;
}
}
}
if (strlen(typeStr2->Data()) > 0)
{
if (TClass::GetClass(typeStr2->Data()) != 0x0)
{
useGivenType2 = kTRUE;
}
else
{
Int_t buttonsPressed = 0;
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Unknown object type",
Form("The class of your 2nd object, \"%s\" has not been found. Do you really want to create your macro with this object type?",
typeStr2->Data()), kMBIconExclamation, kMBYes | kMBNo, &buttonsPressed);
if (buttonsPressed & kMBYes) useGivenType2 = kTRUE;
else useGivenType2 = kFALSE;
if (!useGivenType2)
{
typeStr->Clear();
delete typeStr;
typeStr = 0;
typeStr2->Clear();
delete typeStr2;
typeStr2 = 0;
return;
}
}
}
if(!gSystem->AccessPathName(Form("./%s.C", name)))
{
Error("AliEveGeneralMacroWizard::Create", "A macro \"%s.C\" already exists in the current directory!\nPlease choose another name!", name);
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
Form("A macro \"%s.C\" already exists in the current directory!\nPlease choose another name!", name), kMBIconExclamation, kMBOk);
return;
}
FILE* fp = 0x0;
if(!(fp = fopen(Form("%s.C", name), "wt"))){
Error("AliEveGeneralMacroWizard::Create", "Couldn't create macro file.");
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
"Couldn't create macro file.", kMBIconExclamation, kMBOk);
return;
}
TGText* comment = fTextEdit->GetText();
Char_t* line = 0x0; Int_t iline = 0;
while((line = comment->GetLine(TGLongPosition(0,iline++), 200))) fprintf(fp, "// %s\n", line);
TString* tempStr = new TString(fTextIncludes->GetText());
tempStr->ReplaceAll(" ", "");
tempStr->ReplaceAll(",","\n#include ");
if (tempStr->Length() > 3) tempStr->Prepend("#include ");
fprintf(fp, "\n%s%s\n#endif\n\n", fGeneralIncludes, tempStr->Data());
tempStr->Clear();
if (!useGivenType)
{
typeStr->Clear();
(*typeStr)="TObject";
}
if (!useGivenType2)
{
typeStr2->Clear();
(*typeStr2)="TObject";
}
switch(type){
case AliEveListAnalyser::kSingleObjectSelect:
tempStr->Append("Bool_t ").Append(name).Append("(const ").Append(typeStr->Data()).Append(" *object)\n");
fprintf(fp, "%s", tempStr->Data());
break;
case AliEveListAnalyser::kCorrelObjectSelect:
tempStr->Append("Bool_t ").Append(name).Append("(const ").Append(typeStr->Data()).Append(" *object, const ").Append(typeStr2->Data()).Append(" *object2)\n");
fprintf(fp, "%s", tempStr->Data());
break;
case AliEveListAnalyser::kSingleObjectAnalyse:
tempStr->Append("void ").Append(name).Append("(const ").Append(typeStr->Data()).Append(" *object, Double_t*& r, Int_t& n)\n");
fprintf(fp, "%s", tempStr->Data());
break;
case AliEveListAnalyser::kSingleObjectHisto:
tempStr->Append("TH1* ").Append(name).Append("(const ").Append(typeStr->Data()).Append(" *object)\n");
fprintf(fp, "%s", tempStr->Data());
break;
case AliEveListAnalyser::kCorrelObjectAnalyse:
tempStr->Append("void ").Append(name).Append("(const ").Append(typeStr->Data()).Append(" *object, const ").Append(typeStr2->Data()).Append(" *object2, Double_t*& r, Int_t& n)\n");
fprintf(fp, "%s", tempStr->Data());
break;
case AliEveListAnalyser::kCorrelObjectHisto:
tempStr->Append("TH1* ").Append(name).Append("(const ").Append(typeStr->Data()).Append(" *object, const ").Append(typeStr2->Data()).Append(" *object2)\n");
fprintf(fp, "%s", tempStr->Data());
break;
default:
Error("AliEveGeneralMacroWizard::Create", "Unknown type[%d]", type);
new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
Form("Unknown type[%d]", type), kMBIconExclamation, kMBOk);
fclose(fp);
gSystem->Exec(Form("rm -f %s.C", name));
tempStr->Clear();
delete tempStr;
tempStr = 0;
typeStr->Clear();
delete typeStr;
typeStr = 0;
return;
}
tempStr->Clear();
delete tempStr;
tempStr = 0;
typeStr->Clear();
delete typeStr;
typeStr = 0;
typeStr2->Clear();
delete typeStr2;
typeStr2 = 0;
fprintf(fp, "{\n%s\n", fGeneralMacroTemplate[type]);
if (type == AliEveListAnalyser::kSingleObjectAnalyse || type == AliEveListAnalyser::kCorrelObjectAnalyse)
{
fprintf(fp, "// add your own code here\n// Please allocate memory for your results, e.g. by doing:\n// n = YourNumberOfResults;\n// r = new Double_t[YourNumberOfResults];\n\n}\n");
}
else
{
fprintf(fp, "// add your own code here\n\n\n}\n");
}
fclose(fp);
Emit("Create(Int_t)", type);
Create((Char_t*)name);
CloseWindow();
}
void AliEveGeneralMacroWizard::Create(Char_t *name)
{
Emit("Create(Char_t*)", Form("%s.C", name));
}
void AliEveGeneralMacroWizard::HandleCreate()
{
Create(fCombo->GetSelected());
}
void AliEveGeneralMacroWizard::HandleSelectionChanged(Int_t sel)
{
switch (sel)
{
case AliEveListAnalyser::kCorrelObjectSelect:
case AliEveListAnalyser::kCorrelObjectAnalyse:
case AliEveListAnalyser::kCorrelObjectHisto:
fTextObjectType2->SetEnabled(kTRUE);
break;
default:
fTextObjectType2->SetEnabled(kFALSE);
break;
}
}
AliEveListAnalyserEditor.cxx:1 AliEveListAnalyserEditor.cxx:2 AliEveListAnalyserEditor.cxx:3 AliEveListAnalyserEditor.cxx:4 AliEveListAnalyserEditor.cxx:5 AliEveListAnalyserEditor.cxx:6 AliEveListAnalyserEditor.cxx:7 AliEveListAnalyserEditor.cxx:8 AliEveListAnalyserEditor.cxx:9 AliEveListAnalyserEditor.cxx:10 AliEveListAnalyserEditor.cxx:11 AliEveListAnalyserEditor.cxx:12 AliEveListAnalyserEditor.cxx:13 AliEveListAnalyserEditor.cxx:14 AliEveListAnalyserEditor.cxx:15 AliEveListAnalyserEditor.cxx:16 AliEveListAnalyserEditor.cxx:17 AliEveListAnalyserEditor.cxx:18 AliEveListAnalyserEditor.cxx:19 AliEveListAnalyserEditor.cxx:20 AliEveListAnalyserEditor.cxx:21 AliEveListAnalyserEditor.cxx:22 AliEveListAnalyserEditor.cxx:23 AliEveListAnalyserEditor.cxx:24 AliEveListAnalyserEditor.cxx:25 AliEveListAnalyserEditor.cxx:26 AliEveListAnalyserEditor.cxx:27 AliEveListAnalyserEditor.cxx:28 AliEveListAnalyserEditor.cxx:29 AliEveListAnalyserEditor.cxx:30 AliEveListAnalyserEditor.cxx:31 AliEveListAnalyserEditor.cxx:32 AliEveListAnalyserEditor.cxx:33 AliEveListAnalyserEditor.cxx:34 AliEveListAnalyserEditor.cxx:35 AliEveListAnalyserEditor.cxx:36 AliEveListAnalyserEditor.cxx:37 AliEveListAnalyserEditor.cxx:38 AliEveListAnalyserEditor.cxx:39 AliEveListAnalyserEditor.cxx:40 AliEveListAnalyserEditor.cxx:41 AliEveListAnalyserEditor.cxx:42 AliEveListAnalyserEditor.cxx:43 AliEveListAnalyserEditor.cxx:44 AliEveListAnalyserEditor.cxx:45 AliEveListAnalyserEditor.cxx:46 AliEveListAnalyserEditor.cxx:47 AliEveListAnalyserEditor.cxx:48 AliEveListAnalyserEditor.cxx:49 AliEveListAnalyserEditor.cxx:50 AliEveListAnalyserEditor.cxx:51 AliEveListAnalyserEditor.cxx:52 AliEveListAnalyserEditor.cxx:53 AliEveListAnalyserEditor.cxx:54 AliEveListAnalyserEditor.cxx:55 AliEveListAnalyserEditor.cxx:56 AliEveListAnalyserEditor.cxx:57 AliEveListAnalyserEditor.cxx:58 AliEveListAnalyserEditor.cxx:59 AliEveListAnalyserEditor.cxx:60 AliEveListAnalyserEditor.cxx:61 AliEveListAnalyserEditor.cxx:62 AliEveListAnalyserEditor.cxx:63 AliEveListAnalyserEditor.cxx:64 AliEveListAnalyserEditor.cxx:65 AliEveListAnalyserEditor.cxx:66 AliEveListAnalyserEditor.cxx:67 AliEveListAnalyserEditor.cxx:68 AliEveListAnalyserEditor.cxx:69 AliEveListAnalyserEditor.cxx:70 AliEveListAnalyserEditor.cxx:71 AliEveListAnalyserEditor.cxx:72 AliEveListAnalyserEditor.cxx:73 AliEveListAnalyserEditor.cxx:74 AliEveListAnalyserEditor.cxx:75 AliEveListAnalyserEditor.cxx:76 AliEveListAnalyserEditor.cxx:77 AliEveListAnalyserEditor.cxx:78 AliEveListAnalyserEditor.cxx:79 AliEveListAnalyserEditor.cxx:80 AliEveListAnalyserEditor.cxx:81 AliEveListAnalyserEditor.cxx:82 AliEveListAnalyserEditor.cxx:83 AliEveListAnalyserEditor.cxx:84 AliEveListAnalyserEditor.cxx:85 AliEveListAnalyserEditor.cxx:86 AliEveListAnalyserEditor.cxx:87 AliEveListAnalyserEditor.cxx:88 AliEveListAnalyserEditor.cxx:89 AliEveListAnalyserEditor.cxx:90 AliEveListAnalyserEditor.cxx:91 AliEveListAnalyserEditor.cxx:92 AliEveListAnalyserEditor.cxx:93 AliEveListAnalyserEditor.cxx:94 AliEveListAnalyserEditor.cxx:95 AliEveListAnalyserEditor.cxx:96 AliEveListAnalyserEditor.cxx:97 AliEveListAnalyserEditor.cxx:98 AliEveListAnalyserEditor.cxx:99 AliEveListAnalyserEditor.cxx:100 AliEveListAnalyserEditor.cxx:101 AliEveListAnalyserEditor.cxx:102 AliEveListAnalyserEditor.cxx:103 AliEveListAnalyserEditor.cxx:104 AliEveListAnalyserEditor.cxx:105 AliEveListAnalyserEditor.cxx:106 AliEveListAnalyserEditor.cxx:107 AliEveListAnalyserEditor.cxx:108 AliEveListAnalyserEditor.cxx:109 AliEveListAnalyserEditor.cxx:110 AliEveListAnalyserEditor.cxx:111 AliEveListAnalyserEditor.cxx:112 AliEveListAnalyserEditor.cxx:113 AliEveListAnalyserEditor.cxx:114 AliEveListAnalyserEditor.cxx:115 AliEveListAnalyserEditor.cxx:116 AliEveListAnalyserEditor.cxx:117 AliEveListAnalyserEditor.cxx:118 AliEveListAnalyserEditor.cxx:119 AliEveListAnalyserEditor.cxx:120 AliEveListAnalyserEditor.cxx:121 AliEveListAnalyserEditor.cxx:122 AliEveListAnalyserEditor.cxx:123 AliEveListAnalyserEditor.cxx:124 AliEveListAnalyserEditor.cxx:125 AliEveListAnalyserEditor.cxx:126 AliEveListAnalyserEditor.cxx:127 AliEveListAnalyserEditor.cxx:128 AliEveListAnalyserEditor.cxx:129 AliEveListAnalyserEditor.cxx:130 AliEveListAnalyserEditor.cxx:131 AliEveListAnalyserEditor.cxx:132 AliEveListAnalyserEditor.cxx:133 AliEveListAnalyserEditor.cxx:134 AliEveListAnalyserEditor.cxx:135 AliEveListAnalyserEditor.cxx:136 AliEveListAnalyserEditor.cxx:137 AliEveListAnalyserEditor.cxx:138 AliEveListAnalyserEditor.cxx:139 AliEveListAnalyserEditor.cxx:140 AliEveListAnalyserEditor.cxx:141 AliEveListAnalyserEditor.cxx:142 AliEveListAnalyserEditor.cxx:143 AliEveListAnalyserEditor.cxx:144 AliEveListAnalyserEditor.cxx:145 AliEveListAnalyserEditor.cxx:146 AliEveListAnalyserEditor.cxx:147 AliEveListAnalyserEditor.cxx:148 AliEveListAnalyserEditor.cxx:149 AliEveListAnalyserEditor.cxx:150 AliEveListAnalyserEditor.cxx:151 AliEveListAnalyserEditor.cxx:152 AliEveListAnalyserEditor.cxx:153 AliEveListAnalyserEditor.cxx:154 AliEveListAnalyserEditor.cxx:155 AliEveListAnalyserEditor.cxx:156 AliEveListAnalyserEditor.cxx:157 AliEveListAnalyserEditor.cxx:158 AliEveListAnalyserEditor.cxx:159 AliEveListAnalyserEditor.cxx:160 AliEveListAnalyserEditor.cxx:161 AliEveListAnalyserEditor.cxx:162 AliEveListAnalyserEditor.cxx:163 AliEveListAnalyserEditor.cxx:164 AliEveListAnalyserEditor.cxx:165 AliEveListAnalyserEditor.cxx:166 AliEveListAnalyserEditor.cxx:167 AliEveListAnalyserEditor.cxx:168 AliEveListAnalyserEditor.cxx:169 AliEveListAnalyserEditor.cxx:170 AliEveListAnalyserEditor.cxx:171 AliEveListAnalyserEditor.cxx:172 AliEveListAnalyserEditor.cxx:173 AliEveListAnalyserEditor.cxx:174 AliEveListAnalyserEditor.cxx:175 AliEveListAnalyserEditor.cxx:176 AliEveListAnalyserEditor.cxx:177 AliEveListAnalyserEditor.cxx:178 AliEveListAnalyserEditor.cxx:179 AliEveListAnalyserEditor.cxx:180 AliEveListAnalyserEditor.cxx:181 AliEveListAnalyserEditor.cxx:182 AliEveListAnalyserEditor.cxx:183 AliEveListAnalyserEditor.cxx:184 AliEveListAnalyserEditor.cxx:185 AliEveListAnalyserEditor.cxx:186 AliEveListAnalyserEditor.cxx:187 AliEveListAnalyserEditor.cxx:188 AliEveListAnalyserEditor.cxx:189 AliEveListAnalyserEditor.cxx:190 AliEveListAnalyserEditor.cxx:191 AliEveListAnalyserEditor.cxx:192 AliEveListAnalyserEditor.cxx:193 AliEveListAnalyserEditor.cxx:194 AliEveListAnalyserEditor.cxx:195 AliEveListAnalyserEditor.cxx:196 AliEveListAnalyserEditor.cxx:197 AliEveListAnalyserEditor.cxx:198 AliEveListAnalyserEditor.cxx:199 AliEveListAnalyserEditor.cxx:200 AliEveListAnalyserEditor.cxx:201 AliEveListAnalyserEditor.cxx:202 AliEveListAnalyserEditor.cxx:203 AliEveListAnalyserEditor.cxx:204 AliEveListAnalyserEditor.cxx:205 AliEveListAnalyserEditor.cxx:206 AliEveListAnalyserEditor.cxx:207 AliEveListAnalyserEditor.cxx:208 AliEveListAnalyserEditor.cxx:209 AliEveListAnalyserEditor.cxx:210 AliEveListAnalyserEditor.cxx:211 AliEveListAnalyserEditor.cxx:212 AliEveListAnalyserEditor.cxx:213 AliEveListAnalyserEditor.cxx:214 AliEveListAnalyserEditor.cxx:215 AliEveListAnalyserEditor.cxx:216 AliEveListAnalyserEditor.cxx:217 AliEveListAnalyserEditor.cxx:218 AliEveListAnalyserEditor.cxx:219 AliEveListAnalyserEditor.cxx:220 AliEveListAnalyserEditor.cxx:221 AliEveListAnalyserEditor.cxx:222 AliEveListAnalyserEditor.cxx:223 AliEveListAnalyserEditor.cxx:224 AliEveListAnalyserEditor.cxx:225 AliEveListAnalyserEditor.cxx:226 AliEveListAnalyserEditor.cxx:227 AliEveListAnalyserEditor.cxx:228 AliEveListAnalyserEditor.cxx:229 AliEveListAnalyserEditor.cxx:230 AliEveListAnalyserEditor.cxx:231 AliEveListAnalyserEditor.cxx:232 AliEveListAnalyserEditor.cxx:233 AliEveListAnalyserEditor.cxx:234 AliEveListAnalyserEditor.cxx:235 AliEveListAnalyserEditor.cxx:236 AliEveListAnalyserEditor.cxx:237 AliEveListAnalyserEditor.cxx:238 AliEveListAnalyserEditor.cxx:239 AliEveListAnalyserEditor.cxx:240 AliEveListAnalyserEditor.cxx:241 AliEveListAnalyserEditor.cxx:242 AliEveListAnalyserEditor.cxx:243 AliEveListAnalyserEditor.cxx:244 AliEveListAnalyserEditor.cxx:245 AliEveListAnalyserEditor.cxx:246 AliEveListAnalyserEditor.cxx:247 AliEveListAnalyserEditor.cxx:248 AliEveListAnalyserEditor.cxx:249 AliEveListAnalyserEditor.cxx:250 AliEveListAnalyserEditor.cxx:251 AliEveListAnalyserEditor.cxx:252 AliEveListAnalyserEditor.cxx:253 AliEveListAnalyserEditor.cxx:254 AliEveListAnalyserEditor.cxx:255 AliEveListAnalyserEditor.cxx:256 AliEveListAnalyserEditor.cxx:257 AliEveListAnalyserEditor.cxx:258 AliEveListAnalyserEditor.cxx:259 AliEveListAnalyserEditor.cxx:260 AliEveListAnalyserEditor.cxx:261 AliEveListAnalyserEditor.cxx:262 AliEveListAnalyserEditor.cxx:263 AliEveListAnalyserEditor.cxx:264 AliEveListAnalyserEditor.cxx:265 AliEveListAnalyserEditor.cxx:266 AliEveListAnalyserEditor.cxx:267 AliEveListAnalyserEditor.cxx:268 AliEveListAnalyserEditor.cxx:269 AliEveListAnalyserEditor.cxx:270 AliEveListAnalyserEditor.cxx:271 AliEveListAnalyserEditor.cxx:272 AliEveListAnalyserEditor.cxx:273 AliEveListAnalyserEditor.cxx:274 AliEveListAnalyserEditor.cxx:275 AliEveListAnalyserEditor.cxx:276 AliEveListAnalyserEditor.cxx:277 AliEveListAnalyserEditor.cxx:278 AliEveListAnalyserEditor.cxx:279 AliEveListAnalyserEditor.cxx:280 AliEveListAnalyserEditor.cxx:281 AliEveListAnalyserEditor.cxx:282 AliEveListAnalyserEditor.cxx:283 AliEveListAnalyserEditor.cxx:284 AliEveListAnalyserEditor.cxx:285 AliEveListAnalyserEditor.cxx:286 AliEveListAnalyserEditor.cxx:287 AliEveListAnalyserEditor.cxx:288 AliEveListAnalyserEditor.cxx:289 AliEveListAnalyserEditor.cxx:290 AliEveListAnalyserEditor.cxx:291 AliEveListAnalyserEditor.cxx:292 AliEveListAnalyserEditor.cxx:293 AliEveListAnalyserEditor.cxx:294 AliEveListAnalyserEditor.cxx:295 AliEveListAnalyserEditor.cxx:296 AliEveListAnalyserEditor.cxx:297 AliEveListAnalyserEditor.cxx:298 AliEveListAnalyserEditor.cxx:299 AliEveListAnalyserEditor.cxx:300 AliEveListAnalyserEditor.cxx:301 AliEveListAnalyserEditor.cxx:302 AliEveListAnalyserEditor.cxx:303 AliEveListAnalyserEditor.cxx:304 AliEveListAnalyserEditor.cxx:305 AliEveListAnalyserEditor.cxx:306 AliEveListAnalyserEditor.cxx:307 AliEveListAnalyserEditor.cxx:308 AliEveListAnalyserEditor.cxx:309 AliEveListAnalyserEditor.cxx:310 AliEveListAnalyserEditor.cxx:311 AliEveListAnalyserEditor.cxx:312 AliEveListAnalyserEditor.cxx:313 AliEveListAnalyserEditor.cxx:314 AliEveListAnalyserEditor.cxx:315 AliEveListAnalyserEditor.cxx:316 AliEveListAnalyserEditor.cxx:317 AliEveListAnalyserEditor.cxx:318 AliEveListAnalyserEditor.cxx:319 AliEveListAnalyserEditor.cxx:320 AliEveListAnalyserEditor.cxx:321 AliEveListAnalyserEditor.cxx:322 AliEveListAnalyserEditor.cxx:323 AliEveListAnalyserEditor.cxx:324 AliEveListAnalyserEditor.cxx:325 AliEveListAnalyserEditor.cxx:326 AliEveListAnalyserEditor.cxx:327 AliEveListAnalyserEditor.cxx:328 AliEveListAnalyserEditor.cxx:329 AliEveListAnalyserEditor.cxx:330 AliEveListAnalyserEditor.cxx:331 AliEveListAnalyserEditor.cxx:332 AliEveListAnalyserEditor.cxx:333 AliEveListAnalyserEditor.cxx:334 AliEveListAnalyserEditor.cxx:335 AliEveListAnalyserEditor.cxx:336 AliEveListAnalyserEditor.cxx:337 AliEveListAnalyserEditor.cxx:338 AliEveListAnalyserEditor.cxx:339 AliEveListAnalyserEditor.cxx:340 AliEveListAnalyserEditor.cxx:341 AliEveListAnalyserEditor.cxx:342 AliEveListAnalyserEditor.cxx:343 AliEveListAnalyserEditor.cxx:344 AliEveListAnalyserEditor.cxx:345 AliEveListAnalyserEditor.cxx:346 AliEveListAnalyserEditor.cxx:347 AliEveListAnalyserEditor.cxx:348 AliEveListAnalyserEditor.cxx:349 AliEveListAnalyserEditor.cxx:350 AliEveListAnalyserEditor.cxx:351 AliEveListAnalyserEditor.cxx:352 AliEveListAnalyserEditor.cxx:353 AliEveListAnalyserEditor.cxx:354 AliEveListAnalyserEditor.cxx:355 AliEveListAnalyserEditor.cxx:356 AliEveListAnalyserEditor.cxx:357 AliEveListAnalyserEditor.cxx:358 AliEveListAnalyserEditor.cxx:359 AliEveListAnalyserEditor.cxx:360 AliEveListAnalyserEditor.cxx:361 AliEveListAnalyserEditor.cxx:362 AliEveListAnalyserEditor.cxx:363 AliEveListAnalyserEditor.cxx:364 AliEveListAnalyserEditor.cxx:365 AliEveListAnalyserEditor.cxx:366 AliEveListAnalyserEditor.cxx:367 AliEveListAnalyserEditor.cxx:368 AliEveListAnalyserEditor.cxx:369 AliEveListAnalyserEditor.cxx:370 AliEveListAnalyserEditor.cxx:371 AliEveListAnalyserEditor.cxx:372 AliEveListAnalyserEditor.cxx:373 AliEveListAnalyserEditor.cxx:374 AliEveListAnalyserEditor.cxx:375 AliEveListAnalyserEditor.cxx:376 AliEveListAnalyserEditor.cxx:377 AliEveListAnalyserEditor.cxx:378 AliEveListAnalyserEditor.cxx:379 AliEveListAnalyserEditor.cxx:380 AliEveListAnalyserEditor.cxx:381 AliEveListAnalyserEditor.cxx:382 AliEveListAnalyserEditor.cxx:383 AliEveListAnalyserEditor.cxx:384 AliEveListAnalyserEditor.cxx:385 AliEveListAnalyserEditor.cxx:386 AliEveListAnalyserEditor.cxx:387 AliEveListAnalyserEditor.cxx:388 AliEveListAnalyserEditor.cxx:389 AliEveListAnalyserEditor.cxx:390 AliEveListAnalyserEditor.cxx:391 AliEveListAnalyserEditor.cxx:392 AliEveListAnalyserEditor.cxx:393 AliEveListAnalyserEditor.cxx:394 AliEveListAnalyserEditor.cxx:395 AliEveListAnalyserEditor.cxx:396 AliEveListAnalyserEditor.cxx:397 AliEveListAnalyserEditor.cxx:398 AliEveListAnalyserEditor.cxx:399 AliEveListAnalyserEditor.cxx:400 AliEveListAnalyserEditor.cxx:401 AliEveListAnalyserEditor.cxx:402 AliEveListAnalyserEditor.cxx:403 AliEveListAnalyserEditor.cxx:404 AliEveListAnalyserEditor.cxx:405 AliEveListAnalyserEditor.cxx:406 AliEveListAnalyserEditor.cxx:407 AliEveListAnalyserEditor.cxx:408 AliEveListAnalyserEditor.cxx:409 AliEveListAnalyserEditor.cxx:410 AliEveListAnalyserEditor.cxx:411 AliEveListAnalyserEditor.cxx:412 AliEveListAnalyserEditor.cxx:413 AliEveListAnalyserEditor.cxx:414 AliEveListAnalyserEditor.cxx:415 AliEveListAnalyserEditor.cxx:416 AliEveListAnalyserEditor.cxx:417 AliEveListAnalyserEditor.cxx:418 AliEveListAnalyserEditor.cxx:419 AliEveListAnalyserEditor.cxx:420 AliEveListAnalyserEditor.cxx:421 AliEveListAnalyserEditor.cxx:422 AliEveListAnalyserEditor.cxx:423 AliEveListAnalyserEditor.cxx:424 AliEveListAnalyserEditor.cxx:425 AliEveListAnalyserEditor.cxx:426 AliEveListAnalyserEditor.cxx:427 AliEveListAnalyserEditor.cxx:428 AliEveListAnalyserEditor.cxx:429 AliEveListAnalyserEditor.cxx:430 AliEveListAnalyserEditor.cxx:431 AliEveListAnalyserEditor.cxx:432 AliEveListAnalyserEditor.cxx:433 AliEveListAnalyserEditor.cxx:434 AliEveListAnalyserEditor.cxx:435 AliEveListAnalyserEditor.cxx:436 AliEveListAnalyserEditor.cxx:437 AliEveListAnalyserEditor.cxx:438 AliEveListAnalyserEditor.cxx:439 AliEveListAnalyserEditor.cxx:440 AliEveListAnalyserEditor.cxx:441 AliEveListAnalyserEditor.cxx:442 AliEveListAnalyserEditor.cxx:443 AliEveListAnalyserEditor.cxx:444 AliEveListAnalyserEditor.cxx:445 AliEveListAnalyserEditor.cxx:446 AliEveListAnalyserEditor.cxx:447 AliEveListAnalyserEditor.cxx:448 AliEveListAnalyserEditor.cxx:449 AliEveListAnalyserEditor.cxx:450 AliEveListAnalyserEditor.cxx:451 AliEveListAnalyserEditor.cxx:452 AliEveListAnalyserEditor.cxx:453 AliEveListAnalyserEditor.cxx:454 AliEveListAnalyserEditor.cxx:455 AliEveListAnalyserEditor.cxx:456 AliEveListAnalyserEditor.cxx:457 AliEveListAnalyserEditor.cxx:458 AliEveListAnalyserEditor.cxx:459 AliEveListAnalyserEditor.cxx:460 AliEveListAnalyserEditor.cxx:461 AliEveListAnalyserEditor.cxx:462 AliEveListAnalyserEditor.cxx:463 AliEveListAnalyserEditor.cxx:464 AliEveListAnalyserEditor.cxx:465 AliEveListAnalyserEditor.cxx:466 AliEveListAnalyserEditor.cxx:467 AliEveListAnalyserEditor.cxx:468 AliEveListAnalyserEditor.cxx:469 AliEveListAnalyserEditor.cxx:470 AliEveListAnalyserEditor.cxx:471 AliEveListAnalyserEditor.cxx:472 AliEveListAnalyserEditor.cxx:473 AliEveListAnalyserEditor.cxx:474 AliEveListAnalyserEditor.cxx:475 AliEveListAnalyserEditor.cxx:476 AliEveListAnalyserEditor.cxx:477 AliEveListAnalyserEditor.cxx:478 AliEveListAnalyserEditor.cxx:479 AliEveListAnalyserEditor.cxx:480 AliEveListAnalyserEditor.cxx:481 AliEveListAnalyserEditor.cxx:482 AliEveListAnalyserEditor.cxx:483 AliEveListAnalyserEditor.cxx:484 AliEveListAnalyserEditor.cxx:485 AliEveListAnalyserEditor.cxx:486 AliEveListAnalyserEditor.cxx:487 AliEveListAnalyserEditor.cxx:488 AliEveListAnalyserEditor.cxx:489 AliEveListAnalyserEditor.cxx:490 AliEveListAnalyserEditor.cxx:491 AliEveListAnalyserEditor.cxx:492 AliEveListAnalyserEditor.cxx:493 AliEveListAnalyserEditor.cxx:494 AliEveListAnalyserEditor.cxx:495 AliEveListAnalyserEditor.cxx:496 AliEveListAnalyserEditor.cxx:497 AliEveListAnalyserEditor.cxx:498 AliEveListAnalyserEditor.cxx:499 AliEveListAnalyserEditor.cxx:500 AliEveListAnalyserEditor.cxx:501 AliEveListAnalyserEditor.cxx:502 AliEveListAnalyserEditor.cxx:503 AliEveListAnalyserEditor.cxx:504 AliEveListAnalyserEditor.cxx:505 AliEveListAnalyserEditor.cxx:506 AliEveListAnalyserEditor.cxx:507 AliEveListAnalyserEditor.cxx:508 AliEveListAnalyserEditor.cxx:509 AliEveListAnalyserEditor.cxx:510 AliEveListAnalyserEditor.cxx:511 AliEveListAnalyserEditor.cxx:512 AliEveListAnalyserEditor.cxx:513 AliEveListAnalyserEditor.cxx:514 AliEveListAnalyserEditor.cxx:515 AliEveListAnalyserEditor.cxx:516 AliEveListAnalyserEditor.cxx:517 AliEveListAnalyserEditor.cxx:518 AliEveListAnalyserEditor.cxx:519 AliEveListAnalyserEditor.cxx:520 AliEveListAnalyserEditor.cxx:521 AliEveListAnalyserEditor.cxx:522 AliEveListAnalyserEditor.cxx:523 AliEveListAnalyserEditor.cxx:524 AliEveListAnalyserEditor.cxx:525 AliEveListAnalyserEditor.cxx:526 AliEveListAnalyserEditor.cxx:527 AliEveListAnalyserEditor.cxx:528 AliEveListAnalyserEditor.cxx:529 AliEveListAnalyserEditor.cxx:530 AliEveListAnalyserEditor.cxx:531 AliEveListAnalyserEditor.cxx:532 AliEveListAnalyserEditor.cxx:533 AliEveListAnalyserEditor.cxx:534 AliEveListAnalyserEditor.cxx:535 AliEveListAnalyserEditor.cxx:536 AliEveListAnalyserEditor.cxx:537 AliEveListAnalyserEditor.cxx:538 AliEveListAnalyserEditor.cxx:539 AliEveListAnalyserEditor.cxx:540 AliEveListAnalyserEditor.cxx:541 AliEveListAnalyserEditor.cxx:542 AliEveListAnalyserEditor.cxx:543 AliEveListAnalyserEditor.cxx:544 AliEveListAnalyserEditor.cxx:545 AliEveListAnalyserEditor.cxx:546 AliEveListAnalyserEditor.cxx:547 AliEveListAnalyserEditor.cxx:548 AliEveListAnalyserEditor.cxx:549 AliEveListAnalyserEditor.cxx:550 AliEveListAnalyserEditor.cxx:551 AliEveListAnalyserEditor.cxx:552 AliEveListAnalyserEditor.cxx:553 AliEveListAnalyserEditor.cxx:554 AliEveListAnalyserEditor.cxx:555 AliEveListAnalyserEditor.cxx:556 AliEveListAnalyserEditor.cxx:557 AliEveListAnalyserEditor.cxx:558 AliEveListAnalyserEditor.cxx:559 AliEveListAnalyserEditor.cxx:560 AliEveListAnalyserEditor.cxx:561 AliEveListAnalyserEditor.cxx:562 AliEveListAnalyserEditor.cxx:563 AliEveListAnalyserEditor.cxx:564 AliEveListAnalyserEditor.cxx:565 AliEveListAnalyserEditor.cxx:566 AliEveListAnalyserEditor.cxx:567 AliEveListAnalyserEditor.cxx:568 AliEveListAnalyserEditor.cxx:569 AliEveListAnalyserEditor.cxx:570 AliEveListAnalyserEditor.cxx:571 AliEveListAnalyserEditor.cxx:572 AliEveListAnalyserEditor.cxx:573 AliEveListAnalyserEditor.cxx:574 AliEveListAnalyserEditor.cxx:575 AliEveListAnalyserEditor.cxx:576 AliEveListAnalyserEditor.cxx:577 AliEveListAnalyserEditor.cxx:578 AliEveListAnalyserEditor.cxx:579 AliEveListAnalyserEditor.cxx:580 AliEveListAnalyserEditor.cxx:581 AliEveListAnalyserEditor.cxx:582 AliEveListAnalyserEditor.cxx:583 AliEveListAnalyserEditor.cxx:584 AliEveListAnalyserEditor.cxx:585 AliEveListAnalyserEditor.cxx:586 AliEveListAnalyserEditor.cxx:587 AliEveListAnalyserEditor.cxx:588 AliEveListAnalyserEditor.cxx:589 AliEveListAnalyserEditor.cxx:590 AliEveListAnalyserEditor.cxx:591 AliEveListAnalyserEditor.cxx:592 AliEveListAnalyserEditor.cxx:593 AliEveListAnalyserEditor.cxx:594 AliEveListAnalyserEditor.cxx:595 AliEveListAnalyserEditor.cxx:596 AliEveListAnalyserEditor.cxx:597 AliEveListAnalyserEditor.cxx:598 AliEveListAnalyserEditor.cxx:599 AliEveListAnalyserEditor.cxx:600 AliEveListAnalyserEditor.cxx:601 AliEveListAnalyserEditor.cxx:602 AliEveListAnalyserEditor.cxx:603 AliEveListAnalyserEditor.cxx:604 AliEveListAnalyserEditor.cxx:605 AliEveListAnalyserEditor.cxx:606 AliEveListAnalyserEditor.cxx:607 AliEveListAnalyserEditor.cxx:608 AliEveListAnalyserEditor.cxx:609 AliEveListAnalyserEditor.cxx:610 AliEveListAnalyserEditor.cxx:611 AliEveListAnalyserEditor.cxx:612 AliEveListAnalyserEditor.cxx:613 AliEveListAnalyserEditor.cxx:614 AliEveListAnalyserEditor.cxx:615 AliEveListAnalyserEditor.cxx:616 AliEveListAnalyserEditor.cxx:617 AliEveListAnalyserEditor.cxx:618 AliEveListAnalyserEditor.cxx:619 AliEveListAnalyserEditor.cxx:620 AliEveListAnalyserEditor.cxx:621 AliEveListAnalyserEditor.cxx:622 AliEveListAnalyserEditor.cxx:623 AliEveListAnalyserEditor.cxx:624 AliEveListAnalyserEditor.cxx:625 AliEveListAnalyserEditor.cxx:626 AliEveListAnalyserEditor.cxx:627 AliEveListAnalyserEditor.cxx:628 AliEveListAnalyserEditor.cxx:629 AliEveListAnalyserEditor.cxx:630 AliEveListAnalyserEditor.cxx:631 AliEveListAnalyserEditor.cxx:632 AliEveListAnalyserEditor.cxx:633 AliEveListAnalyserEditor.cxx:634 AliEveListAnalyserEditor.cxx:635 AliEveListAnalyserEditor.cxx:636 AliEveListAnalyserEditor.cxx:637 AliEveListAnalyserEditor.cxx:638 AliEveListAnalyserEditor.cxx:639 AliEveListAnalyserEditor.cxx:640 AliEveListAnalyserEditor.cxx:641 AliEveListAnalyserEditor.cxx:642 AliEveListAnalyserEditor.cxx:643 AliEveListAnalyserEditor.cxx:644 AliEveListAnalyserEditor.cxx:645 AliEveListAnalyserEditor.cxx:646 AliEveListAnalyserEditor.cxx:647 AliEveListAnalyserEditor.cxx:648 AliEveListAnalyserEditor.cxx:649 AliEveListAnalyserEditor.cxx:650 AliEveListAnalyserEditor.cxx:651 AliEveListAnalyserEditor.cxx:652 AliEveListAnalyserEditor.cxx:653 AliEveListAnalyserEditor.cxx:654 AliEveListAnalyserEditor.cxx:655 AliEveListAnalyserEditor.cxx:656 AliEveListAnalyserEditor.cxx:657 AliEveListAnalyserEditor.cxx:658 AliEveListAnalyserEditor.cxx:659 AliEveListAnalyserEditor.cxx:660 AliEveListAnalyserEditor.cxx:661 AliEveListAnalyserEditor.cxx:662 AliEveListAnalyserEditor.cxx:663 AliEveListAnalyserEditor.cxx:664 AliEveListAnalyserEditor.cxx:665 AliEveListAnalyserEditor.cxx:666 AliEveListAnalyserEditor.cxx:667 AliEveListAnalyserEditor.cxx:668 AliEveListAnalyserEditor.cxx:669 AliEveListAnalyserEditor.cxx:670 AliEveListAnalyserEditor.cxx:671 AliEveListAnalyserEditor.cxx:672 AliEveListAnalyserEditor.cxx:673 AliEveListAnalyserEditor.cxx:674 AliEveListAnalyserEditor.cxx:675 AliEveListAnalyserEditor.cxx:676 AliEveListAnalyserEditor.cxx:677 AliEveListAnalyserEditor.cxx:678 AliEveListAnalyserEditor.cxx:679 AliEveListAnalyserEditor.cxx:680 AliEveListAnalyserEditor.cxx:681 AliEveListAnalyserEditor.cxx:682 AliEveListAnalyserEditor.cxx:683 AliEveListAnalyserEditor.cxx:684 AliEveListAnalyserEditor.cxx:685 AliEveListAnalyserEditor.cxx:686 AliEveListAnalyserEditor.cxx:687 AliEveListAnalyserEditor.cxx:688 AliEveListAnalyserEditor.cxx:689 AliEveListAnalyserEditor.cxx:690 AliEveListAnalyserEditor.cxx:691 AliEveListAnalyserEditor.cxx:692 AliEveListAnalyserEditor.cxx:693 AliEveListAnalyserEditor.cxx:694 AliEveListAnalyserEditor.cxx:695 AliEveListAnalyserEditor.cxx:696 AliEveListAnalyserEditor.cxx:697 AliEveListAnalyserEditor.cxx:698 AliEveListAnalyserEditor.cxx:699 AliEveListAnalyserEditor.cxx:700 AliEveListAnalyserEditor.cxx:701 AliEveListAnalyserEditor.cxx:702 AliEveListAnalyserEditor.cxx:703 AliEveListAnalyserEditor.cxx:704 AliEveListAnalyserEditor.cxx:705 AliEveListAnalyserEditor.cxx:706 AliEveListAnalyserEditor.cxx:707 AliEveListAnalyserEditor.cxx:708 AliEveListAnalyserEditor.cxx:709 AliEveListAnalyserEditor.cxx:710 AliEveListAnalyserEditor.cxx:711 AliEveListAnalyserEditor.cxx:712 AliEveListAnalyserEditor.cxx:713 AliEveListAnalyserEditor.cxx:714 AliEveListAnalyserEditor.cxx:715 AliEveListAnalyserEditor.cxx:716 AliEveListAnalyserEditor.cxx:717 AliEveListAnalyserEditor.cxx:718 AliEveListAnalyserEditor.cxx:719 AliEveListAnalyserEditor.cxx:720 AliEveListAnalyserEditor.cxx:721 AliEveListAnalyserEditor.cxx:722 AliEveListAnalyserEditor.cxx:723 AliEveListAnalyserEditor.cxx:724 AliEveListAnalyserEditor.cxx:725 AliEveListAnalyserEditor.cxx:726 AliEveListAnalyserEditor.cxx:727 AliEveListAnalyserEditor.cxx:728 AliEveListAnalyserEditor.cxx:729 AliEveListAnalyserEditor.cxx:730 AliEveListAnalyserEditor.cxx:731 AliEveListAnalyserEditor.cxx:732 AliEveListAnalyserEditor.cxx:733 AliEveListAnalyserEditor.cxx:734 AliEveListAnalyserEditor.cxx:735 AliEveListAnalyserEditor.cxx:736 AliEveListAnalyserEditor.cxx:737 AliEveListAnalyserEditor.cxx:738 AliEveListAnalyserEditor.cxx:739 AliEveListAnalyserEditor.cxx:740 AliEveListAnalyserEditor.cxx:741 AliEveListAnalyserEditor.cxx:742 AliEveListAnalyserEditor.cxx:743 AliEveListAnalyserEditor.cxx:744 AliEveListAnalyserEditor.cxx:745 AliEveListAnalyserEditor.cxx:746 AliEveListAnalyserEditor.cxx:747 AliEveListAnalyserEditor.cxx:748 AliEveListAnalyserEditor.cxx:749 AliEveListAnalyserEditor.cxx:750 AliEveListAnalyserEditor.cxx:751 AliEveListAnalyserEditor.cxx:752 AliEveListAnalyserEditor.cxx:753 AliEveListAnalyserEditor.cxx:754 AliEveListAnalyserEditor.cxx:755 AliEveListAnalyserEditor.cxx:756 AliEveListAnalyserEditor.cxx:757 AliEveListAnalyserEditor.cxx:758 AliEveListAnalyserEditor.cxx:759 AliEveListAnalyserEditor.cxx:760 AliEveListAnalyserEditor.cxx:761 AliEveListAnalyserEditor.cxx:762 AliEveListAnalyserEditor.cxx:763 AliEveListAnalyserEditor.cxx:764 AliEveListAnalyserEditor.cxx:765 AliEveListAnalyserEditor.cxx:766 AliEveListAnalyserEditor.cxx:767 AliEveListAnalyserEditor.cxx:768 AliEveListAnalyserEditor.cxx:769 AliEveListAnalyserEditor.cxx:770 AliEveListAnalyserEditor.cxx:771 AliEveListAnalyserEditor.cxx:772 AliEveListAnalyserEditor.cxx:773 AliEveListAnalyserEditor.cxx:774 AliEveListAnalyserEditor.cxx:775 AliEveListAnalyserEditor.cxx:776 AliEveListAnalyserEditor.cxx:777 AliEveListAnalyserEditor.cxx:778 AliEveListAnalyserEditor.cxx:779 AliEveListAnalyserEditor.cxx:780 AliEveListAnalyserEditor.cxx:781 AliEveListAnalyserEditor.cxx:782 AliEveListAnalyserEditor.cxx:783 AliEveListAnalyserEditor.cxx:784 AliEveListAnalyserEditor.cxx:785 AliEveListAnalyserEditor.cxx:786 AliEveListAnalyserEditor.cxx:787 AliEveListAnalyserEditor.cxx:788 AliEveListAnalyserEditor.cxx:789 AliEveListAnalyserEditor.cxx:790 AliEveListAnalyserEditor.cxx:791 AliEveListAnalyserEditor.cxx:792 AliEveListAnalyserEditor.cxx:793 AliEveListAnalyserEditor.cxx:794 AliEveListAnalyserEditor.cxx:795 AliEveListAnalyserEditor.cxx:796 AliEveListAnalyserEditor.cxx:797 AliEveListAnalyserEditor.cxx:798 AliEveListAnalyserEditor.cxx:799 AliEveListAnalyserEditor.cxx:800 AliEveListAnalyserEditor.cxx:801 AliEveListAnalyserEditor.cxx:802 AliEveListAnalyserEditor.cxx:803 AliEveListAnalyserEditor.cxx:804 AliEveListAnalyserEditor.cxx:805 AliEveListAnalyserEditor.cxx:806 AliEveListAnalyserEditor.cxx:807 AliEveListAnalyserEditor.cxx:808 AliEveListAnalyserEditor.cxx:809 AliEveListAnalyserEditor.cxx:810 AliEveListAnalyserEditor.cxx:811 AliEveListAnalyserEditor.cxx:812 AliEveListAnalyserEditor.cxx:813 AliEveListAnalyserEditor.cxx:814 AliEveListAnalyserEditor.cxx:815 AliEveListAnalyserEditor.cxx:816 AliEveListAnalyserEditor.cxx:817 AliEveListAnalyserEditor.cxx:818 AliEveListAnalyserEditor.cxx:819 AliEveListAnalyserEditor.cxx:820 AliEveListAnalyserEditor.cxx:821 AliEveListAnalyserEditor.cxx:822 AliEveListAnalyserEditor.cxx:823 AliEveListAnalyserEditor.cxx:824 AliEveListAnalyserEditor.cxx:825 AliEveListAnalyserEditor.cxx:826 AliEveListAnalyserEditor.cxx:827 AliEveListAnalyserEditor.cxx:828 AliEveListAnalyserEditor.cxx:829 AliEveListAnalyserEditor.cxx:830 AliEveListAnalyserEditor.cxx:831 AliEveListAnalyserEditor.cxx:832 AliEveListAnalyserEditor.cxx:833 AliEveListAnalyserEditor.cxx:834 AliEveListAnalyserEditor.cxx:835 AliEveListAnalyserEditor.cxx:836 AliEveListAnalyserEditor.cxx:837 AliEveListAnalyserEditor.cxx:838 AliEveListAnalyserEditor.cxx:839 AliEveListAnalyserEditor.cxx:840 AliEveListAnalyserEditor.cxx:841 AliEveListAnalyserEditor.cxx:842 AliEveListAnalyserEditor.cxx:843 AliEveListAnalyserEditor.cxx:844 AliEveListAnalyserEditor.cxx:845 AliEveListAnalyserEditor.cxx:846 AliEveListAnalyserEditor.cxx:847 AliEveListAnalyserEditor.cxx:848 AliEveListAnalyserEditor.cxx:849 AliEveListAnalyserEditor.cxx:850 AliEveListAnalyserEditor.cxx:851 AliEveListAnalyserEditor.cxx:852 AliEveListAnalyserEditor.cxx:853 AliEveListAnalyserEditor.cxx:854 AliEveListAnalyserEditor.cxx:855 AliEveListAnalyserEditor.cxx:856 AliEveListAnalyserEditor.cxx:857 AliEveListAnalyserEditor.cxx:858 AliEveListAnalyserEditor.cxx:859 AliEveListAnalyserEditor.cxx:860 AliEveListAnalyserEditor.cxx:861 AliEveListAnalyserEditor.cxx:862 AliEveListAnalyserEditor.cxx:863 AliEveListAnalyserEditor.cxx:864 AliEveListAnalyserEditor.cxx:865 AliEveListAnalyserEditor.cxx:866 AliEveListAnalyserEditor.cxx:867 AliEveListAnalyserEditor.cxx:868 AliEveListAnalyserEditor.cxx:869 AliEveListAnalyserEditor.cxx:870 AliEveListAnalyserEditor.cxx:871 AliEveListAnalyserEditor.cxx:872 AliEveListAnalyserEditor.cxx:873 AliEveListAnalyserEditor.cxx:874 AliEveListAnalyserEditor.cxx:875 AliEveListAnalyserEditor.cxx:876 AliEveListAnalyserEditor.cxx:877 AliEveListAnalyserEditor.cxx:878 AliEveListAnalyserEditor.cxx:879 AliEveListAnalyserEditor.cxx:880 AliEveListAnalyserEditor.cxx:881 AliEveListAnalyserEditor.cxx:882 AliEveListAnalyserEditor.cxx:883 AliEveListAnalyserEditor.cxx:884 AliEveListAnalyserEditor.cxx:885 AliEveListAnalyserEditor.cxx:886 AliEveListAnalyserEditor.cxx:887 AliEveListAnalyserEditor.cxx:888 AliEveListAnalyserEditor.cxx:889 AliEveListAnalyserEditor.cxx:890 AliEveListAnalyserEditor.cxx:891 AliEveListAnalyserEditor.cxx:892 AliEveListAnalyserEditor.cxx:893 AliEveListAnalyserEditor.cxx:894 AliEveListAnalyserEditor.cxx:895 AliEveListAnalyserEditor.cxx:896 AliEveListAnalyserEditor.cxx:897 AliEveListAnalyserEditor.cxx:898 AliEveListAnalyserEditor.cxx:899 AliEveListAnalyserEditor.cxx:900 AliEveListAnalyserEditor.cxx:901 AliEveListAnalyserEditor.cxx:902 AliEveListAnalyserEditor.cxx:903 AliEveListAnalyserEditor.cxx:904 AliEveListAnalyserEditor.cxx:905 AliEveListAnalyserEditor.cxx:906 AliEveListAnalyserEditor.cxx:907 AliEveListAnalyserEditor.cxx:908 AliEveListAnalyserEditor.cxx:909 AliEveListAnalyserEditor.cxx:910 AliEveListAnalyserEditor.cxx:911 AliEveListAnalyserEditor.cxx:912 AliEveListAnalyserEditor.cxx:913 AliEveListAnalyserEditor.cxx:914 AliEveListAnalyserEditor.cxx:915 AliEveListAnalyserEditor.cxx:916 AliEveListAnalyserEditor.cxx:917 AliEveListAnalyserEditor.cxx:918 AliEveListAnalyserEditor.cxx:919 AliEveListAnalyserEditor.cxx:920 AliEveListAnalyserEditor.cxx:921 AliEveListAnalyserEditor.cxx:922 AliEveListAnalyserEditor.cxx:923 AliEveListAnalyserEditor.cxx:924 AliEveListAnalyserEditor.cxx:925 AliEveListAnalyserEditor.cxx:926 AliEveListAnalyserEditor.cxx:927 AliEveListAnalyserEditor.cxx:928 AliEveListAnalyserEditor.cxx:929 AliEveListAnalyserEditor.cxx:930 AliEveListAnalyserEditor.cxx:931 AliEveListAnalyserEditor.cxx:932 AliEveListAnalyserEditor.cxx:933 AliEveListAnalyserEditor.cxx:934 AliEveListAnalyserEditor.cxx:935 AliEveListAnalyserEditor.cxx:936 AliEveListAnalyserEditor.cxx:937 AliEveListAnalyserEditor.cxx:938 AliEveListAnalyserEditor.cxx:939 AliEveListAnalyserEditor.cxx:940 AliEveListAnalyserEditor.cxx:941 AliEveListAnalyserEditor.cxx:942 AliEveListAnalyserEditor.cxx:943 AliEveListAnalyserEditor.cxx:944 AliEveListAnalyserEditor.cxx:945 AliEveListAnalyserEditor.cxx:946 AliEveListAnalyserEditor.cxx:947 AliEveListAnalyserEditor.cxx:948 AliEveListAnalyserEditor.cxx:949 AliEveListAnalyserEditor.cxx:950 AliEveListAnalyserEditor.cxx:951 AliEveListAnalyserEditor.cxx:952 AliEveListAnalyserEditor.cxx:953 AliEveListAnalyserEditor.cxx:954 AliEveListAnalyserEditor.cxx:955 AliEveListAnalyserEditor.cxx:956 AliEveListAnalyserEditor.cxx:957 AliEveListAnalyserEditor.cxx:958 AliEveListAnalyserEditor.cxx:959 AliEveListAnalyserEditor.cxx:960 AliEveListAnalyserEditor.cxx:961 AliEveListAnalyserEditor.cxx:962 AliEveListAnalyserEditor.cxx:963 AliEveListAnalyserEditor.cxx:964 AliEveListAnalyserEditor.cxx:965 AliEveListAnalyserEditor.cxx:966 AliEveListAnalyserEditor.cxx:967 AliEveListAnalyserEditor.cxx:968 AliEveListAnalyserEditor.cxx:969 AliEveListAnalyserEditor.cxx:970 AliEveListAnalyserEditor.cxx:971 AliEveListAnalyserEditor.cxx:972 AliEveListAnalyserEditor.cxx:973 AliEveListAnalyserEditor.cxx:974 AliEveListAnalyserEditor.cxx:975 AliEveListAnalyserEditor.cxx:976 AliEveListAnalyserEditor.cxx:977 AliEveListAnalyserEditor.cxx:978 AliEveListAnalyserEditor.cxx:979 AliEveListAnalyserEditor.cxx:980 AliEveListAnalyserEditor.cxx:981 AliEveListAnalyserEditor.cxx:982 AliEveListAnalyserEditor.cxx:983 AliEveListAnalyserEditor.cxx:984 AliEveListAnalyserEditor.cxx:985 AliEveListAnalyserEditor.cxx:986 AliEveListAnalyserEditor.cxx:987 AliEveListAnalyserEditor.cxx:988 AliEveListAnalyserEditor.cxx:989 AliEveListAnalyserEditor.cxx:990 AliEveListAnalyserEditor.cxx:991 AliEveListAnalyserEditor.cxx:992 AliEveListAnalyserEditor.cxx:993 AliEveListAnalyserEditor.cxx:994 AliEveListAnalyserEditor.cxx:995 AliEveListAnalyserEditor.cxx:996 AliEveListAnalyserEditor.cxx:997 AliEveListAnalyserEditor.cxx:998 AliEveListAnalyserEditor.cxx:999 AliEveListAnalyserEditor.cxx:1000 AliEveListAnalyserEditor.cxx:1001 AliEveListAnalyserEditor.cxx:1002 AliEveListAnalyserEditor.cxx:1003 AliEveListAnalyserEditor.cxx:1004 AliEveListAnalyserEditor.cxx:1005 AliEveListAnalyserEditor.cxx:1006 AliEveListAnalyserEditor.cxx:1007 AliEveListAnalyserEditor.cxx:1008 AliEveListAnalyserEditor.cxx:1009 AliEveListAnalyserEditor.cxx:1010 AliEveListAnalyserEditor.cxx:1011 AliEveListAnalyserEditor.cxx:1012 AliEveListAnalyserEditor.cxx:1013 AliEveListAnalyserEditor.cxx:1014 AliEveListAnalyserEditor.cxx:1015 AliEveListAnalyserEditor.cxx:1016 AliEveListAnalyserEditor.cxx:1017 AliEveListAnalyserEditor.cxx:1018 AliEveListAnalyserEditor.cxx:1019 AliEveListAnalyserEditor.cxx:1020 AliEveListAnalyserEditor.cxx:1021 AliEveListAnalyserEditor.cxx:1022 AliEveListAnalyserEditor.cxx:1023 AliEveListAnalyserEditor.cxx:1024 AliEveListAnalyserEditor.cxx:1025 AliEveListAnalyserEditor.cxx:1026 AliEveListAnalyserEditor.cxx:1027 AliEveListAnalyserEditor.cxx:1028 AliEveListAnalyserEditor.cxx:1029 AliEveListAnalyserEditor.cxx:1030 AliEveListAnalyserEditor.cxx:1031 AliEveListAnalyserEditor.cxx:1032 AliEveListAnalyserEditor.cxx:1033 AliEveListAnalyserEditor.cxx:1034 AliEveListAnalyserEditor.cxx:1035 AliEveListAnalyserEditor.cxx:1036 AliEveListAnalyserEditor.cxx:1037 AliEveListAnalyserEditor.cxx:1038 AliEveListAnalyserEditor.cxx:1039 AliEveListAnalyserEditor.cxx:1040 AliEveListAnalyserEditor.cxx:1041 AliEveListAnalyserEditor.cxx:1042 AliEveListAnalyserEditor.cxx:1043 AliEveListAnalyserEditor.cxx:1044 AliEveListAnalyserEditor.cxx:1045 AliEveListAnalyserEditor.cxx:1046 AliEveListAnalyserEditor.cxx:1047 AliEveListAnalyserEditor.cxx:1048 AliEveListAnalyserEditor.cxx:1049 AliEveListAnalyserEditor.cxx:1050 AliEveListAnalyserEditor.cxx:1051 AliEveListAnalyserEditor.cxx:1052 AliEveListAnalyserEditor.cxx:1053 AliEveListAnalyserEditor.cxx:1054 AliEveListAnalyserEditor.cxx:1055 AliEveListAnalyserEditor.cxx:1056 AliEveListAnalyserEditor.cxx:1057 AliEveListAnalyserEditor.cxx:1058 AliEveListAnalyserEditor.cxx:1059 AliEveListAnalyserEditor.cxx:1060 AliEveListAnalyserEditor.cxx:1061 AliEveListAnalyserEditor.cxx:1062 AliEveListAnalyserEditor.cxx:1063 AliEveListAnalyserEditor.cxx:1064 AliEveListAnalyserEditor.cxx:1065 AliEveListAnalyserEditor.cxx:1066 AliEveListAnalyserEditor.cxx:1067 AliEveListAnalyserEditor.cxx:1068 AliEveListAnalyserEditor.cxx:1069 AliEveListAnalyserEditor.cxx:1070 AliEveListAnalyserEditor.cxx:1071 AliEveListAnalyserEditor.cxx:1072 AliEveListAnalyserEditor.cxx:1073 AliEveListAnalyserEditor.cxx:1074 AliEveListAnalyserEditor.cxx:1075 AliEveListAnalyserEditor.cxx:1076 AliEveListAnalyserEditor.cxx:1077 AliEveListAnalyserEditor.cxx:1078 AliEveListAnalyserEditor.cxx:1079 AliEveListAnalyserEditor.cxx:1080 AliEveListAnalyserEditor.cxx:1081 AliEveListAnalyserEditor.cxx:1082 AliEveListAnalyserEditor.cxx:1083 AliEveListAnalyserEditor.cxx:1084 AliEveListAnalyserEditor.cxx:1085 AliEveListAnalyserEditor.cxx:1086 AliEveListAnalyserEditor.cxx:1087 AliEveListAnalyserEditor.cxx:1088 AliEveListAnalyserEditor.cxx:1089 AliEveListAnalyserEditor.cxx:1090 AliEveListAnalyserEditor.cxx:1091 AliEveListAnalyserEditor.cxx:1092 AliEveListAnalyserEditor.cxx:1093 AliEveListAnalyserEditor.cxx:1094 AliEveListAnalyserEditor.cxx:1095 AliEveListAnalyserEditor.cxx:1096 AliEveListAnalyserEditor.cxx:1097 AliEveListAnalyserEditor.cxx:1098 AliEveListAnalyserEditor.cxx:1099 AliEveListAnalyserEditor.cxx:1100 AliEveListAnalyserEditor.cxx:1101 AliEveListAnalyserEditor.cxx:1102 AliEveListAnalyserEditor.cxx:1103 AliEveListAnalyserEditor.cxx:1104 AliEveListAnalyserEditor.cxx:1105 AliEveListAnalyserEditor.cxx:1106 AliEveListAnalyserEditor.cxx:1107 AliEveListAnalyserEditor.cxx:1108 AliEveListAnalyserEditor.cxx:1109 AliEveListAnalyserEditor.cxx:1110 AliEveListAnalyserEditor.cxx:1111 AliEveListAnalyserEditor.cxx:1112 AliEveListAnalyserEditor.cxx:1113 AliEveListAnalyserEditor.cxx:1114 AliEveListAnalyserEditor.cxx:1115 AliEveListAnalyserEditor.cxx:1116 AliEveListAnalyserEditor.cxx:1117 AliEveListAnalyserEditor.cxx:1118 AliEveListAnalyserEditor.cxx:1119 AliEveListAnalyserEditor.cxx:1120 AliEveListAnalyserEditor.cxx:1121 AliEveListAnalyserEditor.cxx:1122 AliEveListAnalyserEditor.cxx:1123 AliEveListAnalyserEditor.cxx:1124 AliEveListAnalyserEditor.cxx:1125 AliEveListAnalyserEditor.cxx:1126 AliEveListAnalyserEditor.cxx:1127 AliEveListAnalyserEditor.cxx:1128 AliEveListAnalyserEditor.cxx:1129 AliEveListAnalyserEditor.cxx:1130 AliEveListAnalyserEditor.cxx:1131 AliEveListAnalyserEditor.cxx:1132 AliEveListAnalyserEditor.cxx:1133 AliEveListAnalyserEditor.cxx:1134 AliEveListAnalyserEditor.cxx:1135 AliEveListAnalyserEditor.cxx:1136 AliEveListAnalyserEditor.cxx:1137 AliEveListAnalyserEditor.cxx:1138 AliEveListAnalyserEditor.cxx:1139 AliEveListAnalyserEditor.cxx:1140 AliEveListAnalyserEditor.cxx:1141 AliEveListAnalyserEditor.cxx:1142 AliEveListAnalyserEditor.cxx:1143 AliEveListAnalyserEditor.cxx:1144 AliEveListAnalyserEditor.cxx:1145 AliEveListAnalyserEditor.cxx:1146 AliEveListAnalyserEditor.cxx:1147 AliEveListAnalyserEditor.cxx:1148 AliEveListAnalyserEditor.cxx:1149 AliEveListAnalyserEditor.cxx:1150 AliEveListAnalyserEditor.cxx:1151 AliEveListAnalyserEditor.cxx:1152 AliEveListAnalyserEditor.cxx:1153 AliEveListAnalyserEditor.cxx:1154 AliEveListAnalyserEditor.cxx:1155 AliEveListAnalyserEditor.cxx:1156 AliEveListAnalyserEditor.cxx:1157 AliEveListAnalyserEditor.cxx:1158 AliEveListAnalyserEditor.cxx:1159 AliEveListAnalyserEditor.cxx:1160 AliEveListAnalyserEditor.cxx:1161 AliEveListAnalyserEditor.cxx:1162 AliEveListAnalyserEditor.cxx:1163 AliEveListAnalyserEditor.cxx:1164 AliEveListAnalyserEditor.cxx:1165 AliEveListAnalyserEditor.cxx:1166 AliEveListAnalyserEditor.cxx:1167 AliEveListAnalyserEditor.cxx:1168 AliEveListAnalyserEditor.cxx:1169 AliEveListAnalyserEditor.cxx:1170 AliEveListAnalyserEditor.cxx:1171 AliEveListAnalyserEditor.cxx:1172 AliEveListAnalyserEditor.cxx:1173 AliEveListAnalyserEditor.cxx:1174 AliEveListAnalyserEditor.cxx:1175 AliEveListAnalyserEditor.cxx:1176 AliEveListAnalyserEditor.cxx:1177 AliEveListAnalyserEditor.cxx:1178 AliEveListAnalyserEditor.cxx:1179 AliEveListAnalyserEditor.cxx:1180 AliEveListAnalyserEditor.cxx:1181 AliEveListAnalyserEditor.cxx:1182 AliEveListAnalyserEditor.cxx:1183 AliEveListAnalyserEditor.cxx:1184 AliEveListAnalyserEditor.cxx:1185 AliEveListAnalyserEditor.cxx:1186 AliEveListAnalyserEditor.cxx:1187 AliEveListAnalyserEditor.cxx:1188 AliEveListAnalyserEditor.cxx:1189 AliEveListAnalyserEditor.cxx:1190 AliEveListAnalyserEditor.cxx:1191 AliEveListAnalyserEditor.cxx:1192 AliEveListAnalyserEditor.cxx:1193 AliEveListAnalyserEditor.cxx:1194 AliEveListAnalyserEditor.cxx:1195 AliEveListAnalyserEditor.cxx:1196 AliEveListAnalyserEditor.cxx:1197 AliEveListAnalyserEditor.cxx:1198 AliEveListAnalyserEditor.cxx:1199 AliEveListAnalyserEditor.cxx:1200 AliEveListAnalyserEditor.cxx:1201 AliEveListAnalyserEditor.cxx:1202 AliEveListAnalyserEditor.cxx:1203 AliEveListAnalyserEditor.cxx:1204 AliEveListAnalyserEditor.cxx:1205 AliEveListAnalyserEditor.cxx:1206 AliEveListAnalyserEditor.cxx:1207 AliEveListAnalyserEditor.cxx:1208 AliEveListAnalyserEditor.cxx:1209 AliEveListAnalyserEditor.cxx:1210 AliEveListAnalyserEditor.cxx:1211 AliEveListAnalyserEditor.cxx:1212 AliEveListAnalyserEditor.cxx:1213 AliEveListAnalyserEditor.cxx:1214 AliEveListAnalyserEditor.cxx:1215 AliEveListAnalyserEditor.cxx:1216 AliEveListAnalyserEditor.cxx:1217 AliEveListAnalyserEditor.cxx:1218 AliEveListAnalyserEditor.cxx:1219 AliEveListAnalyserEditor.cxx:1220 AliEveListAnalyserEditor.cxx:1221 AliEveListAnalyserEditor.cxx:1222 AliEveListAnalyserEditor.cxx:1223 AliEveListAnalyserEditor.cxx:1224 AliEveListAnalyserEditor.cxx:1225 AliEveListAnalyserEditor.cxx:1226 AliEveListAnalyserEditor.cxx:1227 AliEveListAnalyserEditor.cxx:1228 AliEveListAnalyserEditor.cxx:1229 AliEveListAnalyserEditor.cxx:1230 AliEveListAnalyserEditor.cxx:1231 AliEveListAnalyserEditor.cxx:1232 AliEveListAnalyserEditor.cxx:1233 AliEveListAnalyserEditor.cxx:1234 AliEveListAnalyserEditor.cxx:1235 AliEveListAnalyserEditor.cxx:1236 AliEveListAnalyserEditor.cxx:1237 AliEveListAnalyserEditor.cxx:1238 AliEveListAnalyserEditor.cxx:1239 AliEveListAnalyserEditor.cxx:1240 AliEveListAnalyserEditor.cxx:1241 AliEveListAnalyserEditor.cxx:1242 AliEveListAnalyserEditor.cxx:1243 AliEveListAnalyserEditor.cxx:1244 AliEveListAnalyserEditor.cxx:1245 AliEveListAnalyserEditor.cxx:1246 AliEveListAnalyserEditor.cxx:1247 AliEveListAnalyserEditor.cxx:1248 AliEveListAnalyserEditor.cxx:1249 AliEveListAnalyserEditor.cxx:1250 AliEveListAnalyserEditor.cxx:1251 AliEveListAnalyserEditor.cxx:1252 AliEveListAnalyserEditor.cxx:1253 AliEveListAnalyserEditor.cxx:1254 AliEveListAnalyserEditor.cxx:1255 AliEveListAnalyserEditor.cxx:1256 AliEveListAnalyserEditor.cxx:1257 AliEveListAnalyserEditor.cxx:1258 AliEveListAnalyserEditor.cxx:1259 AliEveListAnalyserEditor.cxx:1260 AliEveListAnalyserEditor.cxx:1261 AliEveListAnalyserEditor.cxx:1262 AliEveListAnalyserEditor.cxx:1263 AliEveListAnalyserEditor.cxx:1264 AliEveListAnalyserEditor.cxx:1265 AliEveListAnalyserEditor.cxx:1266 AliEveListAnalyserEditor.cxx:1267 AliEveListAnalyserEditor.cxx:1268 AliEveListAnalyserEditor.cxx:1269 AliEveListAnalyserEditor.cxx:1270 AliEveListAnalyserEditor.cxx:1271 AliEveListAnalyserEditor.cxx:1272 AliEveListAnalyserEditor.cxx:1273 AliEveListAnalyserEditor.cxx:1274 AliEveListAnalyserEditor.cxx:1275 AliEveListAnalyserEditor.cxx:1276 AliEveListAnalyserEditor.cxx:1277 AliEveListAnalyserEditor.cxx:1278 AliEveListAnalyserEditor.cxx:1279 AliEveListAnalyserEditor.cxx:1280 AliEveListAnalyserEditor.cxx:1281 AliEveListAnalyserEditor.cxx:1282 AliEveListAnalyserEditor.cxx:1283 AliEveListAnalyserEditor.cxx:1284 AliEveListAnalyserEditor.cxx:1285 AliEveListAnalyserEditor.cxx:1286 AliEveListAnalyserEditor.cxx:1287 AliEveListAnalyserEditor.cxx:1288 AliEveListAnalyserEditor.cxx:1289 AliEveListAnalyserEditor.cxx:1290 AliEveListAnalyserEditor.cxx:1291 AliEveListAnalyserEditor.cxx:1292 AliEveListAnalyserEditor.cxx:1293 AliEveListAnalyserEditor.cxx:1294 AliEveListAnalyserEditor.cxx:1295 AliEveListAnalyserEditor.cxx:1296 AliEveListAnalyserEditor.cxx:1297 AliEveListAnalyserEditor.cxx:1298 AliEveListAnalyserEditor.cxx:1299 AliEveListAnalyserEditor.cxx:1300 AliEveListAnalyserEditor.cxx:1301 AliEveListAnalyserEditor.cxx:1302 AliEveListAnalyserEditor.cxx:1303 AliEveListAnalyserEditor.cxx:1304 AliEveListAnalyserEditor.cxx:1305 AliEveListAnalyserEditor.cxx:1306 AliEveListAnalyserEditor.cxx:1307 AliEveListAnalyserEditor.cxx:1308 AliEveListAnalyserEditor.cxx:1309 AliEveListAnalyserEditor.cxx:1310 AliEveListAnalyserEditor.cxx:1311 AliEveListAnalyserEditor.cxx:1312 AliEveListAnalyserEditor.cxx:1313 AliEveListAnalyserEditor.cxx:1314 AliEveListAnalyserEditor.cxx:1315 AliEveListAnalyserEditor.cxx:1316 AliEveListAnalyserEditor.cxx:1317 AliEveListAnalyserEditor.cxx:1318 AliEveListAnalyserEditor.cxx:1319 AliEveListAnalyserEditor.cxx:1320 AliEveListAnalyserEditor.cxx:1321 AliEveListAnalyserEditor.cxx:1322 AliEveListAnalyserEditor.cxx:1323 AliEveListAnalyserEditor.cxx:1324 AliEveListAnalyserEditor.cxx:1325 AliEveListAnalyserEditor.cxx:1326 AliEveListAnalyserEditor.cxx:1327 AliEveListAnalyserEditor.cxx:1328 AliEveListAnalyserEditor.cxx:1329 AliEveListAnalyserEditor.cxx:1330 AliEveListAnalyserEditor.cxx:1331 AliEveListAnalyserEditor.cxx:1332 AliEveListAnalyserEditor.cxx:1333 AliEveListAnalyserEditor.cxx:1334 AliEveListAnalyserEditor.cxx:1335 AliEveListAnalyserEditor.cxx:1336 AliEveListAnalyserEditor.cxx:1337 AliEveListAnalyserEditor.cxx:1338 AliEveListAnalyserEditor.cxx:1339 AliEveListAnalyserEditor.cxx:1340 AliEveListAnalyserEditor.cxx:1341 AliEveListAnalyserEditor.cxx:1342 AliEveListAnalyserEditor.cxx:1343 AliEveListAnalyserEditor.cxx:1344 AliEveListAnalyserEditor.cxx:1345 AliEveListAnalyserEditor.cxx:1346 AliEveListAnalyserEditor.cxx:1347 AliEveListAnalyserEditor.cxx:1348 AliEveListAnalyserEditor.cxx:1349 AliEveListAnalyserEditor.cxx:1350 AliEveListAnalyserEditor.cxx:1351 AliEveListAnalyserEditor.cxx:1352 AliEveListAnalyserEditor.cxx:1353 AliEveListAnalyserEditor.cxx:1354 AliEveListAnalyserEditor.cxx:1355 AliEveListAnalyserEditor.cxx:1356 AliEveListAnalyserEditor.cxx:1357 AliEveListAnalyserEditor.cxx:1358 AliEveListAnalyserEditor.cxx:1359 AliEveListAnalyserEditor.cxx:1360 AliEveListAnalyserEditor.cxx:1361 AliEveListAnalyserEditor.cxx:1362 AliEveListAnalyserEditor.cxx:1363 AliEveListAnalyserEditor.cxx:1364 AliEveListAnalyserEditor.cxx:1365 AliEveListAnalyserEditor.cxx:1366 AliEveListAnalyserEditor.cxx:1367 AliEveListAnalyserEditor.cxx:1368 AliEveListAnalyserEditor.cxx:1369 AliEveListAnalyserEditor.cxx:1370 AliEveListAnalyserEditor.cxx:1371 AliEveListAnalyserEditor.cxx:1372 AliEveListAnalyserEditor.cxx:1373 AliEveListAnalyserEditor.cxx:1374 AliEveListAnalyserEditor.cxx:1375 AliEveListAnalyserEditor.cxx:1376 AliEveListAnalyserEditor.cxx:1377 AliEveListAnalyserEditor.cxx:1378 AliEveListAnalyserEditor.cxx:1379 AliEveListAnalyserEditor.cxx:1380 AliEveListAnalyserEditor.cxx:1381 AliEveListAnalyserEditor.cxx:1382 AliEveListAnalyserEditor.cxx:1383 AliEveListAnalyserEditor.cxx:1384 AliEveListAnalyserEditor.cxx:1385 AliEveListAnalyserEditor.cxx:1386 AliEveListAnalyserEditor.cxx:1387 AliEveListAnalyserEditor.cxx:1388 AliEveListAnalyserEditor.cxx:1389 AliEveListAnalyserEditor.cxx:1390 AliEveListAnalyserEditor.cxx:1391 AliEveListAnalyserEditor.cxx:1392 AliEveListAnalyserEditor.cxx:1393 AliEveListAnalyserEditor.cxx:1394 AliEveListAnalyserEditor.cxx:1395 AliEveListAnalyserEditor.cxx:1396 AliEveListAnalyserEditor.cxx:1397 AliEveListAnalyserEditor.cxx:1398 AliEveListAnalyserEditor.cxx:1399 AliEveListAnalyserEditor.cxx:1400 AliEveListAnalyserEditor.cxx:1401 AliEveListAnalyserEditor.cxx:1402 AliEveListAnalyserEditor.cxx:1403 AliEveListAnalyserEditor.cxx:1404 AliEveListAnalyserEditor.cxx:1405 AliEveListAnalyserEditor.cxx:1406 AliEveListAnalyserEditor.cxx:1407 AliEveListAnalyserEditor.cxx:1408 AliEveListAnalyserEditor.cxx:1409 AliEveListAnalyserEditor.cxx:1410 AliEveListAnalyserEditor.cxx:1411 AliEveListAnalyserEditor.cxx:1412 AliEveListAnalyserEditor.cxx:1413 AliEveListAnalyserEditor.cxx:1414 AliEveListAnalyserEditor.cxx:1415 AliEveListAnalyserEditor.cxx:1416 AliEveListAnalyserEditor.cxx:1417 AliEveListAnalyserEditor.cxx:1418 AliEveListAnalyserEditor.cxx:1419 AliEveListAnalyserEditor.cxx:1420 AliEveListAnalyserEditor.cxx:1421 AliEveListAnalyserEditor.cxx:1422 AliEveListAnalyserEditor.cxx:1423 AliEveListAnalyserEditor.cxx:1424 AliEveListAnalyserEditor.cxx:1425 AliEveListAnalyserEditor.cxx:1426 AliEveListAnalyserEditor.cxx:1427 AliEveListAnalyserEditor.cxx:1428 AliEveListAnalyserEditor.cxx:1429 AliEveListAnalyserEditor.cxx:1430 AliEveListAnalyserEditor.cxx:1431 AliEveListAnalyserEditor.cxx:1432 AliEveListAnalyserEditor.cxx:1433 AliEveListAnalyserEditor.cxx:1434 AliEveListAnalyserEditor.cxx:1435 AliEveListAnalyserEditor.cxx:1436 AliEveListAnalyserEditor.cxx:1437 AliEveListAnalyserEditor.cxx:1438 AliEveListAnalyserEditor.cxx:1439 AliEveListAnalyserEditor.cxx:1440 AliEveListAnalyserEditor.cxx:1441 AliEveListAnalyserEditor.cxx:1442 AliEveListAnalyserEditor.cxx:1443 AliEveListAnalyserEditor.cxx:1444 AliEveListAnalyserEditor.cxx:1445 AliEveListAnalyserEditor.cxx:1446 AliEveListAnalyserEditor.cxx:1447 AliEveListAnalyserEditor.cxx:1448 AliEveListAnalyserEditor.cxx:1449 AliEveListAnalyserEditor.cxx:1450 AliEveListAnalyserEditor.cxx:1451 AliEveListAnalyserEditor.cxx:1452 AliEveListAnalyserEditor.cxx:1453 AliEveListAnalyserEditor.cxx:1454 AliEveListAnalyserEditor.cxx:1455 AliEveListAnalyserEditor.cxx:1456 AliEveListAnalyserEditor.cxx:1457 AliEveListAnalyserEditor.cxx:1458 AliEveListAnalyserEditor.cxx:1459 AliEveListAnalyserEditor.cxx:1460 AliEveListAnalyserEditor.cxx:1461 AliEveListAnalyserEditor.cxx:1462 AliEveListAnalyserEditor.cxx:1463 AliEveListAnalyserEditor.cxx:1464 AliEveListAnalyserEditor.cxx:1465 AliEveListAnalyserEditor.cxx:1466 AliEveListAnalyserEditor.cxx:1467 AliEveListAnalyserEditor.cxx:1468 AliEveListAnalyserEditor.cxx:1469 AliEveListAnalyserEditor.cxx:1470 AliEveListAnalyserEditor.cxx:1471 AliEveListAnalyserEditor.cxx:1472 AliEveListAnalyserEditor.cxx:1473 AliEveListAnalyserEditor.cxx:1474 AliEveListAnalyserEditor.cxx:1475 AliEveListAnalyserEditor.cxx:1476 AliEveListAnalyserEditor.cxx:1477 AliEveListAnalyserEditor.cxx:1478 AliEveListAnalyserEditor.cxx:1479 AliEveListAnalyserEditor.cxx:1480 AliEveListAnalyserEditor.cxx:1481 AliEveListAnalyserEditor.cxx:1482 AliEveListAnalyserEditor.cxx:1483 AliEveListAnalyserEditor.cxx:1484 AliEveListAnalyserEditor.cxx:1485 AliEveListAnalyserEditor.cxx:1486 AliEveListAnalyserEditor.cxx:1487 AliEveListAnalyserEditor.cxx:1488 AliEveListAnalyserEditor.cxx:1489 AliEveListAnalyserEditor.cxx:1490 AliEveListAnalyserEditor.cxx:1491 AliEveListAnalyserEditor.cxx:1492 AliEveListAnalyserEditor.cxx:1493 AliEveListAnalyserEditor.cxx:1494 AliEveListAnalyserEditor.cxx:1495 AliEveListAnalyserEditor.cxx:1496 AliEveListAnalyserEditor.cxx:1497 AliEveListAnalyserEditor.cxx:1498 AliEveListAnalyserEditor.cxx:1499 AliEveListAnalyserEditor.cxx:1500 AliEveListAnalyserEditor.cxx:1501 AliEveListAnalyserEditor.cxx:1502 AliEveListAnalyserEditor.cxx:1503 AliEveListAnalyserEditor.cxx:1504 AliEveListAnalyserEditor.cxx:1505 AliEveListAnalyserEditor.cxx:1506 AliEveListAnalyserEditor.cxx:1507 AliEveListAnalyserEditor.cxx:1508 AliEveListAnalyserEditor.cxx:1509 AliEveListAnalyserEditor.cxx:1510 AliEveListAnalyserEditor.cxx:1511 AliEveListAnalyserEditor.cxx:1512 AliEveListAnalyserEditor.cxx:1513 AliEveListAnalyserEditor.cxx:1514 AliEveListAnalyserEditor.cxx:1515 AliEveListAnalyserEditor.cxx:1516 AliEveListAnalyserEditor.cxx:1517 AliEveListAnalyserEditor.cxx:1518 AliEveListAnalyserEditor.cxx:1519 AliEveListAnalyserEditor.cxx:1520 AliEveListAnalyserEditor.cxx:1521 AliEveListAnalyserEditor.cxx:1522 AliEveListAnalyserEditor.cxx:1523 AliEveListAnalyserEditor.cxx:1524 AliEveListAnalyserEditor.cxx:1525 AliEveListAnalyserEditor.cxx:1526 AliEveListAnalyserEditor.cxx:1527 AliEveListAnalyserEditor.cxx:1528 AliEveListAnalyserEditor.cxx:1529 AliEveListAnalyserEditor.cxx:1530 AliEveListAnalyserEditor.cxx:1531 AliEveListAnalyserEditor.cxx:1532 AliEveListAnalyserEditor.cxx:1533 AliEveListAnalyserEditor.cxx:1534 AliEveListAnalyserEditor.cxx:1535 AliEveListAnalyserEditor.cxx:1536 AliEveListAnalyserEditor.cxx:1537 AliEveListAnalyserEditor.cxx:1538 AliEveListAnalyserEditor.cxx:1539 AliEveListAnalyserEditor.cxx:1540 AliEveListAnalyserEditor.cxx:1541 AliEveListAnalyserEditor.cxx:1542 AliEveListAnalyserEditor.cxx:1543 AliEveListAnalyserEditor.cxx:1544 AliEveListAnalyserEditor.cxx:1545 AliEveListAnalyserEditor.cxx:1546 AliEveListAnalyserEditor.cxx:1547 AliEveListAnalyserEditor.cxx:1548 AliEveListAnalyserEditor.cxx:1549 AliEveListAnalyserEditor.cxx:1550 AliEveListAnalyserEditor.cxx:1551 AliEveListAnalyserEditor.cxx:1552 AliEveListAnalyserEditor.cxx:1553 AliEveListAnalyserEditor.cxx:1554 AliEveListAnalyserEditor.cxx:1555 AliEveListAnalyserEditor.cxx:1556 AliEveListAnalyserEditor.cxx:1557 AliEveListAnalyserEditor.cxx:1558 AliEveListAnalyserEditor.cxx:1559 AliEveListAnalyserEditor.cxx:1560 AliEveListAnalyserEditor.cxx:1561 AliEveListAnalyserEditor.cxx:1562 AliEveListAnalyserEditor.cxx:1563 AliEveListAnalyserEditor.cxx:1564 AliEveListAnalyserEditor.cxx:1565 AliEveListAnalyserEditor.cxx:1566 AliEveListAnalyserEditor.cxx:1567 AliEveListAnalyserEditor.cxx:1568 AliEveListAnalyserEditor.cxx:1569 AliEveListAnalyserEditor.cxx:1570 AliEveListAnalyserEditor.cxx:1571 AliEveListAnalyserEditor.cxx:1572 AliEveListAnalyserEditor.cxx:1573 AliEveListAnalyserEditor.cxx:1574 AliEveListAnalyserEditor.cxx:1575