From: cnattras Date: Sat, 26 Feb 2011 02:58:22 +0000 (+0000) Subject: Updating macros for running on the grid X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=8df12228d562d099daa64275edd091d356562571;p=u%2Fmrichter%2FAliRoot.git Updating macros for running on the grid --- diff --git a/PWG4/totEt/macros/ConfigEtReconstructed.C b/PWG4/totEt/macros/ConfigEtReconstructed.C index 64945843791..436f03be3f4 100644 --- a/PWG4/totEt/macros/ConfigEtReconstructed.C +++ b/PWG4/totEt/macros/ConfigEtReconstructed.C @@ -29,5 +29,7 @@ AliAnalysisEtReconstructed * ConfigEtReconstructed(){ totEtReco->Init(); return totEtReco; } + gInterpreter->GenerateDictionary("std::map", "AliPhysicsSelection.h;map") ; + gInterpreter->GenerateDictionary("std::pair", "AliPhysicsSelection.h;utility"); } diff --git a/PWG4/totEt/macros/CreateAlienHandlerCaloEtSim.C b/PWG4/totEt/macros/CreateAlienHandlerCaloEtSim.C index efbb77d4cf6..0d2183a97ab 100644 --- a/PWG4/totEt/macros/CreateAlienHandlerCaloEtSim.C +++ b/PWG4/totEt/macros/CreateAlienHandlerCaloEtSim.C @@ -12,11 +12,12 @@ AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputNa // plugin->SetRunMode("full"); // VERY IMPORTANT - DECRIBED BELOW // plugin->SetRunMode("test"); // VERY IMPORTANT - DECRIBED BELOW plugin->SetRunMode(pluginRunMode); // VERY IMPORTANT - DECRIBED BELOW + cout<<"Running in "<SetAPIVersion("V1.1x"); - plugin->SetROOTVersion("v5-27-06b"); - plugin->SetAliROOTVersion("v4-21-11-AN"); + plugin->SetROOTVersion("v5-27-06d"); + plugin->SetAliROOTVersion("v4-21-16-AN"); // Declare input data to be processed. // Method 1: Create automatically XML collections using alien 'find' command. @@ -48,17 +49,18 @@ AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputNa plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output // Declare the analysis source files names separated by blancs. To be compiled runtime IN THE SAME ORDER THEY ARE LISTED // using ACLiC on the worker nodes. - plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTotEt.cxx"); + plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskTotEt.cxx"); // Declare all libraries (other than the default ones for the framework. These will be // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here. - plugin->SetAdditionalLibs("AliAnalysisEtCuts.h AliAnalysisEt.h AliAnalysisEtMonteCarlo.h AliAnalysisEtMonteCarloPhos.h AliAnalysisEtMonteCarloEmcal.h AliAnalysisEtReconstructed.h AliAnalysisEtReconstructedPhos.h AliAnalysisEtReconstructedEmcal.h AliAnalysisTaskTotEt.h AliAnalysisEtCuts.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTotEt.cxx AliAnalysisEtCommon.cxx AliAnalysisEtCommon.h AliAnalysisHadEtCorrections.h AliAnalysisHadEtCorrections.cxx ConfigEtMonteCarlo.C ConfigEtReconstructed.C physicsSelections.root corrections.root"); + plugin->SetAdditionalLibs("AliAnalysisEtCuts.h AliAnalysisEt.h AliAnalysisEtMonteCarlo.h AliAnalysisEtMonteCarloPhos.h AliAnalysisEtMonteCarloEmcal.h AliAnalysisEtReconstructed.h AliAnalysisEtReconstructedPhos.h AliAnalysisEtReconstructedEmcal.h AliAnalysisTaskTotEt.h AliAnalysisEtCuts.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTotEt.cxx AliAnalysisEtCommon.cxx AliAnalysisEtCommon.h AliAnalysisHadEtCorrections.h AliAnalysisHadEtCorrections.cxx AliAnalysisEtSelectionContainer.h AliAnalysisEtSelectionHandler.h AliAnalysisTaskTransverseEnergy.h AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx ConfigEtMonteCarlo.C ConfigEtReconstructed.C physicsSelections.root corrections.root"); plugin->SetExecutableCommand("aliroot -b -q"); // add extra include files/path plugin->AddIncludePath("-I. -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/ANALYSIS"); // No need for output file names. Procedure is automatic. <-- not true plugin->SetDefaultOutputs(kFALSE); - plugin->SetOutputFiles(outputName.Data()); + //plugin->SetOutputFiles(outputName.Data()); + plugin->SetOutputFiles("Et.ESD.sim.EMCAL.root event_stat.root"); // No need define the files to be archived. Note that this is handled automatically by the plugin. // plugin->SetOutputArchive("log_archive.zip:stdout,stderr"); // Set a name for the generated analysis macro (default MyAnalysis.C) Make this unique ! diff --git a/PWG4/totEt/macros/runCaloEt.C b/PWG4/totEt/macros/runCaloEt.C index 517c12eb027..ad0f9c11b58 100644 --- a/PWG4/totEt/macros/runCaloEt.C +++ b/PWG4/totEt/macros/runCaloEt.C @@ -4,146 +4,148 @@ //by default this runs locally //With the argument true this submits jobs to the grid //As written this requires an xml script tag.xml in the ~/et directory on the grid to submit jobs -void runCaloEt(bool submit = false, // true or false - const char *dataType="PbPb/LHC10e18a", // "sim" or "real" etc. - const char *pluginRunMode="full", // "test" or "full" or "terminate" - const char *det = "PHOS") // "PHOS" or "EMCAL" +void runCaloEt(bool submit = false, // true or false + const char *dataType="sim", // "sim" or "real" etc. + const char *pluginRunMode="test", // "test" or "full" or "terminate" + const char *det = "EMCAL") // "PHOS" or "EMCAL" { - TStopwatch timer; - timer.Start(); - gSystem->Load("libTree"); - gSystem->Load("libGeom"); - gSystem->Load("libVMC"); - gSystem->Load("libPhysics"); - - gSystem->Load("libMinuit"); - - gSystem->AddIncludePath("-I$ALICE_ROOT/include"); - gSystem->AddIncludePath("-I. -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/ANALYSIS"); - - gSystem->Load("libSTEERBase"); - gSystem->Load("libESD"); - gSystem->Load("libAOD"); - - gSystem->Load("libANALYSIS"); - gSystem->Load("libANALYSISalice"); - gSystem->Load("libCORRFW"); - - gInterpreter->GenerateDictionary("std::map", "AliPhysicsSelection.h;map") ; - gInterpreter->GenerateDictionary("std::pair", "AliPhysicsSelection.h;utility"); - - if (!submit) { - cout << "local - no submitting" << endl; + TStopwatch timer; + timer.Start(); + gSystem->Load("libTree"); + gSystem->Load("libGeom"); + gSystem->Load("libVMC"); + gSystem->Load("libPhysics"); + + gSystem->Load("libMinuit"); + + gSystem->AddIncludePath("-I$ALICE_ROOT/include"); + gSystem->AddIncludePath("-I. -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/ANALYSIS"); + + gSystem->Load("libSTEERBase"); + gSystem->Load("libESD"); + gSystem->Load("libAOD"); + + gSystem->Load("libANALYSIS"); + gSystem->Load("libANALYSISalice"); + gSystem->Load("libCORRFW"); + + if (!submit) { + cout << "local - no submitting" << endl; + } + else { + cout << "submitting to grid" << endl; + } + + gROOT->ProcessLine(".L AliAnalysisEtCuts.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisHadEtCorrections.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtCommon.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEt.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtMonteCarlo.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtMonteCarloPhos.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtMonteCarloEmcal.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtReconstructed.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtReconstructedPhos.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtReconstructedEmcal.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtSelectionContainer.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisEtSelectionHandler.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisTaskTransverseEnergy.cxx+g"); + gROOT->ProcessLine(".L AliAnalysisTaskTotEt.cxx+g"); + + char *kTreeName = "esdTree" ; + TChain * chain = new TChain(kTreeName,"myESDTree") ; + + if(submit){ + gSystem->Load("libNetx") ; + gSystem->Load("libgapiUI"); + gSystem->Load("libRAliEn"); + TGrid::Connect("alien://") ; + } + + // Make the analysis manager + AliAnalysisManager *mgr = new AliAnalysisManager("TotEtManager"); + + TString detStr(det); + TString taskName = "TaskTotEt" + detStr; + TString dataStr(dataType); + TString dataStrName(dataType); + dataStrName.ReplaceAll("/","."); + TString outputName = "Et.ESD." + dataStrName + "." + detStr + ".root"; + TString outputDir = "totEt" + dataStr; + + cout << " taskName " << taskName + << " outputName " << outputName + << " outputDir (alien) " << outputDir << endl; + + if (submit) { + gROOT->LoadMacro("CreateAlienHandlerCaloEtSim.C"); + AliAnalysisGrid *alienHandler = CreateAlienHandlerCaloEtSim(outputDir, outputName, pluginRunMode); + if (!alienHandler) return; + mgr->SetGridHandler(alienHandler); + } + + AliVEventHandler* esdH = new AliESDInputHandler; + mgr->SetInputEventHandler(esdH); + AliMCEventHandler* handler = new AliMCEventHandler; + Bool_t isMc = kTRUE; + Bool_t isPb = kFALSE; + if ( dataStr.Contains("PbPb") ) { isPb = kTRUE;} + if ( dataStr.Contains("sim") ) { + cout << " MC " << endl; + if ( dataStr.Contains("PbPb") ) { // a la: simPbPb/LHC10e18a + cout << " PbPb " << endl; + TString fileLocation = "/home/dsilverm/data/E_T/" + dataStr + "/dir/AliESDs.root"; + cout << "fileLocation " << fileLocation.Data() << endl; + chain->Add(fileLocation.Data()); // link to local test file } - else { - cout << "submitting to grid" << endl; - } - - gROOT->ProcessLine(".L AliAnalysisEtCuts.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisHadEtCorrections.cxx+g");//new - gROOT->ProcessLine(".L AliAnalysisEtCommon.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEt.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEtMonteCarlo.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEtMonteCarloPhos.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEtMonteCarloEmcal.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEtReconstructed.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEtReconstructedPhos.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEtReconstructedEmcal.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEtSelectionContainer.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisEtSelectionHandler.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisTaskTransverseEnergy.cxx+g"); - gROOT->ProcessLine(".L AliAnalysisTaskTotEt.cxx+g"); - - char *kTreeName = "esdTree" ; - TChain * chain = new TChain(kTreeName,"myESDTree") ; - - if (submit) { - gSystem->Load("libNetx") ; - gSystem->Load("libgapiUI"); - gSystem->Load("libRAliEn"); - TGrid::Connect("alien://") ; - } - - // Make the analysis manager - AliAnalysisManager *mgr = new AliAnalysisManager("TotEtManager"); - - TString detStr(det); - TString taskName = "TaskTotEt" + detStr; - TString dataStr(dataType); - TString dataStrName(dataType); - dataStrName.ReplaceAll("/","."); - TString outputName = "Et.ESD." + dataStrName + "." + detStr + ".root"; - TString outputDir = "totEt" + dataStr; - - cout << " taskName " << taskName - << " outputName " << outputName - << " outputDir (alien) " << outputDir << endl; - - if (submit) { - gROOT->LoadMacro("CreateAlienHandlerCaloEtSim.C"); - AliAnalysisGrid *alienHandler = CreateAlienHandlerCaloEtSim(outputDir, outputName, pluginRunMode); - if (!alienHandler) return; - mgr->SetGridHandler(alienHandler); + else { // pp + chain->Add("/data/LHC10d15/1821/AliESDs.root"); + //chain->Add("/data/LHC10dpass2/10000126403050.70/AliESDs.root");//data + //chain->Add("/home/dsilverm/data/E_T/sim/LHC10d1/117222/100/AliESDs.root"); // link to local test file } - - AliVEventHandler* esdH = new AliESDInputHandler; - mgr->SetInputEventHandler(esdH); - AliMCEventHandler* handler = new AliMCEventHandler; - Bool_t isMc = false; - if ( dataStr.Contains("sim") ) { - cout << " MC " << endl; - isMc = true; - if ( dataStr.Contains("PbPb") ) { // a la: simPbPb/LHC10e18a - cout << " PbPb " << endl; -// TString fileLocation = "599/AliESDs.root"; - //cout << "fileLocation " << fileLocation.Data() << endl; - //chain->Add(fileLocation.Data()); // link to local test file - } - else { // pp - //chain->Add("599/AliESDs.root"); // link to local test file - } - handler->SetReadTR(kFALSE); - mgr->SetMCtruthEventHandler(handler); - } - else { // real data -// chain->Add("/home/dsilverm/data/E_T/data/2010/LHC10b/000117222/ESDs/pass2/10000117222021.30/AliESDs.root"); // link to local test file - cout << " not MC " << endl; - } - // isMc = false; - - gROOT->ProcessLine(".L $ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C"); + handler->SetReadTR(kFALSE); + mgr->SetMCtruthEventHandler(handler); + } + else { // real data + isMc = kFALSE; + chain->Add("/home/dsilverm/data/E_T/data/2010/LHC10b/000117222/ESDs/pass2/10000117222021.30/AliESDs.root"); // link to local test file + cout << " not MC " << endl; + } + + gROOT->ProcessLine(".L $ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C"); + + AliPhysicsSelectionTask *physicsSelectionTask = AddTaskPhysicsSelection(isMc);//isMC is true when processing monte carlo + if(isPb){ gROOT->ProcessLine(".L $ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C"); - - - physicsSelectionTask = AddTaskPhysicsSelection(isMc);//isMC is true when processing monte carlo - - gROOT->LoadMacro("AliCentralitySelectionTask.cxx++g"); + gROOT->ProcessLine(".L AliCentralitySelectionTask.cxx++g"); AliCentralitySelectionTask *centTask = AddTaskCentrality(); - - mgr->ConnectInput (centTask,0, mgr->GetCommonInputContainer()); - mgr->AddTask(centTask); - - AliAnalysisTaskTotEt *task1 = new AliAnalysisTaskTotEt(taskName, isMc); - mgr->AddTask(task1); - - AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer(); - AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out1", TList::Class(), AliAnalysisManager::kOutputContainer, outputName); - - //____________________________________________// - mgr->ConnectInput(task1,0,cinput1); - mgr->ConnectOutput(task1,1,coutput1); - - mgr->SetDebugLevel(0); - - if (!mgr->InitAnalysis()) return; - mgr->PrintStatus(); - if (submit) { - mgr->StartAnalysis("grid"); - } - else { - mgr->StartAnalysis("local",chain); - } - - timer.Stop(); - timer.Print(); + } + + AliAnalysisTaskTotEt *task1 = new AliAnalysisTaskTotEt(taskName); + mgr->AddTask(task1); + + AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer(); + AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out1", TList::Class(), AliAnalysisManager::kOutputContainer, outputName); + + //____________________________________________// + mgr->ConnectInput(task1,0,cinput1); + mgr->ConnectOutput(task1,1,coutput1); + + + AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out2", TList::Class(), AliAnalysisManager::kOutputContainer,"event_stat.root"); + mgr->ConnectInput(physicsSelectionTask,0,cinput1); + mgr->ConnectOutput(physicsSelectionTask,1,coutput1); + + mgr->SetDebugLevel(0); + + if (!mgr->InitAnalysis()) return; + mgr->PrintStatus(); + if(submit){ + mgr->StartAnalysis("grid"); + } + else{ + mgr->StartAnalysis("local",chain); + } + + timer.Stop(); + timer.Print(); }