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