add automatic generator creation for common generators
authormverweij <marta.verweij@cern.ch>
Mon, 13 Oct 2014 08:50:13 +0000 (10:50 +0200)
committermverweij <marta.verweij@cern.ch>
Mon, 13 Oct 2014 13:33:05 +0000 (15:33 +0200)
fix typos

PWGJE/EMCALJetTasks/macros/AddTaskJetEmbeddingFromGen.C

index c906e16..cbc76fe 100644 (file)
@@ -1,6 +1,44 @@
 // $Id$
 
 AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
+  Int_t           genType        = 0, //use Pythia as default
+  Double_t        ptHardMin      = 50.,
+  Double_t        ptHardMax      = 1000.,
+  Double_t        ecms           = 2760.,
+  const char     *tracksName     = "GenParticles",
+  const char     *taskName       = "JetEmbeddingFromGenTask",
+  const Double_t  minPt          = 10,
+  const Double_t  maxPt          = 10,
+  const Double_t  minEta         = -0.9,
+  const Double_t  maxEta         = 0.9,
+  const Double_t  minPhi         = 0,
+  const Double_t  maxPhi         = TMath::Pi() * 2,
+  const Bool_t    copyArray      = kTRUE,
+  const Bool_t    drawQA         = kFALSE,
+  const char     *partonInfoName = ""
+)
+{
+  AliGenerator *genGen = NULL;
+  if(genType==0) { //PYTHIA Perugia 2011
+    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCGenPythia.C");
+    genGen = AddMCGenPythia(ecms, ptHardMin, ptHardMax, 2, genType);
+  }
+  else if(genType==1 || genType==2) { //QPYTHIA and PYQUEN
+    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCGenQuench.C");
+    genGen = AddMCGenQuench(ecms, ptHardMin, ptHardMax, genType);
+  }
+  if(!genGen)   {
+    ::Error("AddTaskJetEmbeddingFromGenTask", "Generator does not exist");
+    return NULL;
+  }
+
+  AliJetEmbeddingFromGenTask *task = AddTaskJetEmbeddingFromGen(genGen,tracksName,taskName,minPt,maxPt,minEta,maxEta,minPhi,maxPhi,copyArray,drawQA,partonInfoName);
+
+  return task;
+
+}
+
+AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
   AliGenerator   *genGen,
   const char     *tracksName     = "GenParticles",
   const char     *taskName       = "JetEmbeddingFromGenTask",
@@ -38,8 +76,10 @@ AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
 
   AliJetEmbeddingFromGenTask *jetEmb = new AliJetEmbeddingFromGenTask(taskName,drawQA);
   // if pythia is used as a generator, tell it not to print the event history to the screen
-  if(TString(genGen->IsA()->GetName()).EqualTo("AliGenPythia")) genGen->AliGenPythia::SetEventListRange(0, 0);
-  jetEmb->SetGen(genGen);
+  if(genGen) {
+    if(TString(genGen->IsA()->GetName()).EqualTo("AliGenPythia")) genGen->AliGenPythia::SetEventListRange(0, 0);
+    jetEmb->SetGen(genGen);
+  }
   jetEmb->SetTracksName(tracksName);
   jetEmb->SetPartonInfoName(partonInfoName);
   jetEmb->SetEtaRange(minEta, maxEta);