]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEpp.C
added charge for correction
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_cbaumann_LMEEpp.C
CommitLineData
7b5dde49 1AliAnalysisTask *AddTask_cbaumann_LMEEpp(){
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");
40 if (!hasMC) taskMB->UsePhysicsSelection();
41 //taskMB->SelectCollisionCandidates(AliVEvent::kMB);
ccac5931 42 taskMB->SelectCollisionCandidates(AliVEvent::kINT7 || AliVEvent::kMB);
43// taskMB->SetRejectPileup();
7b5dde49 44
45 //Add event filter
46 AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
47 eventCuts->SetRequireVertex();
48 eventCuts->SetVertexZ(-10.,10.);
49 eventCuts->SetMinVtxContributors(1);
50
51 taskMB->SetEventFilter(eventCuts);
52
53 mgr->AddTask(taskMB);
54
55
56 for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
57 //MB
58 AliDielectron *diel_lowMB = Config_lowmasspp(i);
59 if(!diel_lowMB)continue;
60 taskMB->AddDielectron(diel_lowMB);
61
62 }//loop
63 //create output container
64 AliAnalysisDataContainer *coutput1 =
65 mgr->CreateContainer("tree_lowmass",
66 TTree::Class(),
67 AliAnalysisManager::kExchangeContainer,
68 "default");
69
70 AliAnalysisDataContainer *cOutputHist1 =
71 mgr->CreateContainer("Histos_diel_lowmass",
72 TList::Class(),
73 AliAnalysisManager::kOutputContainer,
74 "cbaumann_lowmass.root");
75
76 AliAnalysisDataContainer *cOutputHist2 =
77 mgr->CreateContainer("CF_diel_lowmass",
78 TList::Class(),
79 AliAnalysisManager::kOutputContainer,
80 "cbaumann_lowmass.root");
81
82 AliAnalysisDataContainer *cOutputHist3 =
83 mgr->CreateContainer("cbauman_lowmass_EventStat",
84 TList::Class(),
85 AliAnalysisManager::kOutputContainer,
86 "cbaumann_lowmass.root");
87
88 mgr->ConnectInput(taskMB, 0, mgr->GetCommonInputContainer());
89 mgr->ConnectOutput(taskMB, 0, coutput1 );
90 mgr->ConnectOutput(taskMB, 1, cOutputHist1);
91 mgr->ConnectOutput(taskMB, 2, cOutputHist2);
92 mgr->ConnectOutput(taskMB, 3, cOutputHist3);
93
94 return taskMB;
95
96}