]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/macros/AddTaskCorrelationHF.C
Code reworking to analize ESD and AOD (H.Qvigstad)
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / macros / AddTaskCorrelationHF.C
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef __CINT__
5 //#include "AliESDtrackCuts.h"
6 //#include "AliAnalysisCuts.h"
7 //#include "AliFlowTrackSimple.h"      // added as hint for hidden library dependency to libPWGflowBase
8 //#include "AliFlowCandidateTrack.h"   // added as hint for hidden library dependency to libPWGflowTasks
9 //#include "AliCFContainer.h"          // added as hint for hidden library dependency to libCORRFW
10 //#include "AliAODRecoDecayHF2Prong.h" // added as hint for hidden library dependency to libPWGHFvertexingHF
11 #include "AliAnalysisTaskDxHFEParticleSelection.h"
12 #include "AliAnalysisManager.h"
13 #include "AliAnalysisDataContainer.h"
14 #include "AliLog.h"
15 #include "TObject.h"
16 #include "TClass.h"
17 #include "TDirectory.h"
18 using namespace std;
19 #endif
20
21 /// @file   AddTaskCorrelationHF.C
22 /// @author Matthias.Richter@ift.uib.no
23 /// @date   2012-05-09
24 /// @brief  Add the D0-HFE correlation task to the manager
25 ///
26 void AddTaskCorrelationHF(TString analysisName="PWGHFcorrelationHF", TString ofile="PWGHFcorrelationHF.root")
27 {
28   AliAnalysisManager *pManager = AliAnalysisManager::GetAnalysisManager();
29   if (!pManager) {
30     ::Error("AddTaskCorrelationHF", "No analysis manager to connect to.");
31     return;
32   }
33
34   if (gDirectory) {
35     const char* confObjectName="run_single_task_configuration";
36     TObject* confObject=gDirectory->FindObject(confObjectName);
37     if (confObject) {
38       TString configuration=confObject->GetTitle();
39       TObjArray* tokens=configuration.Tokenize(" ");
40       if (tokens) {
41         TIter next(tokens);
42         TObject* token;
43         while ((token=next())) {
44           TString argument=token->GetName();
45           if (argument.BeginsWith("file=")) {
46             argument.ReplaceAll("file=", "");
47             ofile=argument;
48           } else if (argument.BeginsWith("name=")) {
49             argument.ReplaceAll("name=", "");
50             analysisName=argument;
51           }
52         }
53         delete tokens;
54       }
55     }
56   }
57
58   ::Info("AddTaskCorrelationHF", Form("initializing analysis '%s', output file '%s'", analysisName.Data(), ofile.Data()));
59
60   AliAnalysisTaskSE *pTask=new AliAnalysisTaskDxHFEParticleSelection;
61   if (!pTask) {
62     ::Error("AddTaskCorrelationHF", "failed to create task.");
63     return;
64   }
65   pManager->AddTask(pTask);
66
67   AliAnalysisDataContainer *pContainer=pManager->CreateContainer(analysisName, TObject::Class(), AliAnalysisManager::kOutputContainer, ofile);    
68   pManager->ConnectInput(pTask,0,pManager->GetCommonInputContainer());
69   pManager->ConnectOutput(pTask,1,pContainer);
70
71   return;
72 }