]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/macros/AddTaskJetEmbeddingFromGen.C
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskJetEmbeddingFromGen.C
index c906e16f486308a961c6b1d1da3c1c21f6707529..0c3e0f9f892f781645d8e54208e7dc3793d7d34e 100644 (file)
@@ -1,5 +1,48 @@
 // $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         = kTRUE,
+  const char     *pythiaInfoName = "PythiaInfo",
+  Float_t            ptWeight        =0,
+  Int_t               kTune            =2,
+  Int_t               kColorReco     =1,
+  Float_t            kQuench        =4.4e6,
+  Int_t               kAnglePyquen = 2   
+)
+{
+  AliGenerator *genGen = NULL;
+  if(genType==0) { //PYTHIA Perugia 2011
+    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCGenPythia.C");
+    genGen = AddMCGenPythia(ecms, ptHardMin, ptHardMax, kTune,kColorReco,ptWeight);
+  }
+  else if(genType==1 || genType==2) { //QPYTHIA and PYQUEN
+    gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCGenQuench.C");
+    genGen = AddMCGenQuench(ecms, ptHardMin, ptHardMax, genType,kQuench,kAnglePyquen,ptWeight);
+  }
+  if(!genGen)   {
+    ::Error("AddTaskJetEmbeddingFromGenTask", "Generator does not exist");
+    return NULL;
+  }
+
+  AliJetEmbeddingFromGenTask *task = AddTaskJetEmbeddingFromGen(genGen,tracksName,taskName,minPt,maxPt,minEta,maxEta,minPhi,maxPhi,copyArray,drawQA,pythiaInfoName);
+
+  return task;
+
+}
+
 AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
   AliGenerator   *genGen,
   const char     *tracksName     = "GenParticles",
@@ -11,8 +54,8 @@ AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
   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 = ""
+  const Bool_t    drawQA         = kTRUE,
+  const char     *pythiaInfoName = ""
 )
 {  
   // Get the pointer to the existing analysis manager via the static access method.
@@ -38,10 +81,12 @@ 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(-10, -10);
+    jetEmb->SetGen(genGen);
+  }
   jetEmb->SetTracksName(tracksName);
-  jetEmb->SetPartonInfoName(partonInfoName);
+  jetEmb->SetPythiaInfoName(pythiaInfoName);
   jetEmb->SetEtaRange(minEta, maxEta);
   jetEmb->SetPhiRange(minPhi, maxPhi);
   jetEmb->SetPtRange(minPt, maxPt);
@@ -62,7 +107,7 @@ AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
     AliAnalysisDataContainer *outc = mgr->CreateContainer(contName,
                                                           TList::Class(),
                                                           AliAnalysisManager::kOutputContainer,
-                                                          "AnalysisResults.root");
+                                                          Form("%s",AliAnalysisManager::GetCommonFileName()));
     mgr->ConnectOutput(jetEmb, 1, outc);
   }