]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/macros/AddTaskJetCorePP.C
Analysis task from Rongrong on h-jet dphi
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskJetCorePP.C
CommitLineData
ad869500 1
2
3AliAnalysisTaskJetCorePP* 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}