]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_tbroeker_lowmasspPb.C
update from pr task : sjena
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_tbroeker_lowmasspPb.C
CommitLineData
834d5408 1AliAnalysisTask *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}