]>
Commit | Line | Data |
---|---|---|
ad869500 | 1 | |
2 | ||
3 | AliAnalysisTaskJetCorePP* AddTaskJetCorePP( | |
4 | const Char_t* branchPrefix="clustersAOD", | |
255cb71c | 5 | const Char_t* jetAlgo="ANTIKT", |
ad869500 | 6 | Float_t jetParameterR = 0.4, //jet R |
ad869500 | 7 | UInt_t trkFilterMask = 272, |
8 | Float_t trackLowPtCut = 0.15, | |
8aa19603 | 9 | const Char_t* jetbgAlgo="ANTIKT", //background jet algo |
10 | Float_t bgjetParameterR = 0.3, //R of jet to be removed while bg calc | |
11 | Float_t bgMaxJetPt = 8.0, //max jet pt to be accepted to bg | |
d1405a52 ML |
12 | Int_t rndTrials = 2000, //number of trials to get jet free cell area |
13 | Float_t jetFreeAreaFrac = 0.75, //cell area free of jets | |
8aa19603 | 14 | Float_t bgConeR = 0.4, //R of perp cone jet R |
ad869500 | 15 | Int_t collisionSystem = 0, //pp=0, pPb=1 |
16 | Int_t offlineTriggerMask=AliVEvent::kMB, //MinBias=0 | |
17 | Int_t minContribVtx = 1, | |
18 | Float_t vtxZMin = -10.0, | |
19 | Float_t vtxZMax = 10.0, | |
20 | Float_t centMin = 0.0, | |
21 | Float_t centMax = 100.0, | |
22 | Float_t triggerEtaCut = 0.9, | |
23 | Float_t trackEtaCut = 0.9, | |
80ac66f6 | 24 | const Char_t* nonStdFile="", |
255cb71c | 25 | const Char_t* mcFullFlag="", // real="", all jets= "MC" |
26 | const Char_t* mcChargFlag="", // real="", charged jets = "MC2" | |
8aa19603 | 27 | Bool_t bfillrespmx=0, // 0=dont fill resp mx histos, 1=fill histos |
8e103a56 | 28 | Int_t triggerType=0, //0=single incl trigger, 1=leading track, 2=hadron pt>10 |
29 | Int_t evtRangeLow=0, //last digit of range of ESD event number | |
30 | Int_t evtRangeHigh=9, //first digit of range of ESD event number | |
31 | Float_t trigRangeLow=0, //trigger pT low bin boreder works with triggType=0 | |
32 | Float_t trigRangeHigh=50 //trigger pT high border works with triggType=0 | |
ad869500 | 33 | ){ |
34 | ||
35 | Printf("adding task jet response\n"); | |
36 | ||
37 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
38 | if(!mgr){ | |
39 | ::Error("AddTaskJetCorePP", "No analysis manager to connect to."); | |
40 | return NULL; | |
41 | } | |
42 | if(!mgr->GetInputEventHandler()){ | |
43 | ::Error("AddTaskJetCorePP", "This task requires an input event handler."); | |
44 | return NULL; | |
45 | } | |
46 | ||
47 | Float_t jetEtaMin = -0.9 + jetParameterR; | |
48 | Float_t jetEtaMax = 0.9 - jetParameterR; | |
49 | ||
50 | TString analBranch(branchPrefix); | |
255cb71c | 51 | TString analBranchBg(branchPrefix); // kT bg jets |
52 | TString analBranchFullMC=""; //full jets MC to be used with charged jets MC | |
53 | TString analBranchChargMC=""; //charged jets | |
54 | TString analBranchBgChargMC=""; //charged jets kt background | |
55 | ||
56 | ||
ad869500 | 57 | TString stJetAlgo(jetAlgo); |
255cb71c | 58 | TString stJetBgAlgo(jetbgAlgo); |
ad869500 | 59 | stJetAlgo.ToUpper(); |
255cb71c | 60 | stJetBgAlgo.ToUpper(); |
80ac66f6 | 61 | |
62 | ||
255cb71c | 63 | TString jet=""; |
64 | TString jetbg=""; | |
65 | TString otherparams=""; | |
8aa19603 | 66 | jet = jet + "_" + stJetAlgo + Form("%02d",(Int_t) (10*jetParameterR)); |
67 | jetbg = jetbg + "_" + stJetBgAlgo + Form("%02d",(Int_t) (10*bgjetParameterR)); | |
255cb71c | 68 | |
69 | otherparams = otherparams + "_B0"; //bg mode | |
70 | otherparams = otherparams + Form("_Filter%05d",(UInt_t) trkFilterMask); | |
71 | otherparams = otherparams + Form("_Cut%05d",(Int_t) (1000*trackLowPtCut)); | |
80ac66f6 | 72 | |
ad869500 | 73 | if(analBranch.BeginsWith("clustersAOD")) |
255cb71c | 74 | otherparams = otherparams + Form("_Skip%02d",0); |
80ac66f6 | 75 | |
255cb71c | 76 | analBranch = analBranch + jet + otherparams; //antikt jet |
77 | analBranchBg = analBranchBg + jetbg + otherparams; //kt bg jet | |
78 | ||
ad869500 | 79 | //clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00 |
80 | //Skip00 none of the most energetic jets is ommited | |
81 | //Cut00150 pT min cut on track | |
82 | //Filter00272 | |
80ac66f6 | 83 | |
255cb71c | 84 | TString mcFullSuffix(mcFullFlag); //MC = all jets |
85 | TString mcChargSuffix(mcChargFlag); //MC2= charged jets, MC = all jets | |
86 | ||
87 | if(mcChargSuffix.Length()>0 && mcChargSuffix=="MC2"){ //charged jets generator level | |
88 | analBranchChargMC = branchPrefix + mcChargSuffix + jet + otherparams; | |
89 | analBranchBgChargMC = branchPrefix + mcChargSuffix + jetbg + otherparams; | |
90 | } | |
91 | ||
92 | if(mcFullSuffix.Length()>0 && mcFullSuffix=="MC"){ //full jets generator level | |
93 | analBranchFullMC = branchPrefix + mcFullSuffix + jet + otherparams; | |
80ac66f6 | 94 | } |
95 | ||
255cb71c | 96 | |
80ac66f6 | 97 | |
255cb71c | 98 | AliAnalysisTaskJetCorePP *task = new AliAnalysisTaskJetCorePP(Form("JetCorePP_%s_%s_%d",analBranch.Data(), mcChargSuffix.Data(), offlineTriggerMask)); |
ad869500 | 99 | |
100 | task->SetBranchName(analBranch.Data()); | |
255cb71c | 101 | task->SetBranchNameFullMC(analBranchFullMC.Data()); |
102 | task->SetBranchNameChargMC(analBranchChargMC.Data()); | |
103 | task->SetBranchNameBg(analBranchBg.Data()); //kt bg jets | |
104 | task->SetBranchNameBgChargMC(analBranchBgChargMC.Data()); //kt bg jets | |
ad869500 | 105 | task->SetNonStdFile(nonStdFile); |
106 | task->SetSystem(collisionSystem); | |
107 | task->SetJetR(jetParameterR); | |
8aa19603 | 108 | task->SetBgJetR(bgjetParameterR); |
109 | task->SetBgMaxJetPt(bgMaxJetPt); | |
d1405a52 ML |
110 | task->SetRndTrials(rndTrials); |
111 | task->SetFreeAreaFrac(jetFreeAreaFrac); | |
8aa19603 | 112 | task->SetBgConeR(bgConeR); |
ad869500 | 113 | task->SetOfflineTrgMask(offlineTriggerMask); |
114 | task->SetMinContribVtx(minContribVtx); | |
115 | task->SetVtxZMin(vtxZMin); | |
116 | task->SetVtxZMax(vtxZMax); | |
117 | task->SetFilterMask(trkFilterMask); | |
118 | task->SetCentMin(centMin); | |
119 | task->SetCentMax(centMax); | |
120 | task->SetJetEtaMin(jetEtaMin); | |
121 | task->SetJetEtaMax(jetEtaMax); | |
122 | task->SetTriggerEtaCut(triggerEtaCut); | |
123 | task->SetTrackEtaCut(trackEtaCut); | |
124 | task->SetTrackLowPtCut(trackLowPtCut); | |
8e103a56 | 125 | task->SetTriggerType(triggerType); |
126 | task->SetEventNumberRangeLow(evtRangeLow); | |
127 | task->SetEventNumberRangeHigh(evtRangeHigh); | |
128 | task->SetTriggerPtRangeLow(trigRangeLow); | |
129 | task->SetTriggerPtRangeHigh(trigRangeHigh); | |
8aa19603 | 130 | task->SetFillResponseMatrix(bfillrespmx); |
8e103a56 | 131 | |
ad869500 | 132 | task->SetDebugLevel(0); //No debug messages 0 |
133 | mgr->AddTask(task); | |
8e103a56 | 134 | //E= range of last two decimal numbers in event numbers |
135 | //Ptt range of the cosidered trigger bin | |
ad869500 | 136 | AliAnalysisDataContainer *coutputJetCorePP = mgr->CreateContainer( |
8aa19603 | 137 | Form("pwgjejetcorepp_%s_%s%02d_%s_%d_T%d_E%d_%d_Ptt%.0f_%.0f",analBranch.Data(),jetbgAlgo,TMath::Nint(10*bgjetParameterR),mcChargSuffix.Data(),offlineTriggerMask,triggerType,evtRangeLow,evtRangeHigh,trigRangeLow,trigRangeHigh), |
ad869500 | 138 | TList::Class(), |
139 | AliAnalysisManager::kOutputContainer, | |
8aa19603 | 140 | Form("%s:PWGJE_jetcorepp_%s_%s%02d_%s_%d_T%d_E%d_%d_Ptt%.0f_%.0f",AliAnalysisManager::GetCommonFileName(),analBranch.Data(),jetbgAlgo,TMath::Nint(10*bgjetParameterR),mcChargSuffix.Data(),offlineTriggerMask,triggerType,evtRangeLow,evtRangeHigh,trigRangeLow,trigRangeHigh) |
ad869500 | 141 | ); |
142 | ||
143 | mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer()); | |
144 | mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer()); | |
145 | mgr->ConnectOutput(task, 1, coutputJetCorePP); | |
146 | ||
147 | return task; | |
148 | } |