]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add AddTask macro JetResponse
authormverweij <marta.verweij@cern.ch>
Fri, 21 Feb 2014 22:04:20 +0000 (23:04 +0100)
committermverweij <marta.verweij@cern.ch>
Mon, 24 Feb 2014 10:07:30 +0000 (11:07 +0100)
PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetMassResponse.C [new file with mode: 0644]

diff --git a/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetMassResponse.C b/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetMassResponse.C
new file mode 100644 (file)
index 0000000..7869428
--- /dev/null
@@ -0,0 +1,73 @@
+AliAnalysisTaskEmcalJetMassResponse* AddTaskEmcalJetMassResponse(const char * njetsBase,
+                                                                const Double_t R,
+                                                                const char * nrhoBase, 
+                                                                const char * ntracks, 
+                                                                const char * nclusters,
+                                                                TF1        * fBkgMass,
+                                                                const char * type           = "TPC",                                        
+                                                                const char * CentEst        = "V0M",
+                                                                Int_t        pSel           = AliVEvent::kAny,
+                                                                TString      trigClass      = "",
+                                                                TString      kEmcalTriggers = "",
+                                                                TString      tag            = "MCMatch") {
+
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr)
+    {
+      Error("AddTaskEmcalJetMassResponse","No analysis manager found.");
+      return 0;
+    }
+  Bool_t ismc=kFALSE;
+  ismc = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
+
+  // Check the analysis type using the event handlers connected to the analysis manager.
+  //==============================================================================
+  if (!mgr->GetInputEventHandler())
+    {
+      ::Error("AddTaskEmcalJetMassResponse", "This task requires an input event handler");
+      return NULL;
+    }
+
+  TString wagonName = Form("JetMassResponse_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data());
+
+  //Configure jet tagger task
+  AliAnalysisTaskEmcalJetMassResponse *task = new AliAnalysisTaskEmcalJetMassResponse(wagonName.Data());
+
+  task->SetNCentBins(4);
+  //task->SetVzRange(-10.,10.);
+
+  AliParticleContainer *trackCont  = task->AddParticleContainer(ntracks);
+  AliClusterContainer *clusterCont = task->AddClusterContainer(nclusters);
+
+  task->SetJetContainerBase(0);
+
+  TString strType(type);
+  AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R);
+  if(jetContBase) {
+    jetContBase->SetRhoName(nrhoBase);
+    jetContBase->ConnectParticleContainer(trackCont);
+    jetContBase->ConnectClusterContainer(clusterCont);
+    jetContBase->SetPercAreaCut(0.6);
+  }
+
+  task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
+  task->SetCentralityEstimator(CentEst);
+  task->SelectCollisionCandidates(pSel);
+  task->SetUseAliAnaUtils(kFALSE);
+  task->SetJetMassAverageFunc(fBkgMass);
+
+  mgr->AddTask(task);
+
+  //Connnect input
+  mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
+
+  //Connect output
+  TString contName(wagonName);
+  TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
+  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
+  mgr->ConnectOutput(task,1,coutput1);
+
+  return task;  
+
+}
+