]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/SPECTRA/AntiprotonToProton/runProtonAnalysis.C
Split: removed dirs now in AliPhysics
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / AntiprotonToProton / runProtonAnalysis.C
diff --git a/PWGLF/SPECTRA/AntiprotonToProton/runProtonAnalysis.C b/PWGLF/SPECTRA/AntiprotonToProton/runProtonAnalysis.C
deleted file mode 100644 (file)
index 684ae5d..0000000
+++ /dev/null
@@ -1,516 +0,0 @@
-void runProtonAnalysis(Bool_t kAnalyzeMC = kTRUE,
-                      const char* esdAnalysisType = "Hybrid",
-                      const char* pidMode = "Ratio",
-                      Bool_t kUseOnlineTrigger = kTRUE,
-                      Bool_t kUseOfflineTrigger = kTRUE,
-                      Bool_t kRunQA = kFALSE) {
-  //Macro to run the proton analysis tested for local, proof & GRID.
-  //Local: Takes six arguments, the analysis mode, a boolean to define the ESD
-  //       analysis of MC data, the type of the ESD analysis, the PID mode, 
-  //       the run number for the offline trigger in case of real data 
-  //       analysis and the path where the tag and ESD or AOD files reside.
-  //Interactive: Takes six arguments, the analysis mode, a boolean to define 
-  //             the ESD analysis of MC data, the type of the ESD analysis, 
-  //             the PID mode, the run number for the offline trigger in case 
-  //             of real data analysis and the name of the collection of tag 
-  //             files.
-  //Batch: Takes six arguments, the analysis mode, a boolean to define 
-  //       the ESD analysis of MC data, the type of the ESD analysis, 
-  //       the PID mode, the run number for the offline trigger in case 
-  //       of real data analysis and the name of the collection file with 
-  //       the event list for each file.
-  //Proof: Takes eight arguments, the analysis mode, a boolean to define 
-  //       the ESD analysis of MC data, the type of the ESD analysis, 
-  //       the PID mode, the run number for the offline trigger in case 
-  //       of real data analysis, the number of events to be analyzed, 
-  //       the event number from where we start the analysis and the dataset 
-  //========================================================================
-  //Analysis mode can be: "MC", "ESD", "AOD"
-  //ESD analysis type can be one of the three: "TPC", "Hybrid", "Global"
-  //PID mode can be one of the four: "Bayesian" (standard Bayesian approach) 
-  //   "Ratio" (ratio of measured over expected/theoretical dE/dx a la STAR) 
-  //   "Sigma" (N-sigma area around the fitted dE/dx vs P band)
-  TStopwatch timer;
-  timer.Start();
-  
-  /*runLocal("ESD", 
-    kAnalyzeMC,
-    esdAnalysisType,
-    pidMode, kUseOnlineTrigger,kUseOfflineTrigger,    
-    kRunQA,
-    "/home/pchrist/ALICE/Baryons/Data/104070");*/
-  //runInteractive("ESD", kAnalyzeMC, esdAnalysisType, pidMode, kUseOnlineTrigger, kUseOfflineTrigger, kRunQA, "tag.xml");
-  //runBatch("ESD", kAnalyzeMC, esdAnalysisType, pidMode, kUseOnlineTrigger, kUseOfflineTrigger, kRunQA, "wn.xml");  
-  runProof("ESD", kAnalyzeMC, esdAnalysisType, pidMode, kUseOnlineTrigger, 
-          kUseOfflineTrigger, kRunQA,
-          500000,0,"/COMMON/COMMON/LHC10a8_run104867_8#esdTree");
-
-  timer.Stop();
-  timer.Print();
-}
-
-//_________________________________________________//
-void runLocal(const char* mode = "ESD",
-             Bool_t kAnalyzeMC = kTRUE,
-             const char* analysisType = 0x0,
-             const char* pidMode = 0x0,
-             Bool_t kUseOnlineTrigger = kTRUE,
-             Bool_t kUseOfflineTrigger = kTRUE,
-             Bool_t kRunQA = kFALSE,
-             const char* path = "/home/pchrist/ALICE/Alien/Tutorial/November2007/Tags") {
-  TString smode = mode;
-  TString cutFilename = "ListOfCuts."; cutFilename += mode;
-  TString outputFilename = "Protons."; outputFilename += mode;
-  if(analysisType) {
-    cutFilename += "."; cutFilename += analysisType;
-    outputFilename += "."; outputFilename += analysisType;
-  }
-  if(pidMode) {
-    cutFilename += "."; cutFilename += pidMode;
-    outputFilename += "."; outputFilename += pidMode;
-  }
- cutFilename += ".root";
- outputFilename += ".root";
-
-  //____________________________________________________//
-  //_____________Setting up the par files_______________//
-  //____________________________________________________//
-  setupPar("STEERBase");
-  gSystem->Load("libSTEERBase");
-  setupPar("ESD");
-  gSystem->Load("libVMC");
-  gSystem->Load("libESD");
-  setupPar("AOD");
-  gSystem->Load("libAOD");
-  setupPar("ANALYSIS");
-  gSystem->Load("libANALYSIS");
-  setupPar("ANALYSISalice");
-  gSystem->Load("libANALYSISalice");
-  setupPar("CORRFW");
-  gSystem->Load("libCORRFW");
-  setupPar("PWG2spectra");
-  gSystem->Load("libPWG2spectra");
-  //____________________________________________________//  
-
-  //____________________________________________//
-  AliTagAnalysis *tagAnalysis = new AliTagAnalysis("ESD"); 
-  tagAnalysis->ChainLocalTags(path);
-
-  AliRunTagCuts *runCuts = new AliRunTagCuts();
-  AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();
-  AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();
-  AliEventTagCuts *evCuts = new AliEventTagCuts();
-  
-  TChain* chain = 0x0;
-  chain = tagAnalysis->QueryTags(runCuts,lhcCuts,detCuts,evCuts);
-  chain->SetBranchStatus("*Calo*",0);
-
-  //____________________________________________//
-  gROOT->LoadMacro("configProtonAnalysis.C");
-  AliProtonAnalysis *analysis = GetProtonAnalysisObject(mode,kAnalyzeMC,
-                                                       analysisType,
-                                                       pidMode,
-                                                       kUseOnlineTrigger,
-                                                       kUseOfflineTrigger,
-                                                       kRunQA);
-  //____________________________________________//
-  // Make the analysis manager
-  AliAnalysisManager *mgr = new AliAnalysisManager("protonAnalysisManager");
-  AliVEventHandler* esdH = new AliESDInputHandler;
-  mgr->SetInputEventHandler(esdH);  
-  if(smode == "MC") {
-    AliMCEventHandler *mc = new AliMCEventHandler();
-    mgr->SetMCtruthEventHandler(mc);
-  }
-  
-  //____________________________________________//
-  //Create the proton task
-  AliAnalysisTaskProtons *taskProtons = new AliAnalysisTaskProtons("TaskProtons");
-  taskProtons->SetAnalysisObject(analysis);
-  mgr->AddTask(taskProtons);
-
-  // Create containers for input/output
-  AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
-  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("outputList",
-                                                            TList::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());
-  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("outputQAList",
-                                                            TList::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());
-  /*AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("cutCanvas",
-                                                            TCanvas::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());*/
-
-  //____________________________________________//
-  mgr->ConnectInput(taskProtons,0,cinput1);
-  mgr->ConnectOutput(taskProtons,0,coutput1);
-  mgr->ConnectOutput(taskProtons,1,coutput2);
-  //mgr->ConnectOutput(taskProtons,2,coutput3);
-  if (!mgr->InitAnalysis()) return;
-  mgr->PrintStatus();
-  mgr->StartAnalysis("local",chain);
-}
-
-//_________________________________________________//
-void runInteractive(const char* mode = "ESD",
-                   Bool_t kAnalyzeMC = kTRUE,
-                   const char* analysisType = 0x0,
-                   const char* pidMode = 0x0,
-                   Bool_t kUseOnlineTrigger = kTRUE,
-                   Bool_t kUseOfflineTrigger = kTRUE,
-                   Bool_t kRunQA = kFALSE,
-                   const char* collectionName = "tag.xml") {
-  gSystem->Load("libProofPlayer");
-  
-  TString smode = mode;
-  TString cutFilename = "ListOfCuts."; cutFilename += mode;
-  TString outputFilename = "Protons."; outputFilename += mode;
-  if(analysisType) {
-    cutFilename += "."; cutFilename += analysisType;
-    outputFilename += "."; outputFilename += analysisType;
-  }
-  if(pidMode) {
-    cutFilename += "."; cutFilename += pidMode;
-    outputFilename += "."; outputFilename += pidMode;
-  }
-  cutFilename += ".root";
-  outputFilename += ".root";
-
-  printf("*** Connect to AliEn ***\n");
-  TGrid::Connect("alien://");
-  //____________________________________________________//
-  //_____________Setting up the par files_______________//
-  //____________________________________________________//
-  setupPar("STEERBase");
-  gSystem->Load("libSTEERBase");
-  setupPar("ESD");
-  gSystem->Load("libVMC");
-  gSystem->Load("libESD");
-  setupPar("AOD");
-  gSystem->Load("libAOD");
-  setupPar("ANALYSIS");
-  gSystem->Load("libANALYSIS");
-  setupPar("ANALYSISalice");
-  gSystem->Load("libANALYSISalice");
-  setupPar("CORRFW");
-  gSystem->Load("libCORRFW");
-  setupPar("PWG2spectra");
-  gSystem->Load("libPWG2spectra");
-  //____________________________________________________//  
-  
-  //____________________________________________//
-  AliTagAnalysis *tagAnalysis = new AliTagAnalysis("ESD");
-  AliRunTagCuts *runCuts = new AliRunTagCuts();
-  AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();
-  AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();
-  AliEventTagCuts *evCuts = new AliEventTagCuts();
-  //grid tags
-  TAlienCollection* coll = TAlienCollection::Open(collectionName);
-  TGridResult* TagResult = coll->GetGridResult("",0,0);
-  tagAnalysis->ChainGridTags(TagResult);
-  TChain* chain = 0x0;
-  chain = tagAnalysis->QueryTags(runCuts,lhcCuts,detCuts,evCuts);
-  chain->SetBranchStatus("*Calo*",0);
-  
-  //____________________________________________//
-  gROOT->LoadMacro("configProtonAnalysis.C");
-  AliProtonAnalysis *analysis = GetProtonAnalysisObject(mode,kAnalyzeMC,
-                                                       analysisType,
-                                                       pidMode,
-                                                       kUseOnlineTrigger,
-                                                       kUseOfflineTrigger,
-                                                       kRunQA);
-  //runNumberForOfflineTtrigger);
-  //____________________________________________//
-  // Make the analysis manager
-  AliAnalysisManager *mgr = new AliAnalysisManager("protonAnalysisManager");
-  AliVEventHandler* esdH = new AliESDInputHandler;
-  mgr->SetInputEventHandler(esdH);  
-  if(smode == "MC") {
-    AliMCEventHandler *mc = new AliMCEventHandler();
-    mgr->SetMCtruthEventHandler(mc);
-  }
-
-  //____________________________________________//
-  //Create the proton task
-  AliAnalysisTaskProtons *taskProtons = new AliAnalysisTaskProtons("TaskProtons");
-  taskProtons->SetAnalysisObject(analysis);
-  mgr->AddTask(taskProtons);
-
-  // Create containers for input/output
-  AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
-  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("outputList",
-                                                            TList::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());
-  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("outputQAList",
-                                                            TList::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());
-  /*AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("cutCanvas",
-                                                            TCanvas::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());*/
-
-  //____________________________________________//
-  mgr->ConnectInput(taskProtons,0,cinput1);
-  mgr->ConnectOutput(taskProtons,0,coutput1);
-  mgr->ConnectOutput(taskProtons,1,coutput2);
-  //mgr->ConnectOutput(taskProtons,2,coutput3);
-  if (!mgr->InitAnalysis()) return;
-  mgr->PrintStatus();
-  mgr->StartAnalysis("local",chain);
-}
-
-//_________________________________________________//
-void runBatch(const char* mode = "ESD",
-             Bool_t kAnalyzeMC = kTRUE,
-             const char* analysisType = 0x0,
-             const char* pidMode = 0x0,
-             Bool_t kUseOnlineTrigger = kTRUE,
-             Bool_t kUseOfflineTrigger = kTRUE,
-             Bool_t kRunQA = kFALSE,
-             const char *collectionfile = "wn.xml") {
-  TString smode = mode;
-  TString cutFilename = "ListOfCuts."; cutFilename += mode;
-  TString outputFilename = "Protons."; outputFilename += mode;
-  if(analysisType) {
-    cutFilename += "."; cutFilename += analysisType;
-    outputFilename += "."; outputFilename += analysisType;
-  }
-  if(pidMode) {
-    cutFilename += "."; cutFilename += pidMode;
-    outputFilename += "."; outputFilename += pidMode;
-  }
-  cutFilename += ".root";
-  outputFilename += ".root";
-
-  printf("*** Connect to AliEn ***\n");
-  TGrid::Connect("alien://");
-  gSystem->Load("libProofPlayer");
-
-  //____________________________________________________//
-  //_____________Setting up the par files_______________//
-  //____________________________________________________//
-  setupPar("STEERBase");
-  gSystem->Load("libSTEERBase");
-  setupPar("ESD");
-  gSystem->Load("libVMC");
-  gSystem->Load("libESD");
-  setupPar("AOD");
-  gSystem->Load("libAOD");
-  setupPar("ANALYSIS");
-  gSystem->Load("libANALYSIS");
-  setupPar("ANALYSISalice");
-  gSystem->Load("libANALYSISalice");
-  setupPar("CORRFW");
-  gSystem->Load("libCORRFW");
-  setupPar("PWG2spectra");
-  gSystem->Load("libPWG2spectra");
-  //____________________________________________________//  
-
-  //____________________________________________//
-  //Usage of event tags
-  AliTagAnalysis *tagAnalysis = new AliTagAnalysis();
-  TChain *chain = 0x0;
-  chain = tagAnalysis->GetChainFromCollection(collectionfile,"esdTree");
-  chain->SetBranchStatus("*Calo*",0);
-
-  //____________________________________________//
-  gROOT->LoadMacro("configProtonAnalysis.C");
-  AliProtonAnalysis *analysis = GetProtonAnalysisObject(mode,kAnalyzeMC,
-                                                       analysisType,
-                                                       pidMode,
-                                                       kUseOnlineTrigger,
-                                                       kUseOfflineTrigger,
-                                                       kRunQA);
-  //runNumberForOfflineTtrigger);
-  //____________________________________________//
-  // Make the analysis manager
-  AliAnalysisManager *mgr = new AliAnalysisManager("protonAnalysisManager");
-  AliVEventHandler* esdH = new AliESDInputHandler;
-  mgr->SetInputEventHandler(esdH);  
-  if(smode == "MC") {
-    AliMCEventHandler *mc = new AliMCEventHandler();
-    mgr->SetMCtruthEventHandler(mc);
-  }
-  
-  //____________________________________________//
-  //Create the proton task
-  AliAnalysisTaskProtons *taskProtons = new AliAnalysisTaskProtons("TaskProtons");
-  taskProtons->SetAnalysisObject(analysis);
-  mgr->AddTask(taskProtons);
-
-  // Create containers for input/output
-  AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
-  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("outputList",
-                                                            TList::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());
-  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("outputQAList",
-                                                            TList::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());
-  /*AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("cutCanvas",
-                                                            TCanvas::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());*/
-  
-  //____________________________________________//
-  mgr->ConnectInput(taskProtons,0,cinput1);
-  mgr->ConnectOutput(taskProtons,0,coutput1);
-  mgr->ConnectOutput(taskProtons,1,coutput2);
-  //mgr->ConnectOutput(taskProtons,2,coutput3);
-  if (!mgr->InitAnalysis()) return;
-  mgr->PrintStatus();
-  mgr->StartAnalysis("grid",chain);
-}
-
-//_________________________________________________//
-void runProof(const char* mode = "ESD",
-             Bool_t kAnalyzeMC = kTRUE,
-             const char* analysisType = 0x0,
-             const char* pidMode = 0x0,
-             Bool_t kUseOnlineTrigger = kTRUE,
-             Bool_t kUseOfflineTrigger = kTRUE,
-             Bool_t kRunQA = kFALSE,
-             Int_t stats = 0, Int_t startingPoint = 0,
-             const char* dataset = 0x0) {  
-  TString smode = mode;
-  TString cutFilename = "ListOfCuts."; cutFilename += mode;
-  TString outputFilename = "Protons."; outputFilename += mode;
-  if(analysisType) {
-    cutFilename += "."; cutFilename += analysisType;
-    outputFilename += "."; outputFilename += analysisType;
-  }
-  if(pidMode) {
-    cutFilename += "."; cutFilename += pidMode;
-    outputFilename += "."; outputFilename += pidMode;
-  }
-  cutFilename += ".root";
-  outputFilename += ".root";
-
-  gEnv->SetValue("XSec.GSI.DelegProxy","2");
-  printf("****** Connect to PROOF *******\n");
-  TProof::Open("alicecaf.cern.ch"); 
-  gProof->SetParallel();
-
-  // Enable the Analysis Package
-  gProof->UploadPackage("STEERBase.par");
-  gProof->EnablePackage("STEERBase");
-  gProof->UploadPackage("ESD.par");
-  gProof->EnablePackage("ESD");
-  gProof->UploadPackage("AOD.par");
-  gProof->EnablePackage("AOD");
-  gProof->UploadPackage("ANALYSIS.par");
-  gProof->EnablePackage("ANALYSIS");
-  gProof->UploadPackage("ANALYSISalice.par");
-  gProof->EnablePackage("ANALYSISalice");
-  gProof->UploadPackage("CORRFW.par");
-  gProof->EnablePackage("CORRFW");
-  gProof->UploadPackage("PWG2spectra.par");
-  gProof->EnablePackage("PWG2spectra");
-  
-  //____________________________________________//
-  gROOT->LoadMacro("configProtonAnalysis.C");
-  AliProtonAnalysis *analysis = GetProtonAnalysisObject(mode,kAnalyzeMC,
-                                                       analysisType,
-                                                       pidMode,
-                                                       kUseOnlineTrigger,
-                                                       kUseOfflineTrigger,
-                                                       kRunQA);
-  //____________________________________________//
-
-  //____________________________________________//
-  // Make the analysis manager
-  AliAnalysisManager *mgr = new AliAnalysisManager("protonAnalysisManager");
-  AliVEventHandler* esdH = new AliESDInputHandler;
-  mgr->SetInputEventHandler(esdH);
-  if(smode == "MC") {
-    AliMCEventHandler *mc = new AliMCEventHandler();
-    mgr->SetMCtruthEventHandler(mc);
-  }
-  //____________________________________________//
-  //Create the proton task
-  AliAnalysisTaskProtons *taskProtons = new AliAnalysisTaskProtons("TaskProtons");
-  taskProtons->SetAnalysisObject(analysis);
-  mgr->AddTask(taskProtons);
-
-  // Create containers for input/output
-  AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
-  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("outputList",
-                                                            TList::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());
-  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("outputQAList",
-                                                            TList::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());
-  /*AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("cutCanvas",
-                                                            TCanvas::Class(),
-                                                           AliAnalysisManager::kOutputContainer,
-                                                            outputFilename.Data());*/
-
-  //____________________________________________//
-  mgr->ConnectInput(taskProtons,0,cinput1);
-  mgr->ConnectOutput(taskProtons,0,coutput1);
-  mgr->ConnectOutput(taskProtons,1,coutput2);
-  //mgr->ConnectOutput(taskProtons,3,coutput3);
-  if (!mgr->InitAnalysis()) return;
-  mgr->PrintStatus();
-
-  if(dataset)
-    mgr->StartAnalysis("proof",dataset,stats,startingPoint);
-  else {
-    // You should get this macro and the txt file from:
-    // http://aliceinfo.cern.ch/Offline/Analysis/CAF/
-    gROOT->LoadMacro("CreateESDChain.C");
-    TChain* chain = 0x0;
-    chain = CreateESDChain("ESD82XX_30K.txt",stats);
-    chain->SetBranchStatus("*Calo*",0);
-
-    mgr->StartAnalysis("proof",chain);
-  }
-}
-
-//_________________________________________________//
-Int_t setupPar(const char* pararchivename) {
-  ///////////////////
-  // Setup PAR File//
-  ///////////////////
-  if (pararchivename) {
-    char processline[1024];
-    sprintf(processline,".! tar xvzf %s.par",pararchivename);
-    gROOT->ProcessLine(processline);
-    const char* ocwd = gSystem->WorkingDirectory();
-    gSystem->ChangeDirectory(pararchivename);
-    
-    // check for BUILD.sh and execute
-    if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
-      printf("*******************************\n");
-      printf("*** Building PAR archive    ***\n");
-      printf("*******************************\n");
-      
-      if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
-        Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
-        return -1;
-      }
-    }
-    // check for SETUP.C and execute
-    if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
-      printf("*******************************\n");
-      printf("*** Setup PAR archive       ***\n");
-      printf("*******************************\n");
-      gROOT->Macro("PROOF-INF/SETUP.C");
-    }
-    
-    gSystem->ChangeDirectory("../");
-  } 
-  return 1;
-}