]>
Commit | Line | Data |
---|---|---|
ad869500 | 1 | |
2 | ||
3 | AliAnalysisTaskJetCorePP* AddTaskJetCorePP( | |
4 | const Char_t* branchPrefix="clustersAOD", | |
5 | const Char_t* jetAlgo="ANTIKT", | |
6 | Float_t jetParameterR = 0.4, //jet R | |
7 | Int_t bgMode = 0, | |
8 | UInt_t trkFilterMask = 272, | |
9 | Float_t trackLowPtCut = 0.15, | |
10 | Int_t skipJet = 0, | |
11 | Int_t collisionSystem = 0, //pp=0, pPb=1 | |
12 | Int_t offlineTriggerMask=AliVEvent::kMB, //MinBias=0 | |
13 | Int_t minContribVtx = 1, | |
14 | Float_t vtxZMin = -10.0, | |
15 | Float_t vtxZMax = 10.0, | |
16 | Float_t centMin = 0.0, | |
17 | Float_t centMax = 100.0, | |
18 | Float_t triggerEtaCut = 0.9, | |
19 | Float_t trackEtaCut = 0.9, | |
20 | const Char_t* nonStdFile="" | |
21 | ){ | |
22 | ||
23 | Printf("adding task jet response\n"); | |
24 | ||
25 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
26 | if(!mgr){ | |
27 | ::Error("AddTaskJetCorePP", "No analysis manager to connect to."); | |
28 | return NULL; | |
29 | } | |
30 | if(!mgr->GetInputEventHandler()){ | |
31 | ::Error("AddTaskJetCorePP", "This task requires an input event handler."); | |
32 | return NULL; | |
33 | } | |
34 | ||
35 | Float_t jetEtaMin = -0.9 + jetParameterR; | |
36 | Float_t jetEtaMax = 0.9 - jetParameterR; | |
37 | ||
38 | TString analBranch(branchPrefix); | |
39 | TString stJetAlgo(jetAlgo); | |
40 | stJetAlgo.ToUpper(); | |
41 | analBranch = analBranch + "_" + stJetAlgo + Form("%02d",(Int_t) (10*jetParameterR)); | |
42 | analBranch = analBranch + Form("_B%d",(Int_t) bgMode); | |
43 | analBranch = analBranch + Form("_Filter%05d",(UInt_t) trkFilterMask); | |
44 | analBranch = analBranch + Form("_Cut%05d",(Int_t) (1000*trackLowPtCut)); | |
45 | if(analBranch.BeginsWith("clustersAOD")) | |
46 | analBranch = analBranch + Form("_Skip%02d",(Int_t) skipJet); | |
47 | //clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00 | |
48 | //Skip00 none of the most energetic jets is ommited | |
49 | //Cut00150 pT min cut on track | |
50 | //Filter00272 | |
51 | ||
52 | AliAnalysisTaskJetCorePP *task = new AliAnalysisTaskJetCorePP(Form("JetCorePP_%s_%d",analBranch.Data(),offlineTriggerMask)); | |
53 | ||
54 | task->SetBranchName(analBranch.Data()); | |
55 | task->SetNonStdFile(nonStdFile); | |
56 | task->SetSystem(collisionSystem); | |
57 | task->SetJetR(jetParameterR); | |
58 | task->SetOfflineTrgMask(offlineTriggerMask); | |
59 | task->SetMinContribVtx(minContribVtx); | |
60 | task->SetVtxZMin(vtxZMin); | |
61 | task->SetVtxZMax(vtxZMax); | |
62 | task->SetFilterMask(trkFilterMask); | |
63 | task->SetCentMin(centMin); | |
64 | task->SetCentMax(centMax); | |
65 | task->SetJetEtaMin(jetEtaMin); | |
66 | task->SetJetEtaMax(jetEtaMax); | |
67 | task->SetTriggerEtaCut(triggerEtaCut); | |
68 | task->SetTrackEtaCut(trackEtaCut); | |
69 | task->SetTrackLowPtCut(trackLowPtCut); | |
70 | task->SetDebugLevel(0); //No debug messages 0 | |
71 | mgr->AddTask(task); | |
72 | ||
73 | AliAnalysisDataContainer *coutputJetCorePP = mgr->CreateContainer( | |
74 | Form("pwgjejetcorepp_%s_%d",analBranch.Data(),offlineTriggerMask), | |
75 | TList::Class(), | |
76 | AliAnalysisManager::kOutputContainer, | |
77 | Form("%s:PWGJE_jetcorepp_%s_%d",AliAnalysisManager::GetCommonFileName(),analBranch.Data(),offlineTriggerMask) | |
78 | ); | |
79 | ||
80 | mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer()); | |
81 | mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer()); | |
82 | mgr->ConnectOutput(task, 1, coutputJetCorePP); | |
83 | ||
84 | return task; | |
85 | } |