]>
Commit | Line | Data |
---|---|---|
c29de33f | 1 | AliAnalysisTask *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 | |
71 | if (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 | } |