]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/macros/ConfigHFEstandard_PbPb.C
Transition PWG3 --> PWGHF
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / ConfigHFEstandard_PbPb.C
1 AliAnalysisTaskHFE* ConfigHFEstandard_PbPb(Bool_t useMC){
2   //
3   // HFE standard task configuration
4   //
5
6   AliHFEcuts *hfecuts = new AliHFEcuts("hfeCuts","HFE Standard Cuts");
7   hfecuts->CreateStandardCuts();
8   hfecuts->SetMinNClustersTPC(120);
9   hfecuts->SetMinRatioTPCclusters(0.6);
10   hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
11
12   hfecuts->SetMinNClustersITS(4);
13   hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
14   hfecuts->SetCheckITSLayerStatus(kFALSE);
15
16   //hfecuts->UnsetVertexRequirement();
17   hfecuts->SetMaxImpactParam(3.,3.);
18
19   hfecuts->SetVertexRange(10.);
20   //hfecuts->SetMaxChi2perClusterITS(36);
21   //hfecuts->SetSigmaToVertex(10);
22   hfecuts->SetTOFPIDStep(kTRUE);
23   //hfecuts->SetTOFMISMATCHStep(kTRUE);
24   //hfecuts->SetTPCPIDCleanUpStep(kTRUE);
25   hfecuts->SetQAOn();
26   //hfecuts->SetMinNTrackletsTRD(5);
27
28   AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE("HFEanalysisStandard");
29   task->SetHFECuts(hfecuts);
30   task->SetPbPbAnalysis(kTRUE);
31   //task->SetRemovePileUp(kTRUE);
32   task->GetPIDQAManager()->SetHighResolutionHistos();
33
34   // Define Variables
35   AliHFEvarManager *vm = task->GetVarManager();
36   vm->AddVariable("pt");
37   vm->AddVariable("eta");
38   vm->AddVariable("phi");
39   vm->AddVariable("charge");
40   vm->AddVariable("source");
41   vm->AddVariable("centrality");
42
43   if(!useMC){
44
45       for(Int_t a=0;a<12;a++)
46       {
47           TF1 *hBackground = new TF1("hadronicBackgroundFunction","TMath::Exp([0]/x + [1])", 0., 20.);
48           hBackground->SetParameter(0, -43.87);
49           hBackground->SetParameter(1, 2.85);
50           task->SetBackGroundFactorsFunction(hBackground,a);
51       }
52
53
54   }
55
56   // Define PID
57   AliHFEpid *pid = task->GetPID();
58   if(useMC) pid->SetHasMCData(kTRUE);
59   pid->AddDetector("TOF", 0);
60   pid->AddDetector("TPC", 1);
61 //  pid->ConfigureTPCrejection();
62
63   if(!useMC){
64
65       Double_t params_centr_0_5[1];
66       Double_t params_centr_5_10[1];
67       Double_t params_centr_10_20[1];
68       Double_t params_centr_20_30[1];
69       Double_t params_centr_per[1];
70       params_centr_0_5[0]=0.16;  // cut tuned for 0-10%
71       params_centr_5_10[0]=0.16; // cut tuned for 0-10%
72       params_centr_10_20[0]=0.29;
73       params_centr_20_30[0]=0.38;
74       params_centr_per[0]=0.44;
75       char *cutmodel;
76       cutmodel="pol0";
77
78
79       for(Int_t a=0;a<11;a++)
80       {
81           if(a>3)  pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_per,3.0);
82           if(a==0) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_0_5,3.0);    //  0-5%
83           if(a==1) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_5_10,3.0);    //  5-10%
84           if(a==2) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_10_20,3.0);    //  10-20%
85           if(a==3) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_20_30,3.0);    //  20-30%
86       }
87
88
89   }
90
91
92   // V0 tagged tracks
93   AliHFEcuts *v0trackCuts = new AliHFEcuts("V0trackCuts", "Track Cuts for tagged track Analysis");
94   v0trackCuts->CreateStandardCuts();
95   v0trackCuts->SetMinNClustersTPC(120);
96   v0trackCuts->SetMinRatioTPCclusters(0.6);
97   v0trackCuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
98   v0trackCuts->SetMinNClustersITS(1);
99   v0trackCuts->SetCutITSpixel(AliHFEextraCuts::kAny);
100   v0trackCuts->SetCheckITSLayerStatus(kFALSE);
101   v0trackCuts->UnsetVertexRequirement();
102   //v0trackCuts->SetMaxChi2perClusterITS(36);
103   //hfecuts->SetSigmaToVertex(10);
104   v0trackCuts->SetTOFPIDStep(kTRUE);
105 //  v0trackCuts->SetTOFMISMATCHStep(kTRUE);
106   //v0trackCuts->SetTPCPIDCleanUpStep(kTRUE);
107   v0trackCuts->SetQAOn();
108   
109   task->SwitchOnPlugin(AliAnalysisTaskHFE::kTaggedTrackAnalysis);
110   task->SetTaggedTrackCuts(v0trackCuts);
111   task->SetCleanTaggedTrack(kFALSE);
112   
113   // QA
114   task->SetQAOn(AliAnalysisTaskHFE::kPIDqa);
115 //  task->SetFillSignalOnly(kFALSE);    // for DE pluging for MC
116   task->SetQAOn(AliAnalysisTaskHFE::kMCqa);
117   //task->SwitchOnPlugin(AliAnalysisTaskHFE::kIsElecBackGround);
118   //task->SwitchOnPlugin(AliAnalysisTaskHFE::kSecVtx);
119   task->SwitchOnPlugin(AliAnalysisTaskHFE::kDEstep);
120
121
122
123   printf("*************************************\n");
124   printf("Configuring standard Task:\n");
125   task->Print();
126   pid->PrintStatus();
127   printf("*************************************\n"); 
128   return task;
129 }