]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/macros/AddTaskEMCALPi0V2.C
changes from fzhou
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEMCALPi0V2.C
1 // $Id: AddTaskEMCALPi0V2.C 56081 2012-05-01 08:57:08Z loizides $
2
3 AliAnalysisTask *AddTaskEMCALPi0V2 (
4   TString trackName  = "PicoTracks",
5   Double_t Ecut      = 1,   
6   Double_t M02cut    = 0.5, 
7   Double_t fDrCut    = 0.025, 
8   Bool_t IsV1cus     = 0,
9   TString V1ClusName = "CaloClusters", 
10   TString V2ClusName = "caloClusters", 
11   TString trigClass  = "",
12   Bool_t IsPhosCali  = kFALSE,
13   Bool_t IsCentFlat  = kTRUE,
14   Int_t EvtType      = 5 
15 )
16 {
17   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
18   if (!mgr) {
19     Error("AddTaskEMCALPi0V2", "No analysis manager found.");
20     return NULL;
21   }
22
23   if (!mgr->GetInputEventHandler()) {
24     ::Error("AddTaskEMCALPi0V2", "This task requires an input event handler");
25     return NULL;
26   }
27
28   TString Input;
29   AliAnalysisTaskPi0V2* taskMB = new  AliAnalysisTaskPi0V2("Pi0v2Task");
30   if(EvtType == 1){ //central
31     taskMB->SelectCollisionCandidates(AliVEvent::kCentral);
32     Input = "kCentral";
33   } else if (EvtType == 2){ //SemiCentral
34     taskMB->SelectCollisionCandidates(AliVEvent::kSemiCentral);
35     Input = "kSemiCentral";
36   } else if (EvtType == 3){ //kMB 
37     taskMB->SelectCollisionCandidates(AliVEvent::kMB);
38     Input = "kMB";
39   } else if (EvtType == 4){ //Central + SemiCentral 
40     taskMB->SelectCollisionCandidates(AliVEvent::kCentral | AliVEvent::kSemiCentral);
41     Input = "Central_SemiCentral";
42   } else if (EvtType == 5){ //Central + SemiCentral + kMB
43     taskMB->SelectCollisionCandidates(AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB);
44     Input = "ALLMB";
45   }
46   taskMB->SetTracksName(trackName.Data());
47   taskMB->SetClusE(Ecut);
48   taskMB->SetClusM02(M02cut);
49   taskMB->SetDrCut(fDrCut);
50   taskMB->SetIsV1Clus(IsV1cus);
51   taskMB->SetV1ClusName(V1ClusName);
52   taskMB->SetV2ClusName(V2ClusName);
53   taskMB->SetTrigClass(trigClass);
54   taskMB->SetIsPHOSCali(IsPhosCali);
55   taskMB->SetIsCentFlat(IsCentFlat);
56
57   TString containerName = mgr->GetCommonFileName();
58   containerName += ":PWGGA_EMCalpi0v2";
59
60   if(IsPhosCali) 
61     Input += "EPCaliON";
62
63   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
64   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(
65     Form("%s_E%1.2f_M02%1.2f", Input.Data(), Ecut, M02cut), 
66     TList::Class(),
67     AliAnalysisManager::kOutputContainer, 
68     containerName.Data());
69   mgr->ConnectInput(taskMB, 0, cinput);
70   mgr->ConnectOutput(taskMB, 1, coutput2);
71
72   return taskMB;
73 }