]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/dielectron/macros/AddTaskJPSI.C
Add new triggers for p-p collisions (Cynthia)
[u/mrichter/AliRoot.git] / PWG3 / dielectron / macros / AddTaskJPSI.C
CommitLineData
fb7d2d99 1AliAnalysisTask *AddTaskJPSI(Bool_t hasMC_aod = kFALSE){
572b0139 2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4 if (!mgr) {
5 ::Error("AddTasJPSI", "No analysis manager found.");
6 return NULL;
7 }
8 if (!mgr->GetInputEventHandler()) {
9 ::Error("AddTaskJPSI", "This task requires an input event handler");
10 return NULL;
11 }
12
48609e3d 13 //Do we have an MC handler?
14 Bool_t hasMC=(mgr->GetMCtruthEventHandler()!=0x0);
15
572b0139 16 TString configFile("$ALICE_ROOT/PWG3/dielectron/macros/ConfigJpsi2eeData.C");
48609e3d 17 if (hasMC) configFile="$ALICE_ROOT/PWG3/dielectron/macros/ConfigJpsi2eeEff.C";
164bfb53 18 Bool_t isAOD=mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
572b0139 19
20 //create task and add it to the manager
21 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDie");
22 mgr->AddTask(task);
23
24 //load dielectron configuration file
25 gROOT->LoadMacro(configFile.Data());
26
27 //add dielectron analysis with different cuts to the task
28 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
164bfb53 29 AliDielectron *jpsi=ConfigJpsi2ee(i,isAOD);
fb7d2d99 30 if (isAOD) jpsi->SetHasMC(hasMC_aod);
48609e3d 31 if (jpsi) task->AddDielectron(jpsi);
572b0139 32 }
fb7d2d99 33
34 //Add event filter
35 AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
36 eventCuts->SetRequireVertex();
37 eventCuts->SetMinVtxContributors(1);
38 eventCuts->SetVertexZ(-10.,10.);
ba15fdfb 39
40 // add event filter
41 task->SetEventFilter(eventCuts);
42
43 // pileup rejection
44 task->SetRejectPileup();
572b0139 45
46 //----------------------
47 //create data containers
48 //----------------------
572b0139 49
50 TString containerName = mgr->GetCommonFileName();
51 containerName += ":PWG3_dielectron";
52
53 //create output container
54
55 AliAnalysisDataContainer *cOutputHist1 =
61d106d3 56 mgr->CreateContainer("jpsi_QA", TList::Class(), AliAnalysisManager::kOutputContainer,
572b0139 57 containerName.Data());
58
59 AliAnalysisDataContainer *cOutputHist2 =
61d106d3 60 mgr->CreateContainer("jpsi_CF", TList::Class(), AliAnalysisManager::kOutputContainer,
61 containerName.Data());
62
63 AliAnalysisDataContainer *cOutputHist3 =
64 mgr->CreateContainer("jpsi_EventStat", TH1D::Class(), AliAnalysisManager::kOutputContainer,
572b0139 65 containerName.Data());
66
67 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
68 mgr->ConnectOutput(task, 1, cOutputHist1);
69 mgr->ConnectOutput(task, 2, cOutputHist2);
61d106d3 70 mgr->ConnectOutput(task, 3, cOutputHist3);
572b0139 71
72 return task;
fb7d2d99 73}