]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_Asako_LMEEPbPb2011AODCent.C
update from pr task : sjena
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_Asako_LMEEPbPb2011AODCent.C
CommitLineData
931f8b00 1AliAnalysisTask *AddTask_Asako_LMEEPbPb2011AODCent(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
4 //get the current analysis manager
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 if (!mgr) {
7 Error("AddTask_Asako_LMEEPbPb2011AODCent", "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
19 if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/";
20 // if (trainRoot.IsNull()) configBasePath= "/home/tsuji/nfs/AliceAna/pol2/Cent/";
21
22
23 if (getFromAlien &&
24 (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/ConfigAsakoLMEEPbPb2011AOD.C .")) &&
25 (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/LMEECutLibAsako.C ."))
26 ) {
27 configBasePath=Form("%s/",gSystem->pwd());
28 }
29
30 TString configFile("ConfigAsakoLMEEPbPb2011AOD.C");
31 TString configLMEECutLib("LMEECutLibAsako.C");
32
33 TString configFilePath(configBasePath+configFile);
34 TString configLMEECutLibPath(configBasePath+configLMEECutLib);
35
36 //AOD Usage currently tested with separate task, to be merged
37 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
38 ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration");
39 }
40 else if (mgr->GetInputEventHandler()->IsA()==AliESDInputHandler::Class()){
41 ::Info("AddTaskLMEEPbPb2011AOD","switching on ESD specific code");
42 bESDANA=kTRUE;
43 }
44
45
46 //Do we have an MC handler?
47 Bool_t hasMC=setMC;
48 if (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0)
49 hasMC=kTRUE;
50
51
52
53 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
54 gROOT->LoadMacro(configLMEECutLibPath.Data());
55 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
56 gROOT->LoadMacro(configFilePath.Data());
57
58
59 LMEECutLibAsako* cutlib = new LMEECutLibAsako();
60 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");
61 if (!hasMC) task->UsePhysicsSelection();
62 task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
63 // task->SelectCollisionCandidates(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
64 // task->SetRejectPileup();
65 task->SelectCollisionCandidates(AliVEvent::kAny);
66 task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibAsako::kPbPb2011TPCandTOF)); //
67
68
69 //load dielectron configuration file
70
71 //add dielectron analysis with different cuts to the task
72
73
74 AliDielectron *lowmass1=ConfigAsakoLMEEPbPb2011AOD(1,hasMC,bESDANA);
75 task->AddDielectron(lowmass1);
76 printf("add: %s\n",lowmass1->GetName());
77
78 AliDielectron *lowmass5=ConfigAsakoLMEEPbPb2011AOD(5,hasMC,bESDANA);
79 task->AddDielectron(lowmass5);
80 printf("add: %s\n",lowmass5->GetName());
81
82 // AliDielectron *lowmass6=ConfigAsakoLMEEPbPb2011AOD(6,hasMC,bESDANA);
83 // task->AddDielectron(lowmass6);
84 // printf("add: %s\n",lowmass6->GetName());
85
86 // AliDielectron *lowmass7=ConfigAsakoLMEEPbPb2011AOD(7,hasMC,bESDANA);
87 // task->AddDielectron(lowmass7);
88 //printf("add: %s\n",lowmass7->GetName());
89
90 // AliDielectron *lowmass8=ConfigAsakoLMEEPbPb2011AOD(8,hasMC,bESDANA);
91 // task->AddDielectron(lowmass8);
92 // printf("add: %s\n",lowmass8->GetName());
93
94 AliDielectron *lowmass9=ConfigAsakoLMEEPbPb2011AOD(9,hasMC,bESDANA);
95 task->AddDielectron(lowmass9);
96 printf("add: %s\n",lowmass9->GetName());
97
98 //if (PIDbaseline) {
99 //AliDielectron *lowmass7=ConfigLMEEPbPb2011AOD(7,hasMC,bESDANA);
100 //task->AddDielectron(lowmass7);
101 //printf("add: %s\n",lowmass7->GetName());
102 //}
103
104 mgr->AddTask(task);
105
106 //create output container
107 AliAnalysisDataContainer *coutput1 =
108 mgr->CreateContainer("asako_LMEEPbPb2011_tree",
109 TTree::Class(),
110 AliAnalysisManager::kExchangeContainer,
111 "LMEEoutput.root");
112
113 AliAnalysisDataContainer *cOutputHist1 =
114 mgr->CreateContainer("asako_LMEEPbPb2011_out",
115 TList::Class(),
116 AliAnalysisManager::kOutputContainer,
117 "LMEEoutput.root");
118
119 /* AliAnalysisDataContainer *cOutputHist2 =
120 mgr->CreateContainer("cbaumann_lowmass_CF",
121 TList::Class(),
122 AliAnalysisManager::kOutputContainer,
123 "cbaumann_lowmass_CF.root");
124 */
125 AliAnalysisDataContainer *cOutputHist2 =
126 mgr->CreateContainer("asako_LMEEPbPb2011_CF",
127 TList::Class(),
128 AliAnalysisManager::kOutputContainer,
129 "LMEEoutput.root");
130
131 AliAnalysisDataContainer *cOutputHist3 =
132 mgr->CreateContainer("asako_EventStatPbPb2011",
133 TH1D::Class(),
134 AliAnalysisManager::kOutputContainer,
135 "LMEEoutput.root");
136
137
138 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
139 mgr->ConnectOutput(task, 0, coutput1 );
140 mgr->ConnectOutput(task, 1, cOutputHist1);
141 mgr->ConnectOutput(task, 2, cOutputHist2);
142 mgr->ConnectOutput(task, 3, cOutputHist3);
143
144 return task;
145}
146