1 AliAnalysisTask *AddTaskHFE(){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 Error("AddTaskHFE", "No analysis manager found.");
8 if (!mgr->GetInputEventHandler()) {
9 ::Error("AddTaskHFE", "This task requires an input event handler");
12 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
14 ::Error("AddTaskHFE", "The tasks exits because AODs are in input");
18 AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
23 //============= Set Task Name ===================
24 //TString taskName=("AliAnalysisTaskHFE.cxx+");
25 //===============================================
27 AliHFEcuts *hfecuts = new AliHFEcuts("hfeCuts","HFE Standard Cuts");
28 hfecuts->CreateStandardCuts();
29 hfecuts->SetMinNClustersTPC(110);
30 hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
31 hfecuts->SetCheckITSLayerStatus(kFALSE);
32 hfecuts->SetSigmaToVertex(10);
34 //hfecuts->SetMinNTrackletsTRD(5);
36 AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE("HFEanalysis");
37 task->SetESDAnalysis();
39 task->SetHasMCData(kTRUE);
41 task->SetHasMCData(kFALSE);
42 task->SelectCollisionCandidates();
45 task->SetPIDStrategy(6);
46 task->SetHFECuts(hfecuts);
48 TF1 *hBackground = new TF1("hadronicBackgroundFunction", "[0]+[1]*TMath::Erf([2]*x+[3])", 0, 20);
49 hBackground->SetParameter(0, 0.2194);
50 hBackground->SetParameter(1, 0.217);
51 hBackground->SetParameter(2, 0.6829);
52 hBackground->SetParameter(3, -2.697);
53 task->SetBackGroundFactorsFunction(hBackground);
56 // kPIDqa needs to be off for flat pT spectra !!!
57 task->SetQAOn(AliAnalysisTaskHFE::kPIDqa);
58 task->SetQAOn(AliAnalysisTaskHFE::kMCqa);
59 //task->SwitchOnPlugin(AliAnalysisTaskHFE::kIsElecBackGround);
60 //task->SwitchOnPlugin(AliAnalysisTaskHFE::kSecVtx);
64 //----------------------
65 //create data containers
66 //----------------------
68 //find input container
69 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
70 TString containerName = mgr->GetCommonFileName();
71 containerName += ":PWG3_hfe";
73 task->ConnectOutput(1, mgr->CreateContainer("HFE_nEvents", TH1I::Class(),
74 AliAnalysisManager::kOutputContainer, containerName.Data()));
75 task->ConnectOutput(2, mgr->CreateContainer("HFE_Results", TList::Class(),
76 AliAnalysisManager::kOutputContainer, containerName.Data()));
77 task->ConnectOutput(3, mgr->CreateContainer("HFE_QA", TList::Class(),
78 AliAnalysisManager::kOutputContainer, containerName.Data()));
79 mgr->ConnectInput (task, 0, cinput );