TENDER becomes Tender
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / macros / AddTask_GammaConvV1.C
1
2 void AddTask_GammaConvV1(TString mode){
3
4    gSystem->Load("libCore.so");  
5    gSystem->Load("libTree.so");
6    gSystem->Load("libGeom.so");
7    gSystem->Load("libVMC.so");
8    gSystem->Load("libPhysics.so");
9    gSystem->Load("libMinuit");
10    gSystem->Load("libSTEERBase");
11    gSystem->Load("libESD");
12    gSystem->Load("libAOD");
13    gSystem->Load("libANALYSIS");
14    gSystem->Load("libANALYSISalice");  
15    gSystem->Load("libPWGGAGammaConv.so");
16    gSystem->Load("libEve.so");   
17    gSystem->Load("libCDB.so");
18    gSystem->Load("libProof.so");
19    gSystem->Load("libRAWDatabase.so");
20    gSystem->Load("libSTEER.so");
21    gSystem->Load("libSTEERBase.so");
22    gSystem->Load("libTender.so");
23    gSystem->Load("libTRDbase.so");
24    gSystem->Load("libVZERObase.so");
25    gSystem->Load("libVZEROrec.so");
26    gSystem->Load("libTenderSupplies.so");
27    
28    Bool_t isMC  = kTRUE;
29    Bool_t readTR = kTRUE;
30
31    TString Pattern="*/AliESDs.root";
32    //TString Pattern="*/AliAOD.root";
33    TString Prefix ="";
34
35
36
37    
38 //   Int_t run_numbers[100] = {137161, 137162, 137165, 137230, 137231, 137232, 137235, 137236, 137243, 137366, 137430, 137431, 137432, 137434, 137439, 137440, 137441, 137443, 137530, 137531, 137539, 137541, 137544, 137546, 137549, 137595, 137608, 137638, 137639, 137685, 137686, 137691, 137692, 137693, 137704, 137718, 137722, 137724, 137751, 137752, 137844, 137848, 138190, 138192, 138197, 138201, 138225, 138275, 138364, 138396, 138438, 138439, 138442, 138469, 138534, 138578, 138579, 138582, 138583, 138621, 138624, 138638, 138652, 138653, 138662, 138666, 138730, 138732, 138837, 138870, 138871, 138872, 139028, 139029, 139036, 139037, 139038, 139104, 139105, 139107, 139173, 139308, 139309, 139310, 139311, 139314, 139328, 139329, 139360, 139437, 139438, 139439, 139465, 139503, 139504, 139505, 139507, 139510};
39    
40    Int_t run_numbers[10] = {137161, 137162, 137165, 137230, 137231, 137232, 137235, 137236, 137243, 137366};
41    //Int_t run_numbers[10] = {137430, 137431, 137432, 137434, 137439, 137440, 137441, 137443, 137530, 137531};
42    //Int_t run_numbers[10] = {137539, 137541, 137544, 137546, 137549, 137595, 137608, 137638, 137639, 137685};
43    //Int_t run_numbers[10] = {137686, 137691, 137692, 137693, 137704, 137718, 137722, 137724, 137751, 137752};
44    //Int_t run_numbers[10] = {137844, 137848, 138190, 138192, 138197, 138201, 138225, 138275, 138364, 138396};
45    //Int_t run_numbers[10] = {138438, 138439, 138442, 138469, 138534, 138578, 138579, 138582, 138583, 138621};
46    //Int_t run_numbers[10] = {138624, 138638, 138652, 138653, 138662, 138666, 138730, 138732, 138837, 138870};
47    //Int_t run_numbers[10] = {138871, 138872, 139028, 139029, 139036, 139037, 139038, 139104, 139105, 139107};
48    //Int_t run_numbers[10] = {139173, 139308, 139309, 139310, 139311, 139314, 139328, 139329, 139360, 139437};
49    //Int_t run_numbers[10] = {139438, 139439, 139465, 139503, 139504, 139505, 139507, 139510};
50    gSystem->Setenv("alien_CLOSE_SE","ALICE::Grenoble::SE");
51
52    AliAnalysisManager *mgr = new AliAnalysisManager("Analysis");
53    if (!mgr) {
54       Error("AddTask_GammaConvV1", "No analysis manager found.");
55       return 0;
56    }
57
58    gROOT->LoadMacro("CreateAlienHandlerNonPT.C");
59    AliAnalysisAlien *alienHandler = CreateAlienHandler(mode);
60    if (!alienHandler) return;
61
62    TString WorkingDir = "MCPbPb_LHC13d2_v3";
63    TString data = "/alice/sim/2013/LHC13d2/";
64    
65    mgr->SetGridHandler(alienHandler);
66    alienHandler->SetGridWorkingDir(WorkingDir.Data());
67    alienHandler->SetGridOutputDir(Form("OUTPUT_%s",WorkingDir.Data()));
68
69    alienHandler->SetGridDataDir(data);
70    alienHandler->SetDataPattern(Pattern.Data());
71    alienHandler->SetRunPrefix(Prefix.Data());
72    //alienHandler->SetRunRange(137161,139510);
73    for (Int_t i=0; i<10; i++) {
74       if (run_numbers[i]==0) break;
75       alienHandler->AddRunNumber(run_numbers[i]);
76    }
77       
78    AliESDInputHandler * handler;
79    handler = new AliESDInputHandler(); mgr->SetInputEventHandler((AliESDInputHandler*)handler);
80
81    AliMCEventHandler* mcHandler;
82    if(isMC){
83       mcHandler = new AliMCEventHandler();
84       mgr->SetMCtruthEventHandler(mcHandler);
85       mcHandler->SetReadTR(readTR);
86    }
87
88    //========= Add PID Reponse to ANALYSIS manager ====
89    if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
90       gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
91       AddTaskPIDResponse(isMC);
92    }//========= Add PID Reponse to ANALYSIS manager ====
93    
94    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
95    AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(isMC);
96
97    AliCentralitySelectionTask *taskCentrality;
98    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
99    taskCentrality = AddTaskCentrality();
100    if (isMC){
101       taskCentrality->SetMCInput();
102       Info("AddTask_tender_CentralitySelection", "This task has MC.");
103    }
104    
105    gROOT->LoadMacro("$ALICE_ROOT/PWGGA/GammaConv/macros/AddTask_GammaConvV1_PbPb.C");
106    
107    cout<<"Connecting to Alien..."<<endl;
108    TGrid::Connect("alien://");
109    cout<<"==============================="<<endl;
110    cout<<"Successfully connected to Alien"<<endl;
111    cout<<"==============================="<<endl;
112
113    AliAnalysisTask *taskA = AddTask_GammaConvV1_PbPb(1,  //change different set of cuts
114                                                      isMC, //run MC 
115                                                      kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
116                                                      kTRUE, // enable additional Photon QA task
117                                                      "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
118                                                      kTRUE,  //enable Weighting
119                                                      "1000000060084000001500000");
120
121    AliAnalysisTask *taskB = AddTask_GammaConvV1_PbPb(2,  //change different set of cuts
122                                                      isMC, //run MC 
123                                                      kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
124                                                      kTRUE, // enable additional Photon QA task
125                                                      "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
126                                                      kTRUE,  //enable Weighting
127                                                      "1000000060084000001500000");
128
129    AliAnalysisTask *taskC = AddTask_GammaConvV1_PbPb(5,  //change different set of cuts
130                                                      isMC, //run MC 
131                                                      kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
132                                                      kTRUE, // enable additional Photon QA task
133                                                      "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
134                                                      kTRUE,  //enable Weighting
135                                                      "1000000060084000001500000");
136
137    AliAnalysisTask *taskD = AddTask_GammaConvV1_PbPb(6,  //change different set of cuts
138                                                      isMC, //run MC 
139                                                      kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
140                                                      kTRUE, // enable additional Photon QA task
141                                                      "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
142                                                      kTRUE,  //enable Weighting
143                                                      "1000000060084000001500000");
144    
145
146    if (!mgr->InitAnalysis())return;
147    mgr->StartAnalysis("grid");
148 }
149 Int_t CheckLoadLibrary(const char* library)                                                                                                        
150 {                                                                                                                                                  
151    // checks if a library is already loaded, if not loads the library                                                                               
152                                                                                                                                                    
153    if (strlen(gSystem->GetLibraries(Form("%s.so", library), "", kFALSE)) > 0)                                                                       
154       return 1;                                                                                                                                      
155                                                                                                                                                    
156    return gSystem->Load(library);                                                                                                                   
157 }