//---------------------------------------------------------------------//
// Macro to add the task for jet spectrum and jet shape stduies in pp. //
//---------------------------------------------------------------------//
AliAnalysisTaskJetProperties *AddTaskJetProperties(Char_t* bJet="clustersAOD",
Char_t* jetFinder="ANTIKT",
Float_t radius=0.4,
UInt_t filterMask=256,
Float_t ptTrackCut = 0.15){
//*********************************************************************************************//
//bJet can take the following name (make sure the same branch is ON for JetCluster task) //
// "clustersAOD" //
// "clustersAODMC2" //
// "clustersAODMC" //
// "clustersMCKINE2" //
// "clustersMCKINE" //
// //
// "jetsAOD" //
// "jetsAODMC2" //
// "jetsAODMC" //
// "jetsMCKINE2" //
// "jetsMCKINE" //
//---------------------------------------------------------------------------------------------//
// Example to add this task in AnalysisTrainPWG4Jets.C: //
//---------------------------------------------------------------------------------------------//
// AliAnalysisTaskJetProperties *taskJetProp = 0; //
// taskJetProp = AddTaskJetPropertiesPP("clustersAOD","ANTIKT", 0.4, kHighPtFilterMask, 0.15); //
//*********************************************************************************************//
Int_t debug = -1; // debug level, -1: not set here
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskJetPropertiesPP", "No analysis manager to connect to.");
return NULL;
}
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
if (!mgr->GetInputEventHandler()) {
::Error("AddTaskJetPropertiesPP", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
Printf("########## AddTaskJetProerties: Data Type: %s", type.Data());
TString JetBranch(bJet);
TString Method(jetFinder);
Method.ToUpper();
// Create the task and configure it.
//===========================================================================
AliAnalysisTaskJetProperties *task = new
AliAnalysisTaskJetProperties(Form("JetProperties_%s_%s",JetBranch.Data(), Method.Data()));
if(debug>=0) task->SetDebugLevel(debug);
// attach the filter mask and options
Float_t PtTrackMin = ptTrackCut;
TString cAdd = "";
cAdd += Form("_%s",Method.Data());
cAdd += Form("%02d",(int)((radius+0.01)*10.));
cAdd += Form("_B0");
cAdd += Form("_Filter%05d",filterMask);
cAdd += Form("_Cut%05d",(int)((1000.*PtTrackMin)));
cAdd += Form("_Skip00");
if(JetBranch.Length())JetBranch += cAdd;
Printf("########## AddTaskJetProperties: JetBranch '%s'", JetBranch.Data());
Printf("########## AddTaskJetProperties: JetFinder '%s'", Method.Data());
if(JetBranch.Length()) task->SetJetBranch(JetBranch);
//seting the track type by looking jet branch
//three type of tracks imlmented: kTrackAOD, kTrackKine, and kTrackAODMC
//otherwise undifined track type kTrackUndef
if(JetBranch.Contains("AODMC")) task->SetTrackType(AliAnalysisTaskJetProperties::kTrackAODMC);
else if(JetBranch.Contains("MCKINE"))task->SetTrackType(AliAnalysisTaskJetProperties::kTrackKine);
else if(JetBranch.Contains("AOD")) task->SetTrackType(AliAnalysisTaskJetProperties::kTrackAOD);
else task->SetTrackType(AliAnalysisTaskJetProperties::kTrackUndef);//undefined track type
//setting pileup rejection
Bool_t IsPileupReject = kTRUE;//=kTRUE if you want to reject pileup, =kFALSE for no pileup rejection
task->SetPileupRejection(IsPileupReject);
//setting the jet rejection
//two types implemented:kNoReject and kReject1Trk
TString contName="";
Bool_t Is1TrackJetReject = kFALSE;//=kTRUE if you want to reject single track jet
if(Is1TrackJetReject){//by default no rejection
task->SetJetRejectType(AliAnalysisTaskJetProperties::kReject1Track);
contName="_No1TrackJet";
}
task->SetJetRadius(radius);
task->SetEventCuts(10.0,2);//VtxZ=+-8cm, nContributors>2
task->SetFilterMask(filterMask);
task->SetTrackCuts();// default : pt > 0.150 GeV, |eta|<0.9, full phi acc
Float_t minJetPt = 10.0;
Float_t minJetEta = -0.5;
Float_t maxJetEta = 0.5;
Int_t tmpR = (Int_t)10*radius;
if(tmpR==2){minJetEta=-0.7;maxJetEta=0.7;}
if(tmpR==6){minJetEta=-0.3;maxJetEta=0.3;}
task->SetJetCuts(minJetPt,minJetEta,maxJetEta);
mgr->AddTask(task);
// Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
AliAnalysisDataContainer *coutput_JetProperties =
mgr->CreateContainer(Form("jetprop%s_%s", contName.Data(),JetBranch.Data()),
TList::Class(),
AliAnalysisManager::kOutputContainer,
Form("%s:PWG4_JetProp%s_%s",
AliAnalysisManager::GetCommonFileName(), contName.Data(),JetBranch.Data()));
mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput (task, 0, mgr->GetCommonOutputContainer());
mgr->ConnectOutput (task, 1, coutput_JetProperties);
return task;
}
AddTaskJetProperties.C:10 AddTaskJetProperties.C:11 AddTaskJetProperties.C:12 AddTaskJetProperties.C:13 AddTaskJetProperties.C:14 AddTaskJetProperties.C:15 AddTaskJetProperties.C:16 AddTaskJetProperties.C:17 AddTaskJetProperties.C:18 AddTaskJetProperties.C:19 AddTaskJetProperties.C:20 AddTaskJetProperties.C:21 AddTaskJetProperties.C:22 AddTaskJetProperties.C:23 AddTaskJetProperties.C:24 AddTaskJetProperties.C:25 AddTaskJetProperties.C:26 AddTaskJetProperties.C:27 AddTaskJetProperties.C:28 AddTaskJetProperties.C:29 AddTaskJetProperties.C:30 AddTaskJetProperties.C:31 AddTaskJetProperties.C:32 AddTaskJetProperties.C:33 AddTaskJetProperties.C:34 AddTaskJetProperties.C:35 AddTaskJetProperties.C:36 AddTaskJetProperties.C:37 AddTaskJetProperties.C:38 AddTaskJetProperties.C:39 AddTaskJetProperties.C:40 AddTaskJetProperties.C:41 AddTaskJetProperties.C:42 AddTaskJetProperties.C:43 AddTaskJetProperties.C:44 AddTaskJetProperties.C:45 AddTaskJetProperties.C:46 AddTaskJetProperties.C:47 AddTaskJetProperties.C:48 AddTaskJetProperties.C:49 AddTaskJetProperties.C:50 AddTaskJetProperties.C:51 AddTaskJetProperties.C:52 AddTaskJetProperties.C:53 AddTaskJetProperties.C:54 AddTaskJetProperties.C:55 AddTaskJetProperties.C:56 AddTaskJetProperties.C:57 AddTaskJetProperties.C:58 AddTaskJetProperties.C:59 AddTaskJetProperties.C:60 AddTaskJetProperties.C:61 AddTaskJetProperties.C:62 AddTaskJetProperties.C:63 AddTaskJetProperties.C:64 AddTaskJetProperties.C:65 AddTaskJetProperties.C:66 AddTaskJetProperties.C:67 AddTaskJetProperties.C:68 AddTaskJetProperties.C:69 AddTaskJetProperties.C:70 AddTaskJetProperties.C:71 AddTaskJetProperties.C:72 AddTaskJetProperties.C:73 AddTaskJetProperties.C:74 AddTaskJetProperties.C:75 AddTaskJetProperties.C:76 AddTaskJetProperties.C:77 AddTaskJetProperties.C:78 AddTaskJetProperties.C:79 AddTaskJetProperties.C:80 AddTaskJetProperties.C:81 AddTaskJetProperties.C:82 AddTaskJetProperties.C:83 AddTaskJetProperties.C:84 AddTaskJetProperties.C:85 AddTaskJetProperties.C:86 AddTaskJetProperties.C:87 AddTaskJetProperties.C:88 AddTaskJetProperties.C:89 AddTaskJetProperties.C:90 AddTaskJetProperties.C:91 AddTaskJetProperties.C:92 AddTaskJetProperties.C:93 AddTaskJetProperties.C:94 AddTaskJetProperties.C:95 AddTaskJetProperties.C:96 AddTaskJetProperties.C:97 AddTaskJetProperties.C:98 AddTaskJetProperties.C:99 AddTaskJetProperties.C:100 AddTaskJetProperties.C:101 AddTaskJetProperties.C:102 AddTaskJetProperties.C:103 AddTaskJetProperties.C:104 AddTaskJetProperties.C:105 AddTaskJetProperties.C:106 AddTaskJetProperties.C:107 AddTaskJetProperties.C:108 AddTaskJetProperties.C:109 AddTaskJetProperties.C:110 AddTaskJetProperties.C:111 AddTaskJetProperties.C:112 AddTaskJetProperties.C:113 AddTaskJetProperties.C:114 AddTaskJetProperties.C:115 AddTaskJetProperties.C:116 AddTaskJetProperties.C:117 AddTaskJetProperties.C:118 AddTaskJetProperties.C:119 AddTaskJetProperties.C:120 AddTaskJetProperties.C:121 AddTaskJetProperties.C:122 AddTaskJetProperties.C:123 AddTaskJetProperties.C:124 AddTaskJetProperties.C:125 AddTaskJetProperties.C:126 AddTaskJetProperties.C:127