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