]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/macros/AddTaskEmcalJetSpectra.C
45bc19c99eb73fae965601d68672a9038fca7d82
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / macros / AddTaskEmcalJetSpectra.C
1 // $Id$
2
3 AliAnalysisTaskEmcalJetSpectra* AddTaskEmcalJetSpectra(
4    const char *outfilename    = "AnalysisOutput.root",
5    const char *nJets          = "Jets",
6    const char *nTracks        = "PicoTracks",
7    const char *nRhosCh        = "rhoCh",
8    const char *nRhosChEm      = "rhoChEm",
9    const char *nRhosAve       = "rho3",
10    const Double_t minPhi      = 1.8,
11    const Double_t maxPhi      = 2.74,
12    const Double_t minEta      = -0.3,
13    const Double_t maxEta      = 0.3,
14    const Double_t minArea     = 0.4
15 )
16 {  
17   // Get the pointer to the existing analysis manager via the static access method.
18   //==============================================================================
19   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
20   if (!mgr)
21   {
22     ::Error("AddTaskRho", "No analysis manager to connect to.");
23     return NULL;
24   }  
25   
26   // Check the analysis type using the event handlers connected to the analysis manager.
27   //==============================================================================
28   if (!mgr->GetInputEventHandler())
29   {
30     ::Error("AddTaskRho", "This task requires an input event handler");
31     return NULL;
32   }
33   
34   //-------------------------------------------------------
35   // Init the task and do settings
36   //-------------------------------------------------------
37
38   TString name(Form("Spectra_%s", nJets));
39   AliAnalysisTaskEmcalJetSpectra *spectratask = new AliAnalysisTaskEmcalJetSpectra(name);
40   spectratask->SetJetsName(nJets);
41   spectratask->SetRhos1Name(nRhosChEm);
42   spectratask->SetRhos2Name(nRhosCh);
43   spectratask->SetRhos3Name(nRhosAve);
44   spectratask->SetTracksName(nTracks);
45   spectratask->SetJetPhi(minPhi,maxPhi);
46   spectratask->SetJetEta(minEta,maxEta);
47   spectratask->SetAreaCut(minArea);
48
49  
50   //-------------------------------------------------------
51   // Final settings, pass to manager and set the containers
52   //-------------------------------------------------------
53
54   mgr->AddTask(spectratask);
55
56   // Create containers for input/output
57   mgr->ConnectInput (spectratask, 0, mgr->GetCommonInputContainer() );
58   AliAnalysisDataContainer *cospectra = mgr->CreateContainer(name,
59                                                            TList::Class(),
60                                                            AliAnalysisManager::kOutputContainer,
61                                                            outfilename);
62   mgr->ConnectOutput(spectratask,1,cospectra);
63
64   return spectratask;
65 }