]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AODSemiCent.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_cbaumann_LMEEPbPb2011AODSemiCent.C
CommitLineData
c29de33f 1AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011AODSemiCent(Bool_t runAll=kFALSE,Bool_t setMC=kFALSE,Bool_t getFromAlien=kFALSE, Bool_t PIDbaseline=kFALSE){
2
3 Bool_t bESDANA=kFALSE; //Autodetect via InputHandler
7cc39a6a 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
11
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
20
21 if (getFromAlien &&
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());
26 }
27
28 TString configFile("ConfigLMEEPbPb2011AOD.C");
29 TString configLMEECutLib("LMEECutLibAOD.C");
30
31 TString configFilePath(configBasePath+configFile);
32 TString configLMEECutLibPath(configBasePath+configLMEECutLib);
33
34 //AOD Usage currently tested with separate task, to be merged
35 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
36 ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration");
37 }
c29de33f 38 else if (mgr->GetInputEventHandler()->IsA()==AliESDInputHandler::Class()){
39 ::Info("AddTaskLMEEPbPb2011AOD","switching on ESD specific code");
40 bESDANA=kTRUE;
41 }
42
7cc39a6a 43
44 //Do we have an MC handler?
45 Bool_t hasMC=setMC;
46 if (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0)
47 hasMC=kTRUE;
48
7cc39a6a 49 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
50 gROOT->LoadMacro(configLMEECutLibPath.Data());
51 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
52 gROOT->LoadMacro(configFilePath.Data());
53
54
55 LMEECutLib* cutlib = new LMEECutLib();
56 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");
57 if (!hasMC) task->UsePhysicsSelection();
c29de33f 58 task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
c29de33f 59 task->SelectCollisionCandidates(AliVEvent::kAny);
60 task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
7cc39a6a 61
62
63 //load dielectron configuration file
64
65 //add dielectron analysis with different cuts to the task
c29de33f 66 AliDielectron *lowmass2=ConfigLMEEPbPb2011AOD(2,hasMC,bESDANA);
67 task->AddDielectron(lowmass2);
68 printf("add: %s\n",lowmass2->GetName());
69
c29de33f 70
71if (PIDbaseline) {
6783184e 72 //obsolete variable, kept for compatibility with existing train setups
c29de33f 73}
74
7cc39a6a 75 mgr->AddTask(task);
76
77 //create output container
78 AliAnalysisDataContainer *coutput1 =
1178201b 79 mgr->CreateContainer("cbaumann_LMEEPbPb2011SemiCent_tree",
7cc39a6a 80 TTree::Class(),
81 AliAnalysisManager::kExchangeContainer,
9f517ec0 82 "LMEEoutput.root");
7cc39a6a 83
84 AliAnalysisDataContainer *cOutputHist1 =
1178201b 85 mgr->CreateContainer("cbaumann_LMEEPbPb2011SemiCent_out",
7cc39a6a 86 TList::Class(),
87 AliAnalysisManager::kOutputContainer,
9f517ec0 88 "LMEEoutput.root");
89
7cc39a6a 90 AliAnalysisDataContainer *cOutputHist2 =
1178201b 91 mgr->CreateContainer("cbaumann_LMEEPbPb2011SemiCent_CF",
7cc39a6a 92 TList::Class(),
93 AliAnalysisManager::kOutputContainer,
9f517ec0 94 "LMEEoutput.root");
7cc39a6a 95
96 AliAnalysisDataContainer *cOutputHist3 =
1178201b 97 mgr->CreateContainer("cbaumann_EventStatPbPb2011SemiCent",
7cc39a6a 98 TH1D::Class(),
99 AliAnalysisManager::kOutputContainer,
9f517ec0 100 "LMEEoutput.root");
7cc39a6a 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}