]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/macros/AddTaskJetCorePP.C
301c704bc684b15714744c623a62a9d1ae930259
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskJetCorePP.C
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 }