]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskJetEmbeddingFromGen.C
rail updates
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskJetEmbeddingFromGen.C
CommitLineData
8628b70c 1// $Id$
aa26ece2 2
5dc5d4a3 3AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
4 Int_t genType = 0, //use Pythia as default
5 Double_t ptHardMin = 50.,
6 Double_t ptHardMax = 1000.,
7 Double_t ecms = 2760.,
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,
56d5faa8 17 const Bool_t drawQA = kTRUE,
18 const char *partonInfoName = "PartonInfo"
5dc5d4a3 19)
20{
21 AliGenerator *genGen = NULL;
22 if(genType==0) { //PYTHIA Perugia 2011
23 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/train/AddMCGenPythia.C");
56d5faa8 24 genGen = AddMCGenPythia(ecms, ptHardMin, ptHardMax, 2);
5dc5d4a3 25 }
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);
29 }
30 if(!genGen) {
31 ::Error("AddTaskJetEmbeddingFromGenTask", "Generator does not exist");
32 return NULL;
33 }
34
35 AliJetEmbeddingFromGenTask *task = AddTaskJetEmbeddingFromGen(genGen,tracksName,taskName,minPt,maxPt,minEta,maxEta,minPhi,maxPhi,copyArray,drawQA,partonInfoName);
36
37 return task;
38
39}
40
aa26ece2 41AliJetEmbeddingFromGenTask* AddTaskJetEmbeddingFromGen(
42 AliGenerator *genGen,
cd6703c5 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,
56d5faa8 52 const Bool_t drawQA = kTRUE,
cd6703c5 53 const char *partonInfoName = ""
aa26ece2 54)
55{
56 // Get the pointer to the existing analysis manager via the static access method.
57 //==============================================================================
58 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
59 if (!mgr)
60 {
61 ::Error("AddTaskJetEmbedding", "No analysis manager to connect to.");
62 return NULL;
63 }
64
65 // Check the analysis type using the event handlers connected to the analysis manager.
66 //==============================================================================
67 if (!mgr->GetInputEventHandler())
68 {
69 ::Error("AddTaskJetEmbedding", "This task requires an input event handler");
70 return NULL;
71 }
72
73 //-------------------------------------------------------
74 // Init the task and do settings
75 //-------------------------------------------------------
76
e6f3b167 77 AliJetEmbeddingFromGenTask *jetEmb = new AliJetEmbeddingFromGenTask(taskName,drawQA);
388201f0 78 // if pythia is used as a generator, tell it not to print the event history to the screen
5dc5d4a3 79 if(genGen) {
5bd647fe 80 if(TString(genGen->IsA()->GetName()).EqualTo("AliGenPythia")) genGen->AliGenPythia::SetEventListRange(-10, -10);
5dc5d4a3 81 jetEmb->SetGen(genGen);
82 }
aa26ece2 83 jetEmb->SetTracksName(tracksName);
cfa7b4df 84 jetEmb->SetPartonInfoName(partonInfoName);
aa26ece2 85 jetEmb->SetEtaRange(minEta, maxEta);
86 jetEmb->SetPhiRange(minPhi, maxPhi);
87 jetEmb->SetPtRange(minPt, maxPt);
88 jetEmb->SetCopyArray(copyArray);
89
90 //-------------------------------------------------------
91 // Final settings, pass to manager and set the containers
92 //-------------------------------------------------------
93
94 mgr->AddTask(jetEmb);
95
96 // Create containers for input/output
97 mgr->ConnectInput (jetEmb, 0, mgr->GetCommonInputContainer() );
98
e6f3b167 99 if (drawQA) {
100 TString contName = taskName;
101 contName += "_histos";
102 AliAnalysisDataContainer *outc = mgr->CreateContainer(contName,
103 TList::Class(),
104 AliAnalysisManager::kOutputContainer,
105 "AnalysisResults.root");
106 mgr->ConnectOutput(jetEmb, 1, outc);
107 }
108
109
aa26ece2 110 return jetEmb;
111}