1 // $Id: AddTaskEMCALPi0V2.C 56081 2012-05-01 08:57:08Z loizides $
3 AliAnalysisTask *AddTaskEMCALPi0V2 (
4 TString trackName = "PicoTracks",
7 Double_t fDrCut = 0.025,
9 TString V1ClusName = "CaloClusters",
10 TString V2ClusName = "caloClusters",
11 TString trigClass = "",
12 Bool_t IsPhosCali = kFALSE,
13 Bool_t IsCentFlat = kTRUE,
14 Bool_t IsFullHist = kFALSE,
18 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
20 Error("AddTaskEMCALPi0V2", "No analysis manager found.");
24 if (!mgr->GetInputEventHandler()) {
25 ::Error("AddTaskEMCALPi0V2", "This task requires an input event handler");
30 AliAnalysisTaskPi0V2* taskMB = new AliAnalysisTaskPi0V2("Pi0v2Task");
31 if(EvtType == 1){ //central
32 taskMB->SelectCollisionCandidates(AliVEvent::kCentral);
34 } else if (EvtType == 2){ //SemiCentral
35 taskMB->SelectCollisionCandidates(AliVEvent::kSemiCentral);
36 Input = "kSemiCentral";
37 } else if (EvtType == 3){ //kMB
38 taskMB->SelectCollisionCandidates(AliVEvent::kMB);
40 } else if (EvtType == 4){ //Central + SemiCentral
41 taskMB->SelectCollisionCandidates(AliVEvent::kCentral | AliVEvent::kSemiCentral);
42 Input = "Central_SemiCentral";
43 } else if (EvtType == 5){ //Central + SemiCentral + kMB
44 taskMB->SelectCollisionCandidates(AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB);
47 taskMB->SetTracksName(trackName.Data());
48 taskMB->SetClusE(Ecut);
49 taskMB->SetClusM02(M02cut);
50 taskMB->SetDrCut(fDrCut);
51 taskMB->SetIsV1Clus(IsV1cus);
52 taskMB->SetV1ClusName(V1ClusName);
53 taskMB->SetV2ClusName(V2ClusName);
54 taskMB->SetTrigClass(trigClass);
55 taskMB->SetIsPHOSCali(IsPhosCali);
56 taskMB->SetIsCentFlat(IsCentFlat);
57 taskMB->SetIsFullHist(IsFullHist);
59 TString containerName = mgr->GetCommonFileName();
60 containerName += ":PWGGA_EMCalpi0v2";
67 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
68 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(
69 Form("%s_E%1.2f_M02%1.2f", Input.Data(), Ecut, M02cut),
71 AliAnalysisManager::kOutputContainer,
72 containerName.Data());
73 mgr->ConnectInput(taskMB, 0, cinput);
74 mgr->ConnectOutput(taskMB, 1, coutput2);