]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/SPECTRA/PiKaPr/TestAOD/runGrid.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / runGrid.C
index 88c42520180c72524015db461c7f90008cde0640..33ced85d1f15b204fef7a02aa5ab42b255f8f6c6 100644 (file)
@@ -1,31 +1,39 @@
 class  AliAnalysisManager;
 class  AliAnalysisAlien;
 
-void runGrid(TString mode="test",Int_t mc=0,Int_t sub=0,Int_t hi=1,TString fname="AODAnalysis"
+void runGrid(TString mode="test",Bool_t mc=0,Int_t day=19,Int_t month=7, Int_t year=2012
 {
+  //to be used with Aliroot > v5-03-32-AN
   AliLog::SetGlobalDebugLevel(100);
   // Load common libraries
-   gEnv->SetValue("XSec.GSI.DelegProxy", "2");
+  gEnv->SetValue("XSec.GSI.DelegProxy", "2");
   
-  gSystem->Load("libTree.so");
-  gSystem->Load("libGeom.so");
-  gSystem->Load("libVMC.so");
-  gSystem->Load("libPhysics.so");
-  gSystem->Load("libSTEERBase.so");
-  gSystem->Load("libESD.so");
-  gSystem->Load("libAOD.so");
-  gSystem->Load("libANALYSIS.so");
-  gSystem->Load("libOADB.so");
-  gSystem->Load("libANALYSISalice.so");
-  gSystem->AddIncludePath("-I$ALICE_ROOT/include");
-  gROOT->LoadMacro("AliSpectraAODTrackCuts.cxx+g");
-  gROOT->LoadMacro("AliSpectraAODEventCuts.cxx+g");
-  gROOT->LoadMacro("AliSpectraAODHistoManager.cxx+g");
-  gROOT->LoadMacro("AliAnalysisTaskSpectraAOD.cxx+g");
+  // Load common libraries
+  gSystem->Load("libCore");
+  gSystem->Load("libTree");
+  gSystem->Load("libGeom");
+  gSystem->Load("libVMC");
+  gSystem->Load("libPhysics");
+  gSystem->Load("libMinuit");
+  gSystem->Load("libGui");
+  gSystem->Load("libXMLParser");
+  gSystem->Load("libSTEERBase");
+  gSystem->Load("libESD");
+  gSystem->Load("libCDB");
+  gSystem->Load("libAOD");
+  gSystem->Load("libANALYSIS");
+  gSystem->Load("libANALYSISalice");
+  gSystem->Load("libCORRFW");
+  gSystem->Load("libProof");
+  gSystem->Load("libRAWDatabase");
+  gSystem->Load("libSTEER");
+  //__________________________________________________________________________
   // Use AliRoot includes to compile our task
-  // Create and configure the alien handler plugin
+  gROOT->ProcessLine(".include $ALICE_ROOT/include");
+  gSystem->Load("libPWGLFspectra");
   
-  AliAnalysisGrid *alienHandler = CreateAlienHandler(mode,mc,sub,fname);  
+  // Create and configure the alien handler plugin
+  AliAnalysisGrid *alienHandler = CreateAlienHandler(mode,mc,day,month,year);  
   if (!alienHandler) return;
   // Create the analysis manager
   AliAnalysisManager *mgr = new AliAnalysisManager("testAnalysis");
@@ -34,102 +42,66 @@ void runGrid(TString mode="test",Int_t mc=0,Int_t sub=0,Int_t hi=1,TString fname
   AliAODInputHandler* aodH = new AliAODInputHandler();
   mgr->SetInputEventHandler(aodH);
   
-  gROOT->LoadMacro("AliSpectraAODTrackCuts.cxx+g");
-  gROOT->LoadMacro("AliSpectraAODEventCuts.cxx+g");
-  gROOT->LoadMacro("AliSpectraAODHistoManager.cxx+g");
-  gROOT->LoadMacro("AliAnalysisTaskSpectraAOD.cxx+g");
-
-  // Physics selection
-  gROOT->ProcessLine(".L $ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
-  //  AliPhysicsSelectionTask * physicsSelectionTask = AddTaskPhysicsSelection(isMC,kTRUE,0);
-  AliPhysicsSelectionTask * physicsSelectionTask = AddTaskPhysicsSelection(mc,kTRUE,0);
-  //  AliPhysicsSelectionTask * physicsSelectionTask = AddTaskPhysicsSelection(isMC,kFALSE,0);
-  if(!physicsSelectionTask ) { Printf("no physSelTask"); return; }
-  
   // Add PID task
   gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
-  Bool_t isMC = kFALSE;
-  AliAnalysisTask * taskPID = AddTaskPIDResponse(mc);
-  mgr->AddTask(taskPID);
+  AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(mc);
+  // Printf("OADB PATH:::::%s",taskPID->GetOADBPath());
+  // taskPID->SetOADBPath("alien:///alice/cern.ch/user/a/akalweit/ForLeornado/OADB");
+  // Printf("OADB PATH:::::%s",taskPID->GetOADBPath());
   
-  // gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
-  // AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();
-  // if(hi)
-  //   {
-  //     gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
-  //     AliCentralitySelectionTask *taskCentrality = AddTaskCentrality();
-  //   }       
-  // if(mc)
-  //   {
-  //     AliMCEventHandler *mch = new AliMCEventHandler();
-  //     mch->Init("");
-  //     mgr->SetMCtruthEventHandler(mch);
-  //     //     //physSelTask->GetPhysicsSelection()->SetAnalyzeMC(); 
-  //     //     //taskCentrality->SetMCInput(); 
-  //   }
-  // AliAODInputHandler *inputHandler = new AliAODInputHandler("handler","handler for D2H");
-  // inputHandler->AddFriend("./AliAOD.root");
-  // mgr->SetInputEventHandler(inputHandler);
-
-  //setting the analysis
-  Int_t iCut=0;
-  Double_t CentCut[2]={0,5};
-  Double_t qVecCut[2]={0,100};
-  
-  AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD("TaskAODExercise");
-  mgr->AddTask(task);
-  //physics selection
-  task->SelectCollisionCandidates();     
-  // Set the cuts
-  AliSpectraAODEventCuts * vcuts = new AliSpectraAODEventCuts("Event Cuts");
-  AliSpectraAODTrackCuts  * tcuts = new AliSpectraAODTrackCuts("Track Cuts");
-  //tcuts->SetTrackType(5); //AOD 046 & 047. Standard Cut with loose DCA
-  tcuts->SetTrackType(6); //AOD 046 & 047. Standard Cut with tight DCA
-  tcuts->SetEta(.8);
-  tcuts->SetPt(5);
-  tcuts->SetPtTOFMatching(0.6);   
-  tcuts->SetQvecMin(qVecCut[0]);   
-  tcuts->SetQvecMax(qVecCut[1]);    
-  vcuts->SetCentralityCutMax(CentCut[0]);  
-  vcuts->SetCentralityCutMin(CentCut[1]);
-  task->SetEventCuts(vcuts);
-  task->SetTrackCuts(tcuts);
-  task->SetNSigmaForIdentification(5.); // FIXME
-  task->SetYCut(.5);
-  vcuts->PrintCuts();
-  tcuts->PrintCuts();
-  if (mc)
-    {
-      task->SetIsMC(kTRUE);
-      AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
-      AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(),  AliAnalysisManager::kOutputContainer, 
-                                                                 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCut[0],CentCut[1],qVecCut[0],qVecCut[1]));
-      AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(),    AliAnalysisManager::kOutputContainer, 
-                                                                 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCut[0],CentCut[1],qVecCut[0],qVecCut[1]));
-      AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(),     AliAnalysisManager::kOutputContainer, 
-                                                                 Form("Pt.AOD.1._MC_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCut[0],CentCut[1],qVecCut[0],qVecCut[1]));
-    }else{      
-    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
-    AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(),  AliAnalysisManager::kOutputContainer, 
-                                                               Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCut[0],CentCut[1],qVecCut[0],qVecCut[1]));
-    AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(),    AliAnalysisManager::kOutputContainer, 
-                                                               Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCut[0],CentCut[1],qVecCut[0],qVecCut[1]));
-    AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(),     AliAnalysisManager::kOutputContainer, 
-                                                               Form("Pt.AOD.1._data_ptcut_Cent%.0fto%.0f_QVec%.1fto%.1f.root",CentCut[0],CentCut[1],qVecCut[0],qVecCut[1]));
-  }
-  mgr->ConnectInput(task, 0, cinput);
-  mgr->ConnectOutput(task, 1, coutputpt1);
-  mgr->ConnectOutput(task, 2, coutputpt2);
-  mgr->ConnectOutput(task, 3, coutputpt3);
-  
-  mgr->SetDebugLevel(2);
+  gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskVZEROEPSelection.C");
+  AliVZEROEPSelectionTask *selTask = AddTaskVZEROEPSelection();
   
+  gROOT->LoadMacro("$ALICE_ROOT/PWGLF/SPECTRA/PiKaPr/TestAOD/AddTaskSpectraAOD.C");
+  //LOOP OVER SELECTION
+  //                            0    1    2    3    4    5    6    7    8    9
+  Double_t Nsigmapid=3.;
+  Double_t pt=10000.;
+  Double_t p=10000.;
+  Double_t y=.5;
+  Double_t ptTofMatch=.6;
+  UInt_t trkbit=1024;
+  UInt_t trkbitQVector=1;
+  Bool_t UseCentPatchAOD049=kFALSE;
+  Double_t DCA=100000;
+  UInt_t minNclsTPC=70;
+  Int_t nrebin=30;
+  TString opt="";
+  Int_t centcut=30;
   
+  for(Int_t icut=0;icut<1;icut++){
+    //if(icut!=0)continue;
+    //MB
+    AliAnalysisTaskSpectraAOD *taskAOD =AddTaskSpectraAOD(mc,centcut,centcut+1,0,100,-0.8,0.8,Nsigmapid,pt,p,y,ptTofMatch,trkbit,trkbitQVector,UseCentPatchAOD049,DCA,minNclsTPC,nrebin,opt);
+    taskAOD->GetOutputSlot(1)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(1)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(2)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(2)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(3)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(3)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(4)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(4)->GetContainer()->GetName(),taskAOD->GetName()));
+    //taskAOD->GetEventCuts()->SetMultiplicityCut(250,450);
+    taskAOD->GetEventCuts()->PrintCuts();
+    //smallq
+    AliAnalysisTaskSpectraAOD *taskAOD =AddTaskSpectraAOD(mc,centcut,centcut+1,0,0.4,-0.8,0.8,Nsigmapid,pt,p,y,ptTofMatch,trkbit,trkbitQVector,UseCentPatchAOD049,DCA,minNclsTPC,nrebin,opt);
+    taskAOD->GetOutputSlot(1)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(1)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(2)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(2)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(3)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(3)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(4)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(4)->GetContainer()->GetName(),taskAOD->GetName()));
+    //taskAOD->GetEventCuts()->SetMultiplicityCut(250,450);
+    taskAOD->GetEventCuts()->PrintCuts();
+    taskAOD->GetEventCuts()->SetCentFromV0(kTRUE);
+    //largeq
+    AliAnalysisTaskSpectraAOD *taskAOD =AddTaskSpectraAOD(mc,centcut,centcut+1,1.7,100,-0.8,0.8,Nsigmapid,pt,p,y,ptTofMatch,trkbit,trkbitQVector,UseCentPatchAOD049,DCA,minNclsTPC,nrebin,opt);
+    taskAOD->GetOutputSlot(1)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(1)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(2)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(2)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(3)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(3)->GetContainer()->GetName(),taskAOD->GetName()));
+    taskAOD->GetOutputSlot(4)->GetContainer()->SetName(Form("%s_%s",taskAOD->GetOutputSlot(4)->GetContainer()->GetName(),taskAOD->GetName()));
+    //taskAOD->GetEventCuts()->SetMultiplicityCut(250,450);
+    taskAOD->GetEventCuts()->PrintCuts();
+    //increase centrality
+    centcut++;
+    }
   
-
-
+  mgr->SetDebugLevel(2);
   
-
   //mgr->Init();
   if (!mgr->InitAnalysis())return;
   mgr->PrintStatus();
@@ -138,8 +110,20 @@ void runGrid(TString mode="test",Int_t mc=0,Int_t sub=0,Int_t hi=1,TString fname
 }
 
 
-AliAnalysisGrid* CreateAlienHandler(TString mode="test",Int_t mc=0,Int_t sub=0,TString fname){
+AliAnalysisGrid* CreateAlienHandler(TString mode="test",Bool_t mc=1,Int_t day=0,Int_t month=0, Int_t year=2012)
+{
   AliAnalysisAlien *plugin = new AliAnalysisAlien();
+  plugin->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/TOF");
+  plugin->SetAdditionalLibs("libPWGLFspectra.so");
+  // gROOT->LoadMacro("AliSpectraAODTrackCuts.cxx+g"); 
+  // gROOT->LoadMacro("AliSpectraAODEventCuts.cxx+g"); 
+  // gROOT->LoadMacro("AliSpectraAODHistoManager.cxx+g"); 
+  // gROOT->LoadMacro("AliSpectraAODPID.cxx+g"); 
+  // gROOT->LoadMacro("AliAnalysisTaskSpectraAOD.cxx+g"); 
+  
+  //plugin->SetAnalysisSource("AliSpectraAODTrackCuts.cxx AliSpectraAODEventCuts.cxx AliSpectraAODHistoManager.cxx AliSpectraAODPID.cxx AliAnalysisTaskSpectraAOD.cxx");
+  //plugin->SetAdditionalLibs("Histograms.h HistogramNames.h HistogramNames.cxx AliSpectraAODTrackCuts.cxx AliSpectraAODEventCuts.cxx AliSpectraAODHistoManager.cxx AliSpectraAODPID.cxx AliAnalysisTaskSpectraAOD.cxx AliSpectraAODTrackCuts.h AliSpectraAODEventCuts.h AliSpectraAODHistoManager.h AliSpectraAODPID.h AliAnalysisTaskSpectraAOD.h");
+
   plugin->SetOverwriteMode();
   plugin->SetExecutableCommand("aliroot -q -b");  
   plugin->SetRunMode(mode.Data());
@@ -147,53 +131,65 @@ AliAnalysisGrid* CreateAlienHandler(TString mode="test",Int_t mc=0,Int_t sub=0,T
   //Set versions of used packages
   plugin->SetAPIVersion("V1.1x");
   plugin->SetROOTVersion("v5-33-02b");
-  plugin->SetAliROOTVersion("v5-03-18-AN");
+  plugin->SetAliROOTVersion("v5-03-35-AN");
   // Declare input data to be processed.
   if(mc)
     {
-      plugin->SetGridDataDir("/alice/sim/LHC11a10a");
-      plugin->SetDataPattern("AOD048/*AliAOD.root");
-      plugin->SetFriendChainName("./AliAOD.root");
+      // plugin->SetGridDataDir("/alice/sim/LHC11a10a_bis");
+      // plugin->SetDataPattern("AOD090/*AliAOD.root");
+      // plugin->SetRunPrefix(""); 
+      // plugin->SetAnalysisMacro("TaskAODPbPbMC.C");
+      // plugin->SetExecutable("TaskAODPbPbMC.sh");
+      // plugin->SetJDLName("TaskAODPbPbMC.jdl");
+      // //plugin->SetSplitMaxInputFileNumber(500);
+      // plugin->SetGridWorkingDir(Form("/AODPbPb%d%d%d/mc/",day,month,year));
+      
+      plugin->SetGridDataDir(" /alice/sim/2012/LHC12a11e/");
+      plugin->SetDataPattern("AOD081/*AliAOD.root");
       plugin->SetRunPrefix(""); 
-      plugin->SetAnalysisMacro(Form("TaskAODPbPbMC%d.C",sub));
-      plugin->SetExecutable(Form("TaskAODPbPbMC%d.sh",sub));
-      plugin->SetJDLName(Form("TaskAODPbPbMC%d.jdl",sub));
-      //plugin->SetSplitMaxInputFileNumber(500);
-      plugin->SetGridWorkingDir(Form("%s/mc%d/",fname.Data(),sub));
+      plugin->SetAnalysisMacro("TaskAODPbPbMC.C");
+      plugin->SetExecutable("TaskAODPbPbMC.sh");
+      plugin->SetJDLName("TaskAODPbPbMC.jdl");
+      //plugin->SetSplitMaxInputFileNumber(200);
+      plugin->SetGridWorkingDir(Form("/AODPbPb%d%d%d/mcAMPTNoPhysSel_RangeXLarger/",day,month,year));
     }  
   else
     {
       plugin->SetGridDataDir("/alice/data/2010/LHC10h");
-      plugin->SetDataPattern("ESDs/pass2/AOD049/*AliAOD.root");
-      plugin->SetFriendChainName("./AliAOD.root");
+      plugin->SetDataPattern("ESDs/pass2/AOD086/*AliAOD.root");
       plugin->SetRunPrefix("000"); 
-      plugin->SetAnalysisMacro(Form("TaskAODPbPbMC%d.C",sub));
-      plugin->SetExecutable(Form("TaskAODPbPbMC%d.sh",sub));
-      plugin->SetJDLName(Form("TaskAODPbPb%d.jdl",sub));
+      plugin->SetAnalysisMacro("TaskAODPbPbdata.C");
+      plugin->SetExecutable("TaskAODPbPbdata.sh");
+      plugin->SetJDLName("TaskAODPbPbdata.jdl");
       //plugin->SetSplitMaxInputFileNumber(500);
-      plugin->SetGridWorkingDir(Form("%s/data%d/",fname.Data(),sub));
-    }  
-  
+      plugin->SetGridWorkingDir(Form("/AODPbPb%d%d%d/dataFinalPlot3040/",day,month,year));
+    }   
+  FILE* listruns=fopen("RunListGrid-AOD086.txt","r");
   Int_t irun;
-  FILE* listruns=fopen("RunListGrid.txt","r");
-  while(!feof(listruns)){
-    fscanf(listruns,"%d\n",&irun);
-    plugin->AddRunNumber(irun);
-  }
+  while(!feof(listruns))
+    {
+      fscanf(listruns,"%d\n",&irun);
+      plugin->AddRunNumber(irun);
+    }
+  // plugin->AddRunNumber(139437);
+  // plugin->AddRunNumber(139038);
+  // plugin->AddRunNumber(138653);
+  // plugin->AddRunNumber(138534);
+  // plugin->AddRunNumber(137686);
   // Declare alien output directory. Relative to working directory.
-  plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
-  plugin->SetNrunsPerMaster(60); // 
-  plugin->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/TOF");
-  plugin->SetAnalysisSource("Histograms.h HistogramNames.h AliSpectraAODHistoManager.cxx+ AliSpectraAODEventCuts.cxx+ AliSpectraAODTrackCuts.cxx+ AliAnalysisTaskSpectraAOD.cxx+");
-  plugin->SetAdditionalLibs("Histograms.h HistogramNames.h AliSpectraAODHistoManager.cxx AliSpectraAODHistoManager.h AliSpectraAODEventCuts.cxx AliSpectraAODEventCuts.h AliSpectraAODTrackCuts.cxx AliSpectraAODTrackCuts.h AliAnalysisTaskSpectraAOD.cxx AliAnalysisTaskSpectraAOD.h");
+    plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
+  //plugin->SetGridOutputDir("/alice/cern.ch/user/l/lmilano/AODPbPb472012/data/output/000/");
+  plugin->SetNrunsPerMaster(24); // 
+  
   // Declare the output file names separated by blancs.
   // (can be like: file.root or file.root@ALICE::Niham::File)
   //plugin->SetDefaultOutputs(0);
   //plugin->SetOutputFiles("AnalysisResults.root.root");
-  plugin->SetMergeViaJDL(kTRUE);
+  plugin->SetMergeViaJDL(1);
   plugin->SetOneStageMerging(kFALSE);
   plugin->SetMaxMergeStages(2);
-  
+  //plugin->SetMaxMergeFiles(100);
   plugin->SetTTL(100000);
   // Optionally set input format (default xml-single)
   plugin->SetInputFormat("xml-single");
@@ -203,5 +199,4 @@ AliAnalysisGrid* CreateAlienHandler(TString mode="test",Int_t mc=0,Int_t sub=0,T
   //plugin->SetSplitMaxInputFileNumber();
   plugin->SetSplitMode("se");
   return plugin;
-  delete runs;
 }