]>
Commit | Line | Data |
---|---|---|
896d3200 | 1 | AliAnalysisTask *AddTask_oezdemir_pp2012(Bool_t getFromAlien=kFALSE){ |
2 | ||
3 | ||
4 | //get the current analysis manager | |
5 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
6 | if (!mgr) { | |
7 | Error("AddTask_oezdemir_pp2012", "No analysis manager found."); | |
8 | return 0; | |
9 | } | |
10 | ||
11 | //Get the current train configuration | |
12 | TString trainConfig=gSystem->Getenv("CONFIG_FILE"); | |
13 | TString configBasePath("$TRAIN_ROOT/oezdemir_LOWMASS/"); | |
14 | TString trainRoot=gSystem->Getenv("TRAIN_ROOT"); | |
15 | if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/"; | |
16 | ||
17 | if (getFromAlien && | |
18 | (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/m/mozdemir/PWGDQ/dielectron/macrosLMEE/Configpp2012Oezdemir.C")) | |
19 | ) { | |
20 | configBasePath=Form("%s/",gSystem->pwd()); | |
21 | } | |
22 | ||
23 | TString configFile("Configpp2012Oezdemir.C"); | |
24 | ||
25 | TString configFilePath(configBasePath+configFile); | |
26 | ||
27 | //Do we have an MC handler? | |
28 | Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0); | |
29 | ||
30 | ||
31 | //create task and add it to the manager | |
32 | AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData"); | |
33 | if (!hasMC) task->UsePhysicsSelection(); | |
34 | ||
35 | //Add event filter | |
36 | AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0"); | |
37 | eventCuts->SetRequireVertex(); | |
38 | eventCuts->SetVertexZ(-10.,10.); | |
39 | eventCuts->SetMinVtxContributors(1); | |
40 | ||
41 | task->SetEventFilter(eventCuts); | |
42 | //2012 Min Bias? | |
43 | task->SetTriggerMask(AliVEvent::kINT7+AliVEvent::kMB+AliVEvent::kINT8); | |
44 | ||
45 | mgr->AddTask(task); | |
46 | ||
47 | ||
48 | //load dielectron configuration file | |
49 | gROOT->LoadMacro(configFilePath.Data()); | |
50 | ||
51 | //If MC available decide which pdg codes are tested: | |
52 | ||
53 | AliDielectron *lowmass0=Configpp2012Oezdemir(0,hasMC); | |
54 | task->AddDielectron(lowmass0); | |
55 | printf("add: %s\n",lowmass0->GetName()); | |
56 | ||
57 | //create output container | |
58 | AliAnalysisDataContainer *coutput1 = | |
59 | mgr->CreateContainer("oezdemir_pp2012_tree", | |
60 | TTree::Class(), | |
61 | AliAnalysisManager::kExchangeContainer, | |
62 | "LMEEoutput.root"); | |
63 | ||
64 | AliAnalysisDataContainer *cOutputHist1 = | |
65 | mgr->CreateContainer("oezdemir_pp2012_out", | |
66 | TList::Class(), | |
67 | AliAnalysisManager::kOutputContainer, | |
68 | "LMEEoutput.root"); | |
69 | ||
70 | AliAnalysisDataContainer *cOutputHist2 = | |
71 | mgr->CreateContainer("oezdemir_pp2012_CF", | |
72 | TList::Class(), | |
73 | AliAnalysisManager::kOutputContainer, | |
74 | "LMEEoutput.root"); | |
75 | ||
76 | AliAnalysisDataContainer *cOutputHist3 = | |
77 | mgr->CreateContainer("oezdemir_pp2012_EventStat", | |
78 | TH1D::Class(), | |
79 | AliAnalysisManager::kOutputContainer, | |
80 | "LMEEoutput.root"); | |
81 | ||
82 | ||
83 | mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer()); | |
84 | mgr->ConnectOutput(task, 0, coutput1 ); | |
85 | mgr->ConnectOutput(task, 1, cOutputHist1); | |
86 | mgr->ConnectOutput(task, 2, cOutputHist2); | |
87 | mgr->ConnectOutput(task, 3, cOutputHist3); | |
88 | ||
89 | return task; | |
90 | } |