1 AliAnalysisTaskHFE* ConfigHFECalSys_PbPb(Bool_t useMC, int TPCclust, int Nits, int ITSstat, double nSigMim, double Mimeop, double Maxeop, int PIDorder){
3 // HFE standard task configuration
6 cout << "==== Summary of cuts ===== " << endl;
7 cout << "TPC ; " << TPCclust << endl;
8 cout << "ITS ; " << Nits << endl;
9 cout << "PID ; " << nSigMim << " ; " << Mimeop << " ; " << Maxeop << endl;
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);
18 //hfecuts->SetMinNClustersITS(3);
19 hfecuts->SetMinNClustersITS(Nits);
20 hfecuts->SetCutITSpixel(AliHFEextraCuts::kAny);
21 if(ITSstat==1)hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
22 hfecuts->SetCheckITSLayerStatus(kFALSE);
24 //hfecuts->UnsetVertexRequirement();
25 hfecuts->SetMaxImpactParam(3.,3.);
26 hfecuts->SetPtRange(2.0,60.0);
28 hfecuts->SetVertexRange(10.);
29 //hfecuts->SetMaxChi2perClusterITS(36);
30 //hfecuts->SetSigmaToVertex(10);
31 //hfecuts->SetTOFPIDStep(kTRUE);
32 //hfecuts->SetTOFMISMATCHStep(kTRUE);
33 //hfecuts->SetTPCPIDCleanUpStep(kTRUE);
35 //hfecuts->SetMinNTrackletsTRD(5);
37 AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE("HFEanalysisStandardEMCal");
38 task->SetHFECuts(hfecuts);
39 task->SetPbPbAnalysis(kTRUE);
40 //task->SetRemovePileUp(kTRUE);
41 task->GetPIDQAManager()->SetHighResolutionHistos();
44 AliHFEvarManager *vm = task->GetVarManager();
45 //vm->AddVariable("pt");
46 //vm->AddVariable("eta");
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,
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};
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};
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");
70 for(Int_t a=0;a<12;a++)
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);
82 AliHFEpid *pid = task->GetPID();
83 if(useMC) pid->SetHasMCData(kTRUE);
87 pid->AddDetector("EMCAL", 1);
88 pid->AddDetector("TPC", 0);
92 pid->AddDetector("EMCAL", 0);
93 pid->AddDetector("TPC", 1);
96 // pid->ConfigureTPCrejection();
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;
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;
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;
128 for(Int_t a=0;a<11;a++)
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%
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();
159 task->SwitchOnPlugin(AliAnalysisTaskHFE::kTaggedTrackAnalysis);
160 task->SetTaggedTrackCuts(v0trackCuts);
161 task->SetCleanTaggedTrack(kFALSE);
164 AliHFEpidEMCAL *emcpid = pid->AliHFEpid::GetDetPID(AliHFEpid::kEMCALpid);
165 emcpid->SetEoPMax(Maxeop);
166 emcpid->SetEoPMim(Mimeop);
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);
178 printf("*************************************\n");
179 printf("Configuring standard Task:\n");
182 printf("*************************************\n");