]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/macros/configs/PbPb/ConfigHFE_FLOW_TOFTPC.C
Configs file
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / configs / PbPb / ConfigHFE_FLOW_TOFTPC.C
1 AliAnalysisTaskHFEFlow* ConfigHFE_FLOW_TOFTPC(Bool_t useMC, Int_t tpcCls, Double_t tpcClsr,Int_t tpcClspid,Int_t itsCls, Double_t dcaxy, 
2                               Double_t dcaz,  Double_t tofsig, Double_t tpcdedx0, Double_t tpcdedx1, Double_t tpcdedx2, Double_t tpcdedx3, Double_t tpcdedx4, Int_t vzero)
3 {
4   //
5   // HFE flow task 
6   //
7   printf("Summary settings flow task\n");
8   printf("TPC number of tracking clusters %d\n",tpcCls);
9   printf("TPC ratio clusters %f\n",tpcClsr*0.1);
10   printf("TPC number of pid clusters %d\n",tpcClspid);
11   printf("ITS number of clusters %d\n",itsCls);
12   printf("dcaxy %f\n",dcaxy);
13   printf("dcaz %f\n",dcaz);
14   printf("TOF sigma %f\n",tofsig*0.1);
15   printf("VZERO event plane %d\n",vzero);
16
17   // Cut HFE
18   AliHFEcuts *hfecuts = new AliHFEcuts("hfeCuts","HFE Standard Cuts");
19   hfecuts->CreateStandardCuts();
20   hfecuts->SetMinNClustersTPC(tpcCls);
21   hfecuts->SetMinNClustersTPCPID(tpcClspid);
22   hfecuts->SetMinRatioTPCclusters(tpcClsr*0.1);
23   hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
24       
25   hfecuts->SetMinNClustersITS(itsCls);
26   hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
27   hfecuts->SetCheckITSLayerStatus(kFALSE);
28   
29   hfecuts->SetMaxImpactParam(dcaxy,dcaz);
30       
31   //hfecuts->UnsetVertexRequirement();
32   hfecuts->SetVertexRange(10.);
33   
34   hfecuts->SetTOFPIDStep(kTRUE);
35
36   // Name
37   TString appendix(TString::Format("TPC%dTPCr%dITS%dDCAr%dz%dVZERO%d",tpcCls,(Int_t)tpcClsr, itsCls,(Int_t)dcaxy,(Int_t)dcaz,vzero));
38   printf("appendix %s\n", appendix.Data());
39   
40   // The task
41   AliAnalysisTaskHFEFlow *task = new AliAnalysisTaskHFEFlow(Form("HFEFlowtask_%s", appendix.Data()));
42   task->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral); 
43   task->SetDebugLevel(1);
44   task->GetPIDQAManager()->SetHighResolutionHistos();
45   task->SetHFECuts(hfecuts);
46   if(useMC) {
47     task->SetMCPID(kTRUE);
48     //task->SetUseMCReactionPlane(kTRUE);
49     task->SetAfterBurnerOn(kTRUE);
50     task->SetV1V2V3V4V5(0.0,0.2,0.0,0.0,0.0);
51   }
52   if(vzero>=1) task->SetVZEROEventPlane(kTRUE);
53   if(vzero==2) task->SetVZEROEventPlaneA(kTRUE);
54   if(vzero==3) task->SetVZEROEventPlaneC(kTRUE);
55
56
57   // Define PID
58   AliHFEpid *pid = task->GetPID();
59   if(useMC) pid->SetHasMCData(kTRUE);
60   pid->AddDetector("TOF", 0);
61   pid->AddDetector("TPC", 1);
62   
63   //pid->AddDetector("BAYES", 0);
64   //pid->ConfigureBayesDetectorMask(AliPIDResponse::kDetTPC+AliPIDResponse::kDetTOF+AliPIDResponse::kDetTRD);
65   //pid->ConfigureBayesPIDThreshold(0.9);
66
67   
68   TString datatype=gSystem->Getenv("CONFIG_FILE");
69   
70   if(!useMC) {
71     
72     Double_t params_centr_0_5[1];
73     Double_t params_centr_5_10[1];
74     Double_t params_centr_10_20[1];
75     Double_t params_centr_20_30[1];
76     Double_t params_centr_per[1];
77     params_centr_0_5[0]=tpcdedx0;  // cut tuned for 0-10%
78     params_centr_5_10[0]=tpcdedx1; // cut tuned for 0-10%
79     params_centr_10_20[0]=tpcdedx2;
80     params_centr_20_30[0]=tpcdedx3;
81     params_centr_per[0]=tpcdedx4;
82     
83     char *cutmodel;
84     cutmodel="pol0";
85     
86     for(Int_t a=0;a<11;a++)
87       {
88         if(a>3)  pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_per,3.0);
89         if(a==0) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_0_5,3.0);    //  0-5%
90         if(a==1) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_5_10,3.0);    //  5-10%
91         if(a==2) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_10_20,3.0);    //  10-20%
92         if(a==3) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_20_30,3.0);    //  20-30%
93       }
94     
95   }
96
97   pid->ConfigureTOF(tofsig*0.1);
98   
99   printf("*************************************\n");
100   printf("Configuring standard Task:\n");
101   task->Print();
102   pid->PrintStatus();
103   printf("*************************************\n"); 
104   return task;
105
106 }