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