]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Updating macros for running on the grid
authorcnattras <cnattras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 26 Feb 2011 02:58:22 +0000 (02:58 +0000)
committercnattras <cnattras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 26 Feb 2011 02:58:22 +0000 (02:58 +0000)
PWG4/totEt/macros/ConfigEtReconstructed.C
PWG4/totEt/macros/CreateAlienHandlerCaloEtSim.C
PWG4/totEt/macros/runCaloEt.C

index 64945843791eb3e1a4810c7c5844551ff98eeca1..436f03be3f4a85f880e92b92221aae425ba636a7 100644 (file)
@@ -29,5 +29,7 @@ AliAnalysisEtReconstructed * ConfigEtReconstructed(){
     totEtReco->Init();
     return totEtReco;
   }
+  gInterpreter->GenerateDictionary("std::map<int, AliPhysicsSelection*>", "AliPhysicsSelection.h;map")  ;
+  gInterpreter->GenerateDictionary("std::pair<int, AliPhysicsSelection*>", "AliPhysicsSelection.h;utility");
 }
 
index efbb77d4cf6ede37c55fb3975722e80b11c91ef7..0d2183a97ab8d4c0b2e625f854548aa8b9badd19 100644 (file)
@@ -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 "<<pluginRunMode<<" mode"<<endl;
 
   // Set versions of used packages
    plugin->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 !
index 517c12eb027980ad3cfc7b8036020a6f4dd9b72d..ad0f9c11b58a07a4800e2dd6400ae4069d53c40a 100644 (file)
 //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<int, AliPhysicsSelection*>", "AliPhysicsSelection.h;map")  ;
-    gInterpreter->GenerateDictionary("std::pair<int, AliPhysicsSelection*>", "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();
 }