]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliRunTagCuts.cxx
Re-fix coverity
[u/mrichter/AliRoot.git] / STEER / AliRunTagCuts.cxx
CommitLineData
0c4ee52f 1/**************************************************************************
2 * Author: Panos Christakoglou. *
3 * Contributors are mentioned in the code where appropriate. *
4 * *
5 * Permission to use, copy, modify and distribute this software and its *
6 * documentation strictly for non-commercial purposes is hereby granted *
7 * without fee, provided that the above copyright notice appears in all *
8 * copies and that both the copyright notice and this permission notice *
9 * appear in the supporting documentation. The authors make no claims *
10 * about the suitability of this software for any purpose. It is *
11 * provided "as is" without express or implied warranty. *
12 **************************************************************************/
13
14/* $Id$ */
15
16//-----------------------------------------------------------------
17// AliRunTagCuts class
18// This is the class to deal with the run tag level cuts
19// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
20//-----------------------------------------------------------------
21
22class AliLog;
23class AliESD;
24
25#include "AliRunTag.h"
26#include "AliRunTagCuts.h"
27
28ClassImp(AliRunTagCuts)
29
30
31//___________________________________________________________________________
fe12e09c 32AliRunTagCuts::AliRunTagCuts() :
33 TObject(),
34 fAliceRunId(-1),
35 fAliceRunIdFlag(kFALSE),
36 fAliceMagneticField(-1.),
37 fAliceMagneticFieldFlag(kFALSE),
04cb11d4 38 fAliceDipoleField(-1.),
39 fAliceDipoleFieldFlag(kFALSE),
fe12e09c 40 fAliceRunStartTimeMin(-1),
41 fAliceRunStartTimeMax(-1),
42 fAliceRunStartTimeFlag(kFALSE),
43 fAliceRunStopTimeMin(-1),
44 fAliceRunStopTimeMax(-1),
45 fAliceRunStopTimeFlag(kFALSE),
46 fAlirootVersion(""),
47 fAlirootVersionFlag(kFALSE),
48 fRootVersion(""),
49 fRootVersionFlag(kFALSE),
50 fGeant3Version(""),
04cb11d4 51 fGeant3VersionFlag(kFALSE),
52 fLHCPeriod(""),
53 fLHCPeriodFlag(kFALSE),
54 fRecPass(""),
55 fRecPassFlag(kFALSE),
56 fProdName(""),
57 fProdNameFlag(kFALSE),
58 fAliceRunValidation(0),
59 fAliceRunValidationFlag(kFALSE),
60 fAliceRunQualities(""),
61 fAliceRunQualitiesFlag(kFALSE),
fe12e09c 62 fAliceBeamEnergy(-1),
63 fAliceBeamEnergyFlag(kFALSE),
64 fAliceBeamType(""),
65 fAliceBeamTypeFlag(kFALSE),
66 fAliceCalibrationVersion(-1),
67 fAliceCalibrationVersionFlag(kFALSE),
68 fAliceDataType(-1),
04cb11d4 69 fAliceDataTypeFlag(kFALSE),
70 fBeamTriggerRange(),
71 fBeamTriggerFlag(kFALSE),
72 fCollisionTriggerRange(),
73 fCollisionTriggerFlag(kFALSE),
74 fEmptyTriggerRange(),
75 fEmptyTriggerFlag(kFALSE),
76 fASideTriggerRange(),
77 fASideTriggerFlag(kFALSE),
78 fCSideTriggerRange(),
79 fCSideTriggerFlag(kFALSE),
80 fHMTriggerRange(),
81 fHMTriggerFlag(kFALSE),
82 fMuonTriggerRange(),
83 fMuonTriggerFlag(kFALSE),
84 fCollisionRateRange(),
85 fCollisionRateFlag(kFALSE),
86 fMeanVertexRange(),
87 fMeanVertexFlag(kFALSE),
88 fVertexQualityRange(),
89 fVertexQualityFlag(kFALSE)
fe12e09c 90{
0c4ee52f 91 //Default constructor which calls the Reset method.
0c4ee52f 92}
93
94//___________________________________________________________________________
95AliRunTagCuts::~AliRunTagCuts() {
96 //Defaut destructor.
97}
98
99//___________________________________________________________________________
100void AliRunTagCuts::Reset() {
101 //Sets dummy values to every private member.
102 fAliceRunId = -1;
103 fAliceRunIdFlag = kFALSE;
104 fAliceMagneticField = -1.;
105 fAliceMagneticFieldFlag = kFALSE;
04cb11d4 106 fAliceDipoleField = -1.;
107 fAliceDipoleFieldFlag = kFALSE;
0c4ee52f 108 fAliceRunStartTimeMin = -1;
109 fAliceRunStartTimeMax = -1;
110 fAliceRunStartTimeFlag = kFALSE;
111 fAliceRunStopTimeMin = -1;
112 fAliceRunStopTimeMax = -1;
113 fAliceRunStopTimeFlag = kFALSE;
114 fAlirootVersion = "";
115 fAlirootVersionFlag = kFALSE;
116 fRootVersion = "";
117 fRootVersionFlag = kFALSE;
118 fGeant3Version = "";
119 fGeant3VersionFlag = kFALSE;
04cb11d4 120 fLHCPeriod = "";
121 fLHCPeriodFlag = kFALSE;
122 fRecPass = "";
123 fRecPassFlag = kFALSE;
124 fProdName = "";
125 fProdNameFlag = kFALSE;
126 fAliceRunValidation = 0;
127 fAliceRunValidationFlag = kFALSE;
128 fAliceRunQualities = "";
129 fAliceRunQualitiesFlag = kFALSE;
0c4ee52f 130 fAliceBeamEnergy = -1;
131 fAliceBeamEnergyFlag = kFALSE;
132 fAliceBeamType = "";
133 fAliceBeamTypeFlag = kFALSE;
134 fAliceCalibrationVersion = -1;
135 fAliceCalibrationVersionFlag = kFALSE;
136 fAliceDataType = -1;
137 fAliceDataTypeFlag = kFALSE;
04cb11d4 138 fBeamTriggerRange[0] = 0;
139 fBeamTriggerRange[1] = 0;
140 fBeamTriggerFlag = kFALSE;
141 fCollisionTriggerRange[0] = 0;
142 fCollisionTriggerRange[1] = 0;
143 fCollisionTriggerFlag = kFALSE;
144 fEmptyTriggerRange[0] = 0;
145 fEmptyTriggerRange[1] = 0;
146 fEmptyTriggerFlag = kFALSE;
147 fASideTriggerRange[0] = 0;
148 fASideTriggerRange[1] = 0;
149 fASideTriggerFlag = kFALSE;
150 fCSideTriggerRange[0] = 0;
151 fCSideTriggerRange[1] = 0;
152 fCSideTriggerFlag = kFALSE;
153 fHMTriggerRange[0] = 0;
154 fHMTriggerRange[1] = 0;
155 fHMTriggerFlag = kFALSE;
156 fMuonTriggerRange[0] = 0;
157 fMuonTriggerRange[1] = 0;
158 fMuonTriggerFlag = kFALSE;
159 fCollisionRateRange[0] = 0;
160 fCollisionRateRange[1] = 0;
161 fCollisionRateFlag = kFALSE;
162 fMeanVertexRange[0] = 0;
163 fMeanVertexRange[1] = 0;
164 fMeanVertexFlag = kFALSE;
165 fVertexQualityRange[0] = 0;
166 fVertexQualityRange[1] = 0;
167 fVertexQualityFlag = kFALSE;
168}
169
170void AliRunTagCuts::AddRunQualityValue(Int_t qval)
171{
172 // Adds to the list of selected run qualities
173 fAliceRunQualities += qval;
174 fAliceRunQualities += " ";
175 fAliceRunQualitiesFlag = kTRUE;
0c4ee52f 176}
177
178//___________________________________________________________________________
179Bool_t AliRunTagCuts::IsAccepted(AliRunTag *RunTag) const {
180 //Returns true if the event is accepted otherwise false.
181 if(fAliceRunIdFlag)
182 if((RunTag->GetRunId() != fAliceRunId))
183 return kFALSE;
184 if(fAliceMagneticFieldFlag)
185 if((RunTag->GetMagneticField() != fAliceMagneticField))
186 return kFALSE;
04cb11d4 187 if(fAliceDipoleFieldFlag)
188 if((RunTag->GetDipoleField() != fAliceDipoleField))
189 return kFALSE;
0c4ee52f 190 if(fAliceRunStartTimeFlag)
191 if((RunTag->GetRunStartTime() < fAliceRunStartTimeMin) || (RunTag->GetRunStartTime() > fAliceRunStartTimeMax))
192 return kFALSE;
193 if(fAliceRunStopTimeFlag)
194 if((RunTag->GetRunStopTime() < fAliceRunStopTimeMin) || (RunTag->GetRunStopTime() > fAliceRunStopTimeMax))
195 return kFALSE;
196 if(fAlirootVersionFlag)
197 if((RunTag->GetAlirootVersion() != fAlirootVersion))
198 return kFALSE;
199 if(fRootVersionFlag)
200 if((RunTag->GetRootVersion() != fRootVersion))
201 return kFALSE;
202 if(fGeant3VersionFlag)
203 if((RunTag->GetGeant3Version() != fGeant3Version))
204 return kFALSE;
04cb11d4 205 if(fLHCPeriodFlag)
206 if((RunTag->GetLHCPeriod() != fLHCPeriod))
207 return kFALSE;
208 if(fRecPassFlag)
209 if((RunTag->GetReconstructionPass() != fRecPass))
210 return kFALSE;
211 if(fProdNameFlag)
212 if((RunTag->GetProductionName() != fProdName))
213 return kFALSE;
214 if(fAliceRunValidationFlag)
215 if(RunTag->GetRunValidation())
216 return kFALSE;
217 if (fAliceRunQualitiesFlag) {
218 TObjArray *tQualities = fAliceRunQualities.Tokenize(" ");
219 Bool_t tQual = kFALSE;
220
221 TString tRQual = "";
222 tRQual += RunTag->GetRunQuality();
223
224 for (int iqual=0; iqual<tQualities->GetEntries(); iqual++)
225 if (((TObjString *) tQualities->At(iqual))->GetString().Contains(tRQual))
226 tQual = kTRUE;
227 // if (EvTag->GetFiredTriggerClasses().Contains(((TObjString *) tClasses->At(iqual))->GetString()))
228
229 tQualities->Delete();
230 delete tQualities;
231
232 if (!tQual)
0c4ee52f 233 return kFALSE;
04cb11d4 234 }
0c4ee52f 235 if(fAliceBeamEnergyFlag)
236 if(RunTag->GetBeamEnergy() != fAliceBeamEnergy)
237 return kFALSE;
238 if(fAliceBeamTypeFlag)
239 if(RunTag->GetBeamType() != fAliceBeamType)
240 return kFALSE;
241 if(fAliceCalibrationVersionFlag)
242 if(RunTag->GetBeamEnergy() != fAliceBeamEnergy)
243 return kFALSE;
244 if(fAliceDataTypeFlag)
245 if(RunTag->GetDataType() != fAliceDataType)
246 return kFALSE;
04cb11d4 247 if (fBeamTriggerFlag)
248 if ((RunTag->GetBeamTriggers() < fBeamTriggerRange[0]) || (RunTag->GetBeamTriggers() > fBeamTriggerRange[1]))
249 return kFALSE;
250 if (fCollisionTriggerFlag)
251 if ((RunTag->GetCollisionTriggers() < fCollisionTriggerRange[0]) || (RunTag->GetCollisionTriggers() > fCollisionTriggerRange[1]))
252 return kFALSE;
253 if (fEmptyTriggerFlag)
254 if ((RunTag->GetEmptyTriggers() < fEmptyTriggerRange[0]) || (RunTag->GetEmptyTriggers() > fEmptyTriggerRange[1]))
255 return kFALSE;
256 if (fCSideTriggerFlag)
257 if ((RunTag->GetCSideTriggers() < fCSideTriggerRange[0]) || (RunTag->GetCSideTriggers() > fCSideTriggerRange[1]))
258 return kFALSE;
259 if (fASideTriggerFlag)
260 if ((RunTag->GetASideTriggers() < fASideTriggerRange[0]) || (RunTag->GetASideTriggers() > fASideTriggerRange[1]))
261 return kFALSE;
262 if (fHMTriggerFlag)
263 if ((RunTag->GetHMTriggers() < fHMTriggerRange[0]) || (RunTag->GetHMTriggers() > fHMTriggerRange[1]))
264 return kFALSE;
265 if (fMuonTriggerFlag)
266 if ((RunTag->GetMuonTriggers() < fMuonTriggerRange[0]) || (RunTag->GetMuonTriggers() > fMuonTriggerRange[1]))
267 return kFALSE;
268 if (fCollisionRateFlag)
269 if ((RunTag->GetCollisionRate() < fCollisionRateRange[0]) || (RunTag->GetCollisionRate() > fCollisionRateRange[1]))
270 return kFALSE;
271 if (fMeanVertexFlag)
272 if ((RunTag->GetMeanVertex() < fMeanVertexRange[0]) || (RunTag->GetMeanVertex() > fMeanVertexRange[1]))
273 return kFALSE;
274 if (fVertexQualityFlag)
275 if ((RunTag->GetVertexQuality() < fVertexQualityRange[0]) || (RunTag->GetVertexQuality() > fVertexQualityRange[1]))
276 return kFALSE;
277
0c4ee52f 278 return kTRUE;
279}