]>
Commit | Line | Data |
---|---|---|
d84c68e9 | 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 | } |