]>
Commit | Line | Data |
---|---|---|
69c13076 | 1 | AliAnalysisTaskEmcalJetMassResponse* AddTaskEmcalJetMassResponse(const char * njetsBase, |
2 | const Double_t R, | |
3 | const char * nrhoBase, | |
4d3b366f | 4 | const char * nrhoMass, |
69c13076 | 5 | const char * ntracks, |
6 | const char * nclusters, | |
7 | TF1 * fBkgMass, | |
8 | const char * type = "TPC", | |
9 | const char * CentEst = "V0M", | |
10 | Int_t pSel = AliVEvent::kAny, | |
11 | TString trigClass = "", | |
12 | TString kEmcalTriggers = "", | |
13 | TString tag = "MCMatch") { | |
14 | ||
15 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
16 | if (!mgr) | |
17 | { | |
18 | Error("AddTaskEmcalJetMassResponse","No analysis manager found."); | |
19 | return 0; | |
20 | } | |
21 | Bool_t ismc=kFALSE; | |
22 | ismc = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE; | |
23 | ||
24 | // Check the analysis type using the event handlers connected to the analysis manager. | |
25 | //============================================================================== | |
26 | if (!mgr->GetInputEventHandler()) | |
27 | { | |
28 | ::Error("AddTaskEmcalJetMassResponse", "This task requires an input event handler"); | |
29 | return NULL; | |
30 | } | |
31 | ||
32 | TString wagonName = Form("JetMassResponse_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data()); | |
33 | ||
34 | //Configure jet tagger task | |
35 | AliAnalysisTaskEmcalJetMassResponse *task = new AliAnalysisTaskEmcalJetMassResponse(wagonName.Data()); | |
36 | ||
37 | task->SetNCentBins(4); | |
38 | //task->SetVzRange(-10.,10.); | |
39 | ||
40 | AliParticleContainer *trackCont = task->AddParticleContainer(ntracks); | |
41 | AliClusterContainer *clusterCont = task->AddClusterContainer(nclusters); | |
42 | ||
43 | task->SetJetContainerBase(0); | |
44 | ||
45 | TString strType(type); | |
46 | AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R); | |
47 | if(jetContBase) { | |
48 | jetContBase->SetRhoName(nrhoBase); | |
4d3b366f | 49 | jetContBase->SetRhoMassName(nrhoMass); |
69c13076 | 50 | jetContBase->ConnectParticleContainer(trackCont); |
51 | jetContBase->ConnectClusterContainer(clusterCont); | |
52 | jetContBase->SetPercAreaCut(0.6); | |
53 | } | |
54 | ||
55 | task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data()); | |
56 | task->SetCentralityEstimator(CentEst); | |
57 | task->SelectCollisionCandidates(pSel); | |
58 | task->SetUseAliAnaUtils(kFALSE); | |
59 | task->SetJetMassAverageFunc(fBkgMass); | |
60 | ||
61 | mgr->AddTask(task); | |
62 | ||
63 | //Connnect input | |
64 | mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() ); | |
65 | ||
66 | //Connect output | |
67 | TString contName(wagonName); | |
68 | TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName()); | |
69 | AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile); | |
70 | mgr->ConnectOutput(task,1,coutput1); | |
4d3b366f | 71 | AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("%sTree",contName.Data()), TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile); |
72 | mgr->ConnectOutput(task,2,coutput2); | |
69c13076 | 73 | |
74 | return task; | |
75 | ||
76 | } | |
77 |