ROOT logo

void AddTask_GammaConvV1(TString mode){

   gSystem->Load("libCore.so");  
   gSystem->Load("libTree.so");
   gSystem->Load("libGeom.so");
   gSystem->Load("libVMC.so");
   gSystem->Load("libPhysics.so");
   gSystem->Load("libMinuit");
   gSystem->Load("libSTEERBase");
   gSystem->Load("libESD");
   gSystem->Load("libAOD");
   gSystem->Load("libANALYSIS");
   gSystem->Load("libANALYSISalice");  
   gSystem->Load("libPWGGAGammaConv.so");
   gSystem->Load("libEve.so");   
   gSystem->Load("libCDB.so");
   gSystem->Load("libProof.so");
   gSystem->Load("libRAWDatabase.so");
   gSystem->Load("libSTEER.so");
   gSystem->Load("libSTEERBase.so");
   gSystem->Load("libTENDER.so");
   gSystem->Load("libTRDbase.so");
   gSystem->Load("libVZERObase.so");
   gSystem->Load("libVZEROrec.so");
   gSystem->Load("libTENDERSupplies.so");
   
   Bool_t isMC	= kTRUE;
   Bool_t readTR = kTRUE;

   TString Pattern="*/AliESDs.root";
   //TString Pattern="*/AliAOD.root";
   TString Prefix ="";



   
//   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};
   
   Int_t run_numbers[10] = {137161, 137162, 137165, 137230, 137231, 137232, 137235, 137236, 137243, 137366};
   //Int_t run_numbers[10] = {137430, 137431, 137432, 137434, 137439, 137440, 137441, 137443, 137530, 137531};
   //Int_t run_numbers[10] = {137539, 137541, 137544, 137546, 137549, 137595, 137608, 137638, 137639, 137685};
   //Int_t run_numbers[10] = {137686, 137691, 137692, 137693, 137704, 137718, 137722, 137724, 137751, 137752};
   //Int_t run_numbers[10] = {137844, 137848, 138190, 138192, 138197, 138201, 138225, 138275, 138364, 138396};
   //Int_t run_numbers[10] = {138438, 138439, 138442, 138469, 138534, 138578, 138579, 138582, 138583, 138621};
   //Int_t run_numbers[10] = {138624, 138638, 138652, 138653, 138662, 138666, 138730, 138732, 138837, 138870};
   //Int_t run_numbers[10] = {138871, 138872, 139028, 139029, 139036, 139037, 139038, 139104, 139105, 139107};
   //Int_t run_numbers[10] = {139173, 139308, 139309, 139310, 139311, 139314, 139328, 139329, 139360, 139437};
   //Int_t run_numbers[10] = {139438, 139439, 139465, 139503, 139504, 139505, 139507, 139510};
   gSystem->Setenv("alien_CLOSE_SE","ALICE::Grenoble::SE");

   AliAnalysisManager *mgr = new AliAnalysisManager("Analysis");
   if (!mgr) {
      Error("AddTask_GammaConvV1", "No analysis manager found.");
      return 0;
   }

   gROOT->LoadMacro("CreateAlienHandlerNonPT.C");
   AliAnalysisAlien *alienHandler = CreateAlienHandler(mode);
   if (!alienHandler) return;

   TString WorkingDir = "MCPbPb_LHC13d2_v3";
   TString data = "/alice/sim/2013/LHC13d2/";
   
   mgr->SetGridHandler(alienHandler);
   alienHandler->SetGridWorkingDir(WorkingDir.Data());
   alienHandler->SetGridOutputDir(Form("OUTPUT_%s",WorkingDir.Data()));

   alienHandler->SetGridDataDir(data);
   alienHandler->SetDataPattern(Pattern.Data());
   alienHandler->SetRunPrefix(Prefix.Data());
   //alienHandler->SetRunRange(137161,139510);
   for (Int_t i=0; i<10; i++) {
      if (run_numbers[i]==0) break;
      alienHandler->AddRunNumber(run_numbers[i]);
   }
      
   AliESDInputHandler * handler;
   handler = new AliESDInputHandler(); mgr->SetInputEventHandler((AliESDInputHandler*)handler);

   AliMCEventHandler* mcHandler;
   if(isMC){
      mcHandler = new AliMCEventHandler();
      mgr->SetMCtruthEventHandler(mcHandler);
      mcHandler->SetReadTR(readTR);
   }

   //========= Add PID Reponse to ANALYSIS manager ====
   if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
      gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
      AddTaskPIDResponse(isMC);
   }//========= Add PID Reponse to ANALYSIS manager ====
   
   gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
   AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(isMC);

   AliCentralitySelectionTask *taskCentrality;
   gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
   taskCentrality = AddTaskCentrality();
   if (isMC){
      taskCentrality->SetMCInput();
      Info("AddTask_tender_CentralitySelection", "This task has MC.");
   }
   
   gROOT->LoadMacro("$ALICE_ROOT/PWGGA/GammaConv/macros/AddTask_GammaConvV1_PbPb.C");
   
   cout<<"Connecting to Alien..."<<endl;
   TGrid::Connect("alien://");
   cout<<"==============================="<<endl;
   cout<<"Successfully connected to Alien"<<endl;
   cout<<"==============================="<<endl;

   AliAnalysisTask *taskA = AddTask_GammaConvV1_PbPb(1,  //change different set of cuts
                                                     isMC, //run MC 
                                                     kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
                                                     kTRUE, // enable additional Photon QA task
                                                     "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
                                                     kTRUE,  //enable Weighting
                                                     "1000000060084000001500000");

   AliAnalysisTask *taskB = AddTask_GammaConvV1_PbPb(2,  //change different set of cuts
                                                     isMC, //run MC 
                                                     kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
                                                     kTRUE, // enable additional Photon QA task
                                                     "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
                                                     kTRUE,  //enable Weighting
                                                     "1000000060084000001500000");

   AliAnalysisTask *taskC = AddTask_GammaConvV1_PbPb(5,  //change different set of cuts
                                                     isMC, //run MC 
                                                     kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
                                                     kTRUE, // enable additional Photon QA task
                                                     "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
                                                     kTRUE,  //enable Weighting
                                                     "1000000060084000001500000");

   AliAnalysisTask *taskD = AddTask_GammaConvV1_PbPb(6,  //change different set of cuts
                                                     isMC, //run MC 
                                                     kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
                                                     kTRUE, // enable additional Photon QA task
                                                     "alien:///alice/cern.ch/user/f/fbock/MCSpectraInput.root", // path to file for weigting input
                                                     kTRUE,  //enable Weighting
                                                     "1000000060084000001500000");
   

   if (!mgr->InitAnalysis())return;
   mgr->StartAnalysis("grid");
}
Int_t CheckLoadLibrary(const char* library)                                                                                                        
{                                                                                                                                                  
   // checks if a library is already loaded, if not loads the library                                                                               
                                                                                                                                                   
   if (strlen(gSystem->GetLibraries(Form("%s.so", library), "", kFALSE)) > 0)                                                                       
      return 1;                                                                                                                                      
                                                                                                                                                   
   return gSystem->Load(library);                                                                                                                   
}
 AddTask_GammaConvV1.C:1
 AddTask_GammaConvV1.C:2
 AddTask_GammaConvV1.C:3
 AddTask_GammaConvV1.C:4
 AddTask_GammaConvV1.C:5
 AddTask_GammaConvV1.C:6
 AddTask_GammaConvV1.C:7
 AddTask_GammaConvV1.C:8
 AddTask_GammaConvV1.C:9
 AddTask_GammaConvV1.C:10
 AddTask_GammaConvV1.C:11
 AddTask_GammaConvV1.C:12
 AddTask_GammaConvV1.C:13
 AddTask_GammaConvV1.C:14
 AddTask_GammaConvV1.C:15
 AddTask_GammaConvV1.C:16
 AddTask_GammaConvV1.C:17
 AddTask_GammaConvV1.C:18
 AddTask_GammaConvV1.C:19
 AddTask_GammaConvV1.C:20
 AddTask_GammaConvV1.C:21
 AddTask_GammaConvV1.C:22
 AddTask_GammaConvV1.C:23
 AddTask_GammaConvV1.C:24
 AddTask_GammaConvV1.C:25
 AddTask_GammaConvV1.C:26
 AddTask_GammaConvV1.C:27
 AddTask_GammaConvV1.C:28
 AddTask_GammaConvV1.C:29
 AddTask_GammaConvV1.C:30
 AddTask_GammaConvV1.C:31
 AddTask_GammaConvV1.C:32
 AddTask_GammaConvV1.C:33
 AddTask_GammaConvV1.C:34
 AddTask_GammaConvV1.C:35
 AddTask_GammaConvV1.C:36
 AddTask_GammaConvV1.C:37
 AddTask_GammaConvV1.C:38
 AddTask_GammaConvV1.C:39
 AddTask_GammaConvV1.C:40
 AddTask_GammaConvV1.C:41
 AddTask_GammaConvV1.C:42
 AddTask_GammaConvV1.C:43
 AddTask_GammaConvV1.C:44
 AddTask_GammaConvV1.C:45
 AddTask_GammaConvV1.C:46
 AddTask_GammaConvV1.C:47
 AddTask_GammaConvV1.C:48
 AddTask_GammaConvV1.C:49
 AddTask_GammaConvV1.C:50
 AddTask_GammaConvV1.C:51
 AddTask_GammaConvV1.C:52
 AddTask_GammaConvV1.C:53
 AddTask_GammaConvV1.C:54
 AddTask_GammaConvV1.C:55
 AddTask_GammaConvV1.C:56
 AddTask_GammaConvV1.C:57
 AddTask_GammaConvV1.C:58
 AddTask_GammaConvV1.C:59
 AddTask_GammaConvV1.C:60
 AddTask_GammaConvV1.C:61
 AddTask_GammaConvV1.C:62
 AddTask_GammaConvV1.C:63
 AddTask_GammaConvV1.C:64
 AddTask_GammaConvV1.C:65
 AddTask_GammaConvV1.C:66
 AddTask_GammaConvV1.C:67
 AddTask_GammaConvV1.C:68
 AddTask_GammaConvV1.C:69
 AddTask_GammaConvV1.C:70
 AddTask_GammaConvV1.C:71
 AddTask_GammaConvV1.C:72
 AddTask_GammaConvV1.C:73
 AddTask_GammaConvV1.C:74
 AddTask_GammaConvV1.C:75
 AddTask_GammaConvV1.C:76
 AddTask_GammaConvV1.C:77
 AddTask_GammaConvV1.C:78
 AddTask_GammaConvV1.C:79
 AddTask_GammaConvV1.C:80
 AddTask_GammaConvV1.C:81
 AddTask_GammaConvV1.C:82
 AddTask_GammaConvV1.C:83
 AddTask_GammaConvV1.C:84
 AddTask_GammaConvV1.C:85
 AddTask_GammaConvV1.C:86
 AddTask_GammaConvV1.C:87
 AddTask_GammaConvV1.C:88
 AddTask_GammaConvV1.C:89
 AddTask_GammaConvV1.C:90
 AddTask_GammaConvV1.C:91
 AddTask_GammaConvV1.C:92
 AddTask_GammaConvV1.C:93
 AddTask_GammaConvV1.C:94
 AddTask_GammaConvV1.C:95
 AddTask_GammaConvV1.C:96
 AddTask_GammaConvV1.C:97
 AddTask_GammaConvV1.C:98
 AddTask_GammaConvV1.C:99
 AddTask_GammaConvV1.C:100
 AddTask_GammaConvV1.C:101
 AddTask_GammaConvV1.C:102
 AddTask_GammaConvV1.C:103
 AddTask_GammaConvV1.C:104
 AddTask_GammaConvV1.C:105
 AddTask_GammaConvV1.C:106
 AddTask_GammaConvV1.C:107
 AddTask_GammaConvV1.C:108
 AddTask_GammaConvV1.C:109
 AddTask_GammaConvV1.C:110
 AddTask_GammaConvV1.C:111
 AddTask_GammaConvV1.C:112
 AddTask_GammaConvV1.C:113
 AddTask_GammaConvV1.C:114
 AddTask_GammaConvV1.C:115
 AddTask_GammaConvV1.C:116
 AddTask_GammaConvV1.C:117
 AddTask_GammaConvV1.C:118
 AddTask_GammaConvV1.C:119
 AddTask_GammaConvV1.C:120
 AddTask_GammaConvV1.C:121
 AddTask_GammaConvV1.C:122
 AddTask_GammaConvV1.C:123
 AddTask_GammaConvV1.C:124
 AddTask_GammaConvV1.C:125
 AddTask_GammaConvV1.C:126
 AddTask_GammaConvV1.C:127
 AddTask_GammaConvV1.C:128
 AddTask_GammaConvV1.C:129
 AddTask_GammaConvV1.C:130
 AddTask_GammaConvV1.C:131
 AddTask_GammaConvV1.C:132
 AddTask_GammaConvV1.C:133
 AddTask_GammaConvV1.C:134
 AddTask_GammaConvV1.C:135
 AddTask_GammaConvV1.C:136
 AddTask_GammaConvV1.C:137
 AddTask_GammaConvV1.C:138
 AddTask_GammaConvV1.C:139
 AddTask_GammaConvV1.C:140
 AddTask_GammaConvV1.C:141
 AddTask_GammaConvV1.C:142
 AddTask_GammaConvV1.C:143
 AddTask_GammaConvV1.C:144
 AddTask_GammaConvV1.C:145
 AddTask_GammaConvV1.C:146
 AddTask_GammaConvV1.C:147
 AddTask_GammaConvV1.C:148
 AddTask_GammaConvV1.C:149
 AddTask_GammaConvV1.C:150
 AddTask_GammaConvV1.C:151
 AddTask_GammaConvV1.C:152
 AddTask_GammaConvV1.C:153
 AddTask_GammaConvV1.C:154
 AddTask_GammaConvV1.C:155
 AddTask_GammaConvV1.C:156
 AddTask_GammaConvV1.C:157
 AddTask_GammaConvV1.C:158