]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWG3/hfe/AddTaskHFE.C
Small update to distinguish, in the HV plot, channels which are OFF, from channels...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AddTaskHFE.C
... / ...
CommitLineData
1AliAnalysisTask *AddTaskHFE(){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4 if (!mgr) {
5 Error("AddTaskHFE", "No analysis manager found.");
6 return NULL;
7 }
8 if (!mgr->GetInputEventHandler()) {
9 ::Error("AddTaskHFE", "This task requires an input event handler");
10 return NULL;
11 }
12 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
13 if (type=="AOD"){
14 ::Error("AddTaskHFE", "The tasks exits because AODs are in input");
15 return NULL;
16 }
17 Bool_t MCthere=kTRUE;
18 AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
19 if(!mcH){
20 MCthere=kFALSE;
21 }
22
23 //============= Set Task Name ===================
24 //TString taskName=("AliAnalysisTaskHFE.cxx+");
25 //===============================================
26
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);
33 hfecuts->SetQAOn();
34 //hfecuts->SetMinNTrackletsTRD(5);
35
36 AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE("HFEanalysis");
37 task->SetESDAnalysis();
38 if (MCthere)
39 task->SetHasMCData(kTRUE);
40 else{
41 task->SetHasMCData(kFALSE);
42 task->SelectCollisionCandidates();
43 }
44
45 task->SetPIDStrategy(6);
46 task->SetHFECuts(hfecuts);
47 if(!MCthere){
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);
54 }
55
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);
61
62 mgr->AddTask(task);
63
64 //----------------------
65 //create data containers
66 //----------------------
67
68 //find input container
69 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
70 TString containerName = mgr->GetCommonFileName();
71 containerName += ":PWG3_hfe";
72
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 );
80
81 return task;
82}