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