AliAnalysisTaskJetShapeDeriv *AddTaskJetShapeDeriv(const char * njetsBase,
const char * njetsNoEmb,
const Double_t R,
const char * nrhoBase,
const char * nrhoMass,
const char * ntracks,
const char * nclusters,
const char * type = "TPC",
const char * CentEst = "V0M",
Int_t pSel = AliVEvent::kAny,
TString trigClass = "",
TString kEmcalTriggers = "",
TString tag = "MCMatch",
Bool_t bCreateTree = kFALSE)
{
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr)
{
Error("AddTaskJetShapeDeriv","No analysis manager found.");
return 0;
}
Bool_t ismc=kFALSE;
ismc = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
if (!mgr->GetInputEventHandler())
{
::Error("AddTaskJetShapeDeriv", "This task requires an input event handler");
return NULL;
}
TString wagonName = Form("JetShapeDeriv_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data());
//Configure jet tagger task
AliAnalysisTaskJetShapeDeriv *task = new AliAnalysisTaskJetShapeDeriv(wagonName.Data());
task->SetNCentBins(4);
//task->SetVzRange(-10.,10.);
AliParticleContainer *trackCont = task->AddParticleContainer(ntracks);
AliClusterContainer *clusterCont = task->AddClusterContainer(nclusters);
task->SetJetContainerBase(0);
TString strType(type);
AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R);
if(jetContBase) {
jetContBase->SetRhoName(nrhoBase);
jetContBase->SetRhoMassName(nrhoMass);
jetContBase->ConnectParticleContainer(trackCont);
jetContBase->ConnectClusterContainer(clusterCont);
jetContBase->SetPercAreaCut(0.6);
}
AliJetContainer *jetContNoEmb = task->AddJetContainer(njetsNoEmb,strType,R);
if(jetContNoEmb) {
jetContNoEmb->SetRhoName(nrhoBase);
jetContNoEmb->SetRhoMassName(nrhoMass);
jetContNoEmb->ConnectParticleContainer(trackCont);
jetContNoEmb->ConnectClusterContainer(clusterCont);
jetContNoEmb->SetPercAreaCut(0.6);
jetContNoEmb->SetJetPtCut(-1e6);
}
task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
task->SetCentralityEstimator(CentEst);
task->SelectCollisionCandidates(pSel);
task->SetUseAliAnaUtils(kFALSE);
task->SetCreateTree(bCreateTree);
mgr->AddTask(task);
//Connnect input
mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
//Connect output
TString contName(wagonName);
TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
mgr->ConnectOutput(task,1,coutput1);
if(bCreateTree) {
AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("%sTree",contName.Data()), TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile);
mgr->ConnectOutput(task,2,coutput2);
}
return task;
}
AddTaskJetShapeDeriv.C:10 AddTaskJetShapeDeriv.C:11 AddTaskJetShapeDeriv.C:12 AddTaskJetShapeDeriv.C:13 AddTaskJetShapeDeriv.C:14 AddTaskJetShapeDeriv.C:15 AddTaskJetShapeDeriv.C:16 AddTaskJetShapeDeriv.C:17 AddTaskJetShapeDeriv.C:18 AddTaskJetShapeDeriv.C:19 AddTaskJetShapeDeriv.C:20 AddTaskJetShapeDeriv.C:21 AddTaskJetShapeDeriv.C:22 AddTaskJetShapeDeriv.C:23 AddTaskJetShapeDeriv.C:24 AddTaskJetShapeDeriv.C:25 AddTaskJetShapeDeriv.C:26 AddTaskJetShapeDeriv.C:27 AddTaskJetShapeDeriv.C:28 AddTaskJetShapeDeriv.C:29 AddTaskJetShapeDeriv.C:30 AddTaskJetShapeDeriv.C:31 AddTaskJetShapeDeriv.C:32 AddTaskJetShapeDeriv.C:33 AddTaskJetShapeDeriv.C:34 AddTaskJetShapeDeriv.C:35 AddTaskJetShapeDeriv.C:36 AddTaskJetShapeDeriv.C:37 AddTaskJetShapeDeriv.C:38 AddTaskJetShapeDeriv.C:39 AddTaskJetShapeDeriv.C:40 AddTaskJetShapeDeriv.C:41 AddTaskJetShapeDeriv.C:42 AddTaskJetShapeDeriv.C:43 AddTaskJetShapeDeriv.C:44 AddTaskJetShapeDeriv.C:45 AddTaskJetShapeDeriv.C:46 AddTaskJetShapeDeriv.C:47 AddTaskJetShapeDeriv.C:48 AddTaskJetShapeDeriv.C:49 AddTaskJetShapeDeriv.C:50 AddTaskJetShapeDeriv.C:51 AddTaskJetShapeDeriv.C:52 AddTaskJetShapeDeriv.C:53 AddTaskJetShapeDeriv.C:54 AddTaskJetShapeDeriv.C:55 AddTaskJetShapeDeriv.C:56 AddTaskJetShapeDeriv.C:57 AddTaskJetShapeDeriv.C:58 AddTaskJetShapeDeriv.C:59 AddTaskJetShapeDeriv.C:60 AddTaskJetShapeDeriv.C:61 AddTaskJetShapeDeriv.C:62 AddTaskJetShapeDeriv.C:63 AddTaskJetShapeDeriv.C:64 AddTaskJetShapeDeriv.C:65 AddTaskJetShapeDeriv.C:66 AddTaskJetShapeDeriv.C:67 AddTaskJetShapeDeriv.C:68 AddTaskJetShapeDeriv.C:69 AddTaskJetShapeDeriv.C:70 AddTaskJetShapeDeriv.C:71 AddTaskJetShapeDeriv.C:72 AddTaskJetShapeDeriv.C:73 AddTaskJetShapeDeriv.C:74 AddTaskJetShapeDeriv.C:75 AddTaskJetShapeDeriv.C:76 AddTaskJetShapeDeriv.C:77 AddTaskJetShapeDeriv.C:78 AddTaskJetShapeDeriv.C:79 AddTaskJetShapeDeriv.C:80 AddTaskJetShapeDeriv.C:81 AddTaskJetShapeDeriv.C:82 AddTaskJetShapeDeriv.C:83 AddTaskJetShapeDeriv.C:84 AddTaskJetShapeDeriv.C:85 AddTaskJetShapeDeriv.C:86 AddTaskJetShapeDeriv.C:87 AddTaskJetShapeDeriv.C:88 AddTaskJetShapeDeriv.C:89 AddTaskJetShapeDeriv.C:90