]>
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, | |
80ac66f6 | 20 | const Char_t* nonStdFile="", |
8e103a56 | 21 | const Char_t* mcflag="", // real="", MC2 = charged jets, MC = all jets |
22 | Int_t triggerType=0, //0=single incl trigger, 1=leading track, 2=hadron pt>10 | |
23 | Int_t evtRangeLow=0, //last digit of range of ESD event number | |
24 | Int_t evtRangeHigh=9, //first digit of range of ESD event number | |
25 | Float_t trigRangeLow=0, //trigger pT low bin boreder works with triggType=0 | |
26 | Float_t trigRangeHigh=50 //trigger pT high border works with triggType=0 | |
ad869500 | 27 | ){ |
28 | ||
29 | Printf("adding task jet response\n"); | |
30 | ||
31 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
32 | if(!mgr){ | |
33 | ::Error("AddTaskJetCorePP", "No analysis manager to connect to."); | |
34 | return NULL; | |
35 | } | |
36 | if(!mgr->GetInputEventHandler()){ | |
37 | ::Error("AddTaskJetCorePP", "This task requires an input event handler."); | |
38 | return NULL; | |
39 | } | |
40 | ||
41 | Float_t jetEtaMin = -0.9 + jetParameterR; | |
42 | Float_t jetEtaMax = 0.9 - jetParameterR; | |
43 | ||
44 | TString analBranch(branchPrefix); | |
45 | TString stJetAlgo(jetAlgo); | |
46 | stJetAlgo.ToUpper(); | |
80ac66f6 | 47 | |
48 | ||
49 | TString tail; | |
50 | tail = tail + "_" + stJetAlgo + Form("%02d",(Int_t) (10*jetParameterR)); | |
51 | tail = tail + Form("_B%d",(Int_t) bgMode); | |
52 | tail = tail + Form("_Filter%05d",(UInt_t) trkFilterMask); | |
53 | tail = tail + Form("_Cut%05d",(Int_t) (1000*trackLowPtCut)); | |
54 | ||
ad869500 | 55 | if(analBranch.BeginsWith("clustersAOD")) |
80ac66f6 | 56 | tail = tail + Form("_Skip%02d",(Int_t) skipJet); |
57 | ||
58 | analBranch = analBranch + tail; | |
ad869500 | 59 | //clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00 |
60 | //Skip00 none of the most energetic jets is ommited | |
61 | //Cut00150 pT min cut on track | |
62 | //Filter00272 | |
80ac66f6 | 63 | |
64 | TString mcSuffix(mcflag); //MC2= charged jets, MC = all jets | |
65 | TString analBranchMC=""; | |
66 | if(mcSuffix.Length()>0 && mcSuffix.Contains("MC")){ | |
67 | analBranchMC = branchPrefix + mcSuffix + tail; | |
68 | } | |
69 | ||
70 | ||
71 | AliAnalysisTaskJetCorePP *task = new AliAnalysisTaskJetCorePP(Form("JetCorePP_%s_%s_%d",analBranch.Data(), mcSuffix.Data(), offlineTriggerMask)); | |
ad869500 | 72 | |
73 | task->SetBranchName(analBranch.Data()); | |
80ac66f6 | 74 | task->SetBranchNameMC(analBranchMC.Data()); |
ad869500 | 75 | task->SetNonStdFile(nonStdFile); |
76 | task->SetSystem(collisionSystem); | |
77 | task->SetJetR(jetParameterR); | |
78 | task->SetOfflineTrgMask(offlineTriggerMask); | |
79 | task->SetMinContribVtx(minContribVtx); | |
80 | task->SetVtxZMin(vtxZMin); | |
81 | task->SetVtxZMax(vtxZMax); | |
82 | task->SetFilterMask(trkFilterMask); | |
83 | task->SetCentMin(centMin); | |
84 | task->SetCentMax(centMax); | |
85 | task->SetJetEtaMin(jetEtaMin); | |
86 | task->SetJetEtaMax(jetEtaMax); | |
87 | task->SetTriggerEtaCut(triggerEtaCut); | |
88 | task->SetTrackEtaCut(trackEtaCut); | |
89 | task->SetTrackLowPtCut(trackLowPtCut); | |
8e103a56 | 90 | task->SetTriggerType(triggerType); |
91 | task->SetEventNumberRangeLow(evtRangeLow); | |
92 | task->SetEventNumberRangeHigh(evtRangeHigh); | |
93 | task->SetTriggerPtRangeLow(trigRangeLow); | |
94 | task->SetTriggerPtRangeHigh(trigRangeHigh); | |
95 | ||
96 | ||
ad869500 | 97 | task->SetDebugLevel(0); //No debug messages 0 |
98 | mgr->AddTask(task); | |
8e103a56 | 99 | //E= range of last two decimal numbers in event numbers |
100 | //Ptt range of the cosidered trigger bin | |
ad869500 | 101 | AliAnalysisDataContainer *coutputJetCorePP = mgr->CreateContainer( |
8e103a56 | 102 | Form("pwgjejetcorepp_%s_%s_%d_T%d_E%d_%d_Ptt%.0f_%.0f",analBranch.Data(),mcSuffix.Data(),offlineTriggerMask,triggerType,evtRangeLow,evtRangeHigh,trigRangeLow,trigRangeHigh), |
ad869500 | 103 | TList::Class(), |
104 | AliAnalysisManager::kOutputContainer, | |
8e103a56 | 105 | Form("%s:PWGJE_jetcorepp_%s_%s_%d_T%d_E%d_%d_Ptt%.0f_%.0f",AliAnalysisManager::GetCommonFileName(),analBranch.Data(),mcSuffix.Data(),offlineTriggerMask,triggerType,evtRangeLow,evtRangeHigh,trigRangeLow,trigRangeHigh) |
ad869500 | 106 | ); |
107 | ||
108 | mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer()); | |
109 | mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer()); | |
110 | mgr->ConnectOutput(task, 1, coutputJetCorePP); | |
111 | ||
112 | return task; | |
113 | } |