]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSpectra.C
improved efficiency by caching leading jet per event, changed cuts on leading jet...
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalJetSpectra.C
1
2
3 AliAnalysisTaskEmcalJetSpectra* AddTaskEmcalJetSpectra(
4    const char *outfilename    = "AnalysisOutput.root",
5    const char *nJets          = "Jets",
6    UInt_t type                = 0,//AliAnalysisTaskEmcal::kTPC,
7    const char *nRhosChEm      = "rhoChEm",
8    const char *lrho           = "lrho",
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.4,
14    const char *nTracks        = "PicoTracks"
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("AddTasEmcalJetSpectra", "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("AddTaskEmcalJetSpectra", "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->SetAnaType(type);
42   spectratask->SetRhoName(nRhosChEm);
43   spectratask->SetLocalRhoName(lrho);
44   spectratask->SetJetPhiLimits(minPhi,maxPhi);
45   spectratask->SetJetEtaLimits(minEta,maxEta);
46   spectratask->SetJetAreaCut(minArea);
47   spectratask->SetTracksName(nTracks);
48
49   //-------------------------------------------------------
50   // Final settings, pass to manager and set the containers
51   //-------------------------------------------------------
52
53   mgr->AddTask(spectratask);
54
55   // Create containers for input/output
56   mgr->ConnectInput (spectratask, 0, mgr->GetCommonInputContainer() );
57   AliAnalysisDataContainer *cospectra = mgr->CreateContainer(name,
58                                                            TList::Class(),
59                                                            AliAnalysisManager::kOutputContainer,
60                                                            outfilename);
61   mgr->ConnectOutput(spectratask,1,cospectra);
62
63   return spectratask;
64 }