]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/AddTask_Remi_LMEEPbPb2011AOD_Cent.C
update from pr task : sjena
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / AddTask_Remi_LMEEPbPb2011AOD_Cent.C
CommitLineData
1ba767ec 1AliAnalysisTask *AddTask_Remi_LMEEPbPb2011AOD_Cent(Char_t* outputFileName="LMEEoutput.root", Bool_t runAll=kFALSE,Bool_t setMC=kFALSE,Bool_t getFromAlien=kFALSE, Bool_t PIDbaseline=kFALSE, Bool_t rejOnly=kTRUE) {
2eab2b62 2
1ba767ec 3 Bool_t bESDANA=kFALSE; //Autodetect via InputHandler
4 //get the current analysis manager
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 if (!mgr) {
2eab2b62 7 Error("AddTask_Remi_LMEEPbPb2011", "No analysis manager found.");
8 return 0;
1ba767ec 9 }
2eab2b62 10
11
12 // create task and add it to the manager
13 // gSystem->AddIncludePath("$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE");
14
15
1ba767ec 16 TString configBasePath("$TRAIN_ROOT/cbaumann_dielectron/");
17 TString trainRoot=gSystem->Getenv("TRAIN_ROOT");
2eab2b62 18 // if (trainRoot.IsNull()) configBasePath= "/home/tanizaki/nfs/LMee_Deflection/ver1/";
1ba767ec 19 if (trainRoot.IsNull()) configBasePath= "$ALICE_ROOT/PWGDQ/dielectron/macrosLMEE/";
2eab2b62 20
21
1ba767ec 22 if (getFromAlien &&
23 (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/ConfigRemiLMEEPbPb2011AOD.C .")) &&
24 (!gSystem->Exec("alien_cp alien:///alice/cern.ch/user/c/cbaumann/PWGDQ/dielectron/macrosLMEE/LMEECutLibRemi.C ."))
2eab2b62 25 ) {
26 configBasePath=Form("%s/",gSystem->pwd());
1ba767ec 27 }
2eab2b62 28
1ba767ec 29 TString configFile("ConfigRemiLMEEPbPb2011AOD.C");
30 TString configLMEECutLib("LMEECutLibRemi.C");
2eab2b62 31
1ba767ec 32 TString configFilePath(configBasePath+configFile);
33 TString configLMEECutLibPath(configBasePath+configLMEECutLib);
2eab2b62 34
1ba767ec 35 //AOD Usage currently tested with separate task, to be merged
36 if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){
2eab2b62 37 ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration");
1ba767ec 38 }
39 else if (mgr->GetInputEventHandler()->IsA()==AliESDInputHandler::Class()){
2eab2b62 40 ::Info("AddTaskLMEEPbPb2011AOD","switching on ESD specific code");
41 bESDANA=kTRUE;
1ba767ec 42 }
2eab2b62 43
44
1ba767ec 45 //Do we have an MC handler?
46 Bool_t hasMC=setMC;
47 if (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0)
2eab2b62 48 hasMC=kTRUE;
49
50
51
1ba767ec 52 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
2eab2b62 53 gROOT->LoadMacro(configLMEECutLibPath.Data());
1ba767ec 54 if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
2eab2b62 55 gROOT->LoadMacro(configFilePath.Data());
56
57
1ba767ec 58 LMEECutLibRemi* cutlib = new LMEECutLibRemi();
59 AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");
60 if (!hasMC) task->UsePhysicsSelection();
61 task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
2eab2b62 62 // task->SelectCollisionCandidates(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
63 // task->SetRejectPileup();
1ba767ec 64 task->SelectCollisionCandidates(AliVEvent::kAny);
2eab2b62 65 task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibRemi::kPbPb2011pidITSTPCTOF)); //
66
1ba767ec 67 //load dielectron configuration file
2eab2b62 68
1ba767ec 69 //add dielectron analysis with different cuts to the task
2eab2b62 70
71
1ba767ec 72
73 AliDielectron *lowmass1=ConfigRemiLMEEPbPb2011AOD(1,hasMC,bESDANA);
74 task->AddDielectron(lowmass1);
75 printf("add: %s\n",lowmass1->GetName());
2eab2b62 76
77 AliDielectron *lowmass5=ConfigRemiLMEEPbPb2011AOD(5,hasMC,bESDANA);
78 task->AddDielectron(lowmass5);
79 printf("add: %s\n",lowmass5->GetName());
80 AliDielectron *lowmass9=ConfigRemiLMEEPbPb2011AOD(9,hasMC,bESDANA);
81 task->AddDielectron(lowmass9);
82 printf("add: %s\n",lowmass9->GetName());
83 AliDielectron *lowmass13=ConfigRemiLMEEPbPb2011AOD(13,hasMC,bESDANA);
84 task->AddDielectron(lowmass13);
85 printf("add: %s\n",lowmass13->GetName());
86
87
88 AliDielectron *lowmass17=ConfigRemiLMEEPbPb2011AOD(17,hasMC,bESDANA);
89 task->AddDielectron(lowmass17);
90 printf("add: %s\n",lowmass17->GetName());
91 AliDielectron *lowmass21=ConfigRemiLMEEPbPb2011AOD(21,hasMC,bESDANA);
92 task->AddDielectron(lowmass21);
93 printf("add: %s\n",lowmass21->GetName());
94 AliDielectron *lowmass25=ConfigRemiLMEEPbPb2011AOD(25,hasMC,bESDANA);
95 task->AddDielectron(lowmass25);
96 printf("add: %s\n",lowmass25->GetName());
1ba767ec 97
1ba767ec 98
1ba767ec 99
1ba767ec 100
101 mgr->AddTask(task);
102
103 //create output container
104 AliAnalysisDataContainer *coutput1 =
de4c3fca 105 mgr->CreateContainer("Remi_LMEEPbPb2011Cent_tree",
1ba767ec 106 TTree::Class(),
107 AliAnalysisManager::kExchangeContainer,
108 outputFileName);
109
110 AliAnalysisDataContainer *cOutputHist1 =
de4c3fca 111 mgr->CreateContainer("Remi_LMEEPbPb2011Cent_out",
1ba767ec 112 TList::Class(),
113 AliAnalysisManager::kOutputContainer,
114 outputFileName);
115
116 AliAnalysisDataContainer *cOutputHist2 =
de4c3fca 117 mgr->CreateContainer("Remi_LMEEPbPb2011Cent_CF",
1ba767ec 118 TList::Class(),
119 AliAnalysisManager::kOutputContainer,
120 outputFileName);
121
122 AliAnalysisDataContainer *cOutputHist3 =
de4c3fca 123 mgr->CreateContainer("Remi_EventStatPbPb2011Cent",
1ba767ec 124 TH1D::Class(),
125 AliAnalysisManager::kOutputContainer,
126 outputFileName);
127
128
129 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
130 mgr->ConnectOutput(task, 0, coutput1 );
131 mgr->ConnectOutput(task, 1, cOutputHist1);
132 mgr->ConnectOutput(task, 2, cOutputHist2);
133 mgr->ConnectOutput(task, 3, cOutputHist3);
134
135 return task;
136}