}
-AliAnalysisTaskJetResponseV2* 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){
+AliAnalysisTaskJetResponseV2* 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"){
Printf("adding task jet response\n");
suffix2 += Form("_Cut%05d", (int)((1000.*ptTrackMin)));
if(type=="clusters") suffix2 += Form("_Skip00");
- branch1 = Form("%sAODextraonly%s",type, suffix.Data());
- branch2 = Form("%sAODextra%s",type, suffix2.Data());
+ branch1 = Form("%s%sextraonly%s",type, recType, suffix.Data());
+ branch2 = Form("%s%sextra%s",type, recType, suffix2.Data());
} else {
Printf("Branch2: %s",branch2.Data());
task->SetBranchNames(branch1,branch2);
- task->SetOfflineTrgMask(AliVEvent::kMB);
+ //task->SetOfflineTrgMask(AliVEvent::kMB);
task->SetEvtClassMin(eventClassMin);
task->SetEvtClassMax(eventClassMax);
return task;
}
+
+
+AliAnalysisTaskJetResponseV2* 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)){
+
+ Printf("adding task jet response\n");
+
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if(!mgr){
+ ::Error("AddTaskJetResponseV2", "No analysis manager to connect to.");
+ return NULL;
+ }
+ if(!mgr->GetInputEventHandler()){
+ ::Error("AddTaskJetResponseV2", "This task requires an input event handler.");
+ return NULL;
+ }
+
+
+
+
+ AliAnalysisTaskJetResponseV2 *task = new AliAnalysisTaskJetResponseV2(Form("JetResponseV2_%d", iTask));
+
+ Printf("Branch1: %s",branch1.Data());
+ Printf("Branch2: %s",branch2.Data());
+ Printf("Branch3: %s",branch3.Data());
+
+ task->SetBranchNames(branch1,branch2,branch3);
+ task->SetOfflineTrgMask(AliVEvent::kMB);
+
+ task->SetEvtClassMin(eventClassMin);
+ task->SetEvtClassMax(eventClassMax);
+ task->SetCentMin(0.);
+ task->SetCentMax(100.);
+
+ task->SetJetPtMin(0.); // min jet pt is implicit a cut on delta pT!!
+
+ task->SetKeepJets(kTRUE);
+
+ //task->SetNMatchJets(1); // leading jets only
+
+
+ if(!emb){
+ task->SetIsPbPb(kFALSE);
+ task->SetJetPtFractionMin(0.01);
+ task->SetNMatchJets(999);
+ }
+
+ // to fetch the AOD from the AOD extension ouput
+ if(strlen(nonStdFile)) task->SetNonStdFile(nonStdFile);
+
+ mgr->AddTask(task);
+
+
+ AliAnalysisDataContainer *coutputJetResponseV2 = mgr->CreateContainer(
+ Form("jetresponseV2_%s%s%s", branch1.Data(),branch2.Data(),branch3.Data()),
+ TList::Class(), AliAnalysisManager::kOutputContainer,
+ Form("%s:PWG4_JetResponseV2_%s%s%s", AliAnalysisManager::GetCommonFileName(),branch1.Data(),branch2.Data(),branch3.Data()));
+
+ mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer());
+ mgr->ConnectOutput(task, 1, coutputJetResponseV2);
+
+ return task;
+}
+