|
ATLAS Offline Software
|
Go to the documentation of this file.
21 #define GET_FLOAT(name) \
23 SG::AuxElement::Accessor<float> floatAcc(name); \
24 if(!floatAcc.isAvailable(*m_b)) return -9999999.; \
25 return floatAcc(*m_b); \
28 #define SET_FLOAT( name, val) \
30 SG::AuxElement::Decorator<float> floatDec(name); \
31 floatDec(*m_b) = val; \
62 TLorentzVector
P = totalP(trkMasses);
63 if(
P == TLorentzVector(0,0,0,0) )
67 return setMass(
P.M());
73 case PV_MAX_SUM_PT2: {
75 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_TauConstMassPVMaxSumPt2");
76 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_TauInvMassPVMaxSumPt2");
77 default:
return -9999999.;
82 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_TauConstMassPVMinA0");
83 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_TauInvMassPVMinA0");
84 default:
return -9999999.;
89 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_TauConstMassPVMinZ0");
90 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_TauInvMassPVMinZ0");
91 default:
return -9999999.;
96 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_TauConstMassPVMinZ0BA");
97 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_TauInvMassPVMinZ0BA");
98 default:
return -9999999.;
101 default:
return -9999999.;
108 case PV_MAX_SUM_PT2: {
110 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_TauErrConstMassPVMaxSumPt2");
111 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_TauErrInvMassPVMaxSumPt2");
112 default:
return -9999999.;
117 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_TauErrConstMassPVMinA0");
118 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_TauErrInvMassPVMinA0");
119 default:
return -9999999.;
124 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_TauErrConstMassPVMinZ0");
125 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_TauErrInvMassPVMinZ0");
126 default:
return -9999999.;
131 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_TauErrConstMassPVMinZ0BA");
132 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_TauErrInvMassPVMinZ0BA");
133 default:
return -9999999.;
136 default:
return -9999999.;
143 case PV_MAX_SUM_PT2: {
145 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_TauConstMassPVMaxSumPt2",
val);
146 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_TauInvMassPVMaxSumPt2",
val);
147 default:
return false;
152 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_TauConstMassPVMinA0",
val);
153 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_TauInvMassPVMinA0",
val);
154 default:
return false;
159 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_TauConstMassPVMinZ0",
val);
160 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_TauInvMassPVMinZ0",
val);
161 default:
return false;
166 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_TauConstMassPVMinZ0BA",
val);
167 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_TauInvMassPVMinZ0BA",
val);
168 default:
return false;
171 default:
return false;
179 case PV_MAX_SUM_PT2: {
181 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_TauErrConstMassPVMaxSumPt2",
val);
182 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_TauErrInvMassPVMaxSumPt2",
val);
183 default:
return false;
188 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_TauErrConstMassPVMinA0",
val);
189 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_TauErrInvMassPVMinA0",
val);
190 default:
return false;
195 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_TauErrConstMassPVMinZ0",
val);
196 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_TauErrInvMassPVMinZ0",
val);
197 default:
return false;
202 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_TauErrConstMassPVMinZ0BA",
val);
203 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_TauErrInvMassPVMinZ0BA",
val);
204 default:
return false;
207 default:
return false;
216 case PV_MAX_SUM_PT2: {
218 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_Tau3dConstMassPVMaxSumPt2");
219 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_Tau3dInvMassPVMaxSumPt2");
220 default:
return -9999999.;
225 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_Tau3dConstMassPVMinA0");
226 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_Tau3dInvMassPVMinA0");
227 default:
return -9999999.;
232 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_Tau3dConstMassPVMinZ0");
233 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_Tau3dInvMassPVMinZ0");
234 default:
return -9999999.;
239 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_Tau3dConstMassPVMinZ0BA");
240 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_Tau3dInvMassPVMinZ0BA");
241 default:
return -9999999.;
244 default:
return -9999999.;
251 case PV_MAX_SUM_PT2: {
253 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_Tau3dErrConstMassPVMaxSumPt2");
254 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_Tau3dErrInvMassPVMaxSumPt2");
255 default:
return -9999999.;
260 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_Tau3dErrConstMassPVMinA0");
261 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_Tau3dErrInvMassPVMinA0");
262 default:
return -9999999.;
267 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_Tau3dErrConstMassPVMinZ0");
268 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_Tau3dErrInvMassPVMinZ0");
269 default:
return -9999999.;
274 case TAU_CONST_MASS :
GET_FLOAT(m_hypo+
"_Tau3dErrConstMassPVMinZ0BA");
275 case TAU_INV_MASS :
GET_FLOAT(m_hypo+
"_Tau3dErrInvMassPVMinZ0BA");
276 default:
return -9999999.;
279 default:
return -9999999.;
286 case PV_MAX_SUM_PT2: {
288 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_Tau3dConstMassPVMaxSumPt2",
val);
289 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_Tau3dInvMassPVMaxSumPt2",
val);
290 default:
return false;
295 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_Tau3dConstMassPVMinA0",
val);
296 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_Tau3dInvMassPVMinA0",
val);
297 default:
return false;
302 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_Tau3dConstMassPVMinZ0",
val);
303 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_Tau3dInvMassPVMinZ0",
val);
304 default:
return false;
309 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_Tau3dConstMassPVMinZ0BA",
val);
310 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_Tau3dInvMassPVMinZ0BA",
val);
311 default:
return false;
314 default:
return false;
322 case PV_MAX_SUM_PT2: {
324 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_Tau3dErrConstMassPVMaxSumPt2",
val);
325 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_Tau3dErrInvMassPVMaxSumPt2",
val);
326 default:
return false;
331 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_Tau3dErrConstMassPVMinA0",
val);
332 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_Tau3dErrInvMassPVMinA0",
val);
333 default:
return false;
338 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_Tau3dErrConstMassPVMinZ0",
val);
339 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_Tau3dErrInvMassPVMinZ0",
val);
340 default:
return false;
345 case TAU_CONST_MASS :
SET_FLOAT(m_hypo+
"_Tau3dErrConstMassPVMinZ0BA",
val);
346 case TAU_INV_MASS :
SET_FLOAT(m_hypo+
"_Tau3dErrInvMassPVMinZ0BA",
val);
347 default:
return false;
350 default:
return false;
361 return flagAcc.
isAvailable(*m_b) && flagAcc(*m_b) != 0;
367 flagDec(*m_b) = passVal;
bool setMass(const float val)
Set given invariant mass and its error.
bool setTau3dErr(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0, const tau_type tauType=BPhysHypoHelper::TAU_CONST_MASS)
proper decay time error
float tauErr(const pv_type vertexType=BPhysHelper::PV_MIN_A0, const tau_type tauType=BPhysHypoHelper::TAU_CONST_MASS)
proper decay time error
Helper class to provide type-safe access to aux data.
bool setTauErr(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0, const tau_type tauType=BPhysHypoHelper::TAU_CONST_MASS)
proper decay time error
#define SET_FLOAT(name, val)
float tau(const pv_type vertexType=BPhysHelper::PV_MIN_A0, const tau_type tauType=BPhysHypoHelper::TAU_CONST_MASS)
: Get the proper decay time and error.
bool pass() const
get the pass flag for this hypothesis
float massErr() const
invariant mass error
float tau3dErr(const pv_type vertexType=BPhysHelper::PV_MIN_A0, const tau_type tauType=BPhysHypoHelper::TAU_CONST_MASS)
proper decay time error
std::string m_hypo
name of the mass hypothesis
float mass() const
Get invariant mass and its error.
pv_type
: Enum type of the PV
Helper class to provide type-safe access to aux data.
bool setPass(bool passVal)
get the pass flag for this hypothesis
: B-physcis xAOD helpers.
bool setTau3d(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0, const tau_type tauType=BPhysHypoHelper::TAU_CONST_MASS)
proper decay time
float tau3d(const pv_type vertexType=BPhysHelper::PV_MIN_A0, const tau_type tauType=BPhysHypoHelper::TAU_CONST_MASS)
proper decay time
tau_type
: Enum type the proper decay time calculation
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
bool setTau(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0, const tau_type tauType=BPhysHypoHelper::TAU_CONST_MASS)
: Set the proper decay time and error.
bool setMassErr(const float val)
invariant mass error