]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C
Add centrality estimator to output container name.
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_cbaumann_LMEEPbPb2011AOD.C
CommitLineData
885e1457 1AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011AOD(Bool_t runAll=kFALSE,Bool_t setMC=kFALSE,Bool_t getFromAlien=kFALSE, Bool_t PIDbaseline=kFALSE){
c787ecdf 2
3 Bool_t bESDANA=kFALSE; //Autodetect via InputHandler
9f00b65f 4 //get the current analysis manager
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 if (!mgr) {
7 Error("AddTask_cbaumann_LMEEPbPb2011", "No analysis manager found.");
8 return 0;
9 }
10
9f00b65f 11
f88c2b26 12// create task and add it to the manager
13// gSystem->AddIncludePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE");
14
15
16 TString configBasePath("$TRAIN_ROOT/cbaumann_dielectron/");
17 TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
18 if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/";
19
7dfef2f7 20
f88c2b26 21 if (getFromAlien &&
7dfef2f7 22 (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C .")) &&
23 (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C ."))
24 ) {
25 configBasePath=Form("%s/",gSystem->pwd());
f88c2b26 26 }
7dfef2f7 27
f88c2b26 28 TString configFile("ConfigLMEEPbPb2011AOD.C");
29 TString configLMEECutLib("LMEECutLibAOD.C");
9f00b65f 30
f88c2b26 31 TString configFilePath(configBasePath+configFile);
32 TString configLMEECutLibPath(configBasePath+configLMEECutLib);
33
34 //AOD Usage currently tested with separate task, to be merged
9f00b65f 35 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
36 ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration");
9f00b65f 37 }
c787ecdf 38 else if (mgr->GetInputEventHandler()->IsA()==AliESDInputHandler::Class()){
39 ::Info("AddTaskLMEEPbPb2011AOD","switching on ESD specific code");
40 bESDANA=kTRUE;
41 }
42
9f00b65f 43
44 //Do we have an MC handler?
f88c2b26 45 Bool_t hasMC=setMC;
46 if (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0)
47 hasMC=kTRUE;
9f00b65f 48
49
9f00b65f 50
f88c2b26 51 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
52 gROOT->LoadMacro(configLMEECutLibPath.Data());
53 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
54 gROOT->LoadMacro(configFilePath.Data());
55
56
9f00b65f 57 LMEECutLib* cutlib = new LMEECutLib();
58 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");
59 if (!hasMC) task->UsePhysicsSelection();
ee00eb9d 60 task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
c787ecdf 61// task->SelectCollisionCandidates(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
62// task->SetRejectPileup();
63 task->SelectCollisionCandidates(AliVEvent::kAny);
64 task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
9f00b65f 65
66
67 //load dielectron configuration file
68
69 //add dielectron analysis with different cuts to the task
c787ecdf 70 AliDielectron *lowmass4=ConfigLMEEPbPb2011AOD(4,hasMC,bESDANA);
9f00b65f 71 task->AddDielectron(lowmass4);
72 printf("add: %s\n",lowmass4->GetName());
73
c29de33f 74 AliDielectron *lowmass1=ConfigLMEEPbPb2011AOD(1,hasMC,bESDANA);
75 task->AddDielectron(lowmass1);
76 printf("add: %s\n",lowmass1->GetName());
9f00b65f 77
885e1457 78if (PIDbaseline) {
79 AliDielectron *lowmass7=ConfigLMEEPbPb2011AOD(7,hasMC,bESDANA);
80 task->AddDielectron(lowmass7);
81 printf("add: %s\n",lowmass7->GetName());
82}
83
9f00b65f 84 mgr->AddTask(task);
85
86 //create output container
87 AliAnalysisDataContainer *coutput1 =
88 mgr->CreateContainer("cbaumann_LMEEPbPb2011_tree",
89 TTree::Class(),
90 AliAnalysisManager::kExchangeContainer,
91 "cbaumann_LMEEPbPb2011_default.root");
92
93 AliAnalysisDataContainer *cOutputHist1 =
94 mgr->CreateContainer("cbaumann_LMEEPbPb2011_out",
95 TList::Class(),
96 AliAnalysisManager::kOutputContainer,
97 "cbaumann_LMEEPbPb2011_out.root");
98
99 /* AliAnalysisDataContainer *cOutputHist2 =
100 mgr->CreateContainer("cbaumann_lowmass_CF",
101 TList::Class(),
102 AliAnalysisManager::kOutputContainer,
103 "cbaumann_lowmass_CF.root");
104 */
105 AliAnalysisDataContainer *cOutputHist2 =
106 mgr->CreateContainer("cbaumann_LMEEPbPb2011_CF",
107 TList::Class(),
108 AliAnalysisManager::kOutputContainer,
109 "cbaumann_LMEEPbPb2011_out.root");
110
111 AliAnalysisDataContainer *cOutputHist3 =
112 mgr->CreateContainer("cbaumann_EventStatPbPb2011",
113 TH1D::Class(),
114 AliAnalysisManager::kOutputContainer,
115 "cbaumann_LMEEPbPb2011_out.root");
116
117
118 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
119 mgr->ConnectOutput(task, 0, coutput1 );
120 mgr->ConnectOutput(task, 1, cOutputHist1);
121 mgr->ConnectOutput(task, 2, cOutputHist2);
122 mgr->ConnectOutput(task, 3, cOutputHist3);
123
124 return task;
125}