1 AliAnalysisTaskSEPHOSpPbPi0* AddTaskPHOSpPbPi0(Bool_t isMCtruth=kFALSE, UInt_t triggerMask = AliVEvent::kMB, Bool_t isBadMap=kFALSE)
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 ::Error("AddTaskPHOSpPbPi0", "No analysis manager to connect to.");
8 TString type = mgr->GetInputEventHandler()->GetDataType();
9 if (!type.Contains("ESD") && !type.Contains("AOD")) {
10 ::Error("AddTaskPHOSpPbPi0", "PHOSpPbPi0 task needs the manager to have an ESD or AOD input handler.");
13 if (isMCtruth && type.Contains("ESD")) {
14 AliMCEventHandler *mcH = mgr->GetMCtruthEventHandler();
16 ::Error("AddTaskPHOSpPbPi0", "PHOSpPbPi0 task needs the manager to have an MC evnet handler.");
21 const Int_t nBins = 6;
22 Double_t cBin[nBins+1] = {0., 20., 40., 60., 80., 90., 100.}; TArrayD tCent(nBins+1, cBin);
23 Int_t buffer[nBins] = { 40, 80, 80, 100, 100, 100 }; TArrayI tBuffer(nBins, buffer);
25 AliAnalysisTaskSEPHOSpPbPi0 *task = new AliAnalysisTaskSEPHOSpPbPi0("TaskPHOSpPbPi0");
26 task->SetUseMC(isMCtruth);
27 task->SetXBins(tCent, tBuffer);
28 task->SetLogWeight(0.06);
29 task->SetMinNCells(2);
30 task->SetMinClusterEnergy(0.3);
32 task->SetMinDistToBad(2.5);
33 task->SetDebugLevel(-1);
37 AliOADBContainer badmapContainer("phosBadMap");
38 badmapContainer.InitFromFile("$ALICE_ROOT/OADB/PHOS/PHOSBadMaps.root","phosBadMap");
39 TObjArray *maps = (TObjArray*)badmapContainer.GetObject(144871,"phosBadMap"); //run number LHC11a
41 for (Int_t mod=1;mod<4; mod++) {
42 TH2I * h = (TH2I*)maps->At(mod);
43 if(h) task->SetPHOSBadMap(mod,h);
47 task->SelectCollisionCandidates(triggerMask);
50 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
52 AliAnalysisDataContainer *coutput = mgr->CreateContainer("histosPHOS", TList::Class(), AliAnalysisManager::kOutputContainer, "histosPHOS.root");
53 mgr->ConnectOutput(task, 1, coutput);