]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/macros/AddTaskEMCALPi0V2.C
SHUTTLE module
[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   Bool_t IsFullHist  = kFALSE,
15   Int_t EvtType      = 5 
16 )
17 {
18   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19   if (!mgr) {
20     Error("AddTaskEMCALPi0V2", "No analysis manager found.");
21     return NULL;
22   }
23
24   if (!mgr->GetInputEventHandler()) {
25     ::Error("AddTaskEMCALPi0V2", "This task requires an input event handler");
26     return NULL;
27   }
28
29   TString Input;
30   AliAnalysisTaskPi0V2* taskMB = new  AliAnalysisTaskPi0V2("Pi0v2Task");
31   if(EvtType == 1){ //central
32     taskMB->SelectCollisionCandidates(AliVEvent::kCentral);
33     Input = "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);
39     Input = "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);
45     Input = "ALLMB";
46   }
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);
58
59   TString containerName = mgr->GetCommonFileName();
60   containerName += ":PWGGA_EMCalpi0v2";
61
62   if(IsPhosCali) 
63     Input += "_EPON_";
64   if(IsCentFlat)
65     Input += "centOn";
66
67   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
68   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(
69     Form("%s_E%1.2f_M02%1.2f", Input.Data(), Ecut, M02cut), 
70     TList::Class(),
71     AliAnalysisManager::kOutputContainer, 
72     containerName.Data());
73   mgr->ConnectInput(taskMB, 0, cinput);
74   mgr->ConnectOutput(taskMB, 1, coutput2);
75
76   return taskMB;
77 }