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