]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/macros/AddTaskJetResponseV2.C
fix bug from last commit - Marta V.
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskJetResponseV2.C
CommitLineData
cdcf01d2 1
2
3AliAnalysisTaskJetResponseV2* AddTaskJetResponseV2(Char_t* type = "clusters", Char_t* jf = "FASTKT", Float_t radius = 0.4, UInt_t filterMask = 256 , Float_t ptTrackMin = 0.15, Int_t iBack = 1, Int_t eventClassMin = 0, Int_t eventClassMax = 4){
4
5 return AddTaskJetResponseV2(kTRUE, type, jf, radius, filterMask, ptTrackMin, iBack, eventClassMin, eventClassMax);
6
7}
8
9
00bb1149 10AliAnalysisTaskJetResponseV2* AddTaskJetResponseV2(Bool_t emb = kTRUE, Char_t* type = "clusters", Char_t* jf = "FASTKT", Float_t radius = 0.4, UInt_t filterMask = 256 , Float_t ptTrackMin = 0.15, Int_t iBack = 1, Int_t eventClassMin = 0, Int_t eventClassMax = 4, Char_t *recType = "AOD"){
3c6a60f7 11
31b9d515 12 Printf("adding task jet response\n");
13
14 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15 if(!mgr){
16 ::Error("AddTaskJetResponseV2", "No analysis manager to connect to.");
17 return NULL;
18 }
19 if(!mgr->GetInputEventHandler()){
20 ::Error("AddTaskJetResponseV2", "This task requires an input event handler.");
21 return NULL;
22 }
3c6a60f7 23
cdcf01d2 24 TString branch1 = "";
25 TString branch2 = "";
26 TString suffix = "";
27 TString suffix2 = "";
31b9d515 28
cdcf01d2 29 if(emb){
30
31 // embedding in HI event
32
33 suffix += Form("_%s", jf);
34 suffix += Form("%02d", (int)((radius+0.01)*10.));
35 suffix += Form("_B0"); // no background subtraction for extra-only
36 suffix += Form("_Filter%05d", filterMask);
37 suffix += Form("_Cut%05d", (int)((1000.*ptTrackMin)));
38 if(type=="clusters") suffix += Form("_Skip00");
39
40 suffix2 += Form("_%s", jf);
41 suffix2 += Form("%02d", (int)((radius+0.01)*10.));
42 suffix2 += Form("_B%d", iBack);
43 suffix2 += Form("_Filter%05d", filterMask);
44 suffix2 += Form("_Cut%05d", (int)((1000.*ptTrackMin)));
45 if(type=="clusters") suffix2 += Form("_Skip00");
31b9d515 46
00bb1149 47 branch1 = Form("%s%sextraonly%s",type, recType, suffix.Data());
48 branch2 = Form("%s%sextra%s",type, recType, suffix2.Data());
cdcf01d2 49
50 } else {
31b9d515 51
cdcf01d2 52 // p-p detector response
53 suffix += Form("_%s", jf);
54 suffix += Form("%02d", (int)((radius+0.01)*10.));
55 suffix += Form("_B0");
56 suffix += Form("_Filter%05d", filterMask);
57 suffix += Form("_Cut%05d", (int)((1000.*ptTrackMin)));
58 if(type=="clusters") suffix += Form("_Skip00");
59
60 suffix2 += Form("_%s", jf);
61 suffix2 += Form("%02d", (int)((radius+0.01)*10.));
62 suffix2 += Form("_B0");
63 suffix2 += Form("_Filter%05d", filterMask);
64 suffix2 += Form("_Cut%05d", (int)((1000.*ptTrackMin)));
65 if(type=="clusters") suffix2 += Form("_Skip02");
66
67 branch1 = Form("%sAODMC2%s",type, suffix.Data()); // MC truth
68 branch2 = Form("%sAOD%s",type, suffix2.Data()); // MC reconstucted
31b9d515 69
cdcf01d2 70 }
71
72 AliAnalysisTaskJetResponseV2 *task = new AliAnalysisTaskJetResponseV2(Form("JetResponseV2%s", suffix2.Data()));
3c6a60f7 73
31b9d515 74 Printf("Branch1: %s",branch1.Data());
75 Printf("Branch2: %s",branch2.Data());
76
77 task->SetBranchNames(branch1,branch2);
b55d8fee 78 //task->SetOfflineTrgMask(AliVEvent::kMB);
3c6a60f7 79
31b9d515 80 task->SetEvtClassMin(eventClassMin);
81 task->SetEvtClassMax(eventClassMax);
82 task->SetCentMin(0.);
83 task->SetCentMax(100.);
84
85 //task->SetVtxMin(-10.);
86 //task->SetVtxMax(10.);
87
88 task->SetJetPtMin(0.); // min jet pt is implicit a cut on delta pT!!
3c6a60f7 89
31b9d515 90 task->SetKeepJets(kTRUE);
91
92 //task->SetNMatchJets(1); // leading jets only
93
94 if(!emb){
95 task->SetIsPbPb(kFALSE);
96 task->SetJetPtFractionMin(0.01);
97 task->SetNMatchJets(999);
98 }
3c6a60f7 99
3c6a60f7 100
31b9d515 101 mgr->AddTask(task);
3c6a60f7 102
3c6a60f7 103
31b9d515 104 AliAnalysisDataContainer *coutputJetResponseV2 = mgr->CreateContainer(
105 Form("jetresponseV2_%s%s", type,suffix2.Data()), TList::Class(), AliAnalysisManager::kOutputContainer,
106 Form("%s:PWG4_JetResponseV2_%s%s", AliAnalysisManager::GetCommonFileName(), type, suffix2.Data()));
3c6a60f7 107
31b9d515 108 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
109 mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer());
110 mgr->ConnectOutput(task, 1, coutputJetResponseV2);
3c6a60f7 111
31b9d515 112 return task;
3c6a60f7 113}
d5ec3aef 114
115
53f9653b 116AliAnalysisTaskJetResponseV2* AddTaskJetResponseV2(TString branch1 = "", TString branch2 = "", TString branch3 = "", Int_t iTask = 0, Bool_t emb = kTRUE, Int_t eventClassMin = 0, Int_t eventClassMax = 4 ,const char* nonStdFile = AliAnalysisManager::GetGlobalStr("kJetDeltaAODName", gDebug)){
d5ec3aef 117
118 Printf("adding task jet response\n");
119
120 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
121 if(!mgr){
122 ::Error("AddTaskJetResponseV2", "No analysis manager to connect to.");
123 return NULL;
124 }
125 if(!mgr->GetInputEventHandler()){
126 ::Error("AddTaskJetResponseV2", "This task requires an input event handler.");
127 return NULL;
128 }
129
130
131
132
133 AliAnalysisTaskJetResponseV2 *task = new AliAnalysisTaskJetResponseV2(Form("JetResponseV2_%d", iTask));
134
135 Printf("Branch1: %s",branch1.Data());
136 Printf("Branch2: %s",branch2.Data());
00bb1149 137 Printf("Branch3: %s",branch3.Data());
d5ec3aef 138
139 task->SetBranchNames(branch1,branch2,branch3);
140 task->SetOfflineTrgMask(AliVEvent::kMB);
141
142 task->SetEvtClassMin(eventClassMin);
143 task->SetEvtClassMax(eventClassMax);
144 task->SetCentMin(0.);
145 task->SetCentMax(100.);
146
147 task->SetJetPtMin(0.); // min jet pt is implicit a cut on delta pT!!
148
149 task->SetKeepJets(kTRUE);
150
151 //task->SetNMatchJets(1); // leading jets only
152
153
154 if(!emb){
155 task->SetIsPbPb(kFALSE);
156 task->SetJetPtFractionMin(0.01);
157 task->SetNMatchJets(999);
158 }
159
53f9653b 160 // to fetch the AOD from the AOD extension ouput
161 if(strlen(nonStdFile)) task->SetNonStdFile(nonStdFile);
162
d5ec3aef 163 mgr->AddTask(task);
164
165
166 AliAnalysisDataContainer *coutputJetResponseV2 = mgr->CreateContainer(
167 Form("jetresponseV2_%s%s%s", branch1.Data(),branch2.Data(),branch3.Data()),
168 TList::Class(), AliAnalysisManager::kOutputContainer,
169 Form("%s:PWG4_JetResponseV2_%s%s%s", AliAnalysisManager::GetCommonFileName(),branch1.Data(),branch2.Data(),branch3.Data()));
170
171 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
172 mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer());
173 mgr->ConnectOutput(task, 1, coutputJetResponseV2);
174
175 return task;
176}
177