X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliAnalysisGoodies.cxx;h=f2ce7d0b75d849b051584f6ebaae9ad66baab83d;hb=5f4d17f971e09859c0470d3fd9fc0d534db07050;hp=a3437a3fb789a184a8faa9e912194af5a1de3e55;hpb=3182916343088f5547cd5afa90f99ce808754a86;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliAnalysisGoodies.cxx b/ANALYSIS/AliAnalysisGoodies.cxx index a3437a3fb78..f2ce7d0b75d 100644 --- a/ANALYSIS/AliAnalysisGoodies.cxx +++ b/ANALYSIS/AliAnalysisGoodies.cxx @@ -25,17 +25,17 @@ #include "AliXMLCollection.h" #include "AliAnalysisGoodies.h" #include "AliAnalysisManager.h" +#include "AliAODHandler.h" #include "AliAnalysisTask.h" - //#include "AliPhotonAnalysisTask.h" #include "AliLog.h" #include #ifdef WITHALIEN -#include #include +#include +#include #endif #include -#include #include #include #include @@ -43,11 +43,10 @@ //______________________________________________________________________________ AliAnalysisGoodies::AliAnalysisGoodies() : + TObject(), + fTimer(), fESDTreeName("esdTree"), - fnumberOfTasks(0), - fTaskList(0), - fTaskInType(0), - fTaskOuType(0) + fAmgr(0) { fTimer.Reset() ; @@ -57,6 +56,38 @@ AliAnalysisGoodies::AliAnalysisGoodies() : TGrid::Connect("alien://"); else AliInfo("You are not connected to the GRID") ; + // Make the analysis manager + fAmgr = new AliAnalysisManager("Goodies Manager", "Analysis manager created by AliAnalysisGoodies") ; +} + +//______________________________________________________________________________ +AliAnalysisGoodies::AliAnalysisGoodies(const AliAnalysisGoodies& ag) : + TObject(), + fTimer(), + fESDTreeName(""), + fAmgr(0x0) +{ + + fESDTreeName = ag.fESDTreeName ; + TString token = gSystem->Getenv("GRID_TOKEN") ; + + if ( token == "OK" ) + TGrid::Connect("alien://"); + else + AliInfo("You are not connected to the GRID") ; + + // Make the analysis manager + fAmgr = new AliAnalysisManager("Goodies Manager", "Analysis manager created by AliAnalysisGoodies") ; +} + +//______________________________________________________________________________ +AliAnalysisGoodies& AliAnalysisGoodies::operator=(const AliAnalysisGoodies& ag) +{ + // Assignment operator + if(this!=&ag) { + } + + return *this; } //______________________________________________________________________________ @@ -98,6 +129,7 @@ Bool_t AliAnalysisGoodies::Alien2Local(const TString collectionNameIn, const TSt // in: a xml esd collection file name // ou: the local directory where to save the esd root files +#ifdef WITHALIEN Bool_t rv = kTRUE ; fTimer.Start() ; @@ -111,8 +143,6 @@ Bool_t AliAnalysisGoodies::Alien2Local(const TString collectionNameIn, const TSt collectionOu->SetCollectionName(collectionNameOu) ; collectionOu->WriteHeader() ; - TFileMerger merger ; - const char* ocwd = gSystem->WorkingDirectory(); Int_t counter = 1 ; @@ -140,7 +170,7 @@ Bool_t AliAnalysisGoodies::Alien2Local(const TString collectionNameIn, const TSt AliInfo(Form("Copying %s to %s\n", fileTURL.Data(), dir.Data())) ; collectionOu->WriteBody(counter, collectionIn->GetGUID(""), collectionIn->GetLFN(""), dir, list) ; counter++ ; - merger.Cp(fileTURL, dir) ; + TFile::Cp(fileTURL, dir) ; } collectionOu->Export() ; gSystem->ChangeDirectory(ocwd) ; @@ -148,11 +178,86 @@ Bool_t AliAnalysisGoodies::Alien2Local(const TString collectionNameIn, const TSt fTimer.Stop(); fTimer.Print(); - return rv ; + return rv ; +#else + return kFALSE; +#endif } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::Make(AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const +AliAnalysisDataContainer * AliAnalysisGoodies::ConnectInput(AliAnalysisTask * task, TClass * classin, UShort_t index) +{ + // connect a task to the input + + if ( ! fAmgr->GetTask(task->GetName()) ) + fAmgr->AddTask(task) ; + else + AliFatal(Form("Task %s already exists", task->GetName())) ; + + AliAnalysisDataContainer * taskInput = 0x0 ; + if ( fAmgr->GetInputs() ) + taskInput = dynamic_cast(fAmgr->GetInputs()->FindObject(Form("InputContainer_%s_%d", task->GetName(), index))) ; + if ( ! taskInput ) { + taskInput = fAmgr->CreateContainer(Form("InputContainer_%s_%d", task->GetName(), index), classin, AliAnalysisManager::kInputContainer) ; + fAmgr->ConnectInput (task, index, taskInput); + } + else + AliFatal(Form("Input %s already exists", taskInput->GetName())) ; + + return taskInput ; +} + +//______________________________________________________________________ +void AliAnalysisGoodies::ConnectInput(AliAnalysisTask * task, AliAnalysisDataContainer * taskInput, UShort_t index) +{ + // connect a task to the input + + if ( ! fAmgr->GetTask(task->GetName()) ) + fAmgr->AddTask(task) ; + else + AliFatal(Form("Task %s already exists", task->GetName())) ; + + fAmgr->ConnectInput (task, index, taskInput); +} + +//______________________________________________________________________ +AliAnalysisDataContainer * AliAnalysisGoodies::ConnectOuput(AliAnalysisTask * task, TClass * classou, UShort_t index, TString opt ) +{ + // connect a task to the output + + char filename[20] ; + + if (opt == "AOD" ) { + if ( fAmgr->GetOutputEventHandler() == 0x0) { + AliAODHandler * aodHandler = new AliAODHandler() ; + aodHandler->SetOutputFileName(Form("%s_0.root",task->GetName())) ; + fAmgr->SetOutputEventHandler(aodHandler) ; + } + sprintf(filename, "default") ; + } + else + sprintf(filename, "%s_%d.root",task->GetName(), index) ; + + AliAnalysisDataContainer * taskOuput = 0x0 ; + if ( fAmgr->GetOutputs() ) + taskOuput = dynamic_cast(fAmgr->GetOutputs()->FindObject(Form("OutputContainer_%s_%d", task->GetName(), index))) ; + if ( ! taskOuput ) + taskOuput = fAmgr->CreateContainer(Form("OutputContainer_%s_%d", task->GetName(), index), classou, AliAnalysisManager::kOutputContainer, filename) ; + fAmgr->ConnectOutput(task, index, taskOuput); + + return taskOuput ; +} + +//______________________________________________________________________ +void AliAnalysisGoodies::ConnectOuput(AliAnalysisTask * task, AliAnalysisDataContainer * taskOuput, UShort_t index) +{ + // connect a task to the output + + fAmgr->ConnectInput (task, index, taskOuput); +} + +//______________________________________________________________________ +Bool_t AliAnalysisGoodies::Make(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const { // makes esd collection from tags // usage Make(tags, esds) @@ -168,9 +273,9 @@ Bool_t AliAnalysisGoodies::Make(AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts TString file(in) ; if ( file.Contains(".root") ) - rv = MakeEsdCollectionFromTagFile(runCuts, evtCuts, file.Data(), out) ; + rv = MakeEsdCollectionFromTagFile(runCuts, lhcCuts, detCuts, evtCuts, file.Data(), out) ; else if ( file.Contains(".xml") ) - rv = MakeEsdCollectionFromTagCollection(runCuts, evtCuts, file.Data(), out) ; + rv = MakeEsdCollectionFromTagCollection(runCuts, lhcCuts, detCuts, evtCuts, file.Data(), out) ; else { AliError(Form("%s is not a valid file format", in)) ; rv = kFALSE ; @@ -180,7 +285,7 @@ Bool_t AliAnalysisGoodies::Make(AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagFile(AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const +Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagFile(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const { // Makes an esd collection from a root tag file Bool_t rv = kTRUE ; @@ -194,14 +299,14 @@ Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagFile(AliRunTagCuts *runCuts, if ( ! rv ) return rv ; - tagAna->CreateXMLCollection(out, runCuts, evtCuts) ; + tagAna->CreateXMLCollection(out, runCuts, lhcCuts, detCuts, evtCuts) ; return rv ; } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagCollection(AliRunTagCuts * runCuts, AliEventTagCuts * evtCuts, const char * in, const char * out) const +Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagCollection(AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts, const char * in, const char * out) const { // Makes an esd collection from a xml tag collection Bool_t rv = kTRUE ; @@ -212,12 +317,12 @@ Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagCollection(AliRunTagCuts * ru #ifdef WITHALIEN - TGridCollection * collection = TAlienCollection::Open(in); - TGridResult* result = collection->GetGridResult(""); + TGridCollection * collection = (TGridCollection*)gROOT->ProcessLine(Form("TAlienCollection::Open(\"%s\", 0)",in)); + TGridResult* result = collection->GetGridResult("", 0, 0); AliTagAnalysis * tagAna = new AliTagAnalysis(); tagAna->ChainGridTags(result); - tagAna->CreateXMLCollection(out, runCuts, evtCuts) ; + tagAna->CreateXMLCollection(out, runCuts, lhcCuts, detCuts, evtCuts) ; #else rv = kFALSE; @@ -226,7 +331,7 @@ Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagCollection(AliRunTagCuts * ru } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagCollection(const char * runCuts, const char * evtCuts, const char * in, const char * out) const +Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagCollection(const char * runCuts, const char *lhcCuts, const char *detCuts, const char * evtCuts, const char * in, const char * out) const { // Makes an esd collection from a xml tag collection @@ -239,17 +344,17 @@ Bool_t AliAnalysisGoodies::MakeEsdCollectionFromTagCollection(const char * runCu #ifdef WITHALIEN - TGridCollection * collection = TAlienCollection::Open(in); - TGridResult* result = collection->GetGridResult(""); + TGridCollection * collection = (TGridCollection*)gROOT->ProcessLine(Form("TAlienCollection::Open(\"%s\", 0)",in)); + TGridResult* result = collection->GetGridResult("", 0, 0); AliTagAnalysis * tagAna = new AliTagAnalysis(); tagAna->ChainGridTags(result); - tagAna->CreateXMLCollection(out, runCuts, evtCuts) ; + tagAna->CreateXMLCollection(out, runCuts, lhcCuts, detCuts, evtCuts) ; - return rv ; #else - return kFALSE; + rv = kFALSE; #endif + return rv ; } //______________________________________________________________________ @@ -275,8 +380,8 @@ Bool_t AliAnalysisGoodies::Merge(const char * collectionFile, const char * subFi #ifdef WITHALIEN - TGridCollection * collection = TAlienCollection::Open(collectionFile); - TGridResult* result = collection->GetGridResult(""); + TGridCollection * collection = (TGridCollection*)gROOT->ProcessLine(Form("TAlienCollection::Open(\"%s\", 0)",collectionFile)); + TGridResult* result = collection->GetGridResult("", 0, 0); Int_t index = 0 ; const char * turl ; @@ -311,10 +416,10 @@ Bool_t AliAnalysisGoodies::Merge(const char * collectionFile, const char * subFi fTimer.Stop(); fTimer.Print(); - return rv ; #else - return kFALSE; + rv = kFALSE; #endif + return rv ; } //______________________________________________________________________ @@ -339,16 +444,18 @@ Bool_t AliAnalysisGoodies::Process(const char * inFile) // usage Process(esdFile) // esdFile: is of the form opt?file_lfn Bool_t rv = kFALSE ; - AliRunTagCuts * runCuts = 0x0 ; - AliEventTagCuts * evtCuts = 0x0 ; + AliRunTagCuts * runCuts = 0x0 ; + AliLHCTagCuts * lhcCuts = 0x0 ; + AliDetectorTagCuts * detCuts = 0x0 ; + AliEventTagCuts * evtCuts = 0x0 ; - rv = Process(inFile, runCuts, evtCuts) ; + rv = Process(inFile, runCuts, lhcCuts, detCuts, evtCuts) ; return rv ; } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::Process(const char * inFile, AliRunTagCuts *runCuts, AliEventTagCuts * evtCuts ) +Bool_t AliAnalysisGoodies::Process(const char * inFile, AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts * evtCuts ) { // process the events with an Analysis Task // usage Process(esdFile, runtagCuts, evtTagCuts) @@ -369,11 +476,11 @@ Bool_t AliAnalysisGoodies::Process(const char * inFile, AliRunTagCuts *runCuts, } else if (file.Contains("tag?") && file.Contains(".root") ) { file.ReplaceAll("tag?", "") ; - rv = ProcessTagFile(file.Data(), runCuts, evtCuts) ; + rv = ProcessTagFile(file.Data(), runCuts, lhcCuts, detCuts, evtCuts) ; } else if (file.Contains("tag?") && file.Contains(".xml") ) { file.ReplaceAll("tag?", "") ; - rv = ProcessTagXmlCollection(file.Data(), runCuts, evtCuts) ; + rv = ProcessTagXmlCollection(file.Data(), runCuts, lhcCuts, detCuts, evtCuts) ; } else { AliError(Form("%s is not a valid file format", inFile)) ; @@ -387,7 +494,7 @@ Bool_t AliAnalysisGoodies::Process(const char * inFile, AliRunTagCuts *runCuts, } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::Process(const char * inFile, const char * runCuts, const char * evtCuts) +Bool_t AliAnalysisGoodies::Process(const char * inFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) { // process the events with an Analysis Task // usage Process(esdFile, runtagCuts, evtTagCuts) @@ -408,11 +515,11 @@ Bool_t AliAnalysisGoodies::Process(const char * inFile, const char * runCuts, co } else if (file.Contains("tag?") && file.Contains(".root") ) { file.ReplaceAll("tag?", "") ; - rv = ProcessTagFile(file.Data(), runCuts, evtCuts) ; + rv = ProcessTagFile(file.Data(), runCuts, lhcCuts, detCuts, evtCuts) ; } else if (file.Contains("tag?") && file.Contains(".xml") ) { file.ReplaceAll("tag?", "") ; - rv = ProcessTagXmlCollection(file.Data(), runCuts, evtCuts) ; + rv = ProcessTagXmlCollection(file.Data(), runCuts, lhcCuts, detCuts, evtCuts) ; } else { AliError(Form("%s is not a valid file format", inFile)) ; @@ -432,38 +539,10 @@ Bool_t AliAnalysisGoodies::ProcessChain(TChain * chain) const Bool_t rv = kTRUE ; - if (! fTaskList ) { - AliError("No tasks defined") ; - return kFALSE ; - } - - // Make the analysis manager - AliAnalysisManager * mgr = new AliAnalysisManager("Goodies Manager", "Analysis manager created by AliAnalysisGoodies") ; - - // Make tasks - // The top input must be common to all top tasks - TClass * classIn = fTaskInType[0] ; - AliAnalysisDataContainer * taskInput = mgr->CreateContainer("InputContainer", classIn, AliAnalysisManager::kInputContainer) ; - Int_t index ; - for (index = 0; index < fnumberOfTasks; index++) { - AliAnalysisTask * task = fTaskList[index] ; - mgr->AddTask(task) ; - - // Create containers for input/output - TClass * classOu = fTaskOuType[index] ; - AliAnalysisDataContainer * taskOutput = mgr->CreateContainer(Form("OutputContainer%d",index), classOu, AliAnalysisManager::kOutputContainer, - Form("%s.root",task->GetName())) ; - mgr->ConnectInput (task, 0, taskInput); - mgr->ConnectOutput(task, 0, taskOutput); - } - - // Open data -// taskInput->SetData(chain); - - if (mgr->InitAnalysis()) { - mgr->PrintStatus(); -// chain->Process(mgr); - mgr->StartAnalysis("local",chain); + // start processing + if (fAmgr->InitAnalysis()) { + fAmgr->PrintStatus(); + fAmgr->StartAnalysis("local",chain); } else rv = kFALSE ; @@ -495,7 +574,7 @@ Bool_t AliAnalysisGoodies::ProcessEsdFile(const char * esdFile) const } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::ProcessTagFile(const char * tagFile, AliRunTagCuts *runCuts, AliEventTagCuts *evtCuts) const +Bool_t AliAnalysisGoodies::ProcessTagFile(const char * tagFile, AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts *evtCuts) const { // process the events in a single Tag file with an Analysis Task // usage ProcessLocalEsdFile(tagFile) @@ -519,7 +598,7 @@ Bool_t AliAnalysisGoodies::ProcessTagFile(const char * tagFile, AliRunTagCuts *r // Query the tag file and make the analysis chain TChain * analysisChain = new TChain(fESDTreeName) ; - analysisChain = tagAna->QueryTags(runCuts, evtCuts); + analysisChain = tagAna->QueryTags(runCuts, lhcCuts, detCuts, evtCuts); // Process the events rv = ProcessChain(analysisChain) ; @@ -528,7 +607,7 @@ Bool_t AliAnalysisGoodies::ProcessTagFile(const char * tagFile, AliRunTagCuts *r } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::ProcessTagFile(const char * tagFile, const char * runCuts, const char * evtCuts) const +Bool_t AliAnalysisGoodies::ProcessTagFile(const char * tagFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) const { // process the events in a single Tag file with an Analysis Task // usage ProcessLocalEsdFile(tagFile) @@ -553,7 +632,7 @@ Bool_t AliAnalysisGoodies::ProcessTagFile(const char * tagFile, const char * run // Query the tag file and make the analysis chain TChain * analysisChain = new TChain(fESDTreeName) ; - analysisChain = tagAna->QueryTags(runCuts, evtCuts); + analysisChain = tagAna->QueryTags(runCuts, lhcCuts, detCuts, evtCuts); // Process the events rv = ProcessChain(analysisChain) ; @@ -575,32 +654,34 @@ Bool_t AliAnalysisGoodies::ProcessEsdXmlCollection(const char * xmlFile) const printf("*** Coll = |%s| \n",xmlFile); #ifdef WITHALIEN - - TGridCollection * collection = TAlienCollection::Open(xmlFile) ; + //AliXMLCollection * collection = AliXMLCollection::Open(xmlFile,0) ; + TGridCollection * collection = (TGridCollection*)gROOT->ProcessLine(Form("TAlienCollection::Open(\"%s\", 0)", xmlFile)); if (! collection) { AliError(Form("%s not found", xmlFile)) ; return kFALSE ; } - TGridResult* result = collection->GetGridResult(""); + TGridResult* result = collection->GetGridResult("",0 ,0); TList* analysisfilelist = result->GetFileInfoList(); // Makes the ESD chain printf("*** Getting the Chain ***\n"); TChain* analysisChain = new TChain(fESDTreeName); analysisChain->AddFileInfoList(analysisfilelist); - + // Process the events rv = ProcessChain(analysisChain) ; - return rv ; #else - return kFALSE; + rv = kFALSE; + #endif + + return rv ; } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::ProcessTagXmlCollection(const char * xmlFile, AliRunTagCuts *runCuts, AliEventTagCuts * evtCuts) const +Bool_t AliAnalysisGoodies::ProcessTagXmlCollection(const char * xmlFile, AliRunTagCuts *runCuts, AliLHCTagCuts *lhcCuts, AliDetectorTagCuts *detCuts, AliEventTagCuts * evtCuts) const { // process the events in a xml ESD collection with an Analysis Task // usage ProcessLocalEsdFile(xmlFile) @@ -615,7 +696,7 @@ Bool_t AliAnalysisGoodies::ProcessTagXmlCollection(const char * xmlFile, AliRunT printf("*** Process ***\n"); printf("*** Wk-Dir = |%s| \n",gSystem->WorkingDirectory()); - printf("*** Coll = |%s| \n",xmlFile); + printf("*** Coll = |%s| \n",xmlFile); // check if file is local or alien if ( gSystem->AccessPathName(xmlFile) ) @@ -623,31 +704,31 @@ Bool_t AliAnalysisGoodies::ProcessTagXmlCollection(const char * xmlFile, AliRunT #ifdef WITHALIEN - TGridCollection * collection = TAlienCollection::Open(xmlFile) ; + TGridCollection * collection = (TGridCollection*)gROOT->ProcessLine(Form("TAlienCollection::Open(\"%s\", 0)",xmlFile)); if (! collection) { AliError(Form("%s not found", xmlFile)) ; return kFALSE ; } - TGridResult* result = collection->GetGridResult(""); + TGridResult* result = collection->GetGridResult("", 0, 0); AliTagAnalysis * tagAna = new AliTagAnalysis(); tagAna->ChainGridTags(result); // Query the tag file and make the analysis chain TChain * analysisChain = new TChain(fESDTreeName) ; - analysisChain = tagAna->QueryTags(runCuts, evtCuts); + analysisChain = tagAna->QueryTags(runCuts, lhcCuts, detCuts, evtCuts); // Process the events rv = ProcessChain(analysisChain) ; - return rv ; #else - return kFALSE; + rv = kFALSE; #endif + return rv ; } //______________________________________________________________________ -Bool_t AliAnalysisGoodies::ProcessTagXmlCollection(const char * xmlFile, const char * runCuts, const char * evtCuts) const +Bool_t AliAnalysisGoodies::ProcessTagXmlCollection(const char * xmlFile, const char * runCuts, const char * lhcCuts, const char * detCuts, const char * evtCuts) const { // process the events in a xml ESD collection with an Analysis Task // usage ProcessLocalEsdFile(xmlFile) @@ -670,27 +751,27 @@ Bool_t AliAnalysisGoodies::ProcessTagXmlCollection(const char * xmlFile, const c if ( gSystem->AccessPathName(xmlFile) ) TGrid::Connect("alien://"); - TGridCollection * collection = TAlienCollection::Open(xmlFile) ; + TGridCollection * collection = (TGridCollection*)gROOT->ProcessLine(Form("TAlienCollection::Open(\"%s\", 0)",xmlFile)); if (! collection) { AliError(Form("%s not found", xmlFile)) ; return kFALSE ; } - TGridResult* result = collection->GetGridResult(""); + TGridResult* result = collection->GetGridResult("", 0, 0); AliTagAnalysis * tagAna = new AliTagAnalysis(); tagAna->ChainGridTags(result); // Query the tag file and make the analysis chain TChain * analysisChain = new TChain(fESDTreeName) ; - analysisChain = tagAna->QueryTags(runCuts, evtCuts); + analysisChain = tagAna->QueryTags(runCuts, lhcCuts, detCuts, evtCuts); // Process the events rv = ProcessChain(analysisChain) ; - return rv ; #else - return kFALSE; + rv = kFALSE; #endif + return rv ; } //______________________________________________________________________ @@ -739,14 +820,3 @@ Bool_t AliAnalysisGoodies::Register( const char * lfndir, const char * pfndir, c return rv; } -//______________________________________________________________________ -void AliAnalysisGoodies::SetTasks(Int_t nb, AliAnalysisTask ** taskList, TClass ** inputType, TClass ** outputType) -{ - // define a task with its output and input type - - - fnumberOfTasks= nb; - fTaskList = taskList ; - fTaskInType = inputType ; - fTaskOuType = outputType ; -}