6896c36cdc56074bf5da2807016b0f2867479bb2
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / macros / AddTask_GammaConvV1AOD.C
1
2 void AddTask_GammaConvV1AOD(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="AOD/*/AliAOD.root";
33    TString Prefix ="";
34
35
36
37      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,  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};
38   // run has no AODs's: 138624 (70440 events), 
39   //Int_t  run_numbers[100] = {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};
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] = {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("CreateAlienHandlerAOD.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<100; i++) {
74       if (run_numbers[i]==0) break;
75       alienHandler->AddRunNumber(run_numbers[i]);
76    }
77       
78    AliAODInputHandler * handler;
79    handler = new AliAODInputHandler(); mgr->SetInputEventHandler((AliAODInputHandler*)handler);
80
81
82    //========= Add PID Reponse to ANALYSIS manager ====
83    if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
84       gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
85       AddTaskPIDResponse(isMC);
86    }//========= Add PID Reponse to ANALYSIS manager ====
87       
88    gROOT->LoadMacro("$ALICE_ROOT/PWGGA/GammaConv/macros/AddTask_GammaConvV1_PbPb.C");
89    
90    cout<<"Connecting to Alien..."<<endl;
91    TGrid::Connect("alien://");
92    cout<<"==============================="<<endl;
93    cout<<"Successfully connected to Alien"<<endl;
94    cout<<"==============================="<<endl;
95
96    AliAnalysisTask *taskA = AddTask_GammaConvV1_PbPb(1,  //change different set of cuts
97                                                      isMC, //run MC 
98                                                      kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
99                                                      kTRUE, // enable additional Photon QA task
100                                                      "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
101                                                      kTRUE,  //enable Weighting
102                                                      "1000000060084000001500000");
103
104    AliAnalysisTask *taskB = AddTask_GammaConvV1_PbPb(2,  //change different set of cuts
105                                                      isMC, //run MC 
106                                                      kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
107                                                      kTRUE, // enable additional Photon QA task
108                                                      "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
109                                                      kTRUE,  //enable Weighting
110                                                      "1000000060084000001500000");
111
112    AliAnalysisTask *taskC = AddTask_GammaConvV1_PbPb(5,  //change different set of cuts
113                                                      isMC, //run MC 
114                                                      kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
115                                                      kTRUE, // enable additional Photon QA task
116                                                      "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
117                                                      kTRUE,  //enable Weighting
118                                                      "1000000060084000001500000");
119
120    AliAnalysisTask *taskD = AddTask_GammaConvV1_PbPb(6,  //change different set of cuts
121                                                      isMC, //run MC 
122                                                      kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
123                                                      kTRUE, // enable additional Photon QA task
124                                                      "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
125                                                      kTRUE,  //enable Weighting
126                                                      "1000000060084000001500000");
127    
128
129    if (!mgr->InitAnalysis())return;
130    mgr->StartAnalysis("grid");
131 }
132 Int_t CheckLoadLibrary(const char* library)                                                                                                        
133 {                                                                                                                                                  
134    // checks if a library is already loaded, if not loads the library                                                                               
135                                                                                                                                                    
136    if (strlen(gSystem->GetLibraries(Form("%s.so", library), "", kFALSE)) > 0)                                                                       
137       return 1;                                                                                                                                      
138                                                                                                                                                    
139    return gSystem->Load(library);                                                                                                                   
140 }