]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEpp.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_cbaumann_LMEEpp.C
CommitLineData
b84cb882 1AliAnalysisTask *AddTask_cbaumann_LMEEpp(Bool_t enablePS=kTRUE, Int_t triggerSel=(AliVEvent::kINT7+AliVEvent::kMB+AliVEvent::kINT8), Int_t collCands=(AliVEvent::kINT7+AliVEvent::kMB+AliVEvent::kINT8)){
7b5dde49 2
3
4 //get the current analysis manager
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 if (!mgr) {
7 Error("AddTask_cbaumann", "No analysis manager found.");
8 return 0;
9 }
10
11
12 Bool_t RunEMCtrigger = 0;
13 Bool_t RunHighMulttrigger = 0;
14 Bool_t RunMBtrigger = 1;
15
16 //Do we have an MC handler?
17 Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
18
19
20
21 //Get the current train configuration
22
23 //Directories for GSI train:
24 TString configBasePath("$TRAIN_ROOT/cbaumann_dielectron/");
25 TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
26
27 //Base Directory for GRID / LEGO Train
28 if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/";
29
30 TString configFile("Config_lowmasspp.C");
31 TString configFilePath(configBasePath+configFile);
32
33
34 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
35 gROOT->LoadMacro(configFilePath.Data());
36
37
38 //create task and add it to the manager (MB)
39 AliAnalysisTaskMultiDielectron *taskMB = new AliAnalysisTaskMultiDielectron("MultiDieMB");
e3fa3857 40 if ((!hasMC) && enablePS) taskMB->UsePhysicsSelection();
7b5dde49 41 //taskMB->SelectCollisionCandidates(AliVEvent::kMB);
56a81266 42// taskMB->SetTriggerMask(AliVEvent::kINT7+AliVEvent::kMB+AliVEvent::kINT8);
b84cb882 43 taskMB->SetTriggerMask(triggerSel);
44 taskMB->SelectCollisionCandidates(collCands);
e3fa3857 45
ccac5931 46// taskMB->SetRejectPileup();
7b5dde49 47
48 //Add event filter
49 AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
50 eventCuts->SetRequireVertex();
51 eventCuts->SetVertexZ(-10.,10.);
52 eventCuts->SetMinVtxContributors(1);
53
54 taskMB->SetEventFilter(eventCuts);
55
56 mgr->AddTask(taskMB);
57
58
59 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
60 //MB
61 AliDielectron *diel_lowMB = Config_lowmasspp(i);
62 if(!diel_lowMB)continue;
63 taskMB->AddDielectron(diel_lowMB);
64
65 }//loop
66 //create output container
67 AliAnalysisDataContainer *coutput1 =
e3fa3857 68 mgr->CreateContainer("tree_cb_lowmass",
7b5dde49 69 TTree::Class(),
70 AliAnalysisManager::kExchangeContainer,
71 "default");
72
73 AliAnalysisDataContainer *cOutputHist1 =
e3fa3857 74 mgr->CreateContainer("Histos_cbaumann_lowmass",
7b5dde49 75 TList::Class(),
76 AliAnalysisManager::kOutputContainer,
e3fa3857 77 "LMEEoutput.root");
7b5dde49 78
79 AliAnalysisDataContainer *cOutputHist2 =
e3fa3857 80 mgr->CreateContainer("CF_cbaumann_lowmass",
7b5dde49 81 TList::Class(),
82 AliAnalysisManager::kOutputContainer,
e3fa3857 83 "LMEEoutput.root");
7b5dde49 84
85 AliAnalysisDataContainer *cOutputHist3 =
e3fa3857 86 mgr->CreateContainer("cbaumann_lowmass_EventStat",
7b5dde49 87 TList::Class(),
88 AliAnalysisManager::kOutputContainer,
e3fa3857 89 "LMEEoutput.root");
7b5dde49 90
91 mgr->ConnectInput(taskMB, 0, mgr->GetCommonInputContainer());
92 mgr->ConnectOutput(taskMB, 0, coutput1 );
93 mgr->ConnectOutput(taskMB, 1, cOutputHist1);
94 mgr->ConnectOutput(taskMB, 2, cOutputHist2);
95 mgr->ConnectOutput(taskMB, 3, cOutputHist3);
96
97 return taskMB;
98
99}