]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/macros/AddTaskEMCALPi0V2hardCodeEP.C
changes from fzhou
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEMCALPi0V2hardCodeEP.C
1 AliAnalysisTask *AddTaskEMCALPi0V2hardCodeEP(Double_t EvtMthod=2, TString trackName="PicoTrack", 
2                                              Double_t Ecut = 1,   Double_t M02cut = 0.5, Bool_t IsV1cus = 0,
3                                              TString V1ClusName="CaloCluster", TString V2ClusName="CaloCluster"
4                                             )
5 {
6   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7   if (!mgr) {
8     Error("AddTaskEMCALPi0V2hardCodeEP", "No analysis manager found.");
9     return NULL;
10   }
11
12   if (!mgr->GetInputEventHandler()) {
13     ::Error("AddTaskEMCALPi0V2hardCodeEP", "This task requires an input event handler");
14     return NULL;
15   }
16   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
17   if (type=="AOD"){
18     ::Error("AddTaskEMCALPi0V2hardCodeEP", "The tasks exits because AODs are in input");
19     return NULL;
20   }
21   
22   //Event plane task
23   AliEPSelectionTask *eventplaneTask = new AliEPSelectionTask("EventplaneSelection");
24   eventplaneTask->SetTrackType("TPC");
25   eventplaneTask->SetUsePtWeight();
26   eventplaneTask->SetUsePhiWeight();
27   eventplaneTask->SetSaveTrackContribution();
28   
29   AliESDtrackCuts* epTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "Standard");
30   epTrackCuts->SetRequireTPCStandAlone(kTRUE); // to get chi2 and ncls of kTPCin
31   epTrackCuts->SetMinNClustersTPC(50);
32   epTrackCuts->SetMaxChi2PerClusterTPC(4);
33   epTrackCuts->SetAcceptKinkDaughters(kFALSE);
34   epTrackCuts->SetRequireTPCRefit(kTRUE);
35   epTrackCuts->SetMaxDCAToVertexZ(3.2);
36   epTrackCuts->SetMaxDCAToVertexXY(2.4);
37   epTrackCuts->SetPtRange(0.15, 20);
38   eventplaneTask->SetPersonalESDtrackCuts(epTrackCuts);
39
40   mgr->AddTask(eventplaneTask);
41
42   TString containerName3 = mgr->GetCommonFileName();
43   containerName3 += ":PWGGA_pi0v2CalEventPlane";
44   
45   AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
46   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("EPStatTPC_E%1.2f_M02%1.2f", Ecut, M02cut),TList::Class(), AliAnalysisManager::kOutputContainer,containerName3.Data());
47   mgr->ConnectInput(eventplaneTask, 0, mgr->GetCommonInputContainer());
48   mgr->ConnectOutput(eventplaneTask,1,coutput1);
49
50   //analysis task 
51
52   AliAnalysisTaskPi0V2* taskMB = new  AliAnalysisTaskPi0V2("Pi0v2Task"); 
53   taskMB->SetEventMethod(EvtMthod);
54   taskMB->SetTracksName(trackName.Data());
55   taskMB->SetClusE(Ecut);
56   taskMB->SetClusM02(M02cut);
57   taskMB->SetIsV1Clus(IsV1cus);
58   taskMB->SetV1ClusName(V1ClusName);
59   taskMB->SetV2ClusName(V2ClusName);
60
61   TString containerName = mgr->GetCommonFileName();
62   containerName += ":PWGGA_pi0v2CalSemiCentral";
63   
64   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
65   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("histv2task_E%1.2f_M02%1.2f", Ecut, M02cut), TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data());
66   mgr->ConnectInput(taskMB, 0, cinput);
67   mgr->ConnectOutput(taskMB, 1, coutput2);
68   
69   return NULL;
70 }