--- /dev/null
+AliAnalysisTask *AddTaskHFEnpepPb(){\r
+ // Switches\r
+ Bool_t kPhotonic = kTRUE;\r
+\r
+ // Default settings (TOF-TPC 7 TeV pp paper)\r
+ const int kDefTPCcl = 120;\r
+ const int kDefTPCclPID = 80;\r
+ const int kDefITScl = 4;\r
+ const double kDefDCAr = 1.;\r
+ const double kDefDCAz = 2.;\r
+ const double kDefTPCs = 0.026;\r
+ const double kDefTPCu = 2.8;\r
+ const double kDefTOFs = 3.;\r
+\r
+ // Default setting for the associated electron for the NonPhotonic Analysis\r
+ const double kassETA = 0.8;\r
+ const int kassITS = 2;\r
+ const int kassTPCcl = 100;\r
+ const int kassTPCPIDcl = 80;\r
+ const double kassDCAr = 1.0;\r
+ const double kassDCAz = 2.0;\r
+ const double kassTPCSminus = -3.0;\r
+ const double kassTPCSplus = 3.0;\r
+\r
+ //get the current analysis manager\r
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
+ if (!mgr) {\r
+ Error("AddTask_hfe_HFE", "No analysis manager found.");\r
+ return 0;\r
+ }\r
+\r
+ Bool_t MCthere=kTRUE;\r
+ AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());\r
+ if(!mcH) MCthere=kFALSE;\r
+\r
+ AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();\r
+\r
+ //@@ 0 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r
+\r
+ // Remember: (e.g. for 120 clusters) This is only an example to show how to calculate!\r
+ // effective mean m0=-0.113\r
+ // width w=1.03\r
+ // cut --> nsigma*w + m0\r
+ // e.g. 45% 0.122 sigma --> 0.122*1.03-0.113 = 0.013\r
+\r
+ if(kPhotonic)\r
+ {\r
+ // Task for pp @ 7 TeV\r
+ //RegisterTaskNPPID2( MCthere, kDefTPCcl, kDefTPCclPID, kDefITScl, kDefDCAr, kDefDCAz, kDefTPCs, kDefTPCu, kDefTOFs, AliHFEextraCuts::kFirst, kTRUE, kassETA, kassITS, kassTPCcl, kassTPCPIDcl, kassDCAr, kassDCAz, kassTPCSminus, kassTPCSplus);\r
+\r
+ // task for pPb @ 5.023 TeV\r
+ //RegisterTaskNPPID2( MCthere, 110, 80, 3, 1, 2, 0.045, 2.685, 3, AliHFEextraCuts::kBoth, kTRUE, kassETA, kassITS, kassTPCcl, kassTPCPIDcl, kassDCAr, kassDCAz, kassTPCSminus, kassTPCSplus);\r
+\r
+ //task for pp @ 2.76 TeV\r
+ RegisterTaskNPPID2( MCthere, 110, 80, 3, 1, 2, -1.35, 2.45, 3, AliHFEextraCuts::kBoth, kTRUE, kassETA, kassITS, kassTPCcl, kassTPCPIDcl, kassDCAr, kassDCAz, kassTPCSminus, kassTPCSplus);\r
+ }\r
+\r
+ return NULL;\r
+}\r
+\r
+//===============================================================================\r
+\r
+AliAnalysisTask *RegisterTaskNPPID2( Bool_t useMC, Int_t tpcCls=120, Int_t tpcClsPID=80, Int_t itsCls=4, Double_t dcaxy=1.0, Double_t dcaz=2.0, Double_t tpcs=-0.0113, Double_t tpcu=3.09, Double_t tofs=3., Int_t itshitpixel=0, Bool_t kNoPhotonic=kFALSE, Double_t assETA=0.8, Int_t assITS=2, Int_t assTPCcl=100, Int_t assTPCPIDcl=80, Double_t assDCAr=1.0, Double_t assDCAz=2.0, Double_t assTPCSminus=-3.0, Double_t assTPCSplus=3.0 )\r
+{\r
+ gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/pPb/ConfigHFEnpepPb.C");\r
+\r
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
+ AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();\r
+ AliAnalysisTaskHFE *task = ConfigHFEnpepPb(useMC, tpcCls, tpcClsPID, itsCls, dcaxy, dcaz, tpcs, tpcu, tofs, itshitpixel, kNoPhotonic, assETA, assITS, assTPCcl, assTPCPIDcl, assDCAr, assDCAz, assTPCSminus, assTPCSplus);\r
+ task->SetESDAnalysis();\r
+\r
+ if (useMC) task->SetHasMCData(kTRUE);\r
+ else task->SetHasMCData(kFALSE);\r
+\r
+ task->SelectCollisionCandidates(AliVEvent::kINT7);\r
+\r
+ Int_t idcaxy = (Int_t)(dcaxy*10.);\r
+ Int_t idcaz = (Int_t)(dcaz*10.);\r
+ Int_t itpcs = (Int_t)(tpcs*1000.);\r
+ Int_t itofs = (Int_t)(tofs*10.);\r
+ Int_t ipixelany = itshitpixel;\r
+\r
+ Int_t iNoPhotonic = 0;\r
+ if(kNoPhotonic) iNoPhotonic = 1;\r
+\r
+ Int_t iassETA = (Int_t)(assETA*10);\r
+ Int_t iassDCAr = (Int_t)(assDCAr*10);\r
+ Int_t iassDCAz = (Int_t)(assDCAz*10);\r
+ Int_t iassTPCSminus = (Int_t)(assTPCSminus*10);\r
+ Int_t iassTPCSplus = (Int_t)(assTPCSplus*10);\r
+\r
+ TString appendix(TString::Format("Photonic%dEta%dITS%dTPCcl%dTPCPIDcl%dDCAr%dDCAz%dTPCSminus%dTPCSplus%d", iNoPhotonic, iassETA, assITS, assTPCcl, assTPCPIDcl, iassDCAr, iassDCAz, iassTPCSminus, iassTPCSplus));\r
+ //TString appendix(TString::Format("TPCc%dTPCp%dITS%dDCAr%dz%dTPCs%dTOFs%dpa%dNoPhotonic%d",tpcCls,tpcClsPID,itsCls,idcaxy,idcaz,itpcs,itofs,ipixelany,iNoPhotonic));\r
+ printf("Add macro appendix %s\n", appendix.Data());\r
+\r
+ TString containerName = mgr->GetCommonFileName();\r
+ containerName += ":HFEpPb";\r
+ containerName += appendix.Data();\r
+ printf("container name: %s\n", containerName.Data());\r
+\r
+ //create data containers\r
+ task->ConnectOutput(1, mgr->CreateContainer(Form("HFE_Results_%s", appendix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, containerName.Data() ));\r
+ task->ConnectOutput(2, mgr->CreateContainer(Form("HFE_QA_%s", appendix.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, containerName.Data()));\r
+ mgr->ConnectInput(task, 0, cinput );\r
+\r
+ mgr->AddTask(task);\r
+\r
+ return NULL;\r
+}\r