1 AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011(Bool_t runAll=kFALSE, Bool_t setMC=kFALSE){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 Error("AddTask_cbaumann_LMEEPbPb2011", "No analysis manager found.");
10 TString configFile("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011.C");
12 //AOD Usage not yet testes/avialable-------------------------------------
14 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
15 ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration");
16 // configFile="$TRAIN_ROOT/util/dielectron/dielectron/macros/ConfigLMEEPbPb2011AOD.C";
20 //Do we have an MC handler?
21 //Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
24 const Int_t kNtriggers=1;
25 ULong64_t triggers[]={AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB };
26 const char* triggerNames[]={"all"};
30 // create task and add it to the manager
31 // gSystem->AddIncludePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE");
33 gROOT->LoadMacro("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/LMEECutLib.C");
34 gROOT->LoadMacro(configFile.Data());
35 LMEECutLib* cutlib = new LMEECutLib();
36 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");
37 if (!hasMC){ task->UsePhysicsSelection();
39 task->SetTriggerMask(triggers[0]);
40 task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
42 //load dielectron configuration file
44 //add dielectron analysis with different cuts to the task
46 AliDielectron *lowmass1=ConfigLMEEPbPb2011(1,hasMC);
47 task->AddDielectron(lowmass1);
48 printf("add: %s\n",lowmass1->GetName());
50 AliDielectron *lowmass2=ConfigLMEEPbPb2011(2,hasMC);
51 task->AddDielectron(lowmass2);
52 printf("add: %s\n",lowmass2->GetName());
55 AliDielectron *lowmass3=ConfigLMEEPbPb2011(3,hasMC);
56 task->AddDielectron(lowmass3);
57 printf("add: %s\n",lowmass3->GetName());
60 AliDielectron *lowmass4=ConfigLMEEPbPb2011(4,hasMC);
61 task->AddDielectron(lowmass4);
62 printf("add: %s\n",lowmass4->GetName());
64 // AliDielectron *lowmass5=ConfigLMEEPbPb2011(5,hasMC);
65 // task->AddDielectron(lowmass5);
66 // printf("add: %s\n",lowmass5->GetName());
69 AliDielectron *lowmass1=ConfigLMEEPbPb2011(1,hasMC);
70 task->AddDielectron(lowmass1);
71 printf("add: %s\n",lowmass1->GetName())
76 //create output container
77 AliAnalysisDataContainer *coutput1 =
78 mgr->CreateContainer("cbaumann_LMEEPbPb2011_tree",
80 AliAnalysisManager::kExchangeContainer,
81 "cbaumann_LMEEPbPb2011_default.root");
83 AliAnalysisDataContainer *cOutputHist1 =
84 mgr->CreateContainer("cbaumann_LMEEPbPb2011_out",
86 AliAnalysisManager::kOutputContainer,
87 "cbaumann_LMEEPbPb2011_out.root");
89 AliAnalysisDataContainer *cOutputHist2 =
90 mgr->CreateContainer("cbaumann_LMEEPbPb2011_CF",
92 AliAnalysisManager::kOutputContainer,
93 "cbaumann_LMEEPbPb2011_out.root");
96 AliAnalysisDataContainer *cOutputHist3 =
97 mgr->CreateContainer("cbaumann_EventStatPbPb2011",
99 AliAnalysisManager::kOutputContainer,
100 "cbaumann_LMEEPbPb2011_out.root");
103 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
104 mgr->ConnectOutput(task, 0, coutput1 );
105 mgr->ConnectOutput(task, 1, cOutputHist1);
106 mgr->ConnectOutput(task, 2, cOutputHist2);
107 mgr->ConnectOutput(task, 3, cOutputHist3);