ROOT logo
void AddTaskEMCALMesonGGSDMpPb(Int_t calibration = 0) 
{
	
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskAliEMCALMesonGGSDMpPb", "No analysis manager to connect to.");
    return NULL;
  }  

  //#####################################################
  // Private Recalibrator:
     Int_t GoodTasks  [4] = {1, 0,0,0};
     Int_t RecalScheme[4] = {calibration, 3,5,7};
  
  // Int_t calibration: 
  // 0:  no recalibration! 
  // 1:  constant scale factor.
  // 2:  Symmetric Decay Method
  // 3:  J's fit to LHC12f1a MC single photons, 4 Aug 2013
  // 4:  J's fit to the test beam data, 4 Aug 2013
  // 5:  Based on kSDM/kTBCv3 (for MC)
  // 6:  kBeamTestCorrectedv2 - in AliROOT! 
  // 7:  kPi0MCv3 - in AliROOT! 
  // 8:  kSDMv5 - based on J's fit to the noNL MC/data and kPi0MCv5 - 28 Oct 2013 (call it kSDMv5)
  // 9:  kPi0MCv5 - J's fit to LHC12f1a/b MC single photons, 28 Oct 2013 (call it kPi0MCv5)
  // 10: kBTCv6 - J played with test beam data - 19 Nov 2013
  // 11: kPi0MCv6 - J played with test beam mc - 19 Nov 2013
  //
  //#####################################################  

  AliAnalysisTaskEMCALMesonGGSDMpPb* task[4];
  AliAnalysisDataContainer*  coutput[4];  
  char saythis[500];

  for(int i=0; i<4; i++){
    if(GoodTasks[i]==0)
      continue;
    
    sprintf(saythis,"EMCALMesonGGSDMpPbTask_%d",i);
    task[i] = new AliAnalysisTaskEMCALMesonGGSDMpPb(saythis);
    //task[i]->SelectCollisionCandidates(AliVEvent::kAny);
    //task[i]->SelectCollisionCandidates(AliVEvent::kMB);//LHC11a
    task[i]->SelectCollisionCandidates(AliVEvent::kINT7);//LHC13b/c
    task[i]->SetRecalScheme(RecalScheme[i]);

    task[i]->SetdRmin_ClustTrack(0.025);//not used at the moment! (Gustavo uses 0.04)
    task[i]->SetFidPhiMinMax(1.39626, 3.15); // full emcal. 
    //task[i]->SetFidPhiMinMax(1.39626, 2.10); //pPb no TRD
    //task[i]->SetFidPhiMinMax(2.10, 3.15); //pPb with TRD
    task[i]->SetFidEtaMinMax(-0.65, 0.65);
    
    mgr->AddTask(task[i]);
    sprintf(saythis,"cont_AliAnalysisTaskEMCALMesonGGSDMpPb_%d",RecalScheme[i]);
    coutput[i] = 
      mgr->CreateContainer(saythis,
			   TList::Class(),
			   AliAnalysisManager::kOutputContainer,
			   "EMCALMesonGGSDMpPbTask.root");
    mgr->ConnectInput (task[i],0,mgr->GetCommonInputContainer());
    mgr->ConnectOutput(task[i],1,coutput[i]); 
    //AliMCEventHandler* handler = new AliMCEventHandler;
    //handler->SetReadTR(kFALSE);
    //mgr->SetMCtruthEventHandler(handler);
  }

}
 AddTaskEMCALMesonGGSDMpPb.C:1
 AddTaskEMCALMesonGGSDMpPb.C:2
 AddTaskEMCALMesonGGSDMpPb.C:3
 AddTaskEMCALMesonGGSDMpPb.C:4
 AddTaskEMCALMesonGGSDMpPb.C:5
 AddTaskEMCALMesonGGSDMpPb.C:6
 AddTaskEMCALMesonGGSDMpPb.C:7
 AddTaskEMCALMesonGGSDMpPb.C:8
 AddTaskEMCALMesonGGSDMpPb.C:9
 AddTaskEMCALMesonGGSDMpPb.C:10
 AddTaskEMCALMesonGGSDMpPb.C:11
 AddTaskEMCALMesonGGSDMpPb.C:12
 AddTaskEMCALMesonGGSDMpPb.C:13
 AddTaskEMCALMesonGGSDMpPb.C:14
 AddTaskEMCALMesonGGSDMpPb.C:15
 AddTaskEMCALMesonGGSDMpPb.C:16
 AddTaskEMCALMesonGGSDMpPb.C:17
 AddTaskEMCALMesonGGSDMpPb.C:18
 AddTaskEMCALMesonGGSDMpPb.C:19
 AddTaskEMCALMesonGGSDMpPb.C:20
 AddTaskEMCALMesonGGSDMpPb.C:21
 AddTaskEMCALMesonGGSDMpPb.C:22
 AddTaskEMCALMesonGGSDMpPb.C:23
 AddTaskEMCALMesonGGSDMpPb.C:24
 AddTaskEMCALMesonGGSDMpPb.C:25
 AddTaskEMCALMesonGGSDMpPb.C:26
 AddTaskEMCALMesonGGSDMpPb.C:27
 AddTaskEMCALMesonGGSDMpPb.C:28
 AddTaskEMCALMesonGGSDMpPb.C:29
 AddTaskEMCALMesonGGSDMpPb.C:30
 AddTaskEMCALMesonGGSDMpPb.C:31
 AddTaskEMCALMesonGGSDMpPb.C:32
 AddTaskEMCALMesonGGSDMpPb.C:33
 AddTaskEMCALMesonGGSDMpPb.C:34
 AddTaskEMCALMesonGGSDMpPb.C:35
 AddTaskEMCALMesonGGSDMpPb.C:36
 AddTaskEMCALMesonGGSDMpPb.C:37
 AddTaskEMCALMesonGGSDMpPb.C:38
 AddTaskEMCALMesonGGSDMpPb.C:39
 AddTaskEMCALMesonGGSDMpPb.C:40
 AddTaskEMCALMesonGGSDMpPb.C:41
 AddTaskEMCALMesonGGSDMpPb.C:42
 AddTaskEMCALMesonGGSDMpPb.C:43
 AddTaskEMCALMesonGGSDMpPb.C:44
 AddTaskEMCALMesonGGSDMpPb.C:45
 AddTaskEMCALMesonGGSDMpPb.C:46
 AddTaskEMCALMesonGGSDMpPb.C:47
 AddTaskEMCALMesonGGSDMpPb.C:48
 AddTaskEMCALMesonGGSDMpPb.C:49
 AddTaskEMCALMesonGGSDMpPb.C:50
 AddTaskEMCALMesonGGSDMpPb.C:51
 AddTaskEMCALMesonGGSDMpPb.C:52
 AddTaskEMCALMesonGGSDMpPb.C:53
 AddTaskEMCALMesonGGSDMpPb.C:54
 AddTaskEMCALMesonGGSDMpPb.C:55
 AddTaskEMCALMesonGGSDMpPb.C:56
 AddTaskEMCALMesonGGSDMpPb.C:57
 AddTaskEMCALMesonGGSDMpPb.C:58
 AddTaskEMCALMesonGGSDMpPb.C:59
 AddTaskEMCALMesonGGSDMpPb.C:60
 AddTaskEMCALMesonGGSDMpPb.C:61
 AddTaskEMCALMesonGGSDMpPb.C:62
 AddTaskEMCALMesonGGSDMpPb.C:63
 AddTaskEMCALMesonGGSDMpPb.C:64
 AddTaskEMCALMesonGGSDMpPb.C:65
 AddTaskEMCALMesonGGSDMpPb.C:66
 AddTaskEMCALMesonGGSDMpPb.C:67