ROOT logo
void AddTaskEMCALMesonGGSDM(Int_t calibration = 0) 
{
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskAliEMCALMesonGGSDM", "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
  //
  //#####################################################  

  //#####################################################  
  // MC Generator Types: 
  //
     char MyMCType[50] = "";
  // doesn't work yet... set below!!!!!! 
  //
  // for all Primary particles, assign "ANY"
  // 
  // lhc13e7: 
  //         hijing_0
  //         pi0_1    - flat pT, number varies with centrality
  //         eta_2    - flat pT, number varies with centrality
  //         pi0EMC_3 - flat pT, 1 pi0 into EMCal
  //         pi0PHS_4 - flat pT, 1 pi0 into PHOS
  //         etaEMC_5 - flat pT, 1 eta into EMCal
  //         etaPHS_6 - flat pT, 1 eta into PHOS 
  //
  // lhc12i3: 
  //         Pythia
  //         BOX      - flat pT, 10 pi0 into 2pi
  //         BOX      - flat pT, 10 eta into 2pi
  //         PARAM    - flat pT, 1 pi0 into EMCal
  //         PARAM    - flat pT, 1 pi0 into PHOS 
  //         PARAM    - flat pT, 1 eta into EMCal
  //         PARAM    - flat pT, 1 eta into PHOS 
  //
  // dangerous... right now, it will only take the first BOX that it finds. 
  //
  //#####################################################  

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

  for(int i=0; i<4; i++){
    if(GoodTasks[i]==0)
      continue;
    
    sprintf(saythis,"EMCALMesonGGSDM_%d",i);
    task[i] = new AliAnalysisTaskEMCALMesonGGSDM(saythis);
    task[i]->SelectCollisionCandidates(AliVEvent::kMB);//LHC11a
    //task[i]->SelectCollisionCandidates(AliVEvent::kINT7);//LHC13b/c, LHC11c?
    //task[i]->SelectCollisionCandidates(AliVEvent::kAnyINT);
    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);// from: emc->GetArm1PhiMin()*TMath::DegToRad()=1.39626
    //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);

    //task[i]->SetMyMCType(**MyMCType);
    //task[i]->SetMyMCType("hijing_0");
    task[i]->SetMyMCType("Pythia");
    
    mgr->AddTask(task[i]);
    sprintf(saythis,"cont_AliAnalysisTaskEMCALMesonGGSDM_%d",RecalScheme[i]);
    coutput[i] = 
      mgr->CreateContainer(saythis,
			   TList::Class(),
			   AliAnalysisManager::kOutputContainer,
			   "EMCALMesonGGSDM.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);
  }
  
}
 AddTaskEMCALMesonGGSDM.C:1
 AddTaskEMCALMesonGGSDM.C:2
 AddTaskEMCALMesonGGSDM.C:3
 AddTaskEMCALMesonGGSDM.C:4
 AddTaskEMCALMesonGGSDM.C:5
 AddTaskEMCALMesonGGSDM.C:6
 AddTaskEMCALMesonGGSDM.C:7
 AddTaskEMCALMesonGGSDM.C:8
 AddTaskEMCALMesonGGSDM.C:9
 AddTaskEMCALMesonGGSDM.C:10
 AddTaskEMCALMesonGGSDM.C:11
 AddTaskEMCALMesonGGSDM.C:12
 AddTaskEMCALMesonGGSDM.C:13
 AddTaskEMCALMesonGGSDM.C:14
 AddTaskEMCALMesonGGSDM.C:15
 AddTaskEMCALMesonGGSDM.C:16
 AddTaskEMCALMesonGGSDM.C:17
 AddTaskEMCALMesonGGSDM.C:18
 AddTaskEMCALMesonGGSDM.C:19
 AddTaskEMCALMesonGGSDM.C:20
 AddTaskEMCALMesonGGSDM.C:21
 AddTaskEMCALMesonGGSDM.C:22
 AddTaskEMCALMesonGGSDM.C:23
 AddTaskEMCALMesonGGSDM.C:24
 AddTaskEMCALMesonGGSDM.C:25
 AddTaskEMCALMesonGGSDM.C:26
 AddTaskEMCALMesonGGSDM.C:27
 AddTaskEMCALMesonGGSDM.C:28
 AddTaskEMCALMesonGGSDM.C:29
 AddTaskEMCALMesonGGSDM.C:30
 AddTaskEMCALMesonGGSDM.C:31
 AddTaskEMCALMesonGGSDM.C:32
 AddTaskEMCALMesonGGSDM.C:33
 AddTaskEMCALMesonGGSDM.C:34
 AddTaskEMCALMesonGGSDM.C:35
 AddTaskEMCALMesonGGSDM.C:36
 AddTaskEMCALMesonGGSDM.C:37
 AddTaskEMCALMesonGGSDM.C:38
 AddTaskEMCALMesonGGSDM.C:39
 AddTaskEMCALMesonGGSDM.C:40
 AddTaskEMCALMesonGGSDM.C:41
 AddTaskEMCALMesonGGSDM.C:42
 AddTaskEMCALMesonGGSDM.C:43
 AddTaskEMCALMesonGGSDM.C:44
 AddTaskEMCALMesonGGSDM.C:45
 AddTaskEMCALMesonGGSDM.C:46
 AddTaskEMCALMesonGGSDM.C:47
 AddTaskEMCALMesonGGSDM.C:48
 AddTaskEMCALMesonGGSDM.C:49
 AddTaskEMCALMesonGGSDM.C:50
 AddTaskEMCALMesonGGSDM.C:51
 AddTaskEMCALMesonGGSDM.C:52
 AddTaskEMCALMesonGGSDM.C:53
 AddTaskEMCALMesonGGSDM.C:54
 AddTaskEMCALMesonGGSDM.C:55
 AddTaskEMCALMesonGGSDM.C:56
 AddTaskEMCALMesonGGSDM.C:57
 AddTaskEMCALMesonGGSDM.C:58
 AddTaskEMCALMesonGGSDM.C:59
 AddTaskEMCALMesonGGSDM.C:60
 AddTaskEMCALMesonGGSDM.C:61
 AddTaskEMCALMesonGGSDM.C:62
 AddTaskEMCALMesonGGSDM.C:63
 AddTaskEMCALMesonGGSDM.C:64
 AddTaskEMCALMesonGGSDM.C:65
 AddTaskEMCALMesonGGSDM.C:66
 AddTaskEMCALMesonGGSDM.C:67
 AddTaskEMCALMesonGGSDM.C:68
 AddTaskEMCALMesonGGSDM.C:69
 AddTaskEMCALMesonGGSDM.C:70
 AddTaskEMCALMesonGGSDM.C:71
 AddTaskEMCALMesonGGSDM.C:72
 AddTaskEMCALMesonGGSDM.C:73
 AddTaskEMCALMesonGGSDM.C:74
 AddTaskEMCALMesonGGSDM.C:75
 AddTaskEMCALMesonGGSDM.C:76
 AddTaskEMCALMesonGGSDM.C:77
 AddTaskEMCALMesonGGSDM.C:78
 AddTaskEMCALMesonGGSDM.C:79
 AddTaskEMCALMesonGGSDM.C:80
 AddTaskEMCALMesonGGSDM.C:81
 AddTaskEMCALMesonGGSDM.C:82
 AddTaskEMCALMesonGGSDM.C:83
 AddTaskEMCALMesonGGSDM.C:84
 AddTaskEMCALMesonGGSDM.C:85
 AddTaskEMCALMesonGGSDM.C:86
 AddTaskEMCALMesonGGSDM.C:87
 AddTaskEMCALMesonGGSDM.C:88
 AddTaskEMCALMesonGGSDM.C:89
 AddTaskEMCALMesonGGSDM.C:90
 AddTaskEMCALMesonGGSDM.C:91
 AddTaskEMCALMesonGGSDM.C:92
 AddTaskEMCALMesonGGSDM.C:93
 AddTaskEMCALMesonGGSDM.C:94
 AddTaskEMCALMesonGGSDM.C:95
 AddTaskEMCALMesonGGSDM.C:96
 AddTaskEMCALMesonGGSDM.C:97
 AddTaskEMCALMesonGGSDM.C:98
 AddTaskEMCALMesonGGSDM.C:99
 AddTaskEMCALMesonGGSDM.C:100
 AddTaskEMCALMesonGGSDM.C:101