]>
Commit | Line | Data |
---|---|---|
0ab648ea | 1 | //__________________________________________________// |
2 | AliProtonAnalysis *GetProtonAnalysisObject(const char* analysisLevel = "ESD", | |
3 | const char* esdAnalysisType = "Hybrid", | |
4 | const char* pidMode = "Bayesian") { | |
5 | //Function to setup the AliProtonAnalysis object and return it | |
6 | AliProtonAnalysisBase *baseAnalysis = GetProtonAnalysisBaseObject(analysisLevel,esdAnalysisType,pidMode); | |
7 | ||
8 | AliProtonAnalysis *analysis = new AliProtonAnalysis(); | |
9 | analysis->SetBaseAnalysis(baseAnalysis); | |
10 | //if(analysisBase->GetEtaMode()) analysis->SetEtaMode(); | |
11 | analysis->InitAnalysisHistograms(baseAnalysis->GetNBinsX(), | |
12 | baseAnalysis->GetMinX(), | |
13 | baseAnalysis->GetMaxX(), | |
14 | baseAnalysis->GetNBinsY(), | |
15 | baseAnalysis->GetMinY(), | |
16 | baseAnalysis->GetMaxY()); | |
17 | ||
18 | return analysis; | |
19 | } | |
20 | ||
21 | //__________________________________________________// | |
22 | AliProtonQAAnalysis *GetProtonQAAnalysisObject(const char* analysisLevel = "ESD", | |
23 | const char* esdAnalysisType = "Hybrid", | |
24 | const char* pidMode = "Bayesian") { | |
25 | //Function to setup the AliProtonQAAnalysis object and return it | |
e7df5638 | 26 | AliProtonAnalysisBase *baseAnalysis = GetProtonAnalysisBaseObject(analysisLevel,esdAnalysisType,pidMode); |
27 | ||
0ab648ea | 28 | AliProtonQAAnalysis *analysis = new AliProtonQAAnalysis(); |
e7df5638 | 29 | analysis->SetQAOn(); |
30 | analysis->SetRunMCAnalysis(); | |
31 | //analysis->SetMCProcessId(4);//4: weak decay - 13: hadronic interaction | |
32 | //analysis->SetMotherParticlePDGCode(3122);//3122: Lambda | |
33 | analysis->SetQAYPtBins(baseAnalysis->GetNBinsX(), | |
34 | baseAnalysis->GetMinX(), | |
35 | baseAnalysis->GetMaxX(), | |
36 | baseAnalysis->GetNBinsY(), | |
37 | baseAnalysis->GetMinY(), | |
38 | baseAnalysis->GetMaxY()); | |
0ab648ea | 39 | |
40 | return analysis; | |
41 | } | |
42 | ||
43 | //__________________________________________________// | |
44 | AliProtonAnalysisBase *GetProtonAnalysisBaseObject(const char* analysisLevel = "ESD", | |
45 | const char* esdAnalysisType = "Hybrid", | |
46 | const char* pidMode = "Bayesian") { | |
47 | //Function to setup the AliProtonAnalysisBase object and return it | |
48 | AliProtonAnalysisBase *baseAnalysis = new AliProtonAnalysisBase(); | |
49 | //baseAnalysis->SetDebugMode(); | |
50 | baseAnalysis->SetAnalysisLevel(analysisLevel); | |
51 | if(analysisLevel == "ESD") { | |
52 | baseAnalysis->SetTriggerMode(AliProtonAnalysisBase::kMB2); | |
53 | switch(esdAnalysisType) { | |
54 | case "TPC": | |
55 | baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kTPC); | |
56 | baseAnalysis->SetPhaseSpace(10, -0.5, 0.5, 16, 0.5, 0.9); | |
57 | baseAnalysis->SetTPCpid(); | |
58 | baseAnalysis->SetMinTPCClusters(100); | |
59 | baseAnalysis->SetMaxChi2PerTPCCluster(2.2); | |
60 | baseAnalysis->SetMaxCov11(0.5); | |
61 | baseAnalysis->SetMaxCov22(0.5); | |
62 | baseAnalysis->SetMaxCov33(0.5); | |
63 | baseAnalysis->SetMaxCov44(0.5); | |
64 | baseAnalysis->SetMaxCov55(0.5); | |
65 | baseAnalysis->SetMaxSigmaToVertexTPC(2.0); | |
66 | //baseAnalysis->SetMaxDCAXYTPC(1.5); | |
67 | //baseAnalysis->SetMaxDCAZTPC(1.5); | |
68 | break; | |
69 | case "Hybrid": | |
70 | baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kHybrid); | |
71 | baseAnalysis->SetPhaseSpace(10, -0.5, 0.5, 16, 0.5, 0.9); | |
72 | baseAnalysis->SetTPCpid(); | |
73 | baseAnalysis->SetMinTPCClusters(110); | |
74 | baseAnalysis->SetMaxChi2PerTPCCluster(2.2); | |
75 | baseAnalysis->SetMaxCov11(0.5); | |
76 | baseAnalysis->SetMaxCov22(0.5); | |
77 | baseAnalysis->SetMaxCov33(0.5); | |
78 | baseAnalysis->SetMaxCov44(0.5); | |
79 | baseAnalysis->SetMaxCov55(0.5); | |
80 | baseAnalysis->SetMaxSigmaToVertex(2.0); | |
81 | /*baseAnalysis->SetMaxDCAXY(1.5); | |
82 | baseAnalysis->SetMaxDCAZ(1.5);*/ | |
83 | baseAnalysis->SetPointOnITSLayer6(); | |
84 | baseAnalysis->SetPointOnITSLayer5(); | |
85 | //baseAnalysis->SetPointOnITSLayer4(); | |
86 | //baseAnalysis->SetPointOnITSLayer3(); | |
87 | baseAnalysis->SetPointOnITSLayer2(); | |
88 | baseAnalysis->SetPointOnITSLayer1(); | |
89 | baseAnalysis->SetMinITSClusters(5); | |
90 | break; | |
91 | case "Global": | |
92 | baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kGlobal); | |
93 | baseAnalysis->SetPhaseSpace(20, -1.0, 1.0, 48, 0.3, 1.5); | |
94 | baseAnalysis->SetMinTPCClusters(110); | |
95 | baseAnalysis->SetMaxChi2PerTPCCluster(2.2); | |
96 | baseAnalysis->SetMaxCov11(0.5); | |
97 | baseAnalysis->SetMaxCov22(0.5); | |
98 | baseAnalysis->SetMaxCov33(0.5); | |
99 | baseAnalysis->SetMaxCov44(0.5); | |
100 | baseAnalysis->SetMaxCov55(0.5); | |
101 | baseAnalysis->SetMaxSigmaToVertex(2.0); | |
102 | //baseAnalysis->SetMaxDCAXY(2.0); | |
103 | //baseAnalysis->SetMaxDCAZ(2.0); | |
104 | baseAnalysis->SetTPCRefit(); | |
105 | baseAnalysis->SetPointOnITSLayer1(); | |
106 | baseAnalysis->SetPointOnITSLayer2(); | |
107 | //baseAnalysis->SetPointOnITSLayer3(); | |
108 | //baseAnalysis->SetPointOnITSLayer4(); | |
109 | baseAnalysis->SetPointOnITSLayer5(); | |
110 | baseAnalysis->SetPointOnITSLayer6(); | |
111 | baseAnalysis->SetMinITSClusters(5); | |
112 | baseAnalysis->SetITSRefit(); | |
113 | baseAnalysis->SetESDpid(); | |
114 | break; | |
115 | default: | |
116 | break; | |
117 | } | |
118 | baseAnalysis->SetAcceptedVertexDiamond(5.,5.,15.); | |
119 | baseAnalysis->SetEtaMode(); | |
120 | switch(pidMode) { | |
121 | case "Bayesian": | |
122 | baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kBayesian); | |
123 | //Momentum dependent priors | |
124 | /*TFile *f = TFile::Open("PriorProb/PriorProbabilities.root "); | |
125 | TF1 *fitElectrons = (TF1 *)f->Get("fitElectrons"); | |
126 | TF1 *fitMuons = (TF1 *)f->Get("fitMuons"); | |
127 | TF1 *fitPions = (TF1 *)f->Get("fitPions"); | |
128 | TF1 *fitKaons = (TF1 *)f->Get("fitKaons"); | |
129 | TF1 *fitProtons = (TF1 *)f->Get("fitProtons"); | |
130 | baseAnalysis->SetPriorProbabilityFunctions(fitElectrons, | |
131 | fitMuons, | |
132 | fitPions, | |
133 | fitKaons, | |
134 | fitProtons);*/ | |
135 | //Fixed prior probabilities | |
136 | Double_t partFrac[5] = {0.01, 0.01, 0.85, 0.10, 0.05}; | |
137 | if(!baseAnalysis->IsPriorProbabilityFunctionUsed()) | |
138 | baseAnalysis->SetPriorProbabilities(partFrac); | |
139 | break; | |
140 | case "Ratio": | |
141 | baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kRatio); | |
142 | break; | |
143 | case "Sigma": | |
144 | baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kSigma); | |
145 | break; | |
146 | default: | |
147 | break; | |
148 | }//PID mode | |
149 | }//ESD | |
150 | if(analysisLevel == "MC") | |
151 | baseAnalysis->SetPhaseSpace(56, -1.0, 1.0, 16, 0.1, 1.5); | |
152 | ||
153 | return baseAnalysis; | |
154 | } |