1 AliAnalysisTask *AddTaskHFEtpctof(Bool_t isMC,Bool_t kAnalyseTaggedTracks = kFALSE, Bool_t kMCQA = kFALSE, Bool_t kDEStep = kFALSE, Long_t aodfilter=-1, Int_t tpcCls=110, Int_t tpcClsPID = 70, Int_t itsCls=4, Double_t dcaxy=1.0, Double_t dcaz=2.0, Double_t tpcs=0., Double_t tpcu=3., Double_t tofs=3., Double_t ipSig=3.0, Bool_t prodcut = kFALSE, Bool_t ipAbs = kFALSE, Int_t itspixelcut=AliHFEextraCuts::kBoth, Bool_t withetacorrection=kFALSE, TString listname="", Int_t ptbin=0){
4 gSystem->Load("libANALYSIS.so");
5 gSystem->Load("libANALYSISalice.so");
7 AliLog::SetGlobalDebugLevel(AliLog::kError);
8 AliLog::SetClassDebugLevel("AliCFParticleGenCuts",4);
10 //set config file name
11 TString configFile("$ALICE_ROOT/PWGHF/hfe/macros/configs/pp/ConfigHFEpid2SYS.C");
12 //TString configFile("/d/alice12/bailhache/AliRootInstallations/11_09_2012/AliRoot/PWGHF/hfe/macros/configs/pp/ConfigHFEpid2SYS.C");
13 TString checkconfig="ConfigHFEpid2SYS";
14 if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
15 gROOT->LoadMacro(configFile.Data());
19 Int_t iAODfilter = (Int_t) aodfilter;
20 Int_t iDCAxy = (Int_t)(dcaxy*10.);
21 Int_t iDCAz = (Int_t)(dcaz*10.);
22 Int_t iTPCs = (Int_t)(tpcs*1000.);
23 Int_t iTOFs = (Int_t)(tofs*10.);
24 Int_t iIpSig= (Int_t)(ipSig*10.);
27 Int_t iPixelAny = itspixelcut;
29 Int_t iAnalyseTaggedTracks = 0;
32 if(prodcut) iProdCut = 0;
34 if(withetacorrection) iEtaCorr = 1;
35 if(kAnalyseTaggedTracks) iAnalyseTaggedTracks = 1;
37 if(kDEStep) iDEStep = 1;
40 TString appendix(TString::Format("T%dM%dD%df%dt%di%dr%dz%ds%dt%db%dp%da%dpa%detacorr%dptbin%d",iAnalyseTaggedTracks,iMCQA,iDEStep,iAODfilter,tpcCls,itsCls,iDCAxy,iDCAz,iTPCs,iTOFs,iIpSig,iProdCut,iIPAbs,iPixelAny,iEtaCorr,ptbin));
41 printf("appendix %s\n", appendix.Data());
43 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
45 // Check the analysis type using the event handlers connected to the analysis manager.
46 //==============================================================================
47 if (!mgr->GetInputEventHandler()) {
48 printf("AddTaskEventplane", "This task requires an input event handler");
51 TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
53 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
54 AliAnalysisTaskHFE *task = ConfigHFEpid2SYS(isMC,appendix,tpcCls,tpcClsPID,itsCls,dcaxy,dcaz,tpcs,tpcu,tofs,ipSig,prodcut,ipAbs,itspixelcut,withetacorrection,listname,ptbin,kAnalyseTaggedTracks,kMCQA,kDEStep,aodfilter);
56 if (inputDataType == "AOD"){
57 task->SetAODAnalysis();
58 task->SetFillNoCuts(kTRUE);
59 task->SetUseFlagAOD(kFALSE);
60 task->SetApplyCutAOD(kTRUE);
62 task->SelectCollisionCandidates();
67 TString containerName = mgr->GetCommonFileName();
69 containerName += appendix.Data();
71 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
72 mgr->ConnectOutput(task,1, mgr->CreateContainer(Form("HFE_Results_%s", appendix.Data()), TList::Class(),AliAnalysisManager::kOutputContainer,containerName.Data()));
73 mgr->ConnectOutput(task,2, mgr->CreateContainer(Form("HFE_QA_%s", appendix.Data()), TList::Class(),AliAnalysisManager::kOutputContainer,containerName.Data()));
74 mgr->ConnectInput(task,0, cinput );