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