]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/macros/configs/PbPb/ConfigHFEpbpbSYSbeauty.C
Configs file
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / configs / PbPb / ConfigHFEpbpbSYSbeauty.C
1 AliAnalysisTaskHFE* ConfigHFEpbpbSYSbeauty(Bool_t useMC=kFALSE, Bool_t beauty=kFALSE, UChar_t Sample=10,
2                                   UChar_t TPCcl=70, UChar_t TPCclPID = 80, 
3                                   Double_t TPCclRatio = 0.6, Double_t TPCclshared = 1.1,
4                                   UChar_t ITScl=3,  Double_t ITSchi2perclusters=99999999.,
5                                   Double_t dcaxy=1000.0, Double_t dcaz=2000.0,
6                                   Double_t TPCs=0., Double_t TPCu=3.09, 
7                                   Double_t TOFs=3.,Double_t IpSig=3., TString appendix){
8   //
9   // HFE standard task configuration
10   //
11     Bool_t kAnalyseTaggedTracks = kTRUE;
12
13   printf("\n String settings: %s \n",appendix);
14
15   AliHFEcuts *hfecuts = new AliHFEcuts(appendix,"HFE cuts pbpb TOF TPC");
16   hfecuts->CreateStandardCuts();
17
18   hfecuts->SetMinNClustersTPC(TPCcl);
19   hfecuts->SetMinNClustersTPCPID(TPCclPID);
20   hfecuts->SetMinRatioTPCclusters(TPCclRatio);
21   hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
22   hfecuts->SetFractionOfSharedTPCClusters(TPCclshared);
23
24   hfecuts->SetMinNClustersITS(ITScl);
25   hfecuts->SetMaxChi2perClusterITS(ITSchi2perclusters);
26   hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
27   hfecuts->SetCheckITSLayerStatus(kFALSE);
28
29   hfecuts->SetIPcutParam(0,0,0,IpSig,kTRUE);
30   if(useMC && beauty) hfecuts->SetProductionVertex(0,100,0,100);
31
32   hfecuts->SetMaxImpactParam(dcaxy,dcaz);
33
34   // event cuts
35   hfecuts->SetUseMixedVertex(kTRUE);
36   hfecuts->SetVertexRange(10.);
37
38   // others
39   hfecuts->SetTOFPIDStep(kTRUE);
40   //hfecuts->SetMaxChi2perClusterITS(36);
41   //hfecuts->SetTOFMISMATCHStep(kTRUE);
42   //hfecuts->SetTPCPIDCleanUpStep(kTRUE);
43   hfecuts->SetQAOn();
44
45   AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE(appendix);
46   task->SetHFECuts(hfecuts);
47   task->SetPbPbAnalysis(kTRUE);
48   task->SetRemovePileUp(kTRUE);
49   task->GetPIDQAManager()->SetHighResolutionHistos();
50   
51   // Define Variables
52   Double_t ptbinning[19] = {0., 0.1, 0.3, 0.5, 0.7, 0.9, 1.1, 1.3, 1.5, 2., 2.5, 3., 4., 5., 6., 8., 12., 16., 20.};
53   //Double_t ptbinning[36] = {0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.1, 1.2,
54   //                        1.3, 1.4, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.5, 4., 4.5, 5.,
55   //                        5.5, 6., 7., 8., 10., 12., 14., 16., 18., 20.};
56   Double_t etabinning[17] = {-0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0., 0.1, 0.2, 
57                              0.3, 0.4, 0.5, 0.6, 0.7, 0.8};
58   AliHFEvarManager *vm = task->GetVarManager();
59   //vm->AddVariable("pt");
60   //vm->AddVariable("eta");
61   // vm->AddVariable("pt", 35, ptbinning);
62   vm->AddVariable("pt", 18, ptbinning);
63   vm->AddVariable("eta", 16, etabinning);
64   vm->AddVariable("phi");
65   vm->AddVariable("charge");
66   vm->AddVariable("source");
67   vm->AddVariable("centrality");
68   
69   if(!useMC){
70     
71     for(Int_t a=0;a<12;a++)
72       {
73         TF1 *hBackground = new TF1("hadronicBackgroundFunction","TMath::Exp([0]/x + [1])", 0., 20.);
74         hBackground->SetParameter(0, -43.87);
75         hBackground->SetParameter(1, 2.85);
76         task->SetBackGroundFactorsFunction(hBackground,a);
77       }
78   }
79   
80   // Define PID
81   AliHFEpid *pid = task->GetPID();
82   if(useMC) pid->SetHasMCData(kTRUE);
83   pid->AddDetector("TOF", 0);
84   pid->AddDetector("TPC", 1);
85   //pid->ConfigureTPCrejection();
86   
87   if(!useMC){
88     
89     Double_t params_centr_0_5[1];
90     Double_t params_centr_5_10[1];
91     Double_t params_centr_10_20[1];
92     Double_t params_centr_20_30[1];
93     Double_t params_centr_per[1];
94     params_centr_0_5[0]=  0.06; // cut tuned for 0-10% // TPCs
95     params_centr_5_10[0]= 0.06; // cut tuned for 0-10%
96     params_centr_10_20[0]= 0.17;
97     params_centr_20_30[0]= 0.26;
98     params_centr_per[0]=   0.30;
99     char *cutmodel;
100     cutmodel="pol0";
101     
102     
103     for(Int_t a=0;a<11;a++)
104       {
105         if(a>3)  pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_per,TPCu);
106         if(a==0) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_0_5,TPCu);    //  0-5%
107         if(a==1) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_5_10,TPCu);    //  5-10%
108         if(a==2) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_10_20,TPCu);    //  10-20%
109         if(a==3) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_20_30,TPCu);    //  20-30%
110       }
111   }
112   pid->ConfigureTOF(TOFs);
113
114   if(kAnalyseTaggedTracks)
115   {
116       // V0 tagged tracks
117       AliHFEcuts *v0trackCuts = new AliHFEcuts("V0trackCuts", "Track Cuts for tagged track Analysis");
118       v0trackCuts->CreateStandardCuts();
119
120       v0trackCuts->SetMinNClustersTPC(TPCcl);
121       v0trackCuts->SetMinNClustersTPCPID(TPCclPID);
122       v0trackCuts->SetFractionOfSharedTPCClusters(TPCclshared);
123       v0trackCuts->SetMinRatioTPCclusters(TPCclRatio);
124       v0trackCuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
125       v0trackCuts->SetMinNClustersITS(1);
126       v0trackCuts->SetMaxChi2perClusterITS(ITSchi2perclusters);
127       v0trackCuts->SetCutITSpixel(AliHFEextraCuts::kAny);
128       v0trackCuts->SetCheckITSLayerStatus(kFALSE);
129       v0trackCuts->UnsetVertexRequirement();
130       //v0trackCuts->SetMaxChi2perClusterITS(36);
131       //hfecuts->SetSigmaToVertex(10);
132       v0trackCuts->SetTOFPIDStep(kTRUE);
133       //v0trackCuts->SetTOFMISMATCHStep(kTRUE);
134       //v0trackCuts->SetTPCPIDCleanUpStep(kTRUE);
135       v0trackCuts->SetQAOn();
136
137       task->SwitchOnPlugin(AliAnalysisTaskHFE::kTaggedTrackAnalysis);
138       task->SetTaggedTrackCuts(v0trackCuts);
139       task->SetCleanTaggedTrack(kFALSE);
140   }
141   
142   // QA
143   task->SetQAOn(AliAnalysisTaskHFE::kPIDqa);
144   //task->SetFillSignalOnly(kFALSE);    // for DE pluging for MC
145   task->SetQAOn(AliAnalysisTaskHFE::kMCqa);
146   //task->SwitchOnPlugin(AliAnalysisTaskHFE::kIsElecBackGround);
147   //task->SwitchOnPlugin(AliAnalysisTaskHFE::kSecVtx);
148   task->SwitchOnPlugin(AliAnalysisTaskHFE::kDEstep);
149
150   printf("*************************************\n");
151   printf("Configuring task PbPb \n"); 
152   //if(isLHC10) printf("Configuring TPC1 Task 2010 :\n");
153   //if(isLHC11) printf("Configuring TPC1 Task 2011 :\n");
154   task->Print();
155   pid->PrintStatus();
156   printf("*************************************\n"); 
157   return task;
158 }