]>
Commit | Line | Data |
---|---|---|
834d5408 | 1 | AliAnalysisTask *AddTask_tbroeker_lowmasspPb(Bool_t getFromAlien=kFALSE){ |
2 | ||
3 | ||
4 | //get the current analysis manager | |
5 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
6 | if (!mgr) { | |
7 | Error("AddTask_lowmass", "No analysis manager found."); | |
8 | return 0; | |
9 | } | |
10 | ||
834d5408 | 11 | //Do we have an MC handler? |
12 | Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0); | |
13 | ||
834d5408 | 14 | //Get the current train configuration |
15 | ||
16 | //Directories for GSI train: | |
17 | // TString configBasePath("$TRAIN_ROOT/tbroeker_dca_broken/"); | |
18 | ||
19 | TString configBasePath("$TRAIN_ROOT/tbroeker_dca/"); | |
20 | TString trainRoot=gSystem->Getenv("TRAIN_ROOT"); | |
21 | ||
22 | //Base Directory for GRID / LEGO Train | |
23 | if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/"; | |
24 | ||
25 | ||
26 | ||
27 | if (getFromAlien && | |
28 | (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/t/tbroker/PWGDQ/dielectron/macrosLMEE/Config_lowmasspPb.C .")) | |
29 | ) { | |
30 | configBasePath=Form("%s/",gSystem->pwd()); | |
31 | } | |
32 | ||
33 | ||
34 | ||
35 | ||
36 | TString configFile("Config_lowmasspPb.C"); | |
37 | // TString configFile("CutHistConf_lowmasspPb.C"); | |
38 | ||
39 | TString configFilePath(configBasePath+configFile); | |
40 | ||
41 | ||
42 | if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data())) | |
43 | gROOT->LoadMacro(configFilePath.Data()); | |
44 | ||
45 | ||
834d5408 | 46 | //create task and add it to the manager (MB) |
47 | AliAnalysisTaskMultiDielectron *taskMB = new AliAnalysisTaskMultiDielectron("MultiDieMB"); | |
48 | if (!hasMC) taskMB->UsePhysicsSelection(); | |
8c90ad5d | 49 | // taskMB->SelectCollisionCandidates(AliVEvent::kMB); |
50 | // taskMB->SelectCollisionCandidates(AliVEvent::kINT7); //kINT7 | |
51 | taskMB->SetTriggerMask(AliVEvent::kINT7); | |
a5f8985a | 52 | //taskMB->SetRejectPileup(); |
834d5408 | 53 | |
a5f8985a | 54 | //Add event filter |
834d5408 | 55 | AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0"); |
56 | eventCuts->SetRequireVertex(); | |
57 | eventCuts->SetVertexZ(-10.,10.); | |
58 | eventCuts->SetMinVtxContributors(1); | |
59 | ||
a5f8985a | 60 | taskMB->SetEventFilter(eventCuts); |
61 | mgr->AddTask(taskMB); | |
834d5408 | 62 | |
63 | ||
64 | //add dielectron analysis with different cuts to the task | |
65 | for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file | |
834d5408 | 66 | //MB |
67 | AliDielectron *diel_lowMB = Config_lowmasspPb(i); | |
68 | if(!diel_lowMB)continue; | |
69 | diel_lowMB->SetNoPairing(kFALSE); | |
70 | taskMB->AddDielectron(diel_lowMB); | |
834d5408 | 71 | |
72 | }//loop | |
834d5408 | 73 | |
a5f8985a | 74 | //create output container |
75 | AliAnalysisDataContainer *coutput1 = | |
76 | mgr->CreateContainer("tree_lowmass", | |
834d5408 | 77 | TTree::Class(), |
78 | AliAnalysisManager::kExchangeContainer, | |
79 | "default"); | |
80 | ||
a5f8985a | 81 | AliAnalysisDataContainer *cOutputHist1 = |
82 | mgr->CreateContainer("Histos_diel_lowmass", | |
834d5408 | 83 | TList::Class(), |
84 | AliAnalysisManager::kOutputContainer, | |
994ae969 | 85 | "LMEEoutput.root"); |
834d5408 | 86 | |
a5f8985a | 87 | AliAnalysisDataContainer *cOutputHist2 = |
88 | mgr->CreateContainer("CF_diel_lowmass", | |
834d5408 | 89 | TList::Class(), |
90 | AliAnalysisManager::kOutputContainer, | |
994ae969 | 91 | "LMEEoutput.root"); |
834d5408 | 92 | |
a5f8985a | 93 | AliAnalysisDataContainer *cOutputHist3 = |
94 | mgr->CreateContainer("tbroeker_lowmass_EventStat", | |
834d5408 | 95 | TList::Class(), |
96 | AliAnalysisManager::kOutputContainer, | |
994ae969 | 97 | "LMEEoutput.root"); |
834d5408 | 98 | |
a5f8985a | 99 | mgr->ConnectInput(taskMB, 0, mgr->GetCommonInputContainer()); |
100 | mgr->ConnectOutput(taskMB, 0, coutput1 ); | |
101 | mgr->ConnectOutput(taskMB, 1, cOutputHist1); | |
102 | mgr->ConnectOutput(taskMB, 2, cOutputHist2); | |
103 | mgr->ConnectOutput(taskMB, 3, cOutputHist3); | |
834d5408 | 104 | |
834d5408 | 105 | |
106 | ||
a5f8985a | 107 | return taskMB; |
834d5408 | 108 | |
109 | } |