]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSpectraMECpA.C
up from Megan
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalJetSpectraMECpA.C
CommitLineData
d7afd9ac 1// $Id$
2
3AliAnalysisTaskEmcalJetSpectraMECpA* AddTaskEmcalJetSpectraMECpA(
4 const char *outfilename = "AnalysisOutput.root",
d7afd9ac 5 UInt_t type = AliAnalysisTaskEmcal::kTPC,
f4cde8da 6 const char *nRhosCh = "rhoChEm",
9e64e697 7 TF1 *sfunc = 0,
f4cde8da 8 const Double_t radius = 0.2,
d7afd9ac 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,
f4cde8da 13 const char* usedTracks = "PicoTracks",
14 const char* outClusName = "CaloClustersCorr",
15 const Double_t minTrackPt = 0.15,
16 const Double_t minClusterPt = 0.30
17 )
d7afd9ac 18{
19 // Get the pointer to the existing analysis manager via the static access method.
20 //==============================================================================
21 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
22 if (!mgr)
23 {
24 ::Error("AddTasEmcalJetSpectraMECpA", "No analysis manager to connect to.");
25 return NULL;
26 }
27
28 // Check the analysis type using the event handlers connected to the analysis manager.
29 //==============================================================================
30 if (!mgr->GetInputEventHandler())
31 {
32 ::Error("AddTaskEmcalJetSpectraMECpA", "This task requires an input event handler");
33 return NULL;
34 }
35
f4cde8da 36 //Run the jet finder and rho tasks first
37
38 // Some constants for the jet finders
39 const Int_t cKT = 0;
40 const Int_t cANTIKT = 1;
41 const Int_t cFULLJETS = 0;
42 const Int_t cCHARGEDJETS = 1;
43 const Int_t cNEUTRALJETS = 2;
f4cde8da 44
45 float AreaCut = radius*radius*TMath::Pi();
46
47 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
48
49 AliEmcalJetTask* jetFinderTaskChBack = AddTaskEmcalJet(usedTracks,"",cKT,radius,cCHARGEDJETS,minTrackPt, minClusterPt);
50
51
52 AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,radius, cFULLJETS,minTrackPt,minClusterPt);
53
54 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskRho.C");
55
56 AliAnalysisTaskRho *rhochtask = AddTaskRho(jetFinderTaskChBack->GetName(),usedTracks,outClusName,nRhosCh,0.2,0,0.01,0,sfunc,0,kTRUE,nRhosCh);
57
58
59
d7afd9ac 60 //-------------------------------------------------------
61 // Init the task and do settings
62 //-------------------------------------------------------
63
f4cde8da 64 const char *nJets = jetFinderTask->GetName();
65
66
d7afd9ac 67 TString name(Form("SpectraMECpA_%s", nJets));
68 AliAnalysisTaskEmcalJetSpectraMECpA *spectratask = new AliAnalysisTaskEmcalJetSpectraMECpA(name);
f4cde8da 69 spectratask->SetJetsName(jetFinderTask->GetName());
d7afd9ac 70 spectratask->SetAnaType(type);
f4cde8da 71 spectratask->SetRhoName(nRhosCh);
d7afd9ac 72 spectratask->SetJetPhiLimits(minPhi,maxPhi);
73 spectratask->SetJetEtaLimits(minEta,maxEta);
f4cde8da 74 spectratask->SetJetAreaCut(AreaCut);
75 spectratask->SetTracksName(usedTracks);
d7afd9ac 76
77 //-------------------------------------------------------
78 // Final settings, pass to manager and set the containers
79 //-------------------------------------------------------
80
81 mgr->AddTask(spectratask);
82
83 // Create containers for input/output
84 mgr->ConnectInput (spectratask, 0, mgr->GetCommonInputContainer() );
85 AliAnalysisDataContainer *cospectra = mgr->CreateContainer(name,
86 TList::Class(),
87 AliAnalysisManager::kOutputContainer,
88 outfilename);
89 mgr->ConnectOutput(spectratask,1,cospectra);
90
91 return spectratask;
92}