]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskRhoVnModulation.C
from chris
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskRhoVnModulation.C
CommitLineData
38d2189d 1/*
2 * AddTask macro for class
3 * Redmer Alexander Bertens, rbertens@cern.ch
4 * Utrecht University, Utrecht, Netherlands
5 *
6 * Note: this macro is pretty much a copy of AddTaskEmcalJetSample.C
7 *
8 */
9
847e45e0 10AliAnalysisTaskRhoVnModulation* AddTaskRhoVnModulation(
38d2189d 11 const char *ntracks = "Tracks",
12 const char *nclusters = "",
13 const char *njets = "Jets",
14 const char *nrho = "Rho",
b43cf414 15 Double_t jetradius = 0.2,
16 Double_t jetptcut = 1,
17 Double_t jetareacut = 0.557,
18 UInt_t type = AliAnalysisTaskEmcal::kTPC,
19 Int_t leadhadtype = 0,
847e45e0 20 const char *taskname = "AliAnalysisTaskRhoVnModulation",
21 UInt_t runMode = AliAnalysisTaskRhoVnModulation::kGrid,
b43cf414 22 Bool_t fillQA = kTRUE,
a3e16fac 23 TString fitOpts = "WLQI",
847e45e0 24 UInt_t fitType = AliAnalysisTaskRhoVnModulation::kFourierSeries,
b43cf414 25 TArrayI *centralities = 0x0,
26 TRandom3 *randomizer = 0x0
38d2189d 27 )
28{
29 // Get the pointer to the existing analysis manager via the static access method.
30 //==============================================================================
31 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
32 if (!mgr)
33 {
34 ::Error("AddTaskEmcalJetSample", "No analysis manager to connect to.");
35 return NULL;
36 }
37
38 // Check the analysis type using the event handlers connected to the analysis manager.
39 //==============================================================================
40 if (!mgr->GetInputEventHandler())
41 {
42 ::Error("AddTaskEmcalJetSample", "This task requires an input event handler");
43 return NULL;
44 }
45
46 //-------------------------------------------------------
47 // Init the task and do settings
48 //-------------------------------------------------------
49
50 TString name(taskname);
51 if (strcmp(njets,"")) {
52 name += "_";
53 name += njets;
54 }
55 if (strcmp(nrho,"")) {
56 name += "_";
57 name += nrho;
58 }
59 if (type == AliAnalysisTaskEmcal::kTPC)
60 name += "_TPC";
61 else if (type == AliAnalysisTaskEmcal::kEMCAL)
62 name += "_EMCAL";
63 else if (type == AliAnalysisTaskEmcal::kUser)
64 name += "_USER";
65
847e45e0 66 AliAnalysisTaskRhoVnModulation* jetTask = new AliAnalysisTaskRhoVnModulation(name, runMode);
38d2189d 67 // inherited setters
68 jetTask->SetAnaType(type);
69 jetTask->SetTracksName(ntracks);
70 jetTask->SetClusName(nclusters);
71 jetTask->SetJetsName(njets);
72 jetTask->SetRhoName(nrho);
73 jetTask->SetJetRadius(jetradius);
74 jetTask->SetJetPtCut(jetptcut);
75 jetTask->SetPercAreaCut(jetareacut);
76 jetTask->SetLeadingHadronType(leadhadtype);
77 // task specific setters
78 jetTask->SetFillQAHistograms(fillQA);
79 jetTask->SetDebugMode(-1);
80 jetTask->SetModulationFitType(fitType);
81 jetTask->SetModulationFitOptions(fitOpts);
af733b78 82 jetTask->SetModulationFitMinMaxP(.001, 1);
83 jetTask->SetRandomConeRadius(jetradius);
b43cf414 84 // if centralities haven't been specified use defaults
85 if(!centralities) {
e9f3b44e 86 Int_t c[] = {0, 10, 30, 50, 70, 90};
b43cf414 87 jetTask->SetCentralityClasses(new TArrayI(sizeof(c)/sizeof(c[0]), c));
88 }
89 // if a randomized hasn't specified use a safe default
90 if(!randomizer) jetTask->SetRandomSeed(new TRandom3(0));
91
92
93
38d2189d 94
95 //-------------------------------------------------------
96 // Final settings, pass to manager and set the containers
97 //-------------------------------------------------------
98
99 mgr->AddTask(jetTask);
100
101 // Create containers for input/output
102 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
103 TString contname(name);
a3e16fac 104 contname+="_PWGJE";
38d2189d 105 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
106 TList::Class(),AliAnalysisManager::kOutputContainer,
107 Form("%s", AliAnalysisManager::GetCommonFileName()));
108 mgr->ConnectInput (jetTask, 0, cinput1 );
109 mgr->ConnectOutput (jetTask, 1, coutput1 );
110
111 switch (runMode) {
847e45e0 112 case AliAnalysisTaskRhoVnModulation::kLocal : {
38d2189d 113 gStyle->SetOptFit(1);
fe4a8ccf 114 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("good_fits_%s", name.Data()),
38d2189d 115 TList::Class(),AliAnalysisManager::kOutputContainer,
116 Form("%s", AliAnalysisManager::GetCommonFileName()));
fe4a8ccf 117 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(Form("bad_fits_%s", name.Data()),
38d2189d 118 TList::Class(),AliAnalysisManager::kOutputContainer,
119 Form("%s", AliAnalysisManager::GetCommonFileName()));
120 mgr->ConnectOutput (jetTask, 2, coutput2);
121 mgr->ConnectOutput (jetTask, 3, coutput3);
122 } break;
123 default: break;
124 }
125 return jetTask;
126}