X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGJE%2FFlavourJetTasks%2Fmacros%2FAddTaskFlavourJetCorrelations.C;h=fe235a3a8dc1a10802307eb6f63655a8bed164b6;hb=1353fa73a274fd98a630f92635c278dda703833e;hp=a5f9dd19b05b8abc821c139f4a42af432115505f;hpb=627dc4abbb1b24921e4602bc6209e867253fdd50;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGJE/FlavourJetTasks/macros/AddTaskFlavourJetCorrelations.C b/PWGJE/FlavourJetTasks/macros/AddTaskFlavourJetCorrelations.C index a5f9dd19b05..fe235a3a8dc 100644 --- a/PWGJE/FlavourJetTasks/macros/AddTaskFlavourJetCorrelations.C +++ b/PWGJE/FlavourJetTasks/macros/AddTaskFlavourJetCorrelations.C @@ -1,100 +1,102 @@ -AliAnalysisTaskFlavourJetCorrelations *AddTaskFlavourJetCorrelations( - AliAnalysisTaskFlavourJetCorrelations::ECandidateType cand = AliAnalysisTaskFlavourJetCorrelations::kDstartoKpipi, - TString filename = "DStartoKpipiCuts.root", - Bool_t theMCon = kFALSE, - Bool_t reco = kTRUE /*must be true if theMCon is false*/, - TString jetArrname = "", - TString suffix = "", - Bool_t triggerOnLeadingJet = kFALSE, - Int_t leadingHadType = 0 /*0 = charged, 1 = neutral, 2 = both*/, - Float_t R = 0.4, - Float_t jptcut = 10., - const char *cutType = "TPC", - Double_t percjetareacut = 1.) -{ - AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); - if (!mgr) { - ::Error("AddTaskFlavourJetCorrelations::AddTaskFlavourJetCorrelations", "No analysis manager to connect to."); - return NULL; - } - - Bool_t useStdC = kFALSE; - TFile* filecuts=TFile::Open(filename); - if (!filecuts || (filecuts && !filecuts->IsOpen())) { - cout<<"Input file not found: use std cuts"<SetStandardCutsPP2010(); - } else - analysiscuts = (AliRDHFCutsD0toKpi*)filecuts->Get("D0toKpiCuts"); - break; - case 1 : - if(useStdC) { - analysiscuts = new AliRDHFCutsDStartoKpipi(); - analysiscuts->SetStandardCutsPP2010(); - } else - analysiscuts = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts"); - analysiscuts->SetName("DStartoKpipiCuts"); - break; - } - - if (!analysiscuts) { // mm let's see if everything is ok - AliFatal("Specific AliRDHFCuts not found"); - return; - } - - printf("CREATE TASK\n"); //CREATE THE TASK - - // create the task - AliAnalysisTaskFlavourJetCorrelations *task = new AliAnalysisTaskFlavourJetCorrelations("AnaTaskFlavourJetCorrelations", - analysiscuts, cand); - task->SetJetsName(jetArrname); - task->SetMC(theMCon); - task->SetUseReco(reco); - task->SetTriggerOnLeadingJet(triggerOnLeadingJet); - task->SetJetAcceptanceType(cutType); - - mgr->AddTask(task); - - if(theMCon) { - suffix+="MC"; - if(reco) suffix+="rec"; - } - - // Create and connect containers for input/output - TString outputfile = AliAnalysisManager::GetCommonFileName(); - outputfile += ":PWG3_D2H_DEmcalJet"; - outputfile += suffix; - - TString candname="DStar"; - if(cand==0) candname="D0"; - - TString nameContainer1="hCor"; - TString nameContainer2="cutsJ"; - - nameContainer1 += candname; - nameContainer2 += candname; - - nameContainer1 += suffix; - nameContainer2 += suffix; - // ------ input data ------ - AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer(); - - // ----- output data ----- - AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(nameContainer1, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); - AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(nameContainer2, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); - - mgr->ConnectInput(task,0,mgr->GetCommonInputContainer()); - mgr->ConnectOutput(task,1,coutput1); - mgr->ConnectOutput(task,2,coutput2); - - - Printf("Input and Output connected to the manager"); - return task ; -} +AliAnalysisTaskFlavourJetCorrelations *AddTaskFlavourJetCorrelations( + AliAnalysisTaskFlavourJetCorrelations::ECandidateType cand = AliAnalysisTaskFlavourJetCorrelations::kDstartoKpipi, + TString filename = "DStartoKpipiCuts.root", + Bool_t theMCon = kFALSE, + Bool_t reco = kTRUE /*must be true if theMCon is false*/, + TString jetArrname = "", + TString suffix = "", + Bool_t triggerOnLeadingJet = kFALSE, + Int_t leadingHadType = 0 /*0 = charged, 1 = neutral, 2 = both*/, + Float_t R = 0.4, + Float_t jptcut = 10., + const char *cutType = "TPC", + Double_t percjetareacut = 1.) +{ + AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); + if (!mgr) { + ::Error("AddTaskFlavourJetCorrelations::AddTaskFlavourJetCorrelations", "No analysis manager to connect to."); + return NULL; + } + + Bool_t useStdC = kFALSE; + TFile* filecuts=TFile::Open(filename); + if (!filecuts || (filecuts && !filecuts->IsOpen())) { + cout<<"Input file not found: use std cuts"<SetStandardCutsPP2010(); + } else + analysiscuts = (AliRDHFCutsD0toKpi*)filecuts->Get("D0toKpiCuts"); + break; + case 1 : + if(useStdC) { + analysiscuts = new AliRDHFCutsDStartoKpipi(); + analysiscuts->SetStandardCutsPP2010(); + } else + analysiscuts = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts"); + analysiscuts->SetName("DStartoKpipiCuts"); + break; + } + + if (!analysiscuts) { // mm let's see if everything is ok + AliFatal("Specific AliRDHFCuts not found"); + return; + } + + printf("CREATE TASK\n"); //CREATE THE TASK + + // create the task + AliAnalysisTaskFlavourJetCorrelations *task = new AliAnalysisTaskFlavourJetCorrelations("AnaTaskFlavourJetCorrelations", + analysiscuts, cand); + task->SetJetsName(jetArrname); + task->SetMC(theMCon); + task->SetUseReco(reco); + task->SetTriggerOnLeadingJet(triggerOnLeadingJet); + task->SetJetAcceptanceType(cutType); + task->SetJetPtCut(jptcut); + task->SetPercAreaCut(percjetareacut); + + mgr->AddTask(task); + + if(theMCon) { + suffix+="MC"; + if(reco) suffix+="rec"; + } + + // Create and connect containers for input/output + TString outputfile = AliAnalysisManager::GetCommonFileName(); + outputfile += ":PWG3_D2H_DEmcalJet"; + outputfile += suffix; + + TString candname="DStar"; + if(cand==0) candname="D0"; + + TString nameContainer1="hCor"; + TString nameContainer2="cutsJ"; + + nameContainer1 += candname; + nameContainer2 += candname; + + nameContainer1 += suffix; + nameContainer2 += suffix; + // ------ input data ------ + AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer(); + + // ----- output data ----- + AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(nameContainer1, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); + AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(nameContainer2, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); + + mgr->ConnectInput(task,0,mgr->GetCommonInputContainer()); + mgr->ConnectOutput(task,1,coutput1); + mgr->ConnectOutput(task,2,coutput2); + + + Printf("Input and Output connected to the manager"); + return task ; +}