3 AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
4 Int_t genType = 0, //use Pythia as default
5 Double_t ptHardMin = 50.,
6 Double_t ptHardMax = 1000.,
8 const char *tracksName = "GenParticles",
9 const char *taskName = "JetEmbeddingFromGenTask",
10 const Double_t minPt = 10,
11 const Double_t maxPt = 10,
12 const Double_t minEta = -0.9,
13 const Double_t maxEta = 0.9,
14 const Double_t minPhi = 0,
15 const Double_t maxPhi = TMath::Pi() * 2,
16 const Bool_t copyArray = kTRUE,
17 const Bool_t drawQA = kTRUE,
18 const char *partonInfoName = "PartonInfo"
21 AliGenerator *genGen = NULL;
22 if(genType==0) { //PYTHIA Perugia 2011
23 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCGenPythia.C");
24 genGen = AddMCGenPythia(ecms, ptHardMin, ptHardMax, 2);
26 else if(genType==1 || genType==2) { //QPYTHIA and PYQUEN
27 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCGenQuench.C");
28 genGen = AddMCGenQuench(ecms, ptHardMin, ptHardMax, genType);
31 ::Error("AddTaskJetEmbeddingFromGenTask", "Generator does not exist");
35 AliJetEmbeddingFromGenTask *task = AddTaskJetEmbeddingFromGen(genGen,tracksName,taskName,minPt,maxPt,minEta,maxEta,minPhi,maxPhi,copyArray,drawQA,partonInfoName);
41 AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
43 const char *tracksName = "GenParticles",
44 const char *taskName = "JetEmbeddingFromGenTask",
45 const Double_t minPt = 10,
46 const Double_t maxPt = 10,
47 const Double_t minEta = -0.9,
48 const Double_t maxEta = 0.9,
49 const Double_t minPhi = 0,
50 const Double_t maxPhi = TMath::Pi() * 2,
51 const Bool_t copyArray = kTRUE,
52 const Bool_t drawQA = kTRUE,
53 const char *partonInfoName = ""
56 // Get the pointer to the existing analysis manager via the static access method.
57 //==============================================================================
58 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
61 ::Error("AddTaskJetEmbedding", "No analysis manager to connect to.");
65 // Check the analysis type using the event handlers connected to the analysis manager.
66 //==============================================================================
67 if (!mgr->GetInputEventHandler())
69 ::Error("AddTaskJetEmbedding", "This task requires an input event handler");
73 //-------------------------------------------------------
74 // Init the task and do settings
75 //-------------------------------------------------------
77 AliJetEmbeddingFromGenTask *jetEmb = new AliJetEmbeddingFromGenTask(taskName,drawQA);
78 // if pythia is used as a generator, tell it not to print the event history to the screen
80 if(TString(genGen->IsA()->GetName()).EqualTo("AliGenPythia")) genGen->AliGenPythia::SetEventListRange(-10, -10);
81 jetEmb->SetGen(genGen);
83 jetEmb->SetTracksName(tracksName);
84 jetEmb->SetPartonInfoName(partonInfoName);
85 jetEmb->SetEtaRange(minEta, maxEta);
86 jetEmb->SetPhiRange(minPhi, maxPhi);
87 jetEmb->SetPtRange(minPt, maxPt);
88 jetEmb->SetCopyArray(copyArray);
90 //-------------------------------------------------------
91 // Final settings, pass to manager and set the containers
92 //-------------------------------------------------------
96 // Create containers for input/output
97 mgr->ConnectInput (jetEmb, 0, mgr->GetCommonInputContainer() );
100 TString contName = taskName;
101 contName += "_histos";
102 AliAnalysisDataContainer *outc = mgr->CreateContainer(contName,
104 AliAnalysisManager::kOutputContainer,
105 Form("%s",AliAnalysisManager::GetCommonFileName()));
106 mgr->ConnectOutput(jetEmb, 1, outc);