]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/macros/configs/PbPb/ConfigHFECalSys_PbPb.C
Update
[u/mrichter/AliRoot.git] / PWGHF / hfe / macros / configs / PbPb / ConfigHFECalSys_PbPb.C
CommitLineData
e8ae876b 1AliAnalysisTaskHFE* ConfigHFECalSys_PbPb(Bool_t useMC, int TPCclust, int Nits, int ITSstat, double nSigMim, double Mimeop, double Maxeop, int PIDorder){
6f880c3b 2 //
3 // HFE standard task configuration
4 //
5
6 cout << "==== Summary of cuts ===== " << endl;
7 cout << "TPC ; " << TPCclust << endl;
8 cout << "ITS ; " << Nits << endl;
9 cout << "PID ; " << nSigMim << " ; " << Mimeop << " ; " << Maxeop << endl;
10
11 AliHFEcuts *hfecuts = new AliHFEcuts("hfeCuts","HFE Standard Cuts for EMCal");
12 hfecuts->CreateStandardCuts();
13 //hfecuts->SetMinNClustersTPC(120);
14 hfecuts->SetMinNClustersTPC(TPCclust);
15 hfecuts->SetMinRatioTPCclusters(0.6);
16 hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
17
18 //hfecuts->SetMinNClustersITS(3);
19 hfecuts->SetMinNClustersITS(Nits);
20 hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny);
e8ae876b 21 if(ITSstat==1)hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
6f880c3b 22 hfecuts->SetCheckITSLayerStatus(kFALSE);
23
24 //hfecuts->UnsetVertexRequirement();
25 hfecuts->SetMaxImpactParam(3.,3.);
a689c6fb 26 hfecuts->SetPtRange(2.0,60.0);
6f880c3b 27
28 hfecuts->SetVertexRange(10.);
29 //hfecuts->SetMaxChi2perClusterITS(36);
30 //hfecuts->SetSigmaToVertex(10);
31 //hfecuts->SetTOFPIDStep(kTRUE);
32 //hfecuts->SetTOFMISMATCHStep(kTRUE);
33 //hfecuts->SetTPCPIDCleanUpStep(kTRUE);
34 hfecuts->SetQAOn();
35 //hfecuts->SetMinNTrackletsTRD(5);
36
37 AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE("HFEanalysisStandardEMCal");
38 task->SetHFECuts(hfecuts);
39 task->SetPbPbAnalysis(kTRUE);
40 //task->SetRemovePileUp(kTRUE);
41 task->GetPIDQAManager()->SetHighResolutionHistos();
42
43 // Define Variables
44 AliHFEvarManager *vm = task->GetVarManager();
45 //vm->AddVariable("pt");
46 //vm->AddVariable("eta");
47
48 const Double_t ptbinning[50] = {1., 1.1, 1.2, 1.3, 1.4,
49 1.5, 1.75, 2., 2.25, 2.5,
50 2.75, 3., 3.5, 4., 4.5,
51 5., 5.5, 6., 7., 8.,
52 9., 10., 11., 12., 13.,
53 14., 15., 16., 17., 18.,
54 20., 22., 24., 26., 28.,
55 30., 32., 34., 36., 38.,
56 40., 45., 50., 55., 60.,
57 65., 70., 80., 90., 100};
58
59 const 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,0.3,0.4,0.5,0.6,0.7,0.8};
60
61 vm->AddVariable("pt", 49, ptbinning);
62 vm->AddVariable("eta", 16, etabinning);
63 vm->AddVariable("phi");
64 vm->AddVariable("charge");
65 vm->AddVariable("source");
66 vm->AddVariable("centrality");
67 /*
68 if(!useMC){
69
70 for(Int_t a=0;a<12;a++)
71 {
72 TF1 *hBackground = new TF1("hadronicBackgroundFunction","TMath::Exp([0]/x + [1])", 0., 20.);
73 hBackground->SetParameter(0, -43.87);
74 hBackground->SetParameter(1, 2.85);
75 task->SetBackGroundFactorsFunction(hBackground,a);
76 }
77
78
79 }
80 */
81 // Define PID
82 AliHFEpid *pid = task->GetPID();
83 if(useMC) pid->SetHasMCData(kTRUE);
84
85 if(PIDorder == 0)
86 {
87 pid->AddDetector("EMCAL", 1);
88 pid->AddDetector("TPC", 0);
89 }
90 else if
91 {
92 pid->AddDetector("EMCAL", 0);
93 pid->AddDetector("TPC", 1);
94 }
95
96// pid->ConfigureTPCrejection();
97
98 if(!useMC){
99
100 Double_t params_centr_0_5[1];
101 Double_t params_centr_5_10[1];
102 Double_t params_centr_10_20[1];
103 Double_t params_centr_20_30[1];
104 Double_t params_centr_per[1];
105 //params_centr_0_5[0]=0.16; // cut tuned for 0-10%
106 //params_centr_5_10[0]=0.16; // cut tuned for 0-10%
107 //params_centr_10_20[0]=0.29;
108 //params_centr_20_30[0]=0.38;
109 //params_centr_per[0]=0.44;
110 /*
111 params_centr_0_5[0]=-1.5; // cut tuned for 0-10%
112 params_centr_5_10[0]=-1.5; // cut tuned for 0-10%
113 params_centr_10_20[0]=-1.5;
114 params_centr_20_30[0]=-1.5;
115 params_centr_per[0]=-1.5;
116 */
117 params_centr_0_5[0] = nSigMim; // cut tuned for 0-10%
118 params_centr_5_10[0] = nSigMim; // cut tuned for 0-10%
119 params_centr_10_20[0] = nSigMim;
120 params_centr_20_30[0] = nSigMim;
121 params_centr_per[0] = nSigMim;
122
123
124 char *cutmodel;
125 cutmodel="pol0";
126
127
128 for(Int_t a=0;a<11;a++)
129 {
130 if(a>3) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_per,3.0);
131 if(a==0) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_0_5,3.0); // 0-5%
132 if(a==1) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_5_10,3.0); // 5-10%
133 if(a==2) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_10_20,3.0); // 10-20%
134 if(a==3) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_20_30,3.0); // 20-30%
135 }
136
137
138 }
139
140
141 // V0 tagged tracks
142 AliHFEcuts *v0trackCuts = new AliHFEcuts("V0trackCuts", "Track Cuts for tagged track Analysis");
143 v0trackCuts->CreateStandardCuts();
144 //v0trackCuts->SetMinNClustersTPC(120);
145 v0trackCuts->SetMinNClustersTPC(TPCclust);
146 v0trackCuts->SetMinRatioTPCclusters(0.6);
147 v0trackCuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
148 v0trackCuts->SetMinNClustersITS(1);
149 v0trackCuts->SetCutITSpixel(AliHFEextraCuts::kAny);
150 v0trackCuts->SetCheckITSLayerStatus(kFALSE);
151 v0trackCuts->UnsetVertexRequirement();
152 //v0trackCuts->SetMaxChi2perClusterITS(36);
153 //hfecuts->SetSigmaToVertex(10);
154 v0trackCuts->SetTOFPIDStep(kTRUE);
155// v0trackCuts->SetTOFMISMATCHStep(kTRUE);
156 //v0trackCuts->SetTPCPIDCleanUpStep(kTRUE);
157 v0trackCuts->SetQAOn();
158
159 task->SwitchOnPlugin(AliAnalysisTaskHFE::kTaggedTrackAnalysis);
160 task->SetTaggedTrackCuts(v0trackCuts);
161 task->SetCleanTaggedTrack(kFALSE);
162
163 // change E/p cuts
164 AliHFEpidEMCAL *emcpid = pid->AliHFEpid::GetDetPID(AliHFEpid::kEMCALpid);
165 emcpid->SetEoPMax(Maxeop);
166 emcpid->SetEoPMim(Mimeop);
167
168 // QA
169 task->SetQAOn(AliAnalysisTaskHFE::kPIDqa);
170// task->SetFillSignalOnly(kFALSE); // for DE pluging for MC
171 task->SetQAOn(AliAnalysisTaskHFE::kMCqa);
172 //task->SwitchOnPlugin(AliAnalysisTaskHFE::kIsElecBackGround);
173 //task->SwitchOnPlugin(AliAnalysisTaskHFE::kSecVtx);
174 task->SwitchOnPlugin(AliAnalysisTaskHFE::kDEstep);
175
176
177
178 printf("*************************************\n");
179 printf("Configuring standard Task:\n");
180 task->Print();
181 pid->PrintStatus();
182 printf("*************************************\n");
183 return task;
184}