]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGUD/selectors/dNdEta/run.C
Split: removed dirs now in AliPhysics
[u/mrichter/AliRoot.git] / PWGUD / selectors / dNdEta / run.C
diff --git a/PWGUD/selectors/dNdEta/run.C b/PWGUD/selectors/dNdEta/run.C
deleted file mode 100644 (file)
index 5432ee9..0000000
+++ /dev/null
@@ -1,409 +0,0 @@
-void Load(const char* taskName, Bool_t debug)
-{
-  TString compileTaskName;
-  compileTaskName.Form("%s.cxx+", taskName);
-  if (debug)
-    compileTaskName += "g";
-
-  if (gProof) {
-    gProof->Load(compileTaskName);
-  } else
-    gROOT->Macro(compileTaskName);
-
-  // Enable debug printouts
-  if (debug)
-  {
-    AliLog::SetClassDebugLevel(taskName, AliLog::kDebug+2);
-  }
-  else
-    AliLog::SetClassDebugLevel(taskName, AliLog::kWarning);
-}
-
-void run(Int_t runWhat, const Char_t* data, Int_t nRuns=20, Int_t offset=0, Bool_t aDebug = kFALSE, Int_t aProof = kFALSE, Int_t requiredData = 1, const char* option = "")
-{
-  // runWhat options: 0 = AlidNdEtaTask
-  //                  1 = AlidNdEtaCorrectionTask
-  //                  2 = both
-  //
-  // aProof option: 0 no proof
-  //                1 proof with chain
-  //                2 proof with dataset
-  //
-  // requiredData option: 0 = only ESD
-  //                      1 = ESD+MC
-  //                      2 = RAW (ESD+check on event type)
-  //
-  // option is passed to the task(s)
-  //   option SAVE is removed and results in moving the output files to maps/<ds name>/<trigger>/<det>
-  //
-  
-  TString taskName;
-  if (runWhat == 0 || runWhat == 2)
-  {
-    Printf("Running AlidNdEtaTask");
-  }
-  if (runWhat == 1 || runWhat == 2)
-  {
-    Printf("Running AlidNdEtaCorrectionTask");
-    if (requiredData != 1)
-    {
-      Printf("AlidNdEtaCorrectionTask needs MC. Exiting...");
-      return;
-    }
-  }
-
-  if (nRuns < 0)
-    nRuns = 1234567890;
-
-  if (aProof)
-  {
-    TProof::Open("alice-caf"); 
-
-    Bool_t fullAliroot = kFALSE;
-    // Enable the needed package
-    if (1)
-    {
-      gProof->UploadPackage("$ALICE_ROOT/STEERBase");
-      gProof->EnablePackage("$ALICE_ROOT/STEERBase");
-      gProof->UploadPackage("$ALICE_ROOT/ESD");
-      gProof->EnablePackage("$ALICE_ROOT/ESD");
-      gProof->UploadPackage("$ALICE_ROOT/AOD");
-      gProof->EnablePackage("$ALICE_ROOT/AOD");
-      gProof->UploadPackage("$ALICE_ROOT/ANALYSIS");
-      gProof->EnablePackage("$ALICE_ROOT/ANALYSIS");
-      gProof->UploadPackage("$ALICE_ROOT/ANALYSISalice");
-      gProof->EnablePackage("$ALICE_ROOT/ANALYSISalice");
-    }
-    else if (!fullAliroot)
-    {
-      gProof->UploadPackage("$ALICE_ROOT/AF-v4-18-12-AN.par");
-      gProof->EnablePackage("AF-v4-18-12-AN");
-    }
-    else
-    {
-      // needed if ITS recpoints are accessed, see AlidNdEtaTask, FULLALIROOT define statement
-      gProof->UploadPackage("$ALICE_ROOT/v4-18-15-AN-all.par");
-      gProof->EnablePackage("v4-18-15-AN-all");
-    
-      gProof->Exec("TGrid::Connect(\"alien://\")", kTRUE);
-      
-      // TODO add this to loadlibs.C
-      gProof->Exec("gSystem->Load(\"libXMLParser\")", kTRUE);
-    }
-
-    gProof->UploadPackage("$ALICE_ROOT/PWG0base");
-    gProof->EnablePackage("$ALICE_ROOT/PWG0base");
-  }
-  else
-  {
-    gSystem->AddIncludePath("-I${ALICE_ROOT}/include/ -I${ALICE_ROOT}/PWG0/ -I${ALICE_ROOT}/PWG0/dNdEta/"); 
-    gSystem->Load("libVMC");
-    gSystem->Load("libTree");
-    gSystem->Load("libProof");
-    gSystem->Load("libSTEERBase");
-    gSystem->Load("libESD");
-    gSystem->Load("libAOD");
-    gSystem->Load("libANALYSIS");
-    gSystem->Load("libANALYSISalice");
-    gSystem->Load("libPWG0base");
-  }
-
-  // Create the analysis manager
-  mgr = new AliAnalysisManager;
-
-  // Add ESD handler
-  
-  if (fullAliroot)
-    AliESDInputHandler* esdH = new AliESDInputHandlerRP; // for RecPoints
-  else
-    AliESDInputHandler* esdH = new AliESDInputHandler;
-  
-  esdH->SetInactiveBranches("FMD AliRawDataErrorLogs CaloClusters Cascades EMCALCells EMCALTrigger ESDfriend Kinks MuonTracks TrdTracks");
-  mgr->SetInputEventHandler(esdH);
-
-  AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kSPD | AliPWG0Helper::kFieldOn;
-  //AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kSPD | AliPWG0Helper::kFieldOn | AliPWG0Helper::kSPDOnlyL0;
-  //AliPWG0Helper::AnalysisMode analysisMode = AliPWG0Helper::kTPCITS | AliPWG0Helper::kFieldOn;
-  
-  AliTriggerAnalysis::Trigger trigger      = AliTriggerAnalysis::kAcceptAll | AliTriggerAnalysis::kOfflineFlag;
-  //AliTriggerAnalysis::Trigger trigger      = AliTriggerAnalysis::kAcceptAll | AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kOneParticle;
-  
-  //AliTriggerAnalysis::Trigger trigger      = AliTriggerAnalysis::kSPDGFOBits | AliTriggerAnalysis::kOfflineFlag;
-  //AliTriggerAnalysis::Trigger trigger      = AliTriggerAnalysis::kSPDGFOBits | AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kOneParticle;
-  
-  //AliTriggerAnalysis::Trigger trigger      = AliTriggerAnalysis::kV0AND | AliTriggerAnalysis::kOfflineFlag; 
-  
-  //AliTriggerAnalysis::Trigger trigger      = AliTriggerAnalysis::kV0OR | AliTriggerAnalysis::kOfflineFlag; 
-  //AliTriggerAnalysis::Trigger trigger      = AliTriggerAnalysis::kV0OR | AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kOneParticle; 
-
-  AliPWG0Helper::DiffTreatment diffTreatment = AliPWG0Helper::kMCFlags;
-  //AliPWG0Helper::DiffTreatment diffTreatment = AliPWG0Helper::kE710Cuts;
-  
-  AliPWG0Helper::PrintConf(analysisMode, trigger, diffTreatment);
-
-  AliESDtrackCuts* esdTrackCuts = 0;
-  if (!(analysisMode & AliPWG0Helper::kSPD))
-  {
-    // selection of esd tracks
-    gROOT->ProcessLine(".L ../CreateStandardCuts.C");
-    esdTrackCuts = CreateTrackCuts(analysisMode);
-    if (!esdTrackCuts)
-    {
-      printf("ERROR: esdTrackCuts could not be created\n");
-      return;
-    }
-    esdTrackCuts->SetHistogramsOn(kTRUE);
-  }
-
-  cInput = mgr->GetCommonInputContainer();
-  
-  // remove SAVE option if set
-  Bool_t save = kFALSE;
-  TString optStr(option);
-  if (optStr.Contains("SAVE"))
-  {
-    optStr = optStr(0,optStr.Index("SAVE")) + optStr(optStr.Index("SAVE")+4, optStr.Length());
-    save = kTRUE;
-  }
-  
-  // physics selection
-  gROOT->ProcessLine(".L $ALICE_ROOT/OADB/macros/AddTaskPhysicsSelection.C");
-  physicsSelectionTask = AddTaskPhysicsSelection((requiredData == 2) ? kFALSE : kTRUE);
-  
-  // 900 GeV 
-  if (0 && requiredData == 2)
-  {
-    physicsSelectionTask->GetPhysicsSelection()->AddCollisionTriggerClass("+CINT1B-ABCE-NOPF-ALL #769 #3119");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1A-ABCE-NOPF-ALL #446 #2554");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1C-ABCE-NOPF-ALL #1334 #2228");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1-E-NOPF-ALL #790");
-  }
-  
-  // 7 TeV, run 114783
-  if (0 && requiredData == 2)
-  {
-    physicsSelectionTask->GetPhysicsSelection()->AddCollisionTriggerClass("+CINT1B-ABCE-NOPF-ALL #345");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1A-ABCE-NOPF-ALL #2130");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1C-ABCE-NOPF-ALL #3018");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1-E-NOPF-ALL #1238");
-  }
-
-  // 7 TeV, run 114786,98
-  if (0 && requiredData == 2)
-  {
-    physicsSelectionTask->GetPhysicsSelection()->AddCollisionTriggerClass("+CINT1B-ABCE-NOPF-ALL #346");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1A-ABCE-NOPF-ALL #2131");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1C-ABCE-NOPF-ALL #3019");
-    physicsSelectionTask->GetPhysicsSelection()->AddBGTriggerClass("+CINT1-E-NOPF-ALL #1238");
-    //physicsSelectionTask->GetPhysicsSelection()->Initialize(114786);
-  }
-
-  // FO efficiency (for MC)
-  if (0 && requiredData != 2)
-  {
-    //const char* fastORFile = "spdFOEff_run104824_52.root";
-    //const char* fastORFile = "spdFOEff_run104867_92.root";
-    //const char* fastORFile = "spdFOEff_run105054_7.root";
-    const char* fastORFile = "spdFOEff_run114931.root";
-  
-    Printf("NOTE: Simulating FAST-OR efficiency on the analysis level using file %s", fastORFile);
-    TFile::Open(fastORFile);
-    spdFOEff = (TH1F*) gFile->Get("spdFOEff");
-    physicsSelectionTask->GetPhysicsSelection()->Initialize(114931);
-    physicsSelectionTask->GetPhysicsSelection()->GetTriggerAnalysis()->SetSPDGFOEfficiency(spdFOEff);
-  }
-  
-  // V0 syst. study
-  if (0)
-  {
-    Printf("NOTE: Systematic study for VZERO enabled!");
-    physicsSelectionTask->GetPhysicsSelection()->Initialize(104867);
-    for (Int_t i=0; i<1; i++)
-    {
-      // for MC and data
-      //physicsSelectionTask->GetPhysicsSelection()->GetTriggerAnalysis(i)->SetV0HwPars(15, 61.5, 86.5);
-      physicsSelectionTask->GetPhysicsSelection()->GetTriggerAnalysis(i)->SetV0AdcThr(6);
-      // only for MC
-      //physicsSelectionTask->GetPhysicsSelection()->GetTriggerAnalysis(i)->SetV0HwPars(0, 0, 125);
-      //physicsSelectionTask->GetPhysicsSelection()->GetTriggerAnalysis(i)->SetV0AdcThr(0);
-    }
-  }
-  
-  // BG study
-  //physicsSelectionTask->GetPhysicsSelection()->AddCollisionTriggerClass("+CINT1A-ABCE-NOPF-ALL");
-  //physicsSelectionTask->GetPhysicsSelection()->AddCollisionTriggerClass("+CINT1C-ABCE-NOPF-ALL");
-  
-  // Create, add task
-  if (runWhat == 0 || runWhat == 2)
-  {
-    Load("AlidNdEtaTask", aDebug);
-    task = new AlidNdEtaTask(optStr);
-
-    if (requiredData == 1)
-      task->SetReadMC();
-      
-    //physicsSelectionTask->GetPhysicsSelection()->SetBin0Callback("AlidNdEtaTask");
-
-    // syst. error flags
-    //task->SetUseMCVertex();
-    //task->SetUseMCKine();
-    //task->SetOnlyPrimaries();
-    //task->SetFillPhi();
-    //task->SetSymmetrize();
-
-    // INEL>0 definition
-    if (trigger & AliTriggerAnalysis::kOneParticle)
-      task->SetMultAxisEta1();
-
-    task->SetTrigger(trigger);
-    task->SetAnalysisMode(analysisMode);
-    task->SetTrackCuts(esdTrackCuts);
-    //task->SetDeltaPhiCut(0.064);
-    task->SetDiffTreatment(diffTreatment);
-
-    mgr->AddTask(task);
-
-    // Attach input
-    mgr->ConnectInput(task, 0, cInput);
-
-    // Attach output
-    cOutput = mgr->CreateContainer("cOutput", TList::Class(), AliAnalysisManager::kOutputContainer);
-    mgr->ConnectOutput(task, 1, cOutput);
-  }
-
-  if (runWhat == 1 || runWhat == 2)
-  {
-    Load("AlidNdEtaCorrectionTask", aDebug);
-    task2 = new AlidNdEtaCorrectionTask(optStr);
-
-    // syst. error flags
-    //task2->SetFillPhi();
-    //task2->SetOnlyPrimaries();
-    //task2->SetSymmetrize();
-
-    // to account for gaps in real life SPD geometry
-    task2->SetSkipParticles();
-
-    // INEL>0 definition
-    if (trigger & AliTriggerAnalysis::kOneParticle)
-      task2->SetMultAxisEta1();
-
-    task2->SetTrigger(trigger);
-    task2->SetAnalysisMode(analysisMode);
-    task2->SetTrackCuts(esdTrackCuts);
-    //task2->SetDeltaPhiCut(0.064);
-    task2->SetDiffTreatment(diffTreatment);
-
-    mgr->AddTask(task2);
-
-    // Attach input
-    mgr->ConnectInput(task2, 0, cInput);
-
-    // Attach output
-    cOutput = mgr->CreateContainer("cOutput2", TList::Class(), AliAnalysisManager::kOutputContainer);
-    mgr->ConnectOutput(task2, 0, cOutput);
-  }
-
-  if (requiredData == 1) 
-  {
-    // Enable MC event handler
-    AliMCEventHandler* handler = new AliMCEventHandler;
-    handler->SetReadTR(kFALSE);
-    mgr->SetMCtruthEventHandler(handler);
-  }
-
-  // Enable debug printouts
-  if (aDebug)
-    mgr->SetDebugLevel(2);
-
-  // Run analysis
-  mgr->InitAnalysis();
-  mgr->PrintStatus();
-
-  if (aProof == 2)
-  {
-    // process dataset
-
-    mgr->StartAnalysis("proof", data, nRuns, offset);
-    
-    if (save)
-    {
-      TString path("maps/");
-      path += TString(data).Tokenize("/")->Last()->GetName();
-      
-      UInt_t triggerNoFlags = (UInt_t) trigger % (UInt_t) AliTriggerAnalysis::kStartOfFlags;
-      switch (triggerNoFlags)
-      {
-        case AliTriggerAnalysis::kMB1: path += "/mb1"; break;
-        case AliTriggerAnalysis::kMB2: path += "/mb2"; break;
-        case AliTriggerAnalysis::kMB3: path += "/mb3"; break;
-        case AliTriggerAnalysis::kSPDGFO: path += "/spdgfo"; break;
-        case AliTriggerAnalysis::kSPDGFOBits: path += "/spdgfobits"; break;
-        case AliTriggerAnalysis::kAcceptAll: path += "/all"; break;
-        case AliTriggerAnalysis::kV0AND: path += "/v0and"; break;
-        case AliTriggerAnalysis::kV0OR: path += "/v0or"; break;
-        case AliTriggerAnalysis::kNSD1: path += "/nsd1"; break;
-        case AliTriggerAnalysis::kMB1Prime: path += "/mb1prime"; break;
-        default: Printf("ERROR: Trigger undefined for path to files"); return;
-      }
-      
-      if (trigger & AliTriggerAnalysis::kOneParticle)
-        path += "-onepart";
-      
-      if (strlen(requireClass) > 0 && strlen(rejectClass) == 0)
-      {
-        path += Form("/%s", requireClass);
-      }
-      else if (strlen(rejectClass) > 0)
-        path += Form("/%s--%s", requireClass, rejectClass);
-      
-      if (analysisMode & AliPWG0Helper::kSPD)
-        path += "/spd";
-      
-      if (analysisMode & AliPWG0Helper::kSPDOnlyL0)
-        path += "onlyL0";
-      
-      if (analysisMode & AliPWG0Helper::kTPC)
-        path += "/tpc";
-        
-      if (analysisMode & AliPWG0Helper::kTPCITS)
-        path += "/tpcits";
-
-      gSystem->mkdir(path, kTRUE);
-      if (runWhat == 0 || runWhat == 2)
-      {
-        gSystem->Rename("analysis_esd_raw.root", path + "/analysis_esd_raw.root");
-        if (requiredData == 1)
-          gSystem->Rename("analysis_mc.root", path + "/analysis_mc.root");
-      }
-      if (runWhat == 1 || runWhat == 2)
-      {
-        if (optStr.Contains("process-types"))
-          gSystem->Rename("correction_mapprocess-types.root", path + "/correction_mapprocess-types.root");
-        else
-          gSystem->Rename("correction_map.root", path + "/correction_map.root");
-      }
-      gSystem->Rename("event_stat.root", path + "/event_stat.root");
-      
-      Printf(">>>>> Moved files to %s", path.Data());
-    }
-  }
-  else if (aProof == 3)
-  {
-    gROOT->ProcessLine(".L CreateChainFromDataSet.C");
-    ds = gProof->GetDataSet(data)->GetStagedSubset();
-    chain = CreateChainFromDataSet(ds, "esdTree", nRuns);
-    mgr->StartAnalysis("local", chain, 1234567890, offset);
-  }
-  else
-  {
-    // Create chain of input files
-    gROOT->LoadMacro("../CreateESDChain.C");
-
-    chain = CreateESDChain(data, nRuns, offset);
-    //chain = CreateChain("TE", data, nRuns, offset);
-
-    mgr->StartAnalysis((aProof > 0) ? "proof" : "local", chain);
-  }
-}
-