]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/FEMTOSCOPY/AliFemto/AliAnalysisTaskFemto.cxx
Update PWG2 central train macro
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliAnalysisTaskFemto.cxx
index cf1a2c232a4ff419e669a296e540e259b7d8224c..922c3efe4bb092979ed72f265f8d2933528ea728 100644 (file)
@@ -31,7 +31,7 @@ ClassImp(AliAnalysisTaskFemto)
 // extern AliFemtoManager *ConfigFemtoAnalysis();\r
 \r
 //________________________________________________________________________\r
-  AliAnalysisTaskFemto::AliAnalysisTaskFemto(const char *name, const char *aConfigMacro="ConfigFemtoAnalysis.C"): \r
+AliAnalysisTaskFemto::AliAnalysisTaskFemto(const char *name, const char *aConfigMacro, const char *aConfigParams):\r
     AliAnalysisTask(name,""), \r
     fESD(0), \r
     fAOD(0),\r
@@ -40,7 +40,8 @@ ClassImp(AliAnalysisTaskFemto)
     fReader(0x0),\r
     fManager(0x0),\r
     fAnalysisType(0),\r
-    fConfigMacro(0)\r
+    fConfigMacro(0),\r
+    fConfigParams(0)\r
 {\r
   // Constructor.\r
   // Input slot #0 works with an Ntuple\r
@@ -49,6 +50,31 @@ ClassImp(AliAnalysisTaskFemto)
   DefineOutput(0, TList::Class());\r
   fConfigMacro = (char *) malloc(sizeof(char) * strlen(aConfigMacro));\r
   strcpy(fConfigMacro, aConfigMacro);\r
+  fConfigParams = (char *) malloc(sizeof(char) * strlen(aConfigParams));\r
+  strcpy(fConfigParams, aConfigParams);\r
+}\r
+//________________________________________________________________________\r
+AliAnalysisTaskFemto::AliAnalysisTaskFemto(const char *name, const char *aConfigMacro="ConfigFemtoAnalysis.C"): \r
+    AliAnalysisTask(name,""), \r
+    fESD(0), \r
+    fAOD(0),\r
+    fStack(0),\r
+    fOutputList(0), \r
+    fReader(0x0),\r
+    fManager(0x0),\r
+    fAnalysisType(0),\r
+    fConfigMacro(0),\r
+    fConfigParams(0)\r
+{\r
+  // Constructor.\r
+  // Input slot #0 works with an Ntuple\r
+  DefineInput(0, TChain::Class());\r
+  // Output slot #0 writes into a TH1 container\r
+  DefineOutput(0, TList::Class());\r
+  fConfigMacro = (char *) malloc(sizeof(char) * strlen(aConfigMacro));\r
+  strcpy(fConfigMacro, aConfigMacro);\r
+  fConfigParams = (char *) malloc(sizeof(char) * 2);\r
+  strcpy(fConfigParams, "");\r
 }\r
 \r
 AliAnalysisTaskFemto::AliAnalysisTaskFemto(const AliAnalysisTaskFemto& aFemtoTask):\r
@@ -60,7 +86,8 @@ AliAnalysisTaskFemto::AliAnalysisTaskFemto(const AliAnalysisTaskFemto& aFemtoTas
     fReader(0x0),\r
     fManager(0x0),\r
     fAnalysisType(0),\r
-    fConfigMacro(0)\r
+    fConfigMacro(0),\r
+    fConfigParams(0)\r
 {\r
   // copy constructor\r
   fESD = aFemtoTask.fESD; \r
@@ -72,6 +99,8 @@ AliAnalysisTaskFemto::AliAnalysisTaskFemto(const AliAnalysisTaskFemto& aFemtoTas
   fAnalysisType = aFemtoTask.fAnalysisType; \r
   fConfigMacro = (char *) malloc(sizeof(char) * strlen(aFemtoTask.fConfigMacro));\r
   strcpy(fConfigMacro, aFemtoTask.fConfigMacro);\r
+  fConfigParams = (char *) malloc(sizeof(char) * strlen(aFemtoTask.fConfigParams));\r
+  strcpy(fConfigParams, aFemtoTask.fConfigParams);\r
 }\r
 \r
 \r
@@ -90,6 +119,9 @@ AliAnalysisTaskFemto& AliAnalysisTaskFemto::operator=(const AliAnalysisTaskFemto
   if (fConfigMacro) free(fConfigMacro);\r
   fConfigMacro = (char *) malloc(sizeof(char) * strlen(aFemtoTask.fConfigMacro));\r
   strcpy(fConfigMacro, aFemtoTask.fConfigMacro);\r
+  if (fConfigParams) free(fConfigParams);\r
+  fConfigParams = (char *) malloc(sizeof(char) * strlen(aFemtoTask.fConfigParams));\r
+  strcpy(fConfigParams, aFemtoTask.fConfigParams);\r
 \r
   return *this;\r
 }\r
@@ -97,6 +129,7 @@ AliAnalysisTaskFemto& AliAnalysisTaskFemto::operator=(const AliAnalysisTaskFemto
 AliAnalysisTaskFemto::~AliAnalysisTaskFemto() \r
 {\r
   if (fConfigMacro) free(fConfigMacro);\r
+  if (fConfigParams) free(fConfigParams);\r
 }\r
 \r
 \r
@@ -170,7 +203,10 @@ void AliAnalysisTaskFemto::CreateOutputObjects() {
 //   gROOT->LoadMacro(fcm);\r
   gROOT->LoadMacro(fConfigMacro);\r
   //  fJetFinder = (AliJetFinder*) gInterpreter->ProcessLine("ConfigJetAnalysis()");\r
-  SetFemtoManager((AliFemtoManager *) gInterpreter->ProcessLine("ConfigFemtoAnalysis()"));\r
+  if (fConfigParams)\r
+    SetFemtoManager((AliFemtoManager *) gInterpreter->ProcessLine("ConfigFemtoAnalysis()"));\r
+  else\r
+    SetFemtoManager((AliFemtoManager *) gInterpreter->ProcessLine(Form("ConfigFemtoAnalysis(%s)", fConfigParams)));\r
 \r
   TList *tOL;\r
   fOutputList = fManager->Analysis(0)->GetOutputList();\r