]>
Commit | Line | Data |
---|---|---|
09f4a504 | 1 | AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011(Bool_t runRejection=kFALSE, Bool_t setMC=kFALSE,Bool_t enableCF=kFALSE){ |
6be5eb30 | 2 | //get the current analysis manager |
3 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
4 | if (!mgr) { | |
09f4a504 | 5 | Error("AddTask_cbaumann_LMEEPbPb2011", "No analysis manager found."); |
6 | return 0; | |
6be5eb30 | 7 | } |
8 | ||
09f4a504 | 9 | //create config File names: TRAIN_ROOT is for running on GSI train, |
10 | // ALICE_ROOT for CERN Lego trains | |
11 | TString configBasePath("$TRAIN_ROOT/cbaumann_dielectron/"); | |
12 | TString trainRoot=gSystem->Getenv("TRAIN_ROOT"); | |
13 | if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/"; | |
14 | TString configFile("ConfigLMEEPbPb2011.C"); | |
15 | TString configLMEECutLib("LMEECutLib.C"); | |
6be5eb30 | 16 | |
09f4a504 | 17 | TString configFilePath(configBasePath+configFile); |
ac264d80 | 18 | TString configLMEECutLibPath(configBasePath+configLMEECutLib); |
6be5eb30 | 19 | |
09f4a504 | 20 | //AOD Usage currently tested with separate task, to be merged |
6be5eb30 | 21 | if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){ |
09f4a504 | 22 | ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration"); |
6be5eb30 | 23 | } |
24 | ||
25 | //Do we have an MC handler? | |
c9868ab1 | 26 | Bool_t hasMC=setMC; |
09f4a504 | 27 | if (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0) |
28 | hasMC=kTRUE; | |
6be5eb30 | 29 | |
6be5eb30 | 30 | |
09f4a504 | 31 | |
09f4a504 | 32 | if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data())) |
33 | gROOT->LoadMacro(configLMEECutLibPath.Data()); | |
52d0fcc6 | 34 | if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data())) |
35 | gROOT->LoadMacro(configFilePath.Data()); | |
09f4a504 | 36 | |
6be5eb30 | 37 | LMEECutLib* cutlib = new LMEECutLib(); |
38 | AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData"); | |
65472f29 | 39 | if (!hasMC){ task->UsePhysicsSelection(); |
c9868ab1 | 40 | } |
3d969f7c | 41 | task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral); |
6be5eb30 | 42 | task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); // |
6be5eb30 | 43 | |
44 | //load dielectron configuration file | |
45 | ||
46 | //add dielectron analysis with different cuts to the task | |
09f4a504 | 47 | if (runRejection) { |
48 | ||
49 | AliDielectron *lowmass4=ConfigLMEEPbPb2011(4,hasMC,enableCF); | |
50 | task->AddDielectron(lowmass4); | |
51 | printf("add: %s\n",lowmass4->GetName()); | |
52 | } | |
53 | else { | |
54 | ||
55 | AliDielectron *lowmass3=ConfigLMEEPbPb2011(3,hasMC,enableCF); | |
56 | task->AddDielectron(lowmass3); | |
57 | printf("add: %s\n",lowmass3->GetName()) | |
58 | AliDielectron *lowmass1=ConfigLMEEPbPb2011(1,hasMC,enableCF); | |
59 | task->AddDielectron(lowmass1); | |
60 | printf("add: %s\n",lowmass1->GetName()) | |
61 | AliDielectron *lowmass7=ConfigLMEEPbPb2011(7,hasMC,enableCF); | |
62 | task->AddDielectron(lowmass7); | |
63 | printf("add: %s\n",lowmass7->GetName()) | |
64 | } | |
6be5eb30 | 65 | |
66 | mgr->AddTask(task); | |
67 | ||
68 | //create output container | |
69 | AliAnalysisDataContainer *coutput1 = | |
09f4a504 | 70 | mgr->CreateContainer("cbaumann_LMEEPbPb2011_tree", |
71 | TTree::Class(), | |
72 | AliAnalysisManager::kExchangeContainer, | |
73 | "cbaumann_LMEEPbPb2011_default.root"); | |
6be5eb30 | 74 | |
75 | AliAnalysisDataContainer *cOutputHist1 = | |
09f4a504 | 76 | mgr->CreateContainer("cbaumann_LMEEPbPb2011_out", |
77 | TList::Class(), | |
78 | AliAnalysisManager::kOutputContainer, | |
79 | "cbaumann_LMEEPbPb2011_out.root"); | |
52d0fcc6 | 80 | |
81 | AliAnalysisDataContainer *cOutputHist2 = 0x0; | |
09f4a504 | 82 | if (enableCF) { |
52d0fcc6 | 83 | cOutputHist2 = |
09f4a504 | 84 | mgr->CreateContainer("cbaumann_LMEEPbPb2011_CF", |
85 | TList::Class(), | |
86 | AliAnalysisManager::kOutputContainer, | |
87 | "cbaumann_LMEEPbPb2011_out.root"); | |
88 | ||
89 | } | |
6be5eb30 | 90 | AliAnalysisDataContainer *cOutputHist3 = |
09f4a504 | 91 | mgr->CreateContainer("cbaumann_EventStatPbPb2011", |
92 | TH1D::Class(), | |
93 | AliAnalysisManager::kOutputContainer, | |
94 | "cbaumann_LMEEPbPb2011_out.root"); | |
6be5eb30 | 95 | |
96 | ||
97 | mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer()); | |
98 | mgr->ConnectOutput(task, 0, coutput1 ); | |
99 | mgr->ConnectOutput(task, 1, cOutputHist1); | |
09f4a504 | 100 | if (enableCF) { |
101 | mgr->ConnectOutput(task, 2, cOutputHist2); | |
102 | } | |
6be5eb30 | 103 | mgr->ConnectOutput(task, 3, cOutputHist3); |
104 | ||
105 | return task; | |
106 | } |