]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/macros/AddTaskJetResponseV2.C
Converting PWG/TRD to native cmake
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskJetResponseV2.C
index 5f04a227874811ad57038d6b31ab14435c6d9c37..e4f740ff76c787bb30b172836ec4930193c86ec3 100644 (file)
@@ -7,7 +7,7 @@ AliAnalysisTaskJetResponseV2* AddTaskJetResponseV2(Char_t* type = "clusters", Ch
 }
 
 
-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");
 
@@ -44,8 +44,8 @@ AliAnalysisTaskJetResponseV2* AddTaskJetResponseV2(Bool_t emb = kTRUE, Char_t* t
       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 {
       
@@ -75,7 +75,7 @@ AliAnalysisTaskJetResponseV2* AddTaskJetResponseV2(Bool_t emb = kTRUE, Char_t* t
    Printf("Branch2: %s",branch2.Data());
 
    task->SetBranchNames(branch1,branch2);
-   task->SetOfflineTrgMask(AliVEvent::kMB);
+   //task->SetOfflineTrgMask(AliVEvent::kMB);
 
    task->SetEvtClassMin(eventClassMin);
    task->SetEvtClassMax(eventClassMax);
@@ -111,3 +111,67 @@ AliAnalysisTaskJetResponseV2* AddTaskJetResponseV2(Bool_t emb = kTRUE, Char_t* t
 
    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;
+}
+