jet framework from Marta/Salvatore
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 12 Jun 2013 20:04:13 +0000 (20:04 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 12 Jun 2013 20:04:13 +0000 (20:04 +0000)
PWGJE/CMakelibPWGJEEMCALJetTasks.pkg
PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSampleDev.C [new file with mode: 0644]
PWGJE/PWGJEEMCALJetTasksLinkDef.h

index 38943ea..793fa67 100644 (file)
@@ -28,7 +28,9 @@
 set ( SRCS 
  EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx
  EMCALJetTasks/AliAnalysisTaskEmcalJet.cxx
+ EMCALJetTasks/AliAnalysisTaskEmcalJetDev.cxx
  EMCALJetTasks/AliAnalysisTaskEmcalJetSample.cxx
+ EMCALJetTasks/AliAnalysisTaskEmcalJetSampleDev.cxx
  EMCALJetTasks/AliAnalysisTaskRho.cxx
  EMCALJetTasks/AliAnalysisTaskRhoAverage.cxx
  EMCALJetTasks/AliAnalysisTaskRhoBase.cxx
@@ -39,6 +41,7 @@ set ( SRCS
  EMCALJetTasks/AliEmcalJetTask.cxx
  EMCALJetTasks/AliHadCorrTask.cxx
  EMCALJetTasks/AliJetConstituentTagCopier.cxx
+ EMCALJetTasks/AliJetContainer.cxx
  EMCALJetTasks/AliJetEmbeddingFromAODTask.cxx
  EMCALJetTasks/AliJetEmbeddingFromGenTask.cxx
  EMCALJetTasks/AliJetEmbeddingFromPYTHIATask.cxx
diff --git a/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSampleDev.C b/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSampleDev.C
new file mode 100644 (file)
index 0000000..e3e7a0e
--- /dev/null
@@ -0,0 +1,83 @@
+// $Id: AddTaskEmcalJetSampleDev.C 60393 2013-01-20 10:05:07Z loizides $
+
+AliAnalysisTaskEmcalJetSampleDev* AddTaskEmcalJetSampleDev(
+  const char *ntracks            = "Tracks",
+  const char *nclusters          = "CaloClusters",
+  const char *njets              = "Jets",
+  const char *nrho               = "Rho",
+  Double_t    jetradius          = 0.2,
+  Double_t    jetptcut           = 1,
+  Double_t    jetareacut         = 0.557,
+  UInt_t      type               = AliAnalysisTaskEmcalJet::kEMCAL,
+  Int_t       leadhadtype        = 0,
+  const char *taskname           = "AliAnalysisTaskEmcalJetSampleDev"
+)
+{  
+  // Get the pointer to the existing analysis manager via the static access method.
+  //==============================================================================
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr)
+  {
+    ::Error("AddTaskEmcalJetSample", "No analysis manager to connect to.");
+    return NULL;
+  }  
+  
+  // Check the analysis type using the event handlers connected to the analysis manager.
+  //==============================================================================
+  if (!mgr->GetInputEventHandler())
+  {
+    ::Error("AddTaskEmcalJetSample", "This task requires an input event handler");
+    return NULL;
+  }
+  
+  //-------------------------------------------------------
+  // Init the task and do settings
+  //-------------------------------------------------------
+
+  TString name(taskname);
+  if (strcmp(njets,"")) {
+    name += "_";
+    name += njets;
+  }
+  if (strcmp(nrho,"")) {
+    name += "_";
+    name += nrho;
+  }
+  if (type == AliAnalysisTaskEmcalDev::kTPC) 
+    name += "_TPC";
+  else if (type == AliAnalysisTaskEmcalDev::kEMCAL) 
+    name += "_EMCAL";
+  else if (type == AliAnalysisTaskEmcalDev::kUser) 
+    name += "_USER";
+
+  Printf("name: %s",name.Data());
+
+  AliAnalysisTaskEmcalJetSampleDev* jetTask = new AliAnalysisTaskEmcalJetSampleDev(name);
+  jetTask->SetAnaType(type);
+  jetTask->SetTracksName(ntracks);
+  jetTask->SetClusName(nclusters);
+  jetTask->SetJetsName(njets);
+  jetTask->SetRhoName(nrho);
+  jetTask->SetJetRadius(jetradius);
+  jetTask->SetJetPtCut(jetptcut);
+  jetTask->SetPercAreaCut(jetareacut);
+  jetTask->SetLeadingHadronType(leadhadtype);
+  
+  //-------------------------------------------------------
+  // Final settings, pass to manager and set the containers
+  //-------------------------------------------------------
+  
+  mgr->AddTask(jetTask);
+  
+  // Create containers for input/output
+  AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer()  ;
+  TString contname(name);
+  contname += "_histos";
+  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(), 
+                                                           TList::Class(),AliAnalysisManager::kOutputContainer,
+                                                           Form("%s", AliAnalysisManager::GetCommonFileName()));
+  mgr->ConnectInput  (jetTask, 0,  cinput1 );
+  mgr->ConnectOutput (jetTask, 1, coutput1 );
+  
+  return jetTask;
+}
index 9d75f88..d6a2f7a 100644 (file)
@@ -7,6 +7,7 @@
 #pragma link off all functions;
 
 #pragma link C++ class AliAnalysisTaskEmcalJet+;
+#pragma link C++ class AliAnalysisTaskEmcalJetDev+;
 #pragma link C++ class AliAnalysisTaskRhoBase+;
 #pragma link C++ class AliAnalysisTaskRho+;
 #pragma link C++ class AliAnalysisTaskRhoFlow+;
@@ -17,6 +18,7 @@
 #pragma link C++ class AliEmcalJet+;
 #pragma link C++ class AliEmcalJetTask+;
 #pragma link C++ class AliHadCorrTask+;
+#pragma link C++ class AliJetContainer+;
 #pragma link C++ class AliJetEmbeddingTask+;
 #pragma link C++ class AliJetEmbeddingFromGenTask+;
 #pragma link C++ class AliJetEmbeddingFromAODTask+;
@@ -33,6 +35,7 @@
 #pragma link C++ class AliAnalysisTaskEmcalJetHMEC+;
 #pragma link C++ class AliAnalysisTaskEmcalJetHadCorQA+;
 #pragma link C++ class AliAnalysisTaskEmcalJetSample+;
+#pragma link C++ class AliAnalysisTaskEmcalJetSampleDev+;
 #pragma link C++ class AliAnalysisTaskEmcalJetSpectra+;
 #pragma link C++ class AliAnalysisTaskEmcalJetSpectraMECpA;
 #pragma link C++ class AliAnalysisTaskEmcalJetTriggerQA+;